简介
USB接口日渐流行。这里展示的是我们近年完成的部分嵌入式USB设计,包括USB HOST和 Device 两类。USB HOST上有我们自主开发(C源代码)的HOST驱动和HID、Mass Storage类,并实现了FAT12/16/32文件系统,可以读写所有标准的U盘。USB Device部分包括所有Firmware 和Windows 2000下驱动程序的源程序。HOST的打印类、通信类目前正在研发中。《USB系统设计与应用》一书正在编著中。
体系结构
USB接口分主机(Host)和设备(Device)。基本的层次和通信结构如下图所示:
图中白色箭头表示主、从机上数据通信的实际流向。设备上的相应功能根据不同的物理设备而不同。主机和设备间的通信最终发生在USB传输线上,然而,在每一水平层次之间也存在着逻辑接口。主机程序中客户软件与设备功能模块间的通信表示了主机与设备之间功能、协议的约定。
Em/USB HOST部分的体系结构如下:
1、物理接口层:具体的USB主机控制芯片,软件以直接访问接口芯片内部寄存器的方式来实现基本的数据读写和控制。
2、USB-HOST通用功能模块,包含下列软件功能模块:
- 检测USB设备物理连接功能模块;
- 复位和初始化USB设备功能模块;
- 检测USB设备速度功能模块;
- 枚举USB设备功能模块;
- 挂起/恢复USB设备功能模块;(可不用实现)
- 管理错误恢复功能模块;
- 数据传输功能模块:不同设备类的使用该模块提供的接口以实现更高层的协议。
3、类实现模块:目前已实现的设备类有mass storage类和HID类,以后还将开发打印类。
4、上层应用:完成用户的各种应用需求。
实现方案:
Em/USB Device部分的体系结构如下:
USB Device接口的固件编程的积木式结构,以Philips PDIUSBD12控制器为例:
实现方案: