APP下载

2.4 GHz无线鼠标键盘接收器的设计

2010-06-05张秀娟薛庆军

电子设计工程 2010年9期
关键词:枚举封包接收器

梁 波,张秀娟,薛庆军

(山东科技大学 山东 青岛 266510)

随着无线通信技术的不断发展,近距离无线通信领域出现了蓝牙、RFID、WIFI等技术。这些技术不断应用在嵌入式设备及PC外设中[1]。2.4 GHz无线鼠标键盘使用2.4~2.483 5 GHz无线频段,该频段在全球大多数国家属于免授权使用,这为无线产品的普及扫清了最大障碍。用户可迅速地进入与世界同步的无线设计领域,最大限度地缩短设计和生产时间,并且具有完美性能,能够替代蓝牙技术。

1 系统硬件结构

2.4GHz无线鼠标键盘接收器主要实现鼠标、键盘等HID类设备在PC机上的枚举识别过程和接收无线鼠标或键盘发送的数据(包括按键值、鼠标的上下左右移动等),并将接收到的数据通过USB接口传送给PC机,实现鼠标键盘的无线控制功能。接收器主要由USB接口部分、MCU和无线接收部分组成。系统硬件框图如图1所示。

图1 系统硬件框图Fig.1 Hardware block diagram of system

1 USB接口部分

系统采用HOLTEK公司生产的8位USB多媒体键盘编码器HT82K95E作为系统核心。鼠标、键盘等HID类设备为低速设备,所以接收器要能同时实现鼠标和键盘数据同PC机的双向传输,MCU首先必须具有低速的USB接口,并且最少支持 3个端点 (包括端点 0)[2]。综合考虑选用了HT82K95E作为本系统的主控芯片。

本系统的USB接口部分电路图如图2所示,其中电阻R100、R101、R102、R103、R104和电容 C102、C114和 C115用于 EMC。 由于鼠标和键盘设备属于从设备,所以应在USB-信号线上加1.5 kΩ的上拉电阻[3]。

1.2 MCU部分

MCU的复位电路采用由R108和C105组成的RC积分电路实现上电复位功能。上电瞬间,由于电容电压不能突变,所以复位引脚为低电平,然后电容开始缓慢充电,复位引脚电位开始升高,最后变为高电平,完成芯片的上电复位。HT82K95E微控制器内部还包含一个低电压复位电路(LVR),用于监视设备的供电电压。如果设备的供电电压下降到0.9 V~VLVR的范围内并且超过1 ms的时间,那么LVR就会自动复位设备[4]。

应当注意的是对于该设备的复位电路,还应加1个二极管1N4148,接法如图2中的VD100。如果不加此二极管,设备在第一次使用时能够正常复位,但在以后的使用却无法正常复位,原因是电容中的电荷无法释放掉,而该二极管可以通过整个电路快速释放掉电容中的电荷。

图2 USB接口部分原理图Fig.2 Schematic diagram of USB interface

由于nRF24L01的数据包处理模式支持与单片机低速通信而无线部分高速通信,并且nRF24L01内部有3个不同的RX FIFO寄存器和3个不同的TX FIFO寄存器,在掉电模式下、待机模式下和数据传输的过程中MCU可以随时访问FIFO寄存器[5]。这就允许SPI接口低速传送数据,并且可以应用于MCU硬件上没有SPI接口的情况下。因此在设计中使用HT82K95E的PA口模拟SPI总线与nRF42L01的SPI接口通信。

1.3 无线接收部分

无线接收部分电路图如图3所示。由于nRF24L01是工作于2.4 GHz的高频元件,因此,系统的PCB设计的好坏,直接影响系统的性能。在设计时,必须考虑到各种电磁干扰,注意调整电阻、电容和电感的位置,特别要注意电容的位置。nRF24L01模块的PCB为双面板,底层不放置任何元件,在地层,顶层的空余地方(除天线衬底之外)都覆上铜,并通过过孔与底层的地相连[6]。

图3 无线收发模块Fig.3 Wireless transceiver module

2 协议分析

2.1 nRF24L01无线通信协议

2.4 GHz无线通信协议分为3层:物理层、数据链路层和应用层。物理层包括GFSK调制和解调器、接收和发送滤波器、射频合成器、SPI接口和电源管理,主要完成数据的调制解调、编码解码、FHSS跳频扩频和SPI通信。数据链路层主要完成解包和封包过程。该协议有2种基本的封包:数据包和应答包。数据包格式如表1所示。

表1 数据包格式Tab.1 Packet format

前导码用来检测0和1,nRF24L01在接收模式下去除前导码,在发送模式下加入前导码。地址内容为接收机地址,地址宽度是3、4或5字节,可以对接收通道和发送通道分别进行配置,接收端从接收到的数据包中自动去除地址。

封包控制域的格式如表2所示。数据长度标志位只有在动态数据长度选项使能时才有效,6位可以表示传输的数据域字节数从0~32字节。标志位用来检测接收到的数据包是新的还是重发的。自动应答标志位表示这个封包是否需要自动应答。封包可以采用1或2字节的CRC校验。对于应答包来说,数据域是一个可选项,但是如果使用该选项的话应该使能动态数据长度特性[7]。应用层按照设计需要可以是键盘和鼠标等HID类设备。

表2 封包控制域格式Tab.2 Packet control field format

这两种封包在应用层协议中的用途不同。数据包主要用于传送发射端和接收端之间的数据信息,应答包则是在自动应答功能选项被使能之后才会出现的,以便于发送端检测有无数据丢失。一旦数据丢失,则通过自动重发功能将丢失的数据恢复。增强型的ShockBurst模式可以同时控制应答和重发功能而无需增加MCU工作量。

在SCK时钟控制下,数据在主从设备间传输,而且严格地遵守SPI通信的时序。作为接收端(PRX),nRF24L01通过2.4 GHz无线通信技术与发射端(PTX)进行数据交换。收发器接收到数据后,通过中断nIRQ通知MCU已接收到数据,可以进行读入操作,然后MCU通过MISO数据传输线读入数据。nRF24L01在接收到数据之后,会自动切换到发送模式发送应答信号给发射端(PTX),这样就完成了一次数据传输过程。

2.2 USB设备枚举过程

USB的枚举过程是USB规范中一个非常重要的“动作”或“过程”。这个动作将会让PC知道何种USB设备刚接上以及其所含的各种信息。若要完成一个设备枚举的过程,需要执行诸多的数据交换以及设备请求[8]。图4描述了一个HID设备的枚举过程,由于本设计是针对鼠标键盘复合设备的接收器,所以在取完第一次报告描述符后还需要再取另一个设备的报告描述符。

图4 枚举过程Fig.4 Enumeration process

3 固件设计

固件设计使用HT-ICE仿真器,它提供了多种实时仿真功能,包括多功能跟踪、单步执行以及设定断点功能。图5描述了USB无线鼠标键盘接收器的程序执行流程。在程序中,键盘使用端点1,配置为输入;鼠标使用端点 2,配置为输入。都采用USB通信协议中的中断传输。采用“轮询”的工作机制,轮询间隔为8 ms[9]。

图5 主程序流程图Fig.5 Flow chart of main program

接收器上电后,完成系统的初始化,包括MCU的初始化和收发器的接收模式配置过程。然后系统进入接收数据包的状态中,一旦收到数据包就通过中断的形式通知MCU有数据包到来,MCU就会通过I/O口模拟SPI总线通信过程从nRF24L01中将接收到的数据读出,然后将数据写到相应的USB端点FIFO中[10]。主机通过查询的方式读取各端点的数据信息,然后按照USB规范定义的鼠标和键盘的协议产生相应的动作(如鼠标的移动和按键的值)。

无线收发器的初始化过程:1)配置本机地址和要接收的数据包大小;2)配置CONFIG寄存器,使之进入接收模式,把 CE置高;3)130 μs后,nRF24L01进入监视状态, 等待数据包的到来;4)当接收到正确的数据包(正确的地址和CRC校验码),nRF24L01自动把字头、地址和CRC校验位移去;5)nRF24L01通过把STATUS寄存器的 RX_DR置位 (STATUS一般引起微控制器中断)通知微控制器;6)微控制器把数据从nRF24L01读出;7)所有数据读取完毕后,可以清除STATUS寄存器。nRF24L01可以进入4种主要模式之一。

4 结束语

本系统基于8位单片机HT82K95E和nRF24L01型射频收发器设计了一个用于无线鼠标键盘复合设备的USB无线接收器。该接收器能够实现鼠标键盘复合设备的全部功能,具有成本低、体积小、通信方向不受制约和通信距离较远等优点,使其替代蓝牙及红外遥控设备成为可能,实践表明,该接收器具有广泛的应用前景。

[1]李朝青.无线发送/接收IC芯片及其数据通信技术选编[M].北京:北京航空航天大学出版社,2004:20-117.

[2]盛群半导体有限公司.HT82K95E datasheet[EB/OL].[2009-09-15].http://www.holtek.com.cn.

[3]许永和.USB外围设备设计与应用[M].北京:北京航空航天大学出版社,2002:30-217.

[4]李齐雄,郑颜雄,蔡孟昌.HOLTEK HT48系列单片机原理及应用实例[M].北京:北京航空航天大学出版社,2005:50-185.

[5]NORDIC半导体.NRF24L01 datasheet[EB/OL].[2009-09-15].http://www.nordicsemi.com

[6]田广锟,范如东.高速电路PCB设计与EMC技术分析[M].北京:电子工业出版社,2008:3-132.

[7]刘建华,陈继荣.基于NRF24E1的无线通信协议设计与性能分析[J].通信技术,2008(2):131-133.LIU Jian-hua,CHEN Ji-rong.Protocol design and performance analysis of wireless communication system based on nRF24E1[J].Communications Technology,2008(2):131-133.

[8]张念淮,江浩.USB总线接口开发指南[M].北京:国防工业出版社,2001:15-206.

[9]薛园园.USB应用开发技术大全[M].北京:人民邮电出版社,2007:44-68.

[10]徐 星,刘克刚.一种新型的多功能鼠标的设计[J].电子技术,2004(12):53-55.XU Xing,LIU Ke-gang.A new kind of multi-function mouse design[J].Electronic Technology,2004(12):53-55.

猜你喜欢

枚举封包接收器
中药封包在急诊老年急性胃肠炎患者中的临床应用
基于理解性教学的信息技术教学案例研究
一种高效的概率图上Top-K极大团枚举算法
护肤 巧用保鲜膜
无冲突规则校园网络安全系统的设计
JXG-50S型相敏轨道电路接收器自动测试台
新型二取二结构的25Hz微电子相敏接收器数据处理方法研究
基于太阳影子定位枚举法模型的研究
IDT推出超紧凑型无线电源接收器,可节省70%板面积
NS2条件网络性能分析实践