摘要:針對RF無線鼠標傳輸速度慢、傳輸距離有限的缺點,提出了一種2.4.GHz無線鼠標鍵盤接收器的設計方案。采用USB多媒體鍵盤編 碼器HT82K95E和射頻收發(fā)器nRF24L01進行設計,以HT82K95E為核心,完成HID設備的枚舉過程?刂破骼闷胀↖/O口模擬SPI總 線,完成了與無線收發(fā)模塊的數據交換。采用nRF24L01無線通信協議中的Enhanced ShockBurst收發(fā)模式,數據低速輸入,但高速發(fā)射,從而實現了鼠標鍵盤復合設備與主機間的無線通信功能。試驗結果表明,由于采用了2.4 GHz無線技術,該無線鼠標鍵盤接收器能夠有效傳輸距離可達10 m,大大降低功耗,增強了抗干擾性能。
隨著無線通信技術的不斷發(fā)展,近距離無線通信領域出現了藍牙、RFID、WIFI等技術。這些技術不斷應用在嵌入式設備及PC外設中。 2.4 GHz無線鼠標鍵盤使用24~2.483 5 GHz無線頻段,該頻段在全球大多數國家屬于免授權使用,這為無線產品的普及掃清了最大障礙。用戶可迅速地進入與世界同步的無線設計領域,最大限度地縮短設計和生產時間,并且具有完美性能,能夠替代藍牙技術。
1 系統(tǒng)硬件結構
2.4 GHz無線鼠標鍵盤接收器主要實現鼠標、鍵盤等HID類設備在PC機上的枚舉識別過程和接收無線鼠標或鍵盤發(fā)送的數據(包括按鍵值、鼠標的上下左右移動 等),并將接收到的數據通過USB接口傳送給PC機,實現鼠標鍵盤的無線控制功能。接收器主要由USB接口部分、MCU和無線接收部分組成。系統(tǒng)硬件框圖 如圖l所示。
![系統(tǒng)硬件框圖](http://tech.ic5.cn/image/2011322/20113221754634364132499375000.jpg)
1. 1 USB接口部分
系統(tǒng)采用HOLTEK公司生產的8位USB多媒體鍵盤編碼器HT82K95E作為系統(tǒng)核心。鼠標、鍵盤等HID類設備為低速設備,所以接 收器要能同時實現鼠標和鍵盤數據同PC機的雙向傳輸。MCU首先必須具有低速的USB接口,并且最少支持3個端點(包括端點O)。綜合考慮選用了 HT82K95E作為本系統(tǒng)的主控芯片。
本系統(tǒng)的USB接口部分電路圖如圖2所示,其中電阻R100、R101、R102、R103、R104和電容C102、C114和C115用于EMC。由于鼠標和鍵盤設備屬于從設備,所以應在USB-信號線上加1.5 kΩ的上拉電阻。
![USB接口部分電路圖](http://tech.ic5.cn/image/2011322/20113221754634364132508281250.jpg)
1.2 MCU部分
MCU的復位電路采用由R108和C105組成的RC積分電路實現上電復位功能。上電瞬間,由于電容電壓不能突變,所以復位引腳為低電平,然后電容開始緩 慢充電,復位引腳電位開始升高,最后變?yōu)楦唠娖,完成芯片的上電復位。HT82K95E微控制器內部還包含一個低電壓復位電路(LVR),用于監(jiān)視設備的供電電壓。如果設備的供電電壓下降到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 GHz的高頻元件,因此,系統(tǒng)的PCB設計的好壞,直接影響系統(tǒng)的性能。在設計時,必須考慮到各種電磁干擾,注意調整電阻、電容和電感的位置,特別要注意 電容的位置。nRF24L01模塊的PCB為雙面板,底層不放置任何元件,在地層,頂層的空余地方(除天線襯底之外)都覆上銅,并通過過孔與底層的地相 連。
![無線接收部分電路圖](http://tech.ic5.cn/image/2011322/20113221754634364132527968750.jpg)
2 協議分析
2.1 nRF24L01無線通信協議
2.4 GHz無線通信協議分為3層:物理層、數據鏈路層和應用層。物理層包括GFSK調制和解調器、接收和發(fā)送濾波器、射頻合成器、SH接口和電源管理,主要完 成數據的調制解調、編碼解碼、FHSS跳頻擴頻和SPI通信。數據鏈路層主要完成解包和封包過程。該協議有2種基本的封包:數據包和應答包。數據包格式如 表1所示。
前導碼用來檢測0和1,nRF24L01在接收模式下去除前導碼,在發(fā)送模式下加入前導碼。地址內容為接收機地址,地址寬度是3、4或5字節(jié),可以對接收通道和發(fā)送通道分別進行配置,接收端從接收到的數據包中自動去除地址。
封包控制域的格式如表2所示。數據長度標志位只有在動態(tài)數據長度選項使能時才有效,6位可以表示傳輸的數據域字節(jié)數從0~32字節(jié)。標志位用來檢測接收到 的數據包是新的還是重發(fā)的。自動應答標志位表示這個封包是否需要自動應答。封包可以采用1或2字節(jié)的CRC校驗。對于應答包來說,數據域是一個可選項,但 是如果使用該選項的話應該使能動態(tài)數據長度特性。應用層按照設計需要可以是鍵盤和鼠標等HID類設備。
![封包控制域的格式](http://tech.ic5.cn/image/2011322/20113221754634364132552500000.jpg)
這兩種封包在應用層協議中的用途不同。數據包主要用于傳送發(fā)射端和接收端之間的數據信息,應答包則是在自動應答功能選項被使能之后才會出現的,以便于發(fā)送 端檢測有無數據丟失。一旦數據丟失,則通過自動重發(fā)功能將丟失的數據恢復。增強型的ShockBurst模式可以同時控制應答和重發(fā)功能而無需增加MCU 工作量。
在SCK時鐘控制下,數據在主從設備間傳輸,而且嚴格地遵守SPI通信的時序。作為接收端(PRX),nRF24L01通過2.4 GHz無線通信技術與發(fā)射端(PTX)進行數據交換。收發(fā)器接收到數據后,通過中斷nIRQ通知MCU已接收到數據,可以進行讀入操作,然后MCU通過 MISO數據傳輸線讀入數據。nRF24L01在接收到數據之后,會自動切換到發(fā)送模式發(fā)送應答信號給發(fā)射端(PIX),這樣就完成了一次數據傳輸過程。
2.2 USB設備枚舉過程
USB的枚舉過程是USB規(guī)范中一個非常重要的“動作”或“過程”。這個動作將會讓PC知道何種USB設備剮接上以及其所含的各種信息。若要完成一個設備 枚舉的過程,需要執(zhí)行諸多的數據交換以及設備請求。圖4描述了一個HID設備的枚舉過程,由于本設計是針對鼠標鍵盤復合設備的接收器,所以在取完第一次報 告描述符后還需要再取另一個設備的報告描述符。
![一個HID設備的枚舉過程](http://tech.ic5.cn/image/2011322/20113221754634364132564062500.jpg)
3 固件設計
固件設計使用HT-ICE仿真器,它提供了多種實時仿真功能,包括多功能跟蹤、單步執(zhí)行以及設定斷點功能。圖5描述了USB無線鼠標鍵盤 接收器的程序執(zhí)行流程。在程序中,鍵盤使用端點1,配置為輸入;鼠標使用端點2,配置為輸入。都采用USB通信協議中的中斷傳輸。采用“輪詢”的工作機 制,輪詢間隔為8 ms。
![USB無線鼠標鍵盤 接收器的程序執(zhí)行流程](http://tech.ic5.cn/image/2011322/20113221754634364132577031250.jpg)
接收器上電后,完成系統(tǒng)的初始化,包括MCU的初始化和收發(fā)器的接收模式配置過程。然后系統(tǒng)進入接收數據包的狀態(tài)中,一旦收到數據包就通過中斷的形式通知 MCU有數據包到來,MCU就會通過I/O口模擬SPI總線通信過程從nRF24L01中將接收到的數據讀出,然后將數據寫到相應的USB端點FIFO中。主機通過查詢的方式讀取各端點的數據信息,然后按照USB規(guī)范定義的鼠標和鍵盤的協議產生相應的動作(如鼠標的移動和按鍵的值)。
無線收發(fā)器的初始化過程:1)配置本機地址和要接收的數據包大小;2)配置CONFIG寄存器,使之進入接收模式,把CE置高;3)130μs 后,nRF24L01進入監(jiān)視狀態(tài),等待數據包的到來;4)當接收到正確的數據包(正確的地址和CRC校驗碼),nRF24L01自動把字頭、地址和 CRC校驗位移去;5)nRF24L01通過把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中斷)通知微控制器;6)微控制器把數 據從nRF24L01讀出;7)所有數據讀取完畢后,可以清除STATUS寄存器。nRF24L01可以進入4種主要模式之一。
4 結束語
本系統(tǒng)基于8位單片機Hr82K95E和nRF24L01型射頻收發(fā)器設計了一個用于無線鼠標鍵盤復合設備的USB無線接收器。該接收器 能夠實現鼠標鍵盤復合設備的全部功能,具有成本低、體積小、通信方向不受制約和通信距離較遠等優(yōu)點,使其替代藍牙及紅外遙控設備成為可能,實踐表明,該接 收器具有廣泛的應用前景。 |