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