·上一文章:通过USB接口实现FPGA的SelectMap配置
·下一文章:USB主机控制器的设计
2.3 基于RAM单片方案的软件流程
如上所述,EZ-USB 2131Q芯片采用了一种基于RAM的方案,实现数据格式转换的程序并未固化在芯片中,是一种软硬结合的固件(FIRMWARE)。当器件插入USB口时,主机对器件进行轮询,获取了器件的ID号后,系统程序将FIRMWARE下载到芯片内部,执行数据格式的逻辑转换。FIRMWARE结构如图4所示。其中:TD_Init():用于初始化FIRMWARE的全局状态变量;TD_Poll():反复调用,用于执行用户的外设功能;TD_Suspend():此函数可以使器件进入低功耗状态;TD_Resume():此函数用于响应外部恢复事件,使器件恢复正常工作状态。
FIRMWARE工作时,获取图像数据后转换成USB数据格式,提交给计算机处理。
利用FIFO的方法,电路简单,可以得到稳定的图像。但代价是要丢掉一些有效数据,在不损失有效数据的条件下又必须控制电脑眼,会使得图像的传输速率降。是一种可用但不最佳的方法。
电脑眼基于外接RAM的单片方案,虽然在电路上比接FIFO稍显复杂,但此方案解决了数据传输的完整性,而且能保持电脑眼连续采集数据,保证了电脑眼的最大传输速率。
图5是通过基于RAM的单片方案获取电脑眼采集的图像数据并经USB口送入计算机,经过客户软件处理后得到的电脑眼的图像。
综上所述,基于外接RAM的单片方案是一种稳定可以的解决方案,保证了数据的完整性和连续性。