《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 2.4GHz無線鼠標(biāo)鍵盤接收器的設(shè)計(jì)
2.4GHz無線鼠標(biāo)鍵盤接收器的設(shè)計(jì)
摘要: 文章標(biāo)題:2.4GHz無線鼠標(biāo)鍵盤接收器的設(shè)計(jì),。中國IT實(shí)驗(yàn)室嵌入式開發(fā)頻道提供最全面的嵌入式開發(fā)培訓(xùn)及行業(yè)的信息、技術(shù)以及相關(guān)資料的下載.
Abstract:
Key words :

  隨著無線通信技術(shù)的不斷發(fā)展,,近距離無線通信領(lǐng)域出現(xiàn)了藍(lán)牙,、RFID,、WIFI等技術(shù),。這些技術(shù)不斷應(yīng)用在嵌入式設(shè)備及PC外設(shè)中,。  2.4 GHz無線鼠標(biāo)鍵盤使用24~2.483 5 GHz無線頻段,該頻段在全球大多數(shù)國家屬于免授權(quán)使用,,這為無線產(chǎn)品的普及掃清了最大障礙,。用戶可迅速地進(jìn)入與世界同步的無線設(shè)計(jì)領(lǐng)域,最大限度地縮短設(shè)計(jì)和生產(chǎn)時間,,并且具有完美性能,,能夠替代藍(lán)牙技術(shù)。

  1 系統(tǒng)硬件結(jié)構(gòu)

  2.4 GHz無線鼠標(biāo)鍵盤接收器主要實(shí)現(xiàn)鼠標(biāo),、鍵盤等HID類設(shè)備在PC機(jī)上的枚舉識別過程和接收無線鼠標(biāo)或鍵盤發(fā)送的數(shù)據(jù)(包括按鍵值,、鼠標(biāo)的上下左右移動 等),并將接收到的數(shù)據(jù)通過USB接口傳送給PC機(jī),,實(shí)現(xiàn)鼠標(biāo)鍵盤的無線控制功能,。接收器主要由USB接口部分、MCU和無線接收部分組成,。系統(tǒng)硬件框圖 如圖l所示,。

系統(tǒng)硬件框圖

  1. 1 USB接口部分

  系統(tǒng)采用HOLTEK公司生產(chǎn)的8位USB多媒體鍵盤編碼器HT82K95E作為系統(tǒng)核心。鼠標(biāo),、鍵盤等HID類設(shè)備為低速設(shè)備,,所以接 收器要能同時實(shí)現(xiàn)鼠標(biāo)和鍵盤數(shù)據(jù)同PC機(jī)的雙向傳輸。MCU首先必須具有低速的USB接口,,并且最少支持3個端點(diǎn)(包括端點(diǎn)O),。綜合考慮選用了 HT82K95E作為本系統(tǒng)的主控芯片。

  本系統(tǒng)的USB接口部分電路圖如圖2所示,,其中電阻R100,、R101、R102,、R103,、R104和電容C102、C114和C115用于EMC,。由于鼠標(biāo)和鍵盤設(shè)備屬于從設(shè)備,,所以應(yīng)在USB-信號線上加1.5 kΩ的上拉電阻。

USB接口部分電路圖

  1.2 MCU部分

  MCU的復(fù)位電路采用由R108和C105組成的RC積分電路實(shí)現(xiàn)上電復(fù)位功能,。上電瞬間,,由于電容電壓不能突變,所以復(fù)位引腳為低電平,,然后電容開始緩 慢充電,,復(fù)位引腳電位開始升高,最后變?yōu)楦唠娖?,完成芯片的上電?fù)位,。HT82K95E微控制器內(nèi)部還包含一個低電壓復(fù)位電路(LVR),用于監(jiān)視設(shè)備的供電電壓,。如果設(shè)備的供電電壓下降到0.9 V~VLVR的范圍內(nèi)并且超過1 ms的時間,,那么LVR就會自動復(fù)位設(shè)備。

  應(yīng)當(dāng)注意的是對于該設(shè)備的復(fù)位電路,還應(yīng)加1個二極管1N4148,,接法如圖2中的VD100,。如果不加此二極管,設(shè)備在第一次使用時能夠正常復(fù)位,,但在以后的使用卻無法正常復(fù)位,,原因是電容中的電荷無法釋放掉,而該二極管可以通過整個電路快速釋放掉電容中的電荷,。

  由于nRF24L01的數(shù)據(jù)包處理模式支持與單片機(jī)低速通信而無線部分高速通信,,并且nRF24L01內(nèi)部有3個不同的RX FIFO寄存器和3個不同的TX FIFO寄存器,在掉電模式下,、待機(jī)模式下和數(shù)據(jù)傳輸?shù)倪^程中MCU可以隨時訪問FIFO寄存器,。這就允許SPI接口低速傳送數(shù)據(jù),并且可以應(yīng)用于MCU 硬件上沒有SPI接口的情況下,。因此在設(shè)計(jì)中使用HT82K95E的PA口模擬SPI總線與nRF42L01的SPI接口通信,。

  1.3 無線接收部分

  無線接收部分電路圖如圖3所示。由于nRF24L01是工作于2.4 GHz的高頻元件,,因此,,系統(tǒng)的PCB設(shè)計(jì)的好壞,直接影響系統(tǒng)的性能,。在設(shè)計(jì)時,,必須考慮到各種電磁干擾,注意調(diào)整電阻,、電容和電感的位置,,特別要注意 電容的位置。nRF24L01模塊的PCB為雙面板,,底層不放置任何元件,,在地層,頂層的空余地方(除天線襯底之外)都覆上銅,,并通過過孔與底層的地相 連,。

無線接收部分電路圖

 

 

 

  2 協(xié)議分析

  2.1 nRF24L01無線通信協(xié)議

  2.4 GHz無線通信協(xié)議分為3層:物理層、數(shù)據(jù)鏈路層和應(yīng)用層,。物理層包括GFSK調(diào)制和解調(diào)器,、接收和發(fā)送濾波器、射頻合成器,、SH接口和電源管理,,主要完 成數(shù)據(jù)的調(diào)制解調(diào)、編碼解碼,、FHSS跳頻擴(kuò)頻和SPI通信,。數(shù)據(jù)鏈路層主要完成解包和封包過程,。該協(xié)議有2種基本的封包:數(shù)據(jù)包和應(yīng)答包。數(shù)據(jù)包格式如 表1所示,。

數(shù)據(jù)包格式

   前導(dǎo)碼用來檢測0和1,,nRF24L01在接收模式下去除前導(dǎo)碼,在發(fā)送模式下加入前導(dǎo)碼,。地址內(nèi)容為接收機(jī)地址,,地址寬度是3、4或5字節(jié),,可以對接收通道和發(fā)送通道分別進(jìn)行配置,接收端從接收到的數(shù)據(jù)包中自動去除地址,。

 

  封包控制域的格式如表2所示,。數(shù)據(jù)長度標(biāo)志位只有在動態(tài)數(shù)據(jù)長度選項(xiàng)使能時才有效,6位可以表示傳輸?shù)臄?shù)據(jù)域字節(jié)數(shù)從0~32字節(jié),。標(biāo)志位用來檢測接收到 的數(shù)據(jù)包是新的還是重發(fā)的,。自動應(yīng)答標(biāo)志位表示這個封包是否需要自動應(yīng)答。封包可以采用1或2字節(jié)的CRC校驗(yàn),。對于應(yīng)答包來說,,數(shù)據(jù)域是一個可選項(xiàng),但 是如果使用該選項(xiàng)的話應(yīng)該使能動態(tài)數(shù)據(jù)長度特性,。應(yīng)用層按照設(shè)計(jì)需要可以是鍵盤和鼠標(biāo)等HID類設(shè)備,。

封包控制域的格式

  這兩種封包在應(yīng)用層協(xié)議中的用途不同。數(shù)據(jù)包主要用于傳送發(fā)射端和接收端之間的數(shù)據(jù)信息,,應(yīng)答包則是在自動應(yīng)答功能選項(xiàng)被使能之后才會出現(xiàn)的,,以便于發(fā)送 端檢測有無數(shù)據(jù)丟失。一旦數(shù)據(jù)丟失,,則通過自動重發(fā)功能將丟失的數(shù)據(jù)恢復(fù),。增強(qiáng)型的ShockBurst模式可以同時控制應(yīng)答和重發(fā)功能而無需增加MCU 工作量。

  在SCK時鐘控制下,,數(shù)據(jù)在主從設(shè)備間傳輸,,而且嚴(yán)格地遵守SPI通信的時序。作為接收端(PRX),,nRF24L01通過2.4 GHz無線通信技術(shù)與發(fā)射端(PTX)進(jìn)行數(shù)據(jù)交換,。收發(fā)器接收到數(shù)據(jù)后,通過中斷nIRQ通知MCU已接收到數(shù)據(jù),,可以進(jìn)行讀入操作,,然后MCU通過 MISO數(shù)據(jù)傳輸線讀入數(shù)據(jù)。nRF24L01在接收到數(shù)據(jù)之后,,會自動切換到發(fā)送模式發(fā)送應(yīng)答信號給發(fā)射端(PIX),,這樣就完成了一次數(shù)據(jù)傳輸過程。

  2.2 USB設(shè)備枚舉過程

  USB的枚舉過程是USB規(guī)范中一個非常重要的“動作”或“過程”。這個動作將會讓PC知道何種USB設(shè)備剮接上以及其所含的各種信息,。若要完成一個設(shè)備 枚舉的過程,,需要執(zhí)行諸多的數(shù)據(jù)交換以及設(shè)備請求。圖4描述了一個HID設(shè)備的枚舉過程,,由于本設(shè)計(jì)是針對鼠標(biāo)鍵盤復(fù)合設(shè)備的接收器,,所以在取完第一次報(bào) 告描述符后還需要再取另一個設(shè)備的報(bào)告描述符。

一個HID設(shè)備的枚舉過程

  3 固件設(shè)計(jì)

  固件設(shè)計(jì)使用HT-ICE仿真器,,它提供了多種實(shí)時仿真功能,,包括多功能跟蹤、單步執(zhí)行以及設(shè)定斷點(diǎn)功能,。圖5描述了USB無線鼠標(biāo)鍵盤 接收器的程序執(zhí)行流程,。在程序中,鍵盤使用端點(diǎn)1,,配置為輸入,;鼠標(biāo)使用端點(diǎn)2,配置為輸入,。都采用USB通信協(xié)議中的中斷傳輸,。采用“輪詢”的工作機(jī) 制,輪詢間隔為8 ms,。

USB無線鼠標(biāo)鍵盤 接收器的程序執(zhí)行流程

  接收器上電后,,完成系統(tǒng)的初始化,包括MCU的初始化和收發(fā)器的接收模式配置過程,。然后系統(tǒng)進(jìn)入接收數(shù)據(jù)包的狀態(tài)中,,一旦收到數(shù)據(jù)包就通過中斷的形式通知 MCU有數(shù)據(jù)包到來,MCU就會通過I/O口模擬SPI總線通信過程從nRF24L01中將接收到的數(shù)據(jù)讀出,,然后將數(shù)據(jù)寫到相應(yīng)的USB端點(diǎn)FIFO中,。主機(jī)通過查詢的方式讀取各端點(diǎn)的數(shù)據(jù)信息,然后按照USB規(guī)范定義的鼠標(biāo)和鍵盤的協(xié)議產(chǎn)生相應(yīng)的動作(如鼠標(biāo)的移動和按鍵的值),。

  無線收發(fā)器的初始化過程:1)配置本機(jī)地址和要接收的數(shù)據(jù)包大?。?)配置CONFIG寄存器,,使之進(jìn)入接收模式,,把CE置高;3)130μs 后,,nRF24L01進(jìn)入監(jiān)視狀態(tài),,等待數(shù)據(jù)包的到來;4)當(dāng)接收到正確的數(shù)據(jù)包(正確的地址和CRC校驗(yàn)碼),,nRF24L01自動把字頭,、地址和 CRC校驗(yàn)位移去,;5)nRF24L01通過把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中斷)通知微控制器;6)微控制器把數(shù) 據(jù)從nRF24L01讀出,;7)所有數(shù)據(jù)讀取完畢后,,可以清除STATUS寄存器。nRF24L01可以進(jìn)入4種主要模式之一,。

  4 結(jié)束語

  本系統(tǒng)基于8位單片機(jī)Hr82K95E和nRF24L01型射頻收發(fā)器設(shè)計(jì)了一個用于無線鼠標(biāo)鍵盤復(fù)合設(shè)備的USB無線接收器,。該接收器 能夠?qū)崿F(xiàn)鼠標(biāo)鍵盤復(fù)合設(shè)備的全部功能,具有成本低,、體積小,、通信方向不受制約和通信距離較遠(yuǎn)等優(yōu)點(diǎn),使其替代藍(lán)牙及紅外遙控設(shè)備成為可能,,實(shí)踐表明,,該接 收器具有廣泛的應(yīng)用前景。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。