1 USB EHCI 主端控制器测试
每个设备应该能响应USB规范所定义的控制请求。主端应该能利用主端控制器经USB缆线送出控制需求到USB设备。
图3 EHCI 主端控制器测试架构
测试方法如下:USB测试Class驱动呼叫由USB IP核提供更高层的API,经USB子系统送出需求到USB设备。接着, 主端经控制端点(Endpoint)接受控制IN/OUT,然后解析/获得回应数据/状况用以核对其正确性。此外, 每个USB设备应该包含几个必需的描述符并依靠所接受的Get_Descriptor需求的内容来回应这些描述符。图3中PC安装Windows 2000或是Windows XP,利用ARM ADS1.2的AxD调试器,FA5 CPU的ICE一端连接PC的打印机口或是USB口,另一端连接开发板,开发板的另一端则是各种USB设备,如USB集线器、摄像头、鼠标、键盘和U盘。
图4 互测SNP和HNP的连接架构
2 OTG 测试
利用两台USB OTG开发板互测SNP和HNP的连接架构如图4所示。
图5 大量存储的应用测试
应用测试
如图5所示,设计一个SD卡主端应用来做演示, SD卡的大量存储用以测试FOTG200功能。FOTG200是智原的USB 2.0 OTG控制器, 能作为一个双重角色。作为主设备,它包含一个USB主端制器,能支援所有速度的事务。无须软件干涉的情形下,主端制器能处理一个基于事务的数据结构以减去主控CPU的负担,自动地在USB总线上转送和接收数据。作为从设备,每个端点,除了端点0,都承担可编程的HS/FS传输类型提供弹性以适应各式各样的应用。
在这个应用上, USB子系统由USB IP核、EHCI HCD控制器、USB大量存储Class驱动、文件系统和SD卡设备驱动所组成。因此,主端设备能够读/写文档到SD卡(外部设备)。顺便也能验证大量存储Class驱动和Bulk IN/OUT传输的功能。