USB通信技术在自动测试系统中的应用
扫描二维码
随时随地手机看文章
1 引言
自动测试系统ATS(AutomaTIc Test System)集成测试所需的全部激励与测量设备,计算机高效完成各种模式的激励及响应信号的采集、存储与分析,对被测单元进行自动状态监测、性能测试和故障诊断。总线是ATS的重要组成部分,是计算机与测试硬件内部及外设传递信息的公共通路,其性能参数直接影响ATS整体的功能实现和性能指标。
通用串行总线USB(Universal Serial Bus)主要用于PC与外围USB设备互联。其物理连接是一种分层的菊花链结构,最多支持5 Hub层及127个外设。该结构独立性强。抗干扰性强、传输速率高、占用资源有限、使用灵活、支持热插拔,因此USB技术逐渐成为现代ATS数据传输的发展趋势。
这里通过Cypress公司的USB单片机CY7C68013A的PE和GPIF接口实现计算机与测试控制器件FPGA和缓冲FIFO的高速数据通信,完成ATS测试指令信号和数据的下载,自检和反馈数据的上传功能,实现测试技术的智能化。重点从USB硬件和固件代码设计阐述在测试系统数据传输过程中 USB技术的应用。
2 USB接口通信工作流程
USB具有灵活的1二作流程,如图1所示。
图1中,USB设备的工作流程从设备连接→上电→复位→分配地址→配置操作→执行固件代码,6大工作状态,这些状态在USB主机的控制下实现状态间的转换和总线的访问。USB设备随时根据总线活动情况判断是否进入或退出挂起状态,节省USB系统的功耗。
从图1分析可知,USB通信包括USB系统应用软件、设备及总线驱动程序和USB固件3层。应用软件设计由2部分组成:动态链接库和应用程序。动态链接库负责与内核态的USB功能驱动程序通信并接收应用程序对USB设备I/O的各种操作请求,应用程序调用Win32 APl函数DeviceToCon-trol向设备发出命令;USB设备驱动程序通过总线驱动程序发出输入输出请求(IRP),实现对USB设备信息的发送和接收;总线驱动程序负责总线检测、电源管理和USB事务处理,固件程序实现FX2器件的初始化设置,设备请求处理,电源管理和外围通信功能,是整个通信架构的核心。在测试系统中,通过固件代码建立数据物理通道并实现通信协议,用户可通过测试软件对USB设备进行功能控制,实现数据的有效通信和测试任务高效、可靠地完成。