基于USB的DSP与PC的通信接口设计.docx

上传人:rrsccc 文档编号:8927458 上传时间:2021-01-25 格式:DOCX 页数:3 大小:14.43KB
返回 下载 相关 举报
基于USB的DSP与PC的通信接口设计.docx_第1页
第1页 / 共3页
基于USB的DSP与PC的通信接口设计.docx_第2页
第2页 / 共3页
基于USB的DSP与PC的通信接口设计.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于USB的DSP与PC的通信接口设计.docx》由会员分享,可在线阅读,更多相关《基于USB的DSP与PC的通信接口设计.docx(3页珍藏版)》请在三一文库上搜索。

1、基于USB的DSP与PC的通信接口设计摘要:本文深入探讨了USB2.0协议,在此基础之上设计了基于USB2.0的DSP与PC通信接口的硬件电路和软件。关键词:USB 2.0; DSP;通信接口;硬件设计;软件开发一、系统设计需求分析 一般超声检测信号的频率都不会超过2-10MHz,根据采样定理,采样频率最好是信号最高频率的3-5倍。目前高速数据采集系统使用的采样频率在50MHz-100MHz之间,采样位数为12位,那么要处理的数据量将达到每秒75MB-150MB,故应满足: (1)要求数据传输的时间必须尽量短,从而减少DSP与PC之间通信的时间开销,故需要选用高速数据接口; (2)需要建立数据

2、缓冲机制,以减小数据传输过程中的丢失或错误; (3)为避免模拟数字混合电路带来的噪声干扰,保证数据传输的可靠性与稳定性,需要为接口电路设计独立的供电电源。 二、系统设计思路 针对设计要求,本文的设计思路是: (1)与其他类型的接口比较而言,USB 2.0接口具有较高的通用性和快速性,60MB/S的高速传输速度可满足数据传输需要; (2)采用FIFO作为数据缓冲通道,以简化传输程序设计,提高控制器的效率,减小数据的错误传输; (3)以USB 2. 0控制芯片为核心,设计接口硬件电路,包括独立电源电路、USB控制器与DSP的连接电路以及USB控制器与FIFO芯片的连接子电路等。 三、硬件软件电路设

3、计 3.1电源电路 电源是保证各芯片正常工作的基础,本文采用Linear Technology公司的电源稳压芯片LT1763CS8-3.3来实现。其输入电压为1.8-20伏,输出电压3.3伏,为CY7C68013USB控制器芯片提供电压电源电路如图1所示: 图1芯片电源电路 3.2软件系统设计思路 本系统的软件设计主要分为四个部分:主机程序、USB固件程序设计、USB驱动程序设计以及DSP数据传输程序设计。对于USB固件程序采用了GP工F波形图设计的方法,简化了设计步骤;USB驱动程序的设计参考了Cypress公司提供的通用软件开发包。系统软件总体设计思路如图2所示。 图2软件总体设计思路 3

4、.3固件程序设计 固件(Firmware)程序负责处理PC主机发来的各种USB请求,实现数据的传输。在GPIF模式下,CY7C68013的固件采用中断方式,固件总是在等待主机的命令,然后根据命令去执行相应的程序。这样既保证了快速的数据传输和较好的软件结构,又简化了编程和测试并且使得程序功能易于扩展。 Cypress公司针对其EZ-USBFX2系列的USB芯片给出了一个Firmware库和Firmware框架,均使用Kei1C51开发。 Firmware库提供了一些常量、数据结构、宏、函数来简化对芯片的使用。用户只需要在源程序中包含进加到项目中即可。fx2.h、fxZregs.h和fxZsdly

5、.h,并且把Ezusb.lib和USBJmpTb.OBJ添Firmware框架实现了初始化芯片、处理USB电源管理功能。该框架不需添加任何代码,编译后产生的.HEX文件下载到芯片就能和主机进行基本的USB通信,只是不能完成用户特定的任务。对于TD_Init()、TD_Poll()等函数中添加初始化代码和完成特定的功能的代码即可。该程序首先初始化所有的内部状态变量,然后调用TD_Init()函数进行初始化,并打开中断。之后,固件程序开始列举USB设备(调用UsbDisconnect函数),直到在端点0上接受到SETUP令牌包时为止。具体步骤为: (1)初始化休眠模式、远程唤醒与自供电等; (2)

6、初始化用户设备; (3)定向USB描述符; (4)使能中断; (5)重列举; (6)主循环,等待主机请求。 USB设备的使用需要驱动程序的支持,驱动程序是连接USB控制器与PC机的纽带。很多USB芯片厂商都为其USB芯片提供通用的驱动程序,这在一定程度上简化了设计步骤。 3.4 INF文件 INF文件(Device Information File)主要用来指示安装Windows驱动程序*.SyS,一般一个Windows驱动程序要配合一个INF文件才可以进行安装。INF文件包含了相应的USB设备及其驱动程序的详细信息,这些信息包括什么设备使用什么驱动程序,设备信息在系统注册表中的存储等。INF

7、文件可以确保USB设备能够在连接到主机的时候被正确地配置。 1、INF文件处理过程 在安装了USB设备驱动程序后,通过INF文件将该USB设备的一些基本信息保存在系统注册表中,另外驱动程序文件(*.SyS)和相应的INF文件也将复制到指定的系统目录中。 当USB设备连接到PC后,windows操作系统将检测到USB设备的连接,然后将系统中所有的INF文件中的数据信息与该USB设备进行比较,逐个找到与之相符合的INF文件,整个过程可以分为三步: (1)系统从连接的USB设备中获取设备描述符的供应商字段(idVender)和产品字段 (idProduct),从中得到设备的硬件ID。 (2)系统查找

8、与该硬件ID相符合的INF文件,如果找不到,系统将读取接口描述符,从中提取该USB设备的兼容ID,并查找与兼容ID相符合的INF文件。 (3)如果仍然没有找到,则系统提示用户自己安装该USB设备的驱动程序。 2、INF文件的结构 INF文件是windows操作系统下用来描述设备或文件等数据信息的文件,其是一个文本文件,由标准的ASCII码组成,可以用任何一款文字编辑器查看修改其中的内容。 INF文件的组成有节(Sections)、键(Key)和值(Value)3部分,INF文件的节按照层次结构排列,以方括号形式开始,Key为项目名称,Value为该项目的值。 3.5 Cypress通用USB驱

9、动程序 Cypress为其EZ-USB系列USB接口芯片提供了一个完整的开发包,其中包括通用的USB驱动程序,用户可以在其基础上进行修改以满足USB设备的开发和调用。 Cypress的通用USB驱动程序的特点如下: (1)采用WDM驱动模型,经由WHQL鉴定; (2)兼容USB2.0设备; (3)支持Windows即插即用和电源管理; (4)支持USB远程唤醒; (5)支持控制传输端点、块传输端点、中断传输端点和同步传输端点; (6)支持同时连接多个USB设备; (7)支持用户自定义GUID,而不用重新编译驱动程序; (8)支持高带宽的USB数据传输。 3. 6 DSP与USB通信程序 DSP

10、需要通过USB接口把大量数据传输到主机中。在GPIF模式下,GPIF状态机产生特定的触发和握手信号来与DSP进行通信。当USB读取指令,通过FIFO的EF会向DSP发出FIFO内存空的信号,DSP接收到后会产生一个中断,跳转到数据传输程序,当FIFO向USB控制器发出满信号,说明FIFO存储器己满,DSP停止发送,USB控制器开始接收数据,完成读数据操作。下面简单介绍DSP的读写控制算法: USB WR=1; Int n=0; for(int i=0;Idata_len;i+) while(USB_FULL=0) ; FD=data ; DELAY_NS(50);延时50ns USB_WRY;

11、 DELAY_NS(100); USB_WR=1; DELAY_NS(50); N+; If(n=data_len) USB_PKTEND=0;硬提交以保证数据的完整性 结束语 本系统的设计对硬件技术、软件技术有很高的要求,本系统采用的是USB2.0协议,目前随着USB3.0的逐渐普及,为进一步提高数据传输速率,可考虑使用USB3.0接口芯片。 参考文献: 【1】沈兰荪.高速数据采集系统的原理与应用.北京:人民邮电出版社,,2003:67128. 【2】汪安民,程星等.DSP嵌入式系统开发典型案例.北京:人民邮电出版社, 2007:9-57. 【3】俞平.基于DSP和USB 2.0高速数据采集处理系统.重庆大学学报,2005,2(7):125-148. 【4】赵宏,王东.基于USB传输的音频采集系统设计与实现.应用科技,2003,2(3):166-173. 【5】 Cypress Semiconductor. EZ-USB FX2 Technical Reference Manual .2002:1-5. 【6】侯利军.USB 2.0接口和DSP构成的高速数据采集系统.单片机与嵌入式系统应用 2004,2(10): 63-66.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1