基于USB2.0的同步高速数据采集器的设计

发布者:tmgouzi最新更新时间:2006-11-16 来源: 电子技术应用关键字:CY7C68013 手机看文章 扫描二维码
随时随地手机看文章

随着计算机技术的迅速发展,对外部总线速度的要求越来越高。通用串行总线(Universal Serial Bus,即USB总线)凭借其即插即用、热插拔以及较高的传输速率等优点,成为PC机与外设连接的普遍标准。在许多便携式电脑上,已经找不到RS-232接口。迄今为止,常用的USB总线标准有1998年发布的USBl.1版本和2000年发布的USB2.0版本。其中1.1版本支持两种传输速率:1.5Mbps和12Mbps,主要应用在低速传输要求的场合;而2.0版本面向高数据率传输的场合,支持480Mbps的传输速度,并向下完全兼容USBl.1协议。在实际应用中,通常会遇到一些突发信号,需要对其进行高速采集,对数据进行高速传输,所以USB2.0标准自然成为首选。以Cypress公司的EZ-USB FX2系列中的CY7C68013芯片作为核心控制器,设计开发了一套符合USB2.0标准的高速同步数据采集器。

1 CY7C68013芯片

Cypress公司的EZ-USB FX2系列中的CY7C68013,是目前市面上比较少的符合USB2.0标准的USB控制器之一。与其它同类芯片相比,它提供了4KB的FIFO和一个功能十分强大的GPIF(General Programmable Interface)模块。后者相当于一个可编程状态机,正是由于它的存在,使得CY7C68013比其它同类芯片具有强大的互联能力。图1是CY7C68013芯片的结构示意图,其主要特点如下:

·CY7C68013内部集成了一个增强型的51内核,其指令集与标准的8051兼容,并且在多方面有所改进。例如:最高工作频率可达48MHz,一个指令周期为4个时钟周期,两个UART接口,三个定时计数器,一个I2C接口引擎等。

·CY7C68013提供了一个串行接口引擎(SIE),负责完成大部分USB2.0协议的处理工作,从而大大减轻了USB协议处理的工作量,并且提供了4KB的FIFO保证数据高速传输的需要。

·为了满足与各种不同类型外设的互联需要,芯片中集成了一个GPIF模块,让用户可以按照外设的时序进行波形编辑,而不需要复杂的程序描述,就可以保证GPIF与内部.FIFO的协调工作,实现芯片与高速外围设备之间的逻辑连接和高速数据传输。这对于开发者来说是相当友好的。笔者就是利用这一特性,实现数据的高速同步采集及传输。



2 同步高速数据采集芯片AD7862

2.1 AD7862的结构

AD7862是AD公司推出的高速、低功耗、双极性12位的A/D转换芯片,其中包含了两个独立的快速ADC模块(允许同时采样和转换两路信号)、4路模拟输入信号(VAl、VA2、VBl、VB2)、2.5V的内部电压基准以及一个12位的高速并行接口。芯片正常运行时功耗只有60mW,当使用节电方式时,只有50μW,对于自带电源的USB设备这种低功耗无疑是一种优点。该芯片的内部结构如图2所示。每个ADC都有一个两通道的多路选择器,芯片通过地址信号A0分别选通VAl、VA2或VBl、VB2,当一个CONVST信号到来时,同时转换地址A0选中的两路信号。

2.2 AD7862的控制时序

AD7862的控制时序如图3所示。在USB2.0同步高速数据采集器中,利用GPIF实现图3所示的时序控制。其中CONVST是转换开始启动信号,下降沿触发两路ADC开始装换;BUSY信号在CONVST信号触发后;变成并保持为高电子状态,直到两路ADC转换完毕,才又回到低电平;地址A0用于对两路模拟信号的选择,CS信号和RD信号分别是芯片使能信号以及读允许信号。两者第一次同为低电平时,读出第一组ADC转换的数据;在第二次为高电平时,读出第二组ADC转换的数据。使用AD7862值得注意的一点是该芯片提供了电源管理功能,当芯片将第二组数据读出后,CONVST信号继续保持低电平,芯片进入休眠模式。这时芯片的功耗只有50μW。这一点对于现在的便携式设备十分重要。

3 同步高速数据采集器的硬件设计

传统的高速数据采集卡一般都采用PCI总线设计,但是笔记本电脑以及大部分便携式设备是没有PCI插槽的。利用USB2.0技术,不仅保证了较高的数据传输率(传输率最大可以达到480Mbps),同时还具有便携和无需外加电源等优点。图4是系统的结构示意图。它的工作原理是:在GPIF模块的控制下,由AD7862对目标进行等间隔采样,然后将采样结果通过GPIF传送到CY7C68013的内部FIFO中缓存;当采集一定量的数据后,CY7C68013自动将数据打包(不需要8051的介入),通过USB总线传输到PC机中进行数据处理。由于有GPIF的硬件支持,CY7C68013中的8051内核只是在很少的时间内,对控制进行了辅助处理,大部分工作由GPIF硬件完成。这样8051还可以与其他外设进行互联等工作。在高速数据采集器上附加了两路RS-232接口,用于将GPS数据和高精度智能测深仪的数据中转到主控计算机上,大大方便了新近推出的笔记本电脑与传统外设之间的联系。因为新近推出的笔记本电脑大多不具有RS-232接口,而那些野外观测仪器大多只能通过RS-232接口进行数据交换。

对于CY7C68013来说,其配置和固件都是软的,存储在外部的E2PROM中,上电时从I2C总线自动装载到片内RAM中,修改起来十分方便,便于固件升级。由于CY7C68013提供了丰富的I/O口,所以进行功能扩展也是很方便的,例如增加一个GPIB数据口等。

4 软件设计

USB设备的软件设计包括三方面:固件设计、硬件驱动程序设计以及高级应用程序的设计。

4.1 固件(firmware)设计

Cypress公司为CY7C68013提供了一个开发框架,可以在KEIL C51环境下开发。由于开发框架的引入,从而大大缩短了用户的研发周期。该框架由以下几部分组成:

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



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

·TD_Init函数,负责对USB端点进行初始化设置。本设计中将端点6设置为1024个字节,缓存深度为4级,模式设为自动输入方式。

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

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

·GPIFINIT.C,其中只有一个Gpiflnit函数;它是GPIF模块的初始化函数,一般在TD_Init函数中调用。这个函数是由Cypress公司提供的一个GPIF Designer开发工具根据用户设计的波形生成的,用户不需要自己设计波形查询表,减轻了设计者的工作强度。

·DSCR.A51是描述表文件,负责USB设备的描述工作,CY7C68013在上电后自动利用其中的VID和PID取代默认的VID和PID。

·两个包含文件EZUSB.LIB和USBJMPTB.OBJ,前者是EZUSB函数库的二进制文件,后者是USB的中断向量表。

固件调试,使用Cypress提供的EZ-USB control panel,具体的操作读者可以参考其自带帮助。

4.2 驱动程序的设计

驱动程序负责对底层硬件的访问。在本设计的驱动程序开发中,使用的开发工具是Jungo公司的WinDriverv6.03,它支持多种操作系统。利用WinDriver开发的优点是用户不需要了解操作系统内部的具体工作机理,同时也不需要了解各个系统DDK(Developing or Debugging in Kernel)的开发工具,用户只需使用WinDriver提供的开发平台,即可完成驱动程序的设计工作,剩下的底层细节由WinDriver内核统一处理,从而降低了对开发者编程能力的要求,同时也大大缩短了开发周期。下面就使用WinDriver开发驱动程序的步骤做一个简要说明(以在Windows操作系统下的开发为例):

(1)启动WinDriver的DriverWizard工具;

(2)利用DriverWizard检测硬件是否正常;

(3)在DriverWizard中选择所使用的开发环境,这里使用VB6.0开发环境,并生成驱动程序代码;

(4)对生成的代码进行修改,使其符合系统的需要;

(5)在WinDriver环境的用户模式下,调试驱动程序;

(6)如果程序需要内核访问,以提高驱动程序的效率,进入内核开发。

4.3 高级应用程序的设计

高级应用程序建立在驱动程序之上,在本设计中,选用了VB6.0的开发环境来开发应用程序。它以驱动程序为桥梁,对USB设备进行命令控制,处理USB设备传回的数据,例如波形显示、频谱分析等。开发者可以依据自己的实际需求,制作一个USB控制器的控件或数据包,在编写应用程序时连接或嵌入到应用程序中。

随着笔记本电脑的迅速普及,高性能便携式采集器将会倍受瞩目,尤其是在RS-232接口已被大多数笔记本电脑摈弃的今天,对USB数据采集器的需求就变得更加迫切,并已显示出了良好的市场前景。本文所述的基于USB2.0的高速同步数据采集器就其功能来说已不仅限于数据采集,应该说是一个功能强大的混合信号处理器。经过在水下机器人声纳和浙江深水网箱监测设备中的使用表明数据吞吐量大、性能稳定,达到了设计要求。只要搭配合适的传感器以及相应的信号调理电路,利用本文所述的高性能采集器,就可以对各种模拟量进行采集和分析处理。如果再能够配以合适的固件设计,则完全可以构成一个多功能控制系统。

关键字:CY7C68013 引用地址:基于USB2.0的同步高速数据采集器的设计

上一篇:基于USB2.0的MPEG视频卡的设计与实现
下一篇:一种异步FIFO的设计方法

推荐阅读最新更新时间:2024-05-13 18:15

基于MC8051软核的星载智能1394终端
1引言 IEEE1394是一种高速串行总线,它最初是由Apple公司与20世纪80年代中期开发的FireWire总线。1995年,IEEE制定并颁布了IEEE 1394-1995标准,并在2000年推出了IEEE 1394a标准,可以支持100Mbps、200Mbps和400Mbps的传输速率。在最新的IEEE1394B标准中,支持的传输速率提高到了800Mbps、1.6Gbps和3.2Gbps。IEEE1394总线以其高传输速率的特点已经在视频传输、网络互联及计算机外设等领域有了广泛的应用 。目前在航空 及航天应用中对大量数据的高速实时传输要求不断提高,IEEE1394具有数据传输速率高、支持等时传输等特点,因而成为未
[单片机]
基于MC<font color='red'>8051</font>软核的星载智能1394终端
基于UCC28051的线路输入PFC升压转换器
   1. 本文引言   UCC28051参考设计为一款具有功率因数校正(PFC)功能的100W离线AC/DC电压转换器。该电源模块设计旨在说明如何在一个离线功率因数校正预调节器中合理配置UCC28051。根据设计,该模块可在85V~265V的通用输入电压范围内工作,具有400V DC稳压输出。   为了使该设计正常的工作,输出端需要一个最低为25W的负载。    2. 注意事项   只要通电在该评估板上就会出现高压电平。因此在利用该电源模块时,必须采取适当的防范措施。其输出端具有一个大能量存储电容,所以对该模块进行处理之前必须要对该电容完全放电。如果不遵循这些安全防范措施的话,就会出现严重的损坏。    3. 原理图
[电源管理]
基于C8051F130的信号源发生器设计
  引言   信号源产生电路可以由RC 震荡电路、LC 震荡电路以及由555 定时器构成的震荡电路制成,更多的则是用专门的函数信号发生器IC 产生,但它们的功能较少, 精度不高, 频率上限只有300 kHz, 无法产生更高频率的信号, 另外调节方式也不够灵活, 频率和占空比不能独立调节, 二者互相影响。也有采用专门DDS 芯片的信号发生器, 但电路结构复杂, 成本较高 。而专门针对极低频率的信号源其设计频率范围又较窄 , 应用范围小。为此, 本文研究并设计出了一种基于单片机C8051F130 和MAX038 的信号源发生器, 能在15 MHz 内产生三角波、正弦波、方波, 精度高、失真度小、能有效弥补上述设计的不足, 满足大部分
[单片机]
基于C<font color='red'>8051</font>F130的信号源发生器设计
实战之8051驱动8位数码管
8051驱动共阴极 过年有点时间,整理电脑,翻到一个之前的小作品,应一位刚入门的朋友的要求做的,控制8位数码管,依次显示0~9。发出来给大家瞧瞧,高手请略过。 由于当时手上没有开发板,就用Proteus来做电路仿真了。 工作环境: Keil uVision5 Proteus 8 Professional 数码管 首先了解下数码管的相关知识 数码管的基本单元是发光二极管,按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位、8位等数码管。
[单片机]
基于C8051的软开关用移相PWM的实现
摘要:通过C8051单片机的可编程计数器列阵PCA来实现软开关用移相PWM触发脉冲,实验结果表明通过此法产生的PWM波调试方便,运行可靠,可应用于多种软开关电路中。 关键词:软开关;移相PWM:C8051 0 引言 软开关技术近年来已经得到了深入,广泛的研究并且发展迅速。但在各种软开关电路中,使开关管实现软开关的触发脉冲比较特殊:例如在典型的Boost ZCT—PWM电路 中,主开关管的触发脉冲超前于辅助开关管的触发脉冲,两者虽然频率相同,但占空比不同。在实验中发现,利用Cvgnal公司的C8051F系列单片机可以方便地产生此种软开关用的、多路占空比不等的移相PWM脉冲。 1 C805lF系列单片机可编程计数器阵列PCA简介
[单片机]
C8051F060单片机的数字传感器系统硬件如何设计
随着科学技术的发展,智能控制技术开始在电子测试领域广泛地应用。在现代工业测控系统中,人们往往将各种传感器挂接在现场总线上,组成传感器网络系统,各种传感器设备分别作为其中的一个网络节点,通过现场总线实现节点与控制中心之间以及节点与节点之间的信息传输。 通常,人们选用CAN总线将大部分传感器连接起来,因此,传感器也需相应地智能化并统一数据接口。本文基于C8051F060单片机设计一款带有CAN通信接口的温湿压数字传感器系统,该系统能对压力传感器输出的压力模拟信号进行信号调理和模数转换;能处理并传输温度、湿度和压力数据,搭建CAN总线传感器网络以实现数据的采集和通信。 数字传感器系统总体方案设计 根据数字传感器系统的任务和功能,
[单片机]
C<font color='red'>8051</font>F060单片机的数字传感器系统硬件如何设计
使用8051单片机原理的步进电机控制
步进电机是一种无刷同步电机,它将完整的旋转分为若干步。每个步进电动机将具有一些固定的步进角,并且电动机以该角度旋转。在本文中,我将向您展示如何使用两个不同的驱动器(L293D和ULN 2003)将步进电机与8051连接。此外,此处还将说明使用8051单片机的步进电机控制。 使用8051单片机原理的步进电机控制 这些电路的主要原理是使步进电机以特定的步进角步进旋转。由于控制器无法提供电动机所需的电流,因此ULN2003 IC和L293D电动机驱动器用于驱动步进电动机。 电路1:使用8051单片机和L293D进行步进电机控制 该项目中的第一个电路是使用L293D电机驱动器IC实现的。由于L293D电动机驱动器具有四个输出引脚的
[单片机]
使用<font color='red'>8051</font>单片机原理的步进电机控制
基于USB2.0技术的高速双路数据采集系统
  1.引言   近年来,USB接口由于其传输速率高,真正的即插即用等优点正在逐渐取代传统的计算机接口如:RS232,EPP等。目前,许多的芯片生产商都推出了符合USB协议的芯片,如Philips公司的PDIUSBD12,NS公司的USBN9602等。在众多的USB2.0芯片中,Cypress公司的EZ-USB FX2(CY7C68013)芯片是一个不错的选择。本文设计了一种基于EZ-USB FX2和MAX1195的数据采集系统,该系统符合USB2.0协议标准,通过与高精度激光纵模分析仪连接进行调试,证明该系统达到了预定目的。   2. CY7C68013芯片和MAX1195芯片介绍   2.1 CY7C68013介绍
[模拟电子]
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved