首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
USB通信技术在自动测试系统中的应用
来源:本站整理  作者:佚名  2009-09-22 10:35:14




    图2为GPIF方式硬件连接框图,其中IFCLK是双向时钟信号,当配置为输出时,IFCLK被FX2驱动为30 MHz/48MHz:当配置为输入时,时钟范围为5~48 MHz;GPIFADR(9)信号为外部设备提供地址线,在总线上地址值是自增的;FD[15:0]是USB主机通过FX2和外部设备进行数据传输的数据线,可配置成8位或16位;CTL[5:0]为外设控制信号,如读写选通、使能等;RDY[5:0]为外设状态检测信号,如外部FIFO的空、满等。

    整个系统的工作原理:主机通过应用软件设置将相应的测试指令和数据经USB总线下载到68013A内部FIFO中,按照同件代码配置相关寄存器、端口和中断,实现与FIFO和FPGA的数据通信。外部使用两片FIFO匹配数据传输速率,由外部控制信号RD(或RD2)/WR(或WR2)来控制数据的读/写。为防止数据的空读或写溢出,用标志端EF和HF标明FIFO状态。这种内外FIFO双缓冲设计为大容量、高速数据传输提供更大的缓冲空间和时序匹配。 FPGA从FIFO1接收数据的同时,按照从PE口收到的Status[7:0]指令,判断所接收数据的类型和职能,将数据传输到相应的测试调理和输出电路,执行相应操作,判断被测试对象的工作情况;如从PE端口收到的是自检命令,则将测试数据回采,判断系统自身工作情况。被测试对象反馈的信号和测试采集的数据,自检数据经FPGA数据融合处理,从FIFO2传到68013A的GPIF接收端口,所有CY7C68013A的内部数据和端口操作全部由固件程序描述。

4 固件程序设计
    68013A固件负责处理主机各种USB设备请求,控制68013A与外围电路FPGA进行数据传输,协调主机和FPGA 之间的通信。设计利用Cypress公司生产的EZ-USB固件程序框架,其中包括初始化、处理USB设备请求、中断和USB电源管理等任务,固件的编译在KeilμVision2的集成开发环境中进行。68013A固件设计流程如图3所示。该设计主要包括5个部分:fw.c(框架源文件)、 periph.c(用户任务调度函数文件)、dscr.a51(描述符表)、USBJmpTb.OBJ(中断跳转表)、Ezusb.lib(EZ_USB 库文件)。用户仅需对dscr.a51和pe-riph.c修改文件中部分代码即可完成USB设备的各种功能。periph.c文件通过调用任务分配、标准设备请求和中断处理等函数来处理USB事件。其中主要修改TD_Init()和TD_Poll()两个任务分配函数。TD_Init()函数用于负责初始化端点状态变量,配置外围I/O接口及设置端口初始值。TD_Poll()主要是初始化功能寄存器,并对设备进行重新列举,完成主机对设备的配置任务;执行过程中响应中断,对中断作相应处理并控制外围电路。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:137,878.90000 毫秒