2022年DSP的USB数据传输系统设计.docx
《2022年DSP的USB数据传输系统设计.docx》由会员分享,可在线阅读,更多相关《2022年DSP的USB数据传输系统设计.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源封面欢迎下载精品学习资源作者: PanHongliang仅供个人学习基于 DSP 的USB数据传输系统设计摘 要:数字信号处理器 DSP 在高速运算上有着不行比拟的优势,但数字信号处理的数据量庞大 ,需要一种特殊便利、快捷的接口实现与运算机的数据传输;在CT 图像重建系欢迎下载精品学习资源统设计中 ,提出一种基于 DSP 和USB 的高速数据传输方案 ,该方案接受 CYPRESS的CY7C68001作为 USB 收发把握芯片 ,并使用 TI 的高性能 DSP 芯片 TMS320C5416作为微处理器把握芯片 ,利用两者的速度优势 ,通过 C 语言编写通信程序,实现了 DSP 与PC
2、 机之间的高速数据传输 ,从而使得大量图像数据能够快速、实时的储备、处理;关键词:CT 图像重建; DSP ; USB ;数据传输0 引 言由于 DSP 芯片的不断进展 , 以及它处理数据速度快、处理数据量大的优势, 已经广泛应用到数字信号处理的许多领域;在CT 图像重建系统中 ,DSP 处理的数据需要上传到 PC 机进行储备、显示或进行数据分析等 , 这就产生了 PC 机和DSP 的数据传输问题; USB总线具有传输速度高 , 以及即插即用等特点 , 得到越来越广泛的应用 , 利用 USB 总线实现 DSP和 PC 机的通信 , 从而解决图像信号的实时传输问题; Cypress 公司生产的
3、CY7C68001通用 USB 2. 0接口把握器是基于应用层编程的接口器件 , 使用简洁 , 开发便利;在此 , 以 TMS320C5416为例, 争辩如何使用 CY7C68001对 TMS32OC5416进行 USB 接口设计 , 实现 DSP和 PC机通信, 将 DSP处理过的图像信号实时传到运算机中;1 DSP与 USB接口的硬件设计TMS320C5416是 TI的高性能 32 位定点 DSP ,内核接受超长指令字 VL IW体系结构 , 有 8 个功能单元、 64 个 32 b通用寄存器;一个时钟周期同时执行8 条指令, 主频可达 1 GHz , 处理性能高达 8 000 MIPS
4、, 支持 8/ 16/ 32/ 64 b的数据类型; CY7C68001用来连接微处理器或 DSP 的 DMA从装置 , 内部不含微处理器;支持高速 480 Mb/ s或全速 12 Mb/ s USB数据传输;供应USB 2.0 协议要求的全部4 种传输方式 把握传输、中断传输、批量传输和同步传输 ,可以中意用户对各种类型数据传输的需求;1. 1接口的硬件设计在该设计方案中 , CY7C68001 通过 EMIFB 与 TMS320C5416进行异步通信 , 各个引脚的连接如图 1 所示; DSP把握 CY7C68001完成 DSP与 PC 之间的异步通信; CY7C68001的相关引脚在接口
5、中的作用 :IN T : 说明 CY7C68001有数据将要被 读出 , 或者 有中 断大事发 生; READY: 通知 TMS320C5416可 以对CY7C68001进行读写; FLA GA , FLA GB , FLA GC : 反应由 FAIFOADR2 :0 选择的 FIFO 的状态; FLA GD : 为片选信号; SLOE 为 CY7C68001驱动数据总线; SL RD : 并口读有效信号 , 在 SL RD 有效且同步通信时 ,FIFO指针在每个IFCL K 的上升沿递增; PKTEND :总是高电平 , 将当前的缓冲区提交给USB ;FD 15 :0 :数据总线; FIFO
6、 2 : 0 :供应与 TMS320C5416接口的FIFO 地址选择;图 1TMS320C5416与 CY7C68001 接口欢迎下载精品学习资源1. 2接口的拜望CY7C68001供应应DSP 两种软件接口 :(1) 命令接口 : 用来拜望 CY7C68001寄存器、 End2point0缓冲器及描述表;(2) FIFO数据接口 : 用来拜望 4 个1 KB 的FIFO中的数据;通过编程直接作为FIFO 支配给EP2 ,EP4 ,EP6 ,EP8;这两个外部接口均可以通过同步或异步方式进行拜望;在此均接受异步的方式进行拜望, 命令口的命令字如下 :在表1 中,A/ D用于地址 /数据的选择
7、 , 当其为 0时, 表示本操作为数据读或写;当其为 1 时, 表示本操作为地址写; R/ W 用于读/写操作的选择 , 当其为 0 时, 进行写, 当其为 1 时, 进行读; A 5 :0 用于地址 /数据的选择 , 当Bit7 = 0 时,D 3 :0 为数据半字节; D 5 :4 为未用, 命令字为 8 位, 故命令字数据分二次读出或写入;当 Bit7 = 1时,D 5 :0 包含将要寻址的命令寄存器地址;2 USB软件设计USB 的软件设计包括三方面 : 固件设计、驱动程序设计和主机端应用程序设计;2. 1固件设计全部基于微把握器及外围电路功能设备的正常工作都离不开固件的参与, 固件的
8、作用就是帮忙硬件工作;没有固件的参与和把握, 硬件设备无法实现预期的功能; USB 设备也不例外 , 必需编写固件程序来帮忙硬件完成 USB 的通信任务;由于接受不带 MCU内核的 USB接口芯片 ,USB 的应用层协议应当通过对TMS320C5416的编程来实现 ,USB 固件的加载必需靠 DSP 的把握 CY7C68001来完成;在 CCS中用C 语言完成固件程序的编写 , 程序流程图如图 2 所示;依据程序流程图 , 固件设计思路如下 :(1) 初始化工作;包括设置一些特殊功能寄存器的初值, 以实现所需的设备属性或功能 , 例如: 配置端口、使能端点、开中断;该设计中, 使CY7C680
9、01工作于异步FIFO 模式, 将4 KB 的FIFO 对应到两个端点 Endpoint ,即Endpoint2 和Endpoint6;(2) 帮忙硬件完成设备的重新列举过程;包括模拟设备的断开与重新连接, 对接收到的设置包进行分析判定 , 从而对主机的设备请求做出适当的响应, 完成主机对设备的配置任务;(3) 对中断的处理; CY7C68001有6 个中断源 , 可以分别通过中断使能对寄存器的各位进行设置;一旦中断大事发生,CY7C68001 的IN T引脚就被置低 , 并且置中断使能寄存器的相应位 即中断使能寄存器同时充当中断标志寄存器, 中断使能寄存器具有读写属性 ;当中断发生时 , 中
10、断标志寄存器的状态字映射到FD7 :0 ;中断发生后 ,DSP 对CY7C68001简洁的一次读操作即可猎取中断信息, 识别中断源并进行相应处理;相对于中断标志寄存器的读操作,其他CY7C68001寄存器的读操作通常要先发送一次请求 , 并且收到 READ响Y 应后, 才可以读取数据;(4) 数据的接收与发送;在读数据时, 应第一判定 CY7C68001的FIFO2 是否为空, 假如不为空 , 才将数据读进来;在写数据时 , 仍要判定要写的数据个数是否为512 B 的整倍数 , 假如不是 , 就使用PKTEND信号来标识数据包的终止; EP2 和EP6 分别对应存放 USB需要上传与接收的数据
11、;其中 , EP2为OU T 型, 负责从主欢迎下载精品学习资源机接收数据; EP6 为IN 型,负责向主机发送数据; EP2 和EP6 均接受批量BUL K传输方式 , 这种传输方式具有数据牢靠 , 传输速率高等特点 , 特殊适合大批量数据传输;部分关键代码如下 :DSP 读端点 2 中的数据 :if FifoStatus & SX2_EP2EF . = SX2_EP2EF/确定FIFO2 是否为空EP2Data = 3 unsinged volatile 3 USB_FIFO2/将端点 2 中的数读出DSP 向EP6 中写入数据 :if FifoStatus & SX2_EP2EF . =
12、 SX2_EP2EF/确定FIFO6 是否已满unsigned int i;for i = 0; i length - 1; i + + /先写入 length - 1个数据3 USB_FIFO6 = data i ;if length %512/如最终一个包不是 512 B 的整数倍使用 PKTEND信号3 unsigned volatile int 3 USB_ FIFO6 _ END = data num - 1 ;else3 unsigned volatile int 3 USB_ FIFO6 = data num -1 ;2. 2驱动程序在Windows 平台下,USB 驱动程序由三
13、部分组成 :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)
14、 驱动程序与应用函数的接口;像Ezusb _Creat ,Ezusb_Close 等函数;应用程序调用 Ezusb_Create 后, 返回惟一的 Windows 句柄后, 才能调用驱动程序的其他函数 , 完成驱动程序对 CY7C68001的一系列操作和数据传送;应用程序通过调用 API 函数CreateFile 来实现对 Ezusb_Create 的拜望;(3) 把握与数据传送接口;这是驱动程序的主要部分;它是Windows 的异步I/ O操作;应用程序使用标准 Win32API 函数Device IoCont rol 来执行这样的操作;在驱动一方 , 这个DeviceIoCont rol
15、调用被转化成一个带IRP_MJ _DEVICE_CON TRO功L能码的 IRP;像读取与写入 FIFO 数据、 endpoint0 的操作均是通过异步 I/ O的方式来完成的;2. 3 主机应用程序USB 主机应用程序是运算机中完成特定功能的程序 , 其关键是实现从 USB外设读取或发送特定数量的数据、 USB标准设备请求和特定的命令等;另外 , 可以对数据做进一步的处理 , 如: 储备、显示、快速傅里叶变换等;主机应用程序的编写使用 VC 编译环境中的 API 函数实现;应用程序的编程方法与串口编程类似;第一必需查找设备 , 调用Win32 函数CreateFilea 打开设备的句柄;然后
16、调用 Win32 函数DeviceloCont rol 就可以进行数据读写和把握操作;最终关闭设备句柄;在 VC+ + 6. 0中用C+ + 编写简洁的上位机测试程序 , 得到测试结果如图 3 所示;欢迎下载精品学习资源图3数据传输测试结果3USB软件的实现算法#include #include epphal.h #include d12ci.h #include mainloop.h #include usb100.h #include chap_9.h #include protodma.h/*/ USB protocol function pointer arrays/* code vo
17、id *StandardDeviceRequestvoid =get_status, clear_feature, reserved, set_feature, reserved, set_address, get_descriptor, reserved, get_configuration, set_configuration, get_interface, set_interface, reserved, reserved, reserved, reserved ;code void *VendorDeviceRequestvoid =reserved, reserved, reserv
18、ed, reserved, reserved, reserved, reserved, reserved, reserved, reserved,欢迎下载精品学习资源reserved, reserved,read_write_register, reserved,reserved, reserved ;/*/ Public static data/* extern EPPFLAGS bEPPflags ;extern unsigned long ClockTicks ;extern unsigned char idata GenEpBuf ;extern IO_REQUEST idata io
19、Request ;CONTROL_XFER ControlData;code char * _NAME_USB_REQUEST_DIRECTION =Host_to_device, Device_to_host ;code char * _NAME_USB_REQUEST_RECIPIENT =Device, Interface, Endpoint0, Other ;code char * _NAME_USB_REQUEST_TYPE =Standard, Class,Vendor, Reserved ;code char * _NAME_USB_STANDARD_REQUEST = GET_
20、STATUS,CLEAR_FEATURE,RESERVED, SET_FEATURE, RESERVED, SET_ADDRESS, GET_DESCRIPTOR, SET_DESCRIPTOR,欢迎下载精品学习资源GET_CONFIGURATION, SET_CONFIGURA TION, GET_INTERFACE, SET_INTERFACE, SYNC_FRAME ;void help_devrequnsigned char typ, unsigned char reqtyp = 5 ;iftyp = USB_STANDARD_REQUEST printfRequestType=%s,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 DSP USB 数据传输 系统 设计
限制150内