蒋康康,郑思远
(重庆邮电大学自动化学院 重庆 400065)
USB接口作为一种高速的新型总线接口,支持即插即用设备,并能为外设提供电源且易于扩展,已成为了计算机和嵌入式系统应用的主流接口。人机接口设备(HID)一直是Windows系统支持较完善的设备类,不仅提供了完整的USB系统软件,而且直接提供HID的设备驱动程序,只要按照HID类的规范编写设备固件程序,就能够让Windows系统自动识别设备,省去了复杂的驱动程序编写过程,这样大大降低了开发的难度[1]。本文给出了一种利用S3C2440内置USB控制器实现HID类接口的设计方案,以及如何在应用程序中对HID类设备进行访问。
S3C2440是基于ARM920T内核的一款MCU,主频高达400MHz。其内部集成的全速USB设备控制器兼容USB1.1,支持全速和低速两种运行速度,提供了5个可灵活配置的端点,64字节FIFO存储器,集成的USB收发器,支持挂起和远程唤醒功能,可方便实现与计算机通信[2]。由于S3C2440内部集成了USB控制器,所以接口电路比较简单,如图1所示。

图1 S3C2440的USB接口电路
HID是用于管理和控制大多数计算机的人工输入设备,如键盘、鼠标、游戏杆等;但HID设备不一定非要是这些人机交互设备,只要符合HID设备级定义规范要求的都可以认为是HID设备,其具有以下功能特点[3]:①交换数据驻留在报告结构里;②适用于传输少量或中量的数据;③传输的数据具有突发性;④传输的最大速率有限制;⑤无固定的传输率。
USB设备有4种传输方式与主机进行通信:控制方式、中断方式、批量方式和同步方式。……