封包控制域的格式如表2所示。数据长度标志位只有在动态数据长度选项使能时才有效,6位可以表示传输的数据域字节数从0~32字节。标志位用来检测接收到 的数据包是新的还是重发的。自动应答标志位表示这个封包是否需要自动应答。封包可以采用1或2字节的CRC校验。对于应答包来说,数据域是一个可选项,但 是如果使用该选项的话应该使能动态数据长度特性。应用层按照设计需要可以是键盘和鼠标等HID类设备。
这两种封包在应用层协议中的用途不同。数据包主要用于传送发射端和接收端之间的数据信息,应答包则是在自动应答功能选项被使能之后才会出现的,以便于发送 端检测有无数据丢失。一旦数据丢失,则通过自动重发功能将丢失的数据恢复。增强型的ShockBurst模式可以同时控制应答和重发功能而无需增加MCU 工作量。
在SCK时钟控制下,数据在主从设备间传输,而且严格地遵守SPI通信的时序。作为接收端(PRX),nRF24L01通过2.4 GHz无线通信技术与发射端(PTX)进行数据交换。收发器接收到数据后,通过中断nIRQ通知MCU已接收到数据,可以进行读入操作,然后MCU通过 MISO数据传输线读入数据。nRF24L01在接收到数据之后,会自动切换到发送模式发送应答信号给发射端(PIX),这样就完成了一次数据传输过程。
2.2 USB设备枚举过程
USB的枚举过程是USB规范中一个非常重要的“动作”或“过程”。这个动作将会让PC知道何种USB设备剐接上以及其所含的各种信息。若要完成一个设备 枚举的过程,需要执行诸多的数据交换以及设备请求。图4描述了一个HID设备的枚举过程,由于本设计是针对鼠标键盘复合设备的接收器,所以在取完第一次报 告描述符后还需要再取另一个设备的报告描述符。