微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > ADSP-TS101的USB 2.0接口扩展

ADSP-TS101的USB 2.0接口扩展

时间:12-14 来源:互联网 点击:
4 驱动程序

驱动程序用于处理底层通信细节,实现具体的通信协议,为应用程序提供透明的传输接口。USB设备驱动程序的设计是基于WDM(Windows Driver Model,Windows驱动模型)的。WDM采用分层驱动程序模型,对于USB设备来说,可以分为USB总线驱动程序和USB功能驱动程序。USB总线驱动程序是由操作系统提供,USB功能驱动程序是由设备开发者编写的,他位于USB总线驱动程序的上面,通过向USB总线驱动程序发送IRP(I/O Re-quest Packet,I/O请求包),来实现对USB设备信息的发送与接收。

USB设备驱动程序的开发工具有Windows DDK,KRFTech公司的WinDriver,Compuware公司的DriverWorks等。其中WinDriver使用简单,开发者几乎不需要编写任何代码即可为开发的设备生成可用的驱动程序。为缩短开发周期,设备驱动程序用WinDriver开发,并用InstallShield为驱动程序制作了单一的安装包,以方便用户安装使用。

5 设备调试中遇到的问题及解决办法

在USB设备的开发过程中,设备的调试工作一个重点和难点,下面针对ISP1581,对在调试过程中可能遇到的问题做出简要的说明。

(1)处理器不能正常读写ISP1581内部的寄存器。

出现此问题的可能原因主要有两个:第一,ISP1581的时钟信号不稳定,ISP1581需要稳定的12 MHz时钟频率;第二,ISPl581上电复位不正常,可以在程序起始位置,重新复位ISPl581,延时20 ms后再对ISP1581进行操作。

(2)连接设备后,上位机提示“不可识别的USB设备”。

出现此提示,说明ISP1581已经设置好软连接,真正与上位机连接,但是由于没有正确响应上位机的请求,导致枚举失败,上位机不能正确识别USB设备。要解决此问题,最好使用调试工具来辅助,例如bushound等。运行该软件,分析USB总线上传输的数据流,观察USB设备与上位机的请求与响应状态以及响应的具体内容,与标准的USB枚举过程进行比对,从而查出问题所在。

(3)设备枚举成功,且正常加载驱动,但是无法对USB设备进行读写操作。

导致此问题可能是固件程序、驱动程序以及应用程序的问题。应先排除应用程序和驱动程序的问题,使用WinDriver重新生成设备的驱动程序,并根据WinDriver提供的例程和API函数手册,仔细检查应用程序。固件程序故障的排除相对复杂,可利用WinDriver提供的端点测试工具,结合合理的固件程序断点设置,按照USB数据传输的流程,逐级检查。

USB设备的调试是一个复杂的过程,需要清楚地了解USB设备的枚举过程和USB数据传输过程,通过细心的检查找出问题所在,才能将问题根本解决。

6 结 语

本设计通过为ADSP-TSl01扩展USB接口,实现了信号处理机与上位机的USB 2.0接口,并在实际使用中取得了良好的效果,实际传输速度大于1.2 MB/s。设计中,ISP1581通过通用总线方式与TS101连接,如果希望取得更高的传输速度,可以考虑采用ISP1581的DMA模式。USB 2.0接口性能优越,使用简单,成本低廉,在计算机与外设的互联中得到了广泛的应用,并逐渐成为计算机与外设的标准结构,因此USB接口的设计在实际应用中具有重要的地位和意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top