新聞中心

        EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于PIC的FSK/ASK超外差收發(fā)機的設(shè)計

        基于PIC的FSK/ASK超外差收發(fā)機的設(shè)計

        作者: 時間:2006-06-12 來源:網(wǎng)絡(luò) 收藏
        摘 要 目前,射頻技術(shù)在各個領(lǐng)城都有著廣泛的應(yīng)用。各種射頻妁設(shè)備都在向小體積、低功耗、抗干擾、高糾錯的方向發(fā)展,使用分離元件構(gòu)成的射頻設(shè)備已不能滿足需要。因此,使用調(diào)制的集成射頻芯片便應(yīng)運而生。本文以l6F819單片機和MAXl479、MAXl471為核心器件,一款為無線遙控門鎖使用的超外差射頻機;介紹l6F819芯片和MAXl479、MAXl471芯片的性能,詳細討論機的硬件和軟件系統(tǒng)并予以實現(xiàn)。

        關(guān)鍵詞 16F819 MAX1479 超外差收發(fā)機


        FSK/ASK的超外差收發(fā)機在遠程無線進入、汽車胎壓檢測、無線傳感器等方面都有很廣泛的應(yīng)用。本文以PICl6F819和MAXl471、MAXl479為基本部件,并實現(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ù)。當ADATA為高,輸出ASK解調(diào)數(shù)據(jù);當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校準。
        ⑤寫0x1121開始FSK校準。
        ⑥讀0x2900讀狀態(tài)寄存器位0和位1的狀態(tài),以確定FSK校準已完成。
        ⑦讀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)用。



        關(guān)鍵詞: 收發(fā) 設(shè)計 ASK FSK PIC 基于

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 台中市| 西平县| 林甸县| 水城县| 剑阁县| 武定县| 桃源县| 乌拉特中旗| 永春县| 洪雅县| 龙游县| 神农架林区| 平泉县| 江阴市| 金坛市| 濉溪县| 梁山县| 儋州市| 中方县| 绥宁县| 华容县| 茌平县| 辽宁省| 开原市| 玛纳斯县| 阿坝| 沙洋县| 高平市| 海淀区| 惠来县| 海宁市| 襄汾县| 延安市| 峡江县| 元阳县| 武乡县| 定远县| 仪陇县| 香港| 沙雅县| 茌平县|