新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 2.4 GHz無線鼠標鍵盤接收器的設計

        2.4 GHz無線鼠標鍵盤接收器的設計

        作者: 時間:2010-12-03 來源:網絡 收藏

        1.2 MCU部分
        MCU的復位電路采用由R108和C105組成的RC積分電路實現上電復位功能。上電瞬間,由于電容電壓不能突變,所以復位引腳為低電平,然后電容開始緩 慢充電,復位引腳電位開始升高,最后變為高電平,完成芯片的上電復位。HT82K95E微控制器內部還包含一個低電壓復位電路
        (LVR),用于監視設備的供電電壓。如果設備的供電電壓下降到0.9 V~VLVR的范圍內并且超過1 ms的時間,那么LVR就會自動復位設備。
        應當注意的是對于該設備的復位電路,還應加1個二極管1N4148,接法如圖2中的VD100。如果不加此二極管,設備在第一次使用時能夠正常復位,但在以后的使用卻無法正常復位,原因是電容中的電荷無法釋放掉,而該二極管可以通過整個電路快速釋放掉電容中的電荷。
        由于nRF24L01的數據包處理模式支持與單片機低速通信而無線部分高速通信,并且nRF24L01內部有3個不同的RX FIFO寄存器和3個不同的TX FIFO寄存器,在掉電模式下、待機模式下和數據傳輸的過程中MCU可以隨時訪問FIFO寄存器。這就允許SPI接口低速傳送數據,并且可以應用于MCU 硬件上沒有SPI接口的情況下。因此在設計中使用HT82K95E的PA口模擬SPI總線與nRF42L01的SPI接口通信。
        1.3 無線接收部分
        無線接收部分電路圖如圖3所示。由于nRF24L01是工作于2.4 的高頻元件,因此,系統的PCB設計的好壞,直接影響系統的性能。在設計時,必須考慮到各種電磁干擾,注意調整電阻、電容和電感的位置,特別要注意 電容的位置。nRF24L01模塊的PCB為雙面板,底層不放置任何元件,在地層,頂層的空余地方(除天線襯底之外)都覆上銅,并通過過孔與底層的地相 連。

        本文引用地址:http://www.104case.com/article/187697.htm

        c.JPG



        2 協議分析
        2.1 nRF24L01無線通信協議
        2.4 無線通信協議分為3層:物理層、數據鏈路層和應用層。物理層包括GFSK調制和解調器、接收和發送濾波器、射頻合成器、SH接口和電源管理,主要完 成數據的調制解調、編碼解碼、FHSS跳頻擴頻和SPI通信。數據鏈路層主要完成解包和封包過程。該協議有2種基本的封包:數據包和應答包。數據包格式如 表1所示。

        d.JPG


        前導碼用來檢測0和1,nRF24L01在接收模式下去除前導碼,在發送模式下加入前導碼。地址內容為接收機地址,地址寬度是3、4或5字節,可以對接收通道和發送通道分別進行配置,接收端從接收到的數據包中自動去除地址。
        封包控制域的格式如表2所示。數據長度標志位只有在動態數據長度選項使能時才有效,6位可以表示傳輸的數據域字節數從0~32字節。標志位用來檢測接收到 的數據包是新的還是重發的。自動應答標志位表示這個封包是否需要自動應答。封包可以采用1或2字節的CRC校驗。對于應答包來說,數據域是一個可選項,但 是如果使用該選項的話應該使能動態數據長度特性。應用層按照設計需要可以是和鼠標等HID類設備。

        e.JPG


        這兩種封包在應用層協議中的用途不同。數據包主要用于傳送發射端和接收端之間的數據信息,應答包則是在自動應答功能選項被使能之后才會出現的,以便于發送 端檢測有無數據丟失。一旦數據丟失,則通過自動重發功能將丟失的數據恢復。增強型的ShockBurst模式可以同時控制應答和重發功能而無需增加MCU 工作量。
        在SCK時鐘控制下,數據在主從設備間傳輸,而且嚴格地遵守SPI通信的時序。作為接收端(PRX),nRF24L01通過2.4 無線通信技術與發射端(PTX)進行數據交換。收發器接收到數據后,通過中斷nIRQ通知MCU已接收到數據,可以進行讀入操作,然后MCU通過 MISO數據傳輸線讀入數據。nRF24L01在接收到數據之后,會自動切換到發送模式發送應答信號給發射端(PIX),這樣就完成了一次數據傳輸過程。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 特克斯县| 定兴县| 普格县| 宁明县| 汝南县| 南投市| 阳东县| 长治县| 隆子县| 永新县| 和硕县| 兴业县| 剑川县| 文水县| 沈丘县| 江永县| 富源县| 南华县| 玉门市| 达日县| 沾益县| 自贡市| 宁陕县| 监利县| 庆云县| 巴彦淖尔市| 靖安县| 互助| 文山县| 宁都县| 衡水市| 宁南县| 丰台区| 自贡市| 阿拉善左旗| 称多县| 迁西县| 沙洋县| 从江县| 吉木乃县| 阿拉善右旗|