關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 兼容RS-232的點對點無線接口設計(圖)

        兼容RS-232的點對點無線接口設計(圖)

        作者: 時間:2008-01-11 來源:網絡 收藏

        本文設計了基于RF芯片nRF2401的-的無線數傳模塊,給出了系統的硬件電路及相關軟件設計的解決方案。

        前言
        隨著通信、信息技術和微電子技術的飛速發展,短距離無線通信的應用步伐不斷加快。在短距離無線數據通信中,目前最為成熟的三個標準是:Bluetooth, 802.11(Wi_Fi)和IrDA。RFID和UWB憑借其獨有的特點成為短距離無線數據傳輸技術的后起之秀。


        -接口標準是一種廣泛的普及標準,但此標準推出較早,在現代金融、保險、電信和電子化網絡中已暴露出明顯的問題:信號線易受外界干擾;-采取不平衡傳輸方式,其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大約為15m。由于上述問題的存在,導致RS-232串口數據線對電壓浪涌特別敏感。目前,非交流電源線路的浪涌所引起的損害占據全部浪涌損害的一大部分。其后果是:硬件損壞、數據丟失、通信中斷以及由此引起停機。


        為了改進RS-232通信距離短、易受外界干擾的缺點和滿足PC系統需要增加無線數據傳輸功能的需要,設計了基于RF芯片nRF2401的RS232的無線數傳模塊。

        系統設計
        nRF2401采用 5mm5mm的24引腳QFN封裝,具有突發傳遞和直接傳遞兩種工作模式。突發傳遞模式以低速率向nRF2401寫入待發數據,以高速率無線傳輸,盡量降低功耗。直接傳遞模式與傳統RF器件工作模式一致。

        圖1 TTL/ RS232的邏輯電平轉換電路


        nRF2401的主要特點:
        ● 全球開放的2.4GHz頻段,125個頻道,滿足多頻及跳頻需要。
        ● 高速率( 1Mb/s),優于藍牙技術。
        ● 外圍元件極少,電壓范圍為1.9~3.6V,電流消耗很小,功耗很低。
        ● 發射功率和工作頻率等所有工作參數可全部通過軟件設置。
        ● 芯片內部設有專門的穩壓電路,且無須外部SAW濾波器。
        ● 獨特設計:采用DuoCeiver 技術可同時接收兩個nRF2401的數據。
        ● 可通過軟件設置最多40位地址,且只有收到本機地址時才會輸出數據。
        ● 內置CRC校驗硬件電路和協議,有數據時隙和數據時鐘恢復功能。


        1 nRF2401的高頻頭設計
        nRF2401芯片以及其外圍元件電路組成了發送接收模塊。考慮到電磁性,nRF2401的應用電路單獨做成一塊PCB。高頻模塊使用雙層PCB,PCB設計中大量使用過孔,使頂層和底層的地充分接觸,PCB的空余部分大面積連續接地。

        圖2 MCU與nRF2401的直連方式


        2 接口電路設計
        RS232信號在正負電平之間擺動。發送數據時,發送端驅動器輸出正電平在+5~+15V,負電平在-5~-15V。從開始傳送數據到結束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3~+12V與-3~-12V。選用MAX3232芯片作TTL/ RS232的邏輯電平轉換。圖1為TTL/ RS232邏輯電平轉換的原理圖電路。其中C16、C20使用1uF獨石電容,C17、C19使用0.1μF獨石電容。


        MCU與nRF2401的連接采用I/O口直接連接方式。原理圖如圖2所示。連接電路中采用電阻分壓網絡來實現AT89S52與 nRF2401的數據交互。


        3 軟件設計
        nRF2401的ShockBurstTM RX/TX模式采用片上 FIFO來進行低數據率的時鐘同步和高數據率的傳輸,因此極大地降低了功耗。ShockBurstTM發射主要通過MCU接口引腳CE、CLK1和DATA來完成。當MCU請求發送數據時,置CE為高電平,此時的接收機地址和有效載荷數據作為nRF2401的內部時鐘,可用請求協議或MCU將速率調至1Mb/s;置CE為低電平可激活ShockBurstTM發射。nRF2401在突發模式下的幀格式如表1所示。

        圖3 程序流程圖


        程序流程圖如圖3所示。
        nRF2401具有144位狀態字??刂破鲗RF2401設置為配置方式,然后由通道1向nRF2401寫入狀態字的配置值,寫時高位在前。配置方式下控制器寫狀態字的過程與激活方式下向nRF2401寫入數據的過程完全相同,都經由CLK、DR和DATA組成的三線接口完成。


        在配置模式下,將nRF2401配置為ShockBurstTM收發模式,該模式下使nRF2401能夠處理射頻協議,在配置完成后,在nRF2401工作過程中,只需改變其最低一字節中的內容,以實現接收模式和發送模式的轉換。ShockBurstTM的配置字由數據寬度、地址寬度、地址和CRC四部分組成。


        程序中對狀態字后的120位進行配置,其值為0x20 4000 DDDDDD DD 00CC CCCC CC83 6E05。配置后nRF2401的通道1數據段長度為8字節,地址段長度為32位,通道1硬件地址為0x CCCCCCCC,使能16位CRC校驗,單通道接收,工作于突發傳遞模式下,通信速率為1Mb/s,晶振頻率為16MHz,輸出功率-5dbm,工作頻段為2402MHz。


        ①發送、接收數據的程序設計
        void ShockBurstTrans(){
        unsigned char ByteNum;
        MODE_RT;
        Delay202();
        for(ByteNum=0;ByteNum14;ByteNum++)
        WriteTo2401(TXData[i]);
        CE=0;
        DATA=0;
        }
        數據接收設置為中斷服務程序方式。中斷服務程序如下:
        void ReceiveShock()interrupt 0 using 3{
        unsigned char ByteNum;
        DATA=1;
        for(ByteNum=0;

        ByteNum8;ByteNum++)
        RXData[ByteNum]=ReadFrom2401();
        }
        ② 串行口程序設計
        采用中斷方式進行串口管理。串行通信中對數據流的處理采用突發處理方式。針對RAM空間有限的情況,利用軟件模擬FIFO寄存器結構。
        串口的接收和發送工作是相對獨立的,構建兩個環形緩沖區來實現具有FIFO功能的緩沖區隊列。每一個環形緩沖區都對應有寫入(Ptr_Wr)和讀出(Ptr_ Rd)兩個指針,從寫指針到讀指針之間的相對區域存儲的是待發送或已接收的數據,兩個指針的前后次序通過標志位(bFlag_Order)判別,當它們的位置重合時則表示沒有有效數據。讀寫指針相對位置與存儲的數據之間的關系如圖4所示。陰影部分表示有效數據。

        圖4 讀寫指針相對位置與存儲數據之間的關系示意圖



        結論
        隨著Internet的飛速發展,從WAN到MAN,再到LAN、PAN,這些技術已逐漸成熟。無線網絡在各類網絡中最具增長潛力。由于各種無線標準自身的技術也有待于不斷完善和提高,無線技術的應用還有很大的市場空間。


        nRF2401是一款性價比很高的單片無線收發芯片,利用AT89S52和nRF2401芯片設計的無線數據傳輸系統,成本低,體積小,應用靈活,具有良好的通用性和可靠性。通過調試結果表明,nRF2401芯片可以與微控制器連接實現無線數據通信,進而實現了PC之間的無線通信,并且通信質量可靠穩定。



        關鍵詞: 232 RS 兼容 點對點

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东兰县| 策勒县| 黑水县| 临江市| 河东区| 温宿县| 哈尔滨市| 时尚| 绥中县| 诸城市| 陆川县| 英吉沙县| 科技| 乐亭县| 台北市| 通渭县| 陵川县| 邯郸市| 鲁甸县| 江安县| 卓尼县| 南澳县| 金寨县| 武强县| 临夏市| 无为县| 枣强县| 宝丰县| 衡水市| 衡阳市| 东丽区| 平阴县| 莫力| 吉安市| 肃北| 云和县| 赣州市| 洛宁县| 凤冈县| 牟定县| 普兰县|