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