积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 接口设计 >> 应用论文
  相关分类: 相关文章 | 应用论文 | 新产品 | 下载 |
基于uSB 2.0接口的高速数据采集系统设计
 
作者:黄大勇 李鉴 张建正   来源:微计算机信息    点击数:206   更新时间:2008-3-3
您可以添加到网摘 让更多人关注此文章:

    
  在现代电子系统中,在信号测量、图像处理、音视频信号处理等一些高速、大容量的信号采集和传输过程中,数据的实时采集和实时传输受到人们越来越广泛的重视。现在通用的数据采集卡一般是PCI卡或是ISA卡,这些采集卡存在诸多缺点,比如安装不方便、传输速度慢、受计算机插槽数量、地址、中断等资源的限制.可扩展性差。

  LJSB(Universal Serial Bus),其中文名称为"通用串行总线"。他是为了解决计算机外设种类口益增加与有限的主板插槽和端r丁之间的矛盾.由Intel,Microsoft,IBM,NEC,lucent等7家厂商共同制定的总线标准。目前,常用的LISB 2.O版本支持的最高传输速度可达到480 Mb/s.他以速度快、成本低、可靠性高、支持即插即用和热插拔等优点,迅速得到众多PC厂商的大力支持。同时,开发这种基于uSB 2.0的高速数据采集系统,代表了现代数据采集和传输系统的发展趋势,他也将被越来越多的用户所接受。


  l 系统硬件整体设计


  该系统总体框架为PC机(能支持USB 2.O协议的计算机)、A/D转换模块、FPGA控制模块、LYSB控制模块,如图l所示。


  


  


  从整体上看结构可分为2个部分:高速数据采集模块的设计;USB 2.O高速数据传输系统。


  1.1数据采集模块


  该系统主要由l片高速AD 芯片、1片SDRAM和l片A1tera公司的FPGA构成。由于系统设计采样速度最大为1()0 MHz.据采样定理,采样频率至少应在200MHz以上,所以A/D芯片采用Analog公司的高速A/D芯片AD9480。该芯片转换精度8 b.单一3.3 V电源供电,低功耗,最高工作速度为250 MS/s,采用差分形式、LVDS电平输出,经过测试可以很好地满足系统要求。


  为了满足数据采集中高速实时流数据的应用,避免FIFO溢出,本系统通过FPGA及SDRAM构造一个大容量的FIFO,可以提供一个低成本并且能满足高速实时流数据传输的方案。


  低速数据采集系统常使用MCU作为CPU来控制,但在高速数据采集系统中,采样速度往往受MCU速度的影响,而且随着速度的提高,ADC,SDRAM和MCtJ之间的时序同步问题也显示出来,因此系统使用了高速FPGA芯片来控制ADC和SDRAM,从而很好地解决了时序精度和同步的问题。


  FPGA选择A1tera公司的CYCLONE系列高性价比产品EPlC6T144C8。他基于1.5 V,O.3 μm及全层铜SRAM工艺,其密度增加至20 060个逻辑元件(LE),RAM增加至288 kb。他具有锁相环以及DDR SDR和速度周期RAM(FCRAM)存储器所需的专用双数据(DDR)接口等。CYCLONE器件支持多种I/O口标准,包括640 Mb/s的LVDS,以及速率为33 MHz和66 MHz,数据宽度为32 b和64 b的PCI。FPGA实现的功能逻辑主要有:实现对ADC的控制,开始A/D转换;为ADC同步提供SDRAM地址计数和写信号,把每次A/D转换的结果直接存入SDRAM,并自动增加地址;当地址计数器达到最大时,发出RAMFULL中断信号,提示SDRAM已满。


  FPGA的功能逻辑用VHDL语言实现,其编译和仿真使用Altera公司的QuartusⅡ5.1,使用ByteBlastⅡ并行编程电缆和JTAG口下载编程和配置文件。


  1.2 USB 2.0高速数据传输


  用于USB设备开发的芯片通常有2种类型:一种是MCU集成在芯片里面,如CYPRESS的EZ-USB;另一种是纯粹的USB接口芯片,仅处理USB通信,使用时必须由外部微控制器(MCU)进行控制,如Philips的PDIUSBD1 2,National Semiconductor的USBN9604等。在本设计中经过论证分析,采用第一种类型,采用Cypress公司的EZ-USB FX2系列的CY7C68013芯片。


  1.2.1 EZ-USB FX2(CY7C68013)芯片


  Cypress公司的EZ-USB FX2系列芯片是最早符合USB 2.0协议的微控制器之一,他集成了符合USB 2.O协议的收发器(transceiver),串行接口引擎(SIE),增强型的8051内核以及可编程的外围接口。FX2系列芯片独特的结构使得数据传输速度最高可达56 Mb/s,最大限度地满足了USB 2.O的带宽。CY7C68013集成标准8051内核,且具有下列增强特性:可以达到48 MHz时钟;每条指令占4个时钟周期;2个USARTS;3个定时/计数器;扩展的中断系统;2个数据指针。


  805l程序从内部RAM开始运行,借助如下3种方式进行程序装载:通过USB下载,从E2PROM中装载;通过外部存储器设备。内部集成了达4 kB的FIFO,用户程序发送数据时,直接从FIFO里读取,保证了数据高速传输,与外部实现透明数据传输。


  1.2.2 硬件连接


  根据系统对数据传输的速度和实时性的要求,配置CY7C68013工作的接口模式为Slave FIFO模式。当进行数据采集时,硬件连接方式如图3所示。


  A/D转换器的采样时钟同时作为CY7C68013的Slave F=IFO模式的读写控制时钟,即CY7C68013的接口时钟连接到IFCLK引脚。SLWR/SLRD是CY7C68013Slave FIFO的写使能/读允许信号。FPGA向CY7C268013Slave FIFO提供Slave FIFO输出允许信号SLOE,仅在数据输出时有效。FD[15:0]为16 b双向数据总线。FI-FOADR[1:0]为端点FIFO选择信号。在数据输入时固定为OO,选择端点2;在数据输出时固定为10,选择端点6。


  


  


  


  


  2系统程序设计


  USB系统的软件设计可分为3部分:固件设计、驱动程序设计和用户端的应用程序设计。


  2.1 固件(firmware)设计


  固件程序实际上就是单片机方面的软件设计,他是所有基于微控制器及其外围电路的功能设备正常工作必不可少的部分,其作用就是辅助硬件。


  2.1.1 软件设计的主要功能


  与软件设计主要有以下几种功能:初始化工作,包括设置一些特殊功能寄存器的初值以实现所需的设备属性或者功能,例如开中断,使能端点,配置端口等;辅助硬件完成设备的重新枚举过程,包括模拟设备的断开与重新连接,对接收到的设置包进行分析判断,从而对主机的设备请求作出适当的响应,完成主机对设备的配置任务;对中断的处理;数据的接收和发送;外围电路的控制。


  Cypress公司为了简化和加速用户使用EZ-USBFX2芯片进行USB外设的开发过程,提供了一个完整的固件程序的架构,可以在KEILC5l环境下开发,用户只需要提供一个USB描述符表,添加其他端点接收和发送数据的通信代码,以及控制外围电路的程序代码。由于开发框架的引入,大大缩短了用户的研发周期。


  2.1.2 软件设计的框架


  该框架由以下几部分组成:


  (1)Fw.C中包含了程序框架的MAIN函数,管理整个51内核的运行,因为Cypress对这个部分的功能进行了精心划分,一般是不用改动的。


  (2)用户必须将PERIPH.C实例化,他负责系统周边器件的互联。固件的设计主要针对这个文件,用户必须根据自己系统的需要,实例化这个文件,以实现自己的功能。在这个文件中有几个函数是比较关键的,在这里做特别说明:


  TD_Init函数 负责对USB端点进行初始化设置。在FX2再次枚举和开始任务分配前被调用,其目的是初始化各个端口以及各端口的先入先出缓冲区。


  TD_Poll函数 负责系统中循环任务的处理。他主要是对各个端点的状态进行查询,处理各种OUT或IN端点的交互。值得说明的一点是,这种处理只是辅助性质的,大部分工作由硬件自动完成。


  DR-VendorCmnd函数 主要负责用户自定义命令的译码工作,用户请求通过端点O传输给内核。由于CY7C68013上SIE硬件的支持,用户只需查询固定地址单元即可获得当前的命令代码。


  DSCR.A51是描述表文件,负责USB设备的描述工作,CY7C68013在上电后自动利用其中的VID和PID取代默认的VID和:PID。两个包含文件EZtJSB.LIB和US-BJMPTB.OBJ,前者是EZUSB函数库的二进制文件,后者是USB的中断向量表。


  固件调试,使用Cypress提供的EZ-LISB controlpanel,具体的操作读者可以参考其自带帮助。对编译好的固件代码,Cypress为LISB总线设备开发者提供了2种方法向。EZ一USB芯片下载8051固件代码:


  一种是主机通过软件下载固件从主机上下载8051固件代码,他为用户提供了很大的灵活性。这种方法充分利用EZ-USB内部的8 k RAM来装载8051代码和数据。由于EZ-USB具有重新枚举的能力,所以在初始化枚举以后,用户不需要断开设备就可以装载新的。设备描述符和8051程序代码都能通过主机中的磁盘文件下载;另外一种是由E2PROM通过I2C口来下载固件。EZ-USB支持外部E2PROM通过总线来下载固件,这种方式使开发者可以从外围硬件下载8051程序代码。


  2.2驱动程序设计


[1] [2]  下一页



相关文章
· 基于VxW0rks操作系统的USB 2.0驱动分析[169]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
中嵌联盟嵌入式工程师俱乐部"
e-Shuttle与香港科技园携手
美国国家半导体推出业界首个传感器信号
PAC 2008 
Power Archite
2008上半年中国集成电路市场回顾
日本开发出接近人眼功能的新型电荷耦合
2008上半年中国集成电路市场回顾
Intersil公布产品线重组计划,
IBM进军15纳米芯片领域
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
高级射频工程师(猎头职务-珠海...
[推荐]通讯上通用的一个GSM...
[推荐]ARM培训视频-dsp...
[原创]差压式流量计的精度分析...
[原创]差压式流量计的精度分析...
[转帖]:FPGA与PCB板焊...
[转帖] 美国锐拓(Ridge...
〓特区〓功率模块IGBT、帮兄...
[求助]请问大家有可以烧录大于...
[求助]请问大家有可以烧录大于...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网