新闻中心

EEPW首页>嵌入式系统>设计应用> 存储测试系统USB接口的设计与实现

存储测试系统USB接口的设计与实现

作者: 时间:2013-10-10 来源:网络 收藏


从SRAM读取存储数据时,单片机首先置片选信号CE和读控制信号OE为低电平,测试系统的时序控制电路在OE信号的作用下推动SRAM的地址,SRAM则将对应地址的数据放在总线上。单片机读取数据总线后,判断FT245R的写允许信号TXE是否为低电平,若为低电平则进入向FT245R发送数据子程序,若为高电平说明FT245R忙,不能写数据,单片机继续判断TXE信号,直到变低为止。发送数据时,单片机首先置FT245R的写控制信号WR为高电平,然后将读取的PORTD端口的数据发送至PORTB端口,接着将WR变回低电平。之后,继续判断TXE的状态,变低后发送从PORTC端口读取的数据,完成12 b数据自测试系统读取并经FT245R发送的过程,流程如图4所示。在编程时,根据测试系统SRAM的存储容量,重复上述操作即可实现测试数据经发送至计算机。


3.2 计算机编程

计算机端程序采用VB 6.0编写,通过调用FTDI提供的动态链接库,进行读、写函数等的调用与操作。在VB程序中,首先需要在模块里声明动态链接库“FTD2XX.DLL”。然后,在主程序里需要先对FT245R进行初始化,包括打开设备、复位设备、清理缓冲区、设定等待时间等步骤,初始化流程如图5所示。其他工作参数如波特率、奇偶校验、溢出控制等使用默认设置即可。

对FT245R初始化完成后,就可以进行数据发送和接收。发送数据时,将数据赋值到发送数组,调用发送函数FT_Write,然后判断函数返回值是否等于1。若为1说明数据发送成功,否则需要重新发送。接收数据时,首先需要设定接收超时时间。然后调用FT_Getstatus函数读取接收缓冲区的状态,判断接收队列中是否有数以及是否满足设定的读取字节数阈值。若满足渎取条件,则调用读数函数FT_Read,读取当前缓冲区的数据并存入数组,否则就一直等待,直到满足读取条件或产生接收超时。若产生超时,程序自动跳出接收程序,避免陷入死循环。接收流程如图6所示。


4 结论


设计的数据传输率达到1 MB/s,满足数据读取速率的要求。
该接口符合USB 2.0协议,在计算机上安装驱动即可,使用简单方便。
该接口具有体积小、运行可靠等特点,非常适合嵌入到中,也可将接口与外部数据线做成一体,进一步减小测试系统体积。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭