论文部分内容阅读
本课题来源于某公司姿态感知系统项目中的通信模块。姿态感知系统中设备的安装和调试一般都在比较复杂的高空或者丛林环境。设备安装和调试时需要采集设备的姿态信息用以校准。设备的数据通常都是通过PC来采集;但是此系统环境太复杂,因而采用使用更方便手机来代替PC来进行数据通信。系统中数据通信由设备上ARM板卡USB接口与OTG手机来进行。跟据上述系统的通信需求,课题将对ARM板卡USB接口与OTG Android手机的USB数据通信进行研究。该系统的目的是将Android智能手机作为USB协议中的主机端、ARM板卡作为USB协议中的设备端构建一个USB通信系统。为了实现该系统,研究中先后对USB 2.0协议、USB OTG协议、Android系统中USB OTG的工作过程以及ARM板卡开发、Android系统USB开发协议(AOA协议)和开发包(ADK)进行了分析和学习。整个通信系统的主要研究路线包括对USB通信机制的选取、USB设备类型的选取、USB 2.0协议中USB设备的枚举过程的分析设计、描述符的配置以及主机端对指定USB设备接口和端点的获取,主要的研究工作包括:1.根据数据传输的突发性以及一定传输延迟这两方面的要求,在通信上采用USB的中断传输来进行数据通信,其中中断传输的工作方式是难点。2.USB设备设计为HID USB设备,这符合中断传输的特点也能够得到手机中USB系统和Android系统的支持,其中USB HID设备类的工作方式是研究的难点。3.传输机制与USB设备类型确定后,接下来就是根据这些信息配置设备描述符、配置描述符集合、HID设备类描述符以及字符串描述符,描述符的配置是下一步枚举的关键也是难点。4.在ARM板卡上实现USB HID设备的通信协议,这一步严格按照USB协议中的枚举步骤来设计USB主机标准请求来编写中断处理程序,同时还完成了USB数据传输中断程序的编写;在支持USB OTG的Android手机端采用了AOA协议以及ADK进行USB开发,并控制整个系统数据的收发。其中USB协议在ARM板卡和手机上的实现以及USB通信是难点。通过测试,系统实现了手机对ARM板卡USB接入的检测,并识别为本课题所配置的USB HID设备,同时还能通过Android手机控制USB系统两端数据的发送与接收。