基于TMS320C6416的USB数据传输系统设计
时间:11-27
来源:互联网
点击:
2.2 驱动程序
在Windows平台下,USB驱动程序由三部分组成:USB设备驱动程序、USB总线驱动程序和USB主控制器驱动程序。它们必须遵循Win32驱动程序模型(WDM)。其中,Windows操作系统已经提供了处于驱动程序栈底的USB主控制器驱动程序和USB总线驱动程序(USBD.SYS)。USB设备的驱动程序主要是通过调用USBD.SYS来实现PC机与USB总线的数据交换。USB驱动程序主要完成以下功能:
(1)发现、配置、关闭USB设备。通过一系列有关即插即用(Plug and Play)的派遣函数来完成。例如Ezusb_PnPAddDevice(),Ezusb_DispatchPnp()等函数。
(2)驱动程序与应用函数的接口。像Ezusb_Creat(),Ezusb_Close()等函数。应用程序调用Ezusb_Create()后,返回惟一的Windows句柄后,才能调用驱动程序的其他函数,完成驱动程序对CY7C68001的一系列操作和数据传送。应用程序通过调用API函数CreateFile()来实现对Ezusb_Create()的访问。
(3)控制与数据传送接口。这是驱动程序的主要部分。它是Windows的异步I/O操作。应用程序使用标准Win32API函数DeviceIoControl()来执行这样的操作。在驱动一方,这个DeviceloControl()调用被转化成一个带IRP_MJ_DEVICE_CONTROL功能码的IRP。像读取与写入FIFO数据、endpoint0的操作均是通过异步I/O的方式来完成的。
2.3 主机应用程序
USB主机应用程序是计算机中完成特定功能的程序,其关键是实现从USB外设读取或发送特定数量的数据、USB标准设备请求和特定的命令等。另外,可以、对数据做进一步的处理,如:存储、显示、快速傅里叶变换等。主机应用程序的编写使用VC编译环境中的API函数实现。应用程序的编程方法与串口编程类似。首先必须查找设备,调用Win32函数CreateFilea()打开设备的句柄;然后调用Win32函数DeviceloControl()就可以进行数据读写和控制操作;最后关闭设备句柄。在VC++6.0中用C++编写简单的上位机测试程序,得到测试结果如图3所示。
3 结 语
在CT图像重建系统中,高性能的DSP芯片具有高速的数据处理能力,利用设计的USB接口,能够快速方便地实现实时传输。经测试,该设计的USB接口传输速度可达35 Mb/s以上,具有较高的实用价值和良好的应用前景,而且对于使用其他微处理器开发基于CY7C68001的USB 2.0接口也有很好的借鉴作用。
在Windows平台下,USB驱动程序由三部分组成:USB设备驱动程序、USB总线驱动程序和USB主控制器驱动程序。它们必须遵循Win32驱动程序模型(WDM)。其中,Windows操作系统已经提供了处于驱动程序栈底的USB主控制器驱动程序和USB总线驱动程序(USBD.SYS)。USB设备的驱动程序主要是通过调用USBD.SYS来实现PC机与USB总线的数据交换。USB驱动程序主要完成以下功能:
(1)发现、配置、关闭USB设备。通过一系列有关即插即用(Plug and Play)的派遣函数来完成。例如Ezusb_PnPAddDevice(),Ezusb_DispatchPnp()等函数。
(2)驱动程序与应用函数的接口。像Ezusb_Creat(),Ezusb_Close()等函数。应用程序调用Ezusb_Create()后,返回惟一的Windows句柄后,才能调用驱动程序的其他函数,完成驱动程序对CY7C68001的一系列操作和数据传送。应用程序通过调用API函数CreateFile()来实现对Ezusb_Create()的访问。
(3)控制与数据传送接口。这是驱动程序的主要部分。它是Windows的异步I/O操作。应用程序使用标准Win32API函数DeviceIoControl()来执行这样的操作。在驱动一方,这个DeviceloControl()调用被转化成一个带IRP_MJ_DEVICE_CONTROL功能码的IRP。像读取与写入FIFO数据、endpoint0的操作均是通过异步I/O的方式来完成的。
2.3 主机应用程序
USB主机应用程序是计算机中完成特定功能的程序,其关键是实现从USB外设读取或发送特定数量的数据、USB标准设备请求和特定的命令等。另外,可以、对数据做进一步的处理,如:存储、显示、快速傅里叶变换等。主机应用程序的编写使用VC编译环境中的API函数实现。应用程序的编程方法与串口编程类似。首先必须查找设备,调用Win32函数CreateFilea()打开设备的句柄;然后调用Win32函数DeviceloControl()就可以进行数据读写和控制操作;最后关闭设备句柄。在VC++6.0中用C++编写简单的上位机测试程序,得到测试结果如图3所示。
3 结 语
在CT图像重建系统中,高性能的DSP芯片具有高速的数据处理能力,利用设计的USB接口,能够快速方便地实现实时传输。经测试,该设计的USB接口传输速度可达35 Mb/s以上,具有较高的实用价值和良好的应用前景,而且对于使用其他微处理器开发基于CY7C68001的USB 2.0接口也有很好的借鉴作用。
DSP USB 总线 Cypress MIPS 电路 MCU C语言 相关文章:
- F1aSh存储器在TMS320C3X系统中的应用(11-11)
- 基于PIC18F系列单片机的嵌入式系统设计(11-19)
- DSP在卫星测控多波束系统中的应用(01-25)
- 基于PCI总线的双DSP系统及WDM驱动程序设计(01-26)
- 利用Virtex-5 FPGA实现更高性能的方法(03-08)
- DSP与单片机通信的多种方案设计(03-08)