基于PIC的FSK/ASK超外差收發(fā)機的設計
關(guān)鍵詞 FSK ASK PIC16F819 MAX1479 超外差收發(fā)機
基于FSK/ASK的超外差收發(fā)機在遠程無(wú)線(xiàn)進(jìn)入、汽車(chē)胎壓檢測、無(wú)線(xiàn)傳感器等方面都有很廣泛的應用。本文以PICl6F819和MAXl471、MAXl479為基本部件,設計并實(shí)現FSK/ASK超外差射頻收發(fā)機的過(guò)程。
1 元器件的選擇
(1)控制器的選擇
在本系統設計中,需要涉及到以下幾個(gè)方面:處理器性能、所支持的開(kāi)發(fā)工具、處理器的成本和功耗.綜合以上幾個(gè)方面考慮,微控制器選擇Microchip公司的一款高性?xún)r(jià)比的8位微控制器PICl6F819。PICl6FSl9采用20腳貼片封裝,在線(xiàn)方式進(jìn)行程序調試和燒寫(xiě);可采用內部晶振,工作頻率可選31 kHz~8 MHz;工作電壓從2~5.5V;正常工作時(shí)使用2V電壓供電、使用內部晶振頻率為32kHz、電流為7μA;睡眠狀態(tài)時(shí)使用2V電壓供電、電流為0.7μA。
(2)收發(fā)器件的選擇
隨著(zhù)無(wú)線(xiàn)技術(shù)的發(fā)展,無(wú)線(xiàn)收發(fā)芯片的集成度和性能都得到大幅度提高,芯片性能也各有特色。生產(chǎn)此類(lèi)芯片的廠(chǎng)商主要有Nordic、TI和Maxim等。選擇無(wú)線(xiàn)收發(fā)芯片時(shí),應考慮以下幾點(diǎn)因素:功耗、發(fā)射功率、接收靈敏度、傳輸速率和芯片成本等。Maxim公司的MAXl479和MAXl471分別是超外差射頻發(fā)射機和接收機,都采用+2.1~+3.3V的單電源供電,可以選擇FSK/ASK調制方式,低工作電流,小貼片封裝。
2 系統硬件構成
2.1 發(fā)射部分
發(fā)射部分由微控制器PICl6F819和射頻發(fā)射芯片MAXl479組成,其系統構成原理圖如圖1所示。
微控制器PICl6F819通過(guò)PA口的8個(gè)引腳控制MAXl479的發(fā)射工作。MAXl479的主要引腳功能如表l所列。
其中,Mode引腳用于選擇發(fā)射芯片是FSK模式或ASK模式。Enable引腳為高電平,則MAXl179進(jìn)入發(fā)射狀態(tài)。DIN引腳輸入串行數據。
Clk0和Clk1共同決定Clkout引腳的輸出頻率,該頻率可以作為微控制器的時(shí)鐘頻率輸入。Clk0和Clkl的狀態(tài)組合如表2所列。
Dev0、Devl、Dev2共同決定FSK調制時(shí)的背離頻率的大小,其組合狀態(tài)表如表3所列。
發(fā)射的載波頻率由MAXl479所用的晶振決定,晶振同發(fā)射載波頻率間的關(guān)系是:
fXTAL=32晶振頻率
如果選擇的發(fā)射載波頻率為315MHz,則所使用品振為9.8437MHz;如發(fā)射載波頻率為433MHz,則所使用品振為13.56MHz。
MAXl479使用的天線(xiàn)要符合50Ω阻抗匹配,天線(xiàn)可以采用l/4波長(cháng)的鞭狀天線(xiàn),也可以使用PCB布線(xiàn)作為天線(xiàn)。
2.2 接收部分
接收部分由射頻接收芯片MAXl47l和微控制器構成,接收方一般和其他系統連接在一起,故不需要刻意根據低功耗選擇微控
制器,而是根據數據處理的需要自行選擇。構成框圖如圖2所示。
MAXl47l需要外接一個(gè)lO.7MHz的低通濾波器,晶振的頻率同接收載波的頻率的關(guān)系為:
fRRECEIVE=(fXTAL32)+l0.7MHz
如果接收載波的頻率為315MHz,則晶振的頻率為9.509MHz;接收載波的頻率為433.92MHz,則晶振的頻率為13.2256MHz。
MAXl47l的主要引腳如表4所列。
其中,IFIN+MIXOUT、AGND連接10.7MHz的低通濾波器,用于A(yíng)SK數據的解調。ADATA引腳為高,表示到來(lái)的是ASK解調數據;FDATA為高,表示到來(lái)的是FSK解調數據。微控制器連接SCLK、CS、DIO引腳對MAXl472內部的寄存器進(jìn)行讀寫(xiě)。
MAXl471同樣要求50Ω阻抗匹配的天線(xiàn),可以使用PCB布線(xiàn)作為天線(xiàn)。
3 系統軟件設計
3.1 發(fā)射部分
發(fā)射部分的編程主要是對PIC16F819的操作。程序由PlCl6F8l9初始化、MAXl479初始化和數據發(fā)射三部分組成。
對PICl6F819的初始化包括設置內部晶振的工作頻率和PA口的狀態(tài)。對MAXl479的初始化包括設置工作模式、晶振輸出頻率選擇和FSK背離頻率的選擇。數據發(fā)射部分包括:設置數據幀格式、發(fā)送位“0”或“l(fā)”子程序、發(fā)送一個(gè)字節數據子程序和循環(huán)發(fā)送多個(gè)字節數據子程序。程序流程圖如圖3所示。
3.2 接收部分
接收部分程序主要是微控制器通過(guò)SCLK、CS、DIO等引腳對MAX147l內部寄存器進(jìn)行讀寫(xiě)的過(guò)程。
對MAXl471內部寄存器進(jìn)行寫(xiě)操作的時(shí)序圖如圖4所示。CS引腳為低,MAXl47l進(jìn)入工作狀態(tài),SCLK引腳產(chǎn)生串行輸入時(shí)鐘,DIO向MAXl47l串行輸出命令。命令的格式為;4位命令碼、4位地址、8位數據。命令碼共有3個(gè):0x01代表寫(xiě)、0x02代表讀、0x03代表復位。
對MAXl47l內部寄存器進(jìn)行讀操作的時(shí)序圖如圖5所示。CS引腳為低,MAX147l進(jìn)入工作狀態(tài),SCLK引腳產(chǎn)生串行輸出時(shí)鐘,DI0從MAXl471串行輸出數據。當ADATA為高,輸出ASK解調數據;當FDATA為高,輸出FSK解調數據。輸出數據遵循同樣的數據格式。
MAX147l內部常用寄存器和地址的對照表如表5所列。
以接收315MHz的FSK數據為例說(shuō)明接收數據的編程步驟。
①寫(xiě)0x3000對芯片進(jìn)行復位。
②寫(xiě)0x10f0使能所有的RF和基帶部分。
③寫(xiě)0x135f設置晶振寄存器,芯片工作于315 MHz頻率。
④寫(xiě)0x1120置配置寄存器的FSKCALLSB位,使能FSK校準。
⑤寫(xiě)0x1121開(kāi)始FSK校準。
⑥讀0x2900讀狀態(tài)寄存器位0和位1的狀態(tài),以確定FSK校準已完成。
⑦讀FSK調試后的數據,由微控制器進(jìn)行處理。
結 語(yǔ)
該系統已成功應用在一款無(wú)線(xiàn)遙控門(mén)鎖上,使用效果良好,可以在20m的距離內無(wú)誤差的識別不同的電子鑰匙。發(fā)射部分使
用3V的鋰電池供電,發(fā)射時(shí)的工作電流在FSK模式為10.5mA,在A(yíng)SK工作模式為6.7mA。FSK/ASK超外差射頻收發(fā)機由于其自身的優(yōu)點(diǎn),在無(wú)線(xiàn)射頻領(lǐng)域將會(huì )得到廣泛的應用。
評論