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

出处:ws2002 发布于:2010-11-16 10:50:23

      摘要:针对RF 无线鼠标传输速度慢、传输距离有限的缺点,提出了一种2.4 GHz 无线鼠标键盘接收器的设计方案。采用USB 多媒体键盘编码器HT82K95E 和射频收发器nRF24L01 进行设计,以HT82K95E 为,完成HID 设备的枚举过程。控制器利用普通I/O 口模拟SPI 总线,完成了与无线收发模块的数据交换。采用nRF24L01 无线通信协议中的Enhanced ShockBurst 收发模式,数据低速输入,但高速发射,从而实现了鼠标键盘复合设备与主机间的无线通信功能。试验结果表明,由于采用了2.4 GHz 无线技术,该无线鼠标键盘接收器能够有效传输距离可达10 m,大大降低功耗,增强了抗干扰性能。

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

  1 系统硬件结构:

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


图1 系统硬件框图1 USB 接口部分:

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

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

  1.2 MCU 部分:

  MCU 的复位电路采用由R108和C105组成的RC 积分电路实现上电复位功能。上电瞬间,由于电容电压不能突变,所以复位引脚为低电平,然后电容开始缓慢充电,复位引脚电位开始升高, 变为高电平, 完成芯片的上电复位。

  HT82K95E 微控制器内部还包含一个低电压复位电路(LVR),用于监视设备的供电电压。如果设备的供电电压下降到0.9 V~ VLVR的范围内并且超过1 ms 的时间,那么LVR就会自动复位设备。

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


图2 USB 接口部分原理图

  由于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 为双面板,底层不放置任何元件,在地层,顶层的空余地方(除天线衬底之外)都覆上铜,并通过过孔与底层的地相连。


 图3 无线收发模块2 协议分析:

  2.1 nRF24L01 无线通信协议:

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

表1 数据包格式


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

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

表2 封包控制域格式


  这两种封包在应用层协议中的用途不同。数据包主要用于传送发射端和接收端之间的数据信息, 应答包则是在自动应答功能选项被使能之后才会出现的, 以便于发送端检测有无数据丢失。一旦数据丢失,则通过自动重发功能将丢失的数据恢复。增强型的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 枚举过程3 固件设计:

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


图5 主程序流程图

  接收器上电后,完成系统的初始化,包括MCU 的初始化和收发器的接收模式配置过程。然后系统进入接收数据包的状态中, 一旦收到数据包就通过中断的形式通知MCU有数据包到来,MCU 就会通过I/O 口模拟SPI 总线通信过程从nRF24L01 中将接收到的数据读出,然后将数据写到相应的USB 端点FIFO 中。主机通过查询的方式读取各端点的数据信息, 然后按照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 无线接收器。该接收器能够实现鼠标键盘复合设备的全部功能,具有成本低、体积小、通信方向不受制约和通信距离较远等优点,使其替代蓝牙及红外遥控设备成为可能,实践表明,该接收器具有广泛的应用前景。


  
关键词:无线

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!