USB2.0开发系统概要

2024-06-02 版权声明 我要投稿

USB2.0开发系统概要

USB2.0开发系统概要 篇1

USB,全称是UniversalSerialBus(通用串行总线),它是在1994年底由康柏、IBM、Microsoft等多家公司联合制订的,USB接口经历了六年的发展,现在USB已经发展到了2.0版本。USB2.0协议支持现存的所有USB设备,既可以把USB1.1设备插入USB1.1的PC机接口,并且在电气上兼容USB1.1的连接线。

1、USB总线特点

(1)数据传输速率高

(2)数据传输可靠

(3)同时挂接多个USB设备

(4)USB接口能为设备供电

(5)支持热插拔。

USB还具有一些新的特性,如:实时性(可以实现和一个设备之间有效的实时通信)、动态性(可以实现接口间的动态切换)、联合性(不同的而又有相近的特性的接口可以联合起来)、多能性(各个不同的接口可以使用不同的供电模式)。

2、USB接口的结构与典型应用

USB接口引脚定义如图4所示。USB接口数据传输距离不大于5米。其典型应用如下图5所示。

USB总线上数据传输方式有控制传输、同步传输、中断传输、块数据传输。在图5所示系统中,USBHOST根据外部USB设备速度及使用特点采取不同的数据传输特点。如通过控制传输更改键盘、鼠标属性,通过中断传输要求键盘、鼠标输入数据;通过控制传输改变显示器属性,通过块数据传输将要显示的数据送给显示器。

3、器件选用:

USB2.0器件:Cypress公司FX2系列;

高速ADC:TI、LT、AD公司的高速(40MSPS~80MSPS)8位ADC系列;

高精度ADC:TI、LT、AD公司的中高速(2MSPS~40MSPS)12/14位ADC系列;

高速DAC:AD、LT公司的高速(40MSPS~80MSPS)8位DAC系列;

高精度DAC:AD、LT公司的中

高速(20MSPS~80MSPS)12/14位DAC系列;

4、EX-USBFX2的`主要特点

EZ-USBFX2芯片包括1个8051处理器、1个串行接口引擎(SIE)、1个USB收发器、8.5KB片上RAM、4KBFIFO存储器以及1个通用可编程接口(GPIF),如图2所示。FX2是一个全面集成的解决方案,它占用更少的电路板空间,并缩短开发时间。

EZ-USBFX2拥有1个独特的架构,其中包括1个智能串行接口引擎(SIE)。它执行所有基本的USB功能,将嵌入式MCU解放出来以用于实现专用的功能,并保证其持续的高性能的传输速率。FX2还包括2个通用可编程接口(GPIF),允许它“无胶粘接”,即可与任何ASIC或DSP进行连接,并且它还支持所有通用总线标准,包括ATA、UTOPIA、EPP和PCMCIA。EZ-USBFX2完全适用于USB2.0,并向下兼容USB1.1。

FX2有3种封装形式:56脚SOPP、100脚的TQFF(薄形四方扁平封装)、128脚的TQFP。引脚数的区别在于输入、输出引脚数的不同,以针对不同的应用要求。

5、本系统的功能:

1、有PGA(可编程增益放大器),ADC采用20MSP~40MSPS中高速8位ADC,DAC采用20MSPS~40MSPS中高速8位DAC。

2、SRAM采用128K×8高速SRAM。

3、3、具备16通道数字输入和16通道数字输出,也可以配置为32通道数字输出或32通道数字输入。

4、编写了USB2.0器件的介绍文档,让用户熟悉Cypress公司USB器件各种特性。

5、根据USB2.0器件各种内部特性,编写了相应的固件代码和上层测试程序。

6、编写了USB2.0内部传输速度测试程序,以多媒体图象显示程序为例(将图象下载到FX2中,读回主机显示,计算每秒显示帧数)。

7、将USB2.0的SlaveFIFO引出,用户可以将SlaveFIFO通道连接到用户板上试验。

8、配套模拟数据采集显示软件,可以作为功能较为完全的数字存储示波器使用。

6、综述:

USB2.0开发系统是一个较为通用的数据采集分析系统,可以作为高性能

USB2.0开发系统概要 篇2

精细农业思想在20世纪末传入我国后,已愈来愈受到国内各方面的认可和重视。在精细农业中进行田间作业时,需要同时采集GPS数据和传感器模拟数据等多路不同类型的数据。笔者设计了一种基于USB 2.0的多通道高速数据采集系统,该系统在田间作业时脱离PC机,可以独立采集多路串行信号和模拟信号,并存储在闪存中;在室内作业时,可以与上位机通过USB2.0接口连接,进行实时控制操作。

本系统使用CYPRESS公司的EZ-USB FX2系列芯片为核心处理芯片设计完成。EZ -USB FX2系列芯片是针对USB2.0规范的高速传输控制芯片,提供了对USB2.0的完整解决方案,可完成从多路高速数据采集到与上位机通过USB2.0接口进行高速传输的多重功能。本系统采用FX2系列芯片中的cy7c68013作为主控芯片,其中主控芯片与采集外设使用GPIF方式连接。通用可编程接口(GPIF)是该主控芯片最引人注目的一项新技术,正是通过这种机制,它才能够实现采集系统主控芯片与外设实现高速数据采集传输。本文详细阐述了该系统中高速数据采集子模块中基于GPIF的硬件及固件程序设计方法和实现原理,并通过具体设计加以说明。

1 GPIF介绍

通用可编程接口控制器GPIF已整合到了FX2内核中,由硬件来提供底层支持,并有配套的GPIF编程工具软件,配有良好的集成开发环境[1],其结构原理图如图1所示。

GPIF的接口线路描述如下:

1) FD[15:0]为16根双向FIFO数据线;

2) IFCLK为时钟线,可以使用外接时钟或使用内部48MHz或30MHz时钟周期;

3) GPIFADR[8:0]为9根地址输出线,具有自动增益功能,以便在进行GPIF数据传送时可对寄存器进行连续读写;

4) CTL[5:0]为可编程Control输出信号,通常用作选通信号、非总线输出信号和产生简单的脉冲信号;

5) RDY[5:0]为GPIF可连续采样Ready输入信号,通常用来等待指定信号的某个状态出现,以确定GPIF下一步动作;

6) GSTATE[2:0]为当前GPIF状态,用来调试GPIF的波形描述符[2]。

GPIF的程序存储区间为0xE400-0xE47F,用于存储GPIF指令,可存储4组波形的程序代码(即波形描述符Waveform Descriptors)。该波形描述符用来定义GPIF的操作过程。

每个GPIF波形描述符都由7段组成,state0~state6(简称S0~S6)。执行完S0~S6的动作后,都进人idle状态(S7),即空闲状态,以准备启动下一次GPIF动作。每个state可定义为无判断不转移态(NDP)或是判断转移态(DP)。当某个state定义为NDP时,这个state动作的执行只是简单地延时(用来确定产生指定电平的延续时间);当某个state定义为DP时,它将根据RDY0~RDY5上的输人信号状态以及内部FIFO的可编程标志和内部自定义的Ready标志,将这些信号进行逻辑“与”、“或”、“异或”运算,并根据得到的逻辑结果在S0~S6中选择下一个即将执行的state。在每个state执行时,都可指定CTL0~CTL5输出用户指定的状态。通过RDY、CTL以及内部一些标志位的组合,能完成各种复杂时序电路的控制。

2 EZ-USB FX2固件程序框架

EZ-USB FX2的固件程序负责处理PC机发来的各种USB设备请求,并与外围电路进行数据传输。CYPRESS公司提供了一个固件程序的框架,用户可以根据自己的需要任意添加自己的程序代码。CYPRESS公司提供的固件程序主要包括:FX2regs.h、FX2regs.inc、 FX2header.h 、FX2dly.h 、dscrptr.a51 、delayms.a51、jumptable.a51 、main.c和function.c。其中,头文件FX2regs.h和FX2regs.inc对EZ-USB FX2中的各种功能寄存器进行定义;FX2header.h定义了通用的FX2常量、数据类型和宏;FX2dly.h定义了FX2中某些寄存器所需的同步延时宏;dscrptr.a51定义了系统所使用的各种USB描述符;delayms.a51中包含延时1ms子程序和芯片挂起处理子程序;jumptable.a51文件定义了FX2中INT2和INT4的中断跳转表;fw.c是固件运行的主程序文件,负责处理各种USB设备请求,主要通过对fw.c的程序代码的添加和编写,来实现自己所需要实现的功能。同时,由于采用GPIF的传输方式,还必须编写一个gpif.c一起编译。以上这些固件程序开发所使用的语言为德国Keil公司的C51编译器,集成运行环境为uVision2。

3 GPIF设计举例

对于GPIF方式,CYPRESS公司提供了一个可视化的编程工具—GPIF DESIGNER。它可将具体的GPIF方式下的电路时序控制等电路设计输入DESIGNER中,并可根据DESIGENER提供的波形编辑器和条件判断编辑框来编辑波形及输出条件。系统自动生成程序文件gpif.c。在这个自动生成的文件中,主要包括gpifinit()函数,用来解决输出时钟频率及与gpif相关的寄存器初始化问题、gpif波形描述的c语言形式和各关键点的判断条件等。本高速采集系统中的EZ-USB FX2与FIFO芯片(CY7C4265)硬件连接部分说明GPIF设计过程。

1) 启动GPIF DESIGNER,进入Block Diagram画面,如图2所示。在此界面下,设置所需FX2芯片类型和与之相连的外围接口芯片(这里是CY7C4265-15AC),并设计输出时钟频率、数据传输位数、控制信号和反馈信号等。在本系统中,将输出时钟频率设为30MHz,控制信号用CTL0、CTL1控制FIFO的读使能信号和片选信号,FIFO的缓冲器空信号由FX2的RDY脚判断[3]。

2) 将画面转至FIFORD应用界面,可直观根据实际需要编写数据位、控制位、状态位和选通位的时序配合。如图3所示,GPIF将读写过程分为7个阶段,分别是S1~S7。本系统中,只使用了从S1~S3的4种状态。其中,S3称为关键状态,是数据读状态,REN和OE配合读操作。Status状态用于编辑进入关键状态时的逻辑判断条件。

3) 对关键状态决定点的判断条件进行编辑。本系统通过判断块传输的读操作计数来选择是否退出S3状态(即数据读传输),如图4所示。

4) 最后,需要在固件程序中加入初始化代码完成GPIF的启动和控制工作。这里,在fw.c中加入TD_Poll函数完成该功能。该函数程序代码如下:

4 结束语

本文详细介绍了基于USB 2.0的农田数据采集系统中采用GPIF方式的EZ-USB FX2固件程序开发原理、方法及步骤,并通过实例加以说明。测试表明,该系统在农田数据采集中应用良好,为田间信息的采集提供了有效的应用手段,并可为今后的USB技术在农业数据采集领域提供了一个很好的设计参考。

摘要:介绍了基于USB2.0的农田数据采集系统中主控芯片EZ-USB FX2利用可编程控制接口GPIF,与外设进行高速数据传输的基本机制和软配置波形描述符的实现原理;详细阐述了EZ-USB FX2固件程序开发框架;最后,给出了据此进行基于GPIF的固件设计基本方法和实例。

关键词:农田数据采集系统,USB20,EZ-USB FX2,GPIF,固件

参考文献

[1]萧世文.USB2.0硬件设计[M].北京:清华大学出版社,2003:2-5.

[2]王成儒,李英伟.USB2.0原理与工程开发[M].北京:国防工业出版社,2004:10-11.

[3]夏益民,王广君.基于USB的高速数据采集系统[J].国上电子元器件,2003(10):20-23.

USB2.0开发系统概要 篇3

安装完WindowsXP系统后安装845GL主板驱动,其它设备的驱动都安装好后,开始安装USB2.0的驱动。

由于USB2.0的驱动不是直接安装的文件,需要通过设备管理器,找到相关设备,通过升级驱动程序的方法安装,于是打开设备管理器,找到其中的未知设备项中有一个带问号的“通用串行总线控制器”,查看其属性说明,提示说驱动未安装好。开始升级驱动程序,提示自动搜索或指定文件,选择浏览,查找驱动光盘,找到USB2.0驱动的文件夹,选中后确定键被激活,点击确定,开始查找DD竟然提示未找到相关驱动!再试一次,依然如故!我曾经用此配置安装过Windows98系统,一切都正常,USB2.0的驱动肯定就在这里,可为什么在WindowsXP系统下却不成功呢?难道USB有问题?于是插上一个闪盘进行测试,系统提示找到新硬件,并开始自动安装驱动,经过几个步骤之后,一个可移动磁盘的盘符出现在资源管理器中,这说明USB控制器一切正常,

这到底是怎么回事呢?难道845GL芯片组USB2.0驱动不被WindowsXP所兼容?细想也不是这么回事,845GL芯片组都出来很长时间了,若有问题早该有耳闻了。

经过很长时间的摸索,发现WindowsXP系统总是在寻找“usbhub.Sys”这个文件,我便浏览主板驱动盘中USB2.0驱动文件夹,经过仔细的查找发现USB2.0驱动文件夹中Win2k_XPsymbols下有一个“usbhub20.Sys”的文件,同目标文件相似,索性将该文件改为“usbhub.Sys”,再次进行安装,系统提示找到相关文件,之后有安全提示,不理会它(当然得选“是”),确定安装,几步之后,USB2.0顺利安装成功。

USB2.0开发系统概要 篇4

随着集成电路与计算机科学技术的发展,数据采集技术将在雷达、通信、水声遥感、语音处理、智能仪器、工业自动化以及生物医学工程等众多领域得到广泛的应用。由于目前工业生产环境条件的限制,以往基于PCI和ISA总线的数据采集系统因为其抗干扰性能差、不能热插拔、使用不方便逐渐被基于USB2.0总线的数据采集系统所取代,所以研究基于USB2.0总线的数据采集系统,有着重要的理论与实践意义[1,2,9,10,11]。

2 系统硬件设计基本思想

本系统设计了一种基于USB2.0总线的多通道、带程控放大、可变采样率的数据采集卡,主要分为三大部分:A/D模数转换电路、USB2.0数据传输电路、CPLD逻辑信号控制电路。基本实现流程是多路模拟信号通过模数转换器输入后,其转换的数据存入高速先入先出缓存器,当FIFO存储器半满后,经由USB接口芯片上传至主机[3,4]。在这个采集系统的设计中,USB接口芯片选用Cypress公司的EZ-USB FX2系列芯片CY7C68013[5]。该接口芯片与主机的数据传输方式采用块传输的方式,与FIFO芯片的接口方式采用GPIF(通用可编程接口)方式,A/D转换芯片采用AD公司的14位400 ksps A/D转换芯片AD7899-1,为了使得采样率可调,其采样启动信号由CY7C68013和逻辑电路控制一片可编程计数器8254实现]。图1为整个数据采集系统框图。

多路模拟信号经过程控放大器后送入A/D转换器进行模数转换,转换后的结果进入FIFO存储器缓存,当FIFO存储器半满后,将数据传输给EZ_USB FX2,而后经过USB接口传输给上位机进行显示和谱分析处理[6]。当数据存到FIFO空间的1/2时,向USB芯片发送读取数据请求,USB接口芯片通过GPIF可编程接口将数据传送至其内部FIFO中。通过设置自动传输标志,无需CPU参与直接发送至主机。使用了FIFO有个突出的优点,由于申请传输时FIFO仍有1/2空间可继续存放采集的数据,有一段缓冲时间。这样保证了所采集的数据在传输时不会因传输数据忙,未及时响应而造成数据丢失,提高了数据采集系统的可靠性。系统中采用GPIF作为数据传输控制接口,有利于提高系统的采集速率和采集性能。另外,系统中采用了参数列表,按顺序将所需工作的通道、增益等参数放入一片SRAM内存中,这样,有关参数在采集开始前都在板上,按参数列表值进行控制,无需主机CPU继续进行干预,从而减小了主机C PU的工作,提高了采集速率。

3 主要硬件电路连接原理

3.1 A/D转换芯片与异步FIFO存储器连接

AD7899模数转换电路的控制是整个系统成败的关键,主要有几个方面的问题:A/D转换启动信号的选择、A/D转换结束数字信号和FIFO存储器写信号的获得。图2为A/D转换电路时序图。

其中最关键的是A/D转换启动信号与FIFO写信号时序的配合,在FIFO满时,要抑制A/D转换启动信号的产生,尽管这种情况不应该发生,但必须考虑这种情况,否则会影响到整个系统的可靠性。由A/D转换器的两种基本模式可知,在EOC模式下,把BUSY信号、RD和CS信号相连能实现连续采集,所以在本系统设计中选用EOC模式。从时序图中可以看出,当FIFO存储器满时,A/D启动信号被抑制,只有当FI FO存储器可以继续接收数据时才启动A/D,换道信号的选择很关键,理论上选择A/D转换结束信号的上升沿作为换道信号显得简单方便,可是实际中由于在300ksps以上采样率时,A/D结束信号的上升沿和下一通道启动信号间隔很短<1 0 0 n s,因为逻辑电路的延迟,无法在下一通道采样前获得可靠的稳定时间,所以不能采用A/D结束信号为换道信号。此外通过分析可知,如果选用A/D启动信号作为换道信号效果也不好,虽然逻辑电路稳定需要一定时间,但是当换道信号启动后通道已经改变,所采集的信号必然有误差,因此考虑将A/D启动信号延迟一段时间作为本系统的换道信号,可以通过单稳态触发器完成。试验测得,将单稳态触发器的RC参数设置为100-200ns之间都能获得很好的采样信号。

3.2 CY7C68013与异步FIFO存储器连接

在本系统中采用的外部FIFO是IDT7206,它是9位16KB异步FIFO存储器。一共提供三个状态信号:空(E F)、满(FF)、半满(HF);两个控制信号:读数据(RD)、写数据(WR);数据总线:输入信号D[8:0]、输出信号Q[8:0],输入信号与输出信号相互独立,即输出信号的同时可以接收外界信号的输入。为了完成数据无丢失传送,本设计共采用了两种方式完成USB与异步FIFO的通信[7,8]。

GPIF的数据线FD[7:0]和FB[7:0]与两片FIFO存储器的输出信号线Q[7:0]相连;GPIF的控制线CTL0与FIFO存储器的读信号线RD相连,当RD从低电平变为高电平时从FIFO中取出一个数据;GPIF的状态信号RDY0与FI FO的空信号线EF相连,当EF为低时表明FIFO中没有数据;GPIF的状态信号RDY1与FIFO的半满信号线HF相连,当HF为低时表明FIFO中数据半满,即读指针与写指针的距离大于整个FIFO存储器容量的一半;FIFO的数据输入、写信号WR和满信号FF与外部逻辑电路相连。图3为GPIF与FIFO。基本硬件连接示意图。

3.3 基于EPM3064 CPLD主要逻辑电路设计

逻辑控制电路是系统设计的重点,为了完成多通道任意采样率数据采集的需要,必须配合正确的逻辑控制电路,图4为逻辑电路简化原理图。

在本系统设计中,可变采样率控制是通过A/D转换器的启动信号实现的,将6M信号输入一片可编程定时器,输出接到A/D转换器的启动端,这样通过编程设定分频系数即可实现任意采样率的控制,8254工作在模式2,当计数器减为0时输出一个周期的低电平,由上面对AD789 9的时序分析,可以知道该低电平启动信号能够满足要求。其次,为了实现多通道连续扫描采样,即采集第一个通道数据后,下一个采样启动信号到来时,已经将采样通道改为下一个通道,不仅如此,数据采集系统还应该能任意设置起始通道和结束通道,实现任意通道任意采样率采集。为此,在本设计中通过一个静态随机存储器将需要采集的通道号和程控增益在采集启动前存储起来,当启动采样后,用采样启动信号激发一片计数器,通过计数器的输出来控制通道的切换。从以上分析可知,为了达到任意通道任意采样率连续采样的需要,该计数器最好为可调整的任意进制计数器,因此在本设计中利用任意计数器构成法中的置零法设计了一种可编程控制的16进制以下任意进制计数器[37,38]。图5为任意进制计数器原理图。

图6任意进制计数器仿真时序图

整个计数器的设计过程主要注意两点细节,第一,在应用置零法构成任意计数器的过程中可以发现如果将PA2-PA5全部置高电平,所构成的计数器并不是16进制计数器,而是0进制,因此需要另外在与非门的输出端加一个或门使整个置零法失效;第二是用置零法构成任意进制计数器时,总会经过短暂的置零状态,如果不加考虑该状态所采集的信号会有误差。因此在设计通道和程控参数表时应该将转换的最后一路通道号后多增加一路序号,并设置其等于第一路通道号。图6为任意进制计数器仿真时序图。

4 系统测试

图7频谱分析软件测试图

系统硬件设计后,需要进行软件设计才能使得系统能够运行,该采集系统的软件设计主要由四部分组成:USB2.0接口芯片的固件程序、USB主机驱动程序、动态链接库程序和上位机应用软件。图7给出了经过本数据采集系统频谱分析图,测试信号1通道为1KHz,其余接地。采样率设置为100 ksps,通道为4通道。从图可以分析该数据采集系统能够正确的进行数据的传输和分析。

5 结束语

在现代工业生产和科学研究中,对数据采集和频谱分析的要求日益提高,基于USB2.0总线的数据采集卡,由于其具有安装简单,即插即用,抗电磁干扰,不受计算机插槽的限制等优点逐渐得到广泛应用。因此本文研究基于USB2.0的数据采集系统有着重要的理论与实践意义。

参考文献

[1]周云锋,孙书鹰,王宏.基于USB2.0的高速同步数据采集系统设计[J].电子技术应用,2004(,2):45-49.

[2]李志文,周富大,朱洪兴.USB2.0在高速数据采集系统中应用[J].电子测量技术,2002,(2):65-72.

[3]张捷,潘仲英,林萍实.基于EZ-USB数据采集系统[J].电子测量技术,2002,(4):32-37.

[4]王成儒,李英伟.USB2.0原理与工程开发[M].北京:北京国防工业出版社,2004:64-78.

[5]CYPRESS.EZ-USB FX2 Technical Reference Manual[M].Version 2.1,2001:2-19.

[6]颜容江.EZ-USB2100单片机原理、编程及应用[M].北京:北京航空航天大学出版社,2002:1-120.

[7]钱峰.EZ-USB FX2单片机原理编程及应用[M].北京:北京航空航天大学出版社,2006:171-219.

[8]乔鹏,葛宝臻.基于USB总线高速数据采集系统[J].电子测量技术,2003,(4):13-17.

[9]陈辉,李远.基于USB2.0的数据采集卡[J].自动化技术与应用,2008,27(6):80,91-93.

[10]杜德生,李树林.USB在数据采集系统中的应用[J].自动化技术与应用,2008,27(9):76,126-128.

USB2.0开发系统概要 篇5

此系统为基于CY7C68013A芯片的数据交换系统, 通过PC机的可执行程序, 模拟五子棋游戏的真实环境。由PC端构建游戏数据, 利用CY7C68013A芯片, 将五子棋棋盘在FPGA连接的8×8点阵上显示。P C机控制的五子棋游戏系统的结构图如图1.1所示。

2. FPGA部分

本系统的FPGA部分, 采用ALTERA-EPM7128SLC84-15芯片。EPM7128系列是可编程的大规模逻辑器件, 为ALTERA公司的MAX7000系列产品, 具有高阻抗、掉电可存储等特点, 可用门单元为5000个, 管脚间最大延迟为5ns, 工作电压为+5V。芯片内控制单元使用V H D L语言编写。VHDL的程序结构特点是将一项工程设计, 或称设计实体 (可以是一个元件, 一个电路模块或一个系统) 分成外部 (或称可视部分及端口) 和内部 (或称不可视部分) 即涉及实体的内部功能和算法完成部分。

CY7C68013A向PFGA传输12位逻辑矢量, 在FPGA中转换成3组8位逻辑矢量, 其中两组输出GA7-0, RA7-0, 一组输出ROW IN7-0。通过24位逻辑矢量驱动8×8点阵显示棋盘。CY7C68013A与FPGA及8×8点阵连接框图如图2.1所示。

ALTERA-EPM7128SLC84-15外接红绿双色24管脚8×8LED灯点阵及驱动电路如图2.2所示。

3. CY7C68013A部分

CY7C68013A集成了USB 2.0收发器、SIE (串行接口引擎) 、增强的8051微控制器以及可编程的外部接口。本系统采用CY7C68013A的SSOP封装, 其管脚如图3.1所示。

管脚PB7-0、PD3-0与FPGA连接, 作为FPGA的输入口;XTALIN、XTALOUT与24MHZ晶振连接, DPLUS、DMINUS与USB电缆线的D+、D-连接, 其余管脚按Cypress官方所给的连接方法接线, 这里不再赘述。

4. 传输程序部分

4.1 驱动程序:

采用了CyPress公司的通用驱动程序ezusb.sys, 完全能够满足本系统设计的要求。在驱动程序被系统加载后, 它的许多进程处于Idle状态, 需要应用程序去调用激活。应用程序利用Win32AP I直接调用驱动程序, 实现应用程序和驱动程序的信息交互。应用程序实现了数据下载和数据上传两个功能, 在Windows操作系统中, 只需要通过调用几条简单的文件操作API函数就可以实现与驱动程序中USB设备通信。

4.2 CY7C68013A:

在CyPress公司的程序框架下添加自定义请求 (PC机应用程序调用E Z-U S B的专用函数, 可向CY7C68013A芯片发送请求, 芯片接受请求后调用相应函数) 读取PC机数据, 并向FPGA部分传输。

4.3 P C端应用程序的传输部分:

向CY7C68013A发送请求。请求被响应后, 每次由P C机向C Y 7 C 6 8 0 1 3 A发送数据, CY7C68013A自动接收并调用相应函数处理。

5. 游戏程序部分

五子棋的棋具与围棋相同, 棋子分为黑白两色, 棋盘为15×15, 棋子放置于棋盘线交叉点上。两人对局, 各执一色, 轮流下一子, 先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。为了节约设备资源, 用8×8双色LED点阵作为外部设备代替15×15棋盘, 并编写了8×8五子棋的专用算法。由于FPGA的内存资源有限, 数据存储、处理程序用C语言程序实现, 并以可执行文件的方式在PC机上运行, FPGA用于数据输出。

5.1 游戏算法

1) 棋盘:设8×8无符号整数型数组a[8][8], 数组中每一位代表棋盘的一个交叉点。数组的某位为0时, 代表无子状态;为1时, 代表有红子;为2时, 代表有绿子。

2) 光标:设定8×8无符号整数型数组i[8][8], 与a[8][8]类似, 光标指向某位时 (以i[y][x]为例) , 按下落子键, 若此位的数组a[y][x]为0, 则将此位置为1或2。

3) 按钮上、下、左、右、红落子、绿落子:在应用程序界面设定按钮, 完成改变光标位置、将a[x][y]置数的功能。

(4) 判胜:每次落子后, 用二维循环程序扫描棋盘a[8][8], 出现横、竖、斜连续5次为1或为2的情况, 则在程序界面输出胜利提示。

(5) 数据整形、发送:设定无符号整数PD、PB, 将PD、PB看作二进制数组, 用循环语句控制PD在0x00至0x0F范围内累加循环。PD的二进制最低位为0时, 扫描a[PD/2][7]至a[PD/2][0]中1的个数与位置 (扫描时额外添加算法语句, 使光标数组i[x][y]即作为1判断, 也作为2判断) , 以逻辑矢量的格式存入PB中;PD的二进制最低位为1时, 扫描并在PB中保存2的个数与位置。每次改变PD, 向CY7C68013A发送一次数据。

5.2 FPGA逻辑

将PD的最低位PD0作为颜色选择信号, 为0时, FPGA将PB写入RA7-0, 并将GA7-0置为低点平;为1时, 写入GA7-0, 并将RA7-0置为低点平。PD3-1经过3-8线译码器、非门, 与Row7-0连接, 作为点阵行选择线。

结论

至此, 已经形成了完整的由USB2.0接口传输的FPGA控制系统。根据不同的设计要求, 编写相应的应用程序与FPGA逻辑, 可制成不同功能的传输系统。这里用五子棋游戏程序来验证系统的可用性。事实证明, 游戏程序在此系统之上运行良好无误。

摘要:Cypress公司生产的EZ-USB FX2LP系列CY7C68013A芯片的主要功能是通过USB口实现P C机与外部设备的通讯, 并满足USB2.0的通信要求。本系统可通过PC机的可执行程序产生数据, 经由CY7C6801A3芯片传输至外设FPGA中, 最终实现由PC端操作并由FPGA端显示的五子棋游戏系统。

USB2.0开发系统概要 篇6

数据采集器是一种具有现场实时数据采集、处理功能的自动化设备。?数据采集器一般分为两种, IC卡数据采集器和条码数据采集器。它们将数据自动识读并自动输入计算机, 是以计算机技术和通信技术的发展为基础的综合性技术。

根据数据采集器的使用方式不同, 大体上可分为两类:在线式数据采集器和便携式数据采集器。在线式数据采集器大部分直接由交流电源供电, 一般是非独立使用的, 在采集器与计算机之间由电缆联接传输数据, 不能脱机使用。便携式数据采集器是集激光扫描、汉字显示、数据采集、数据处理、数据通讯等功能于一体的高科技产品, 它相当于一台小型的计算机, 将电脑技术与条形码技术完美的结合, 利用物品上的条形码作为信息快速采集手段。本文介绍的是一种基于USB2.0的便携式的数据采集器。

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

随着计算机技术的迅速发展, 对外部总线速度的要求越来越高。通用串行总线 (Universal Serial Bus, 即USB总线) 凭借其即插即用、热插拔以及较高的传输速率等优点, 成为PC机与外设连接的普遍标准。2000年发布的USB2.0版本, 其面向高数据率传输的场合, 支持480Mbps的传输速度, 并向下完全兼容USBl.1协议。在实际应用中, 通常会遇到一些突发信号, 需要对其进行高速采集, 对数据进行高速传输, 所以USB2.0标准自然成为首选。

2.1 核心控制器——CY7C68013芯片

本设计以Cypress公司的EZ-USB FX2系列中的CY7C68013芯片作为核心控制器, 设计开发了一种基于USB2.0标准的高速同步数据采集器, 是目前市面上符合USB2.0标准的USB控制器之一。与其它同类芯片相比, 它提供了4KB的FIFO和一个功能十分强大的GPIF (General Programmable Interface) 模块。后者相当于一个可编程状态机, 正是由于它的存在, 使得CY7C68013比其它同类芯片具有强大的互联能力。

2.2 同步高速数据采集芯片——AD7862

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

3 硬件设计和软件设计

传统的高速数据采集卡一般都采用PCI总线设计, 但是笔记本电脑以及大部分便携式设备是没有PCI插槽的。利用USB2.0技术, 不仅保证了较高的数据传输率, 同时还具有便携和无需外加电源等优点。该硬件的工作原理是:在GPIF模块的控制下, 由AD7862对目标进行等间隔采样, 然后将采样结果通过GPIF传送到CY7C68013的内部FIFO中缓存;当采集一定量的数据后, CY7C68013自动将数据打包 (不需要8051的介入) , 通过USB总线传输到PC机中进行数据处理。由于有GPIF的硬件支持, CY7C68013中的8051内核只是在很少的时间内, 对控制进行了辅助处理, 大部分工作由GPIF硬件完成。这样8051还可以与其他外设进行互联等工作。在高速数据采集器上附加了两路RS-232接口, 用于将数据和高精度智能测深仪的数据中转到主控计算机上, 大大方便了新近推出的笔记本电脑与传统外设之间的联系。主控制器采用AT89C52芯片, 利用7032将脉冲信号采样, 经过C P U的处理将数据存储到EEPROM芯片中, 数据通过红外信道上传到掌上电脑中, 对于CY7C68013来说, 其配置和固件都是软的, 存储在外部的E2PROM中, 上电时从I 2 C总线自动装载到片内RAM中, 修改起来十分方便, 便于固件升级。由于CY7C68013提供了丰富的I/O口, 所以进行功能扩展也是很方便的, 例如增加一个GPIB数据口等。

在数据采集器的软件设计中主要用到SmallRTOS51多任务操作系统。Small RTOS是一个源代码公开的多任务实时操作系统, Small RTOS 51是其在8051系列处理器上的移植 (使用Keil C51) 。Small RTOS可以简化那些复杂而且时间要求严格的工程的软件设计工作。

Small RTOS有以下的特点:

(1) 公开源代码。只要遵循许可协议, 任何人可以免费获得源代码。

(2) 可移植。尽量把与CPU相关部分压缩到最小, 与CPU无关部分用ANSI C编写。

(3) 可固化。Small RTOS为嵌入式系统设计, 如果有固化手段, 它可以嵌入到产品中成为产品的一部分。

(4) 占先式。Small RTOS可以管理17个任务, 用户最多可以使用16个任务, 每个任务优先级不同。

(5) 中断管理。中断可以使正在执行的任务挂起。如果优先级更高的任务被中断唤醒, 则高优先级的任务在中断嵌套全部退出后立即执行。中断嵌套层数可达255层。如果需要, 可以禁止中断嵌套管理。

(6) RAM需求小。SmallRTOS为小R A M系统设计, 因而R A M需求小, 相应的, 系统服务也少。

目前, Small RTOS的最新版本为1.20.0。可以进行任务的建立、删除、动态内存分配等操作。

4 结语

数据采集器提供了快速、准确地进行数据采集输入的有效手段, 解决了由于计算机数据人工输入速度慢、错误率高等造成的“瓶颈”难题。数据采集器广泛运用于订货、销售、盘点和库存管理、物流管理以及企业信息化管理等方面。目前, 已经成功地将无线传输技术应用到便携式数据采集器中。无线数据采集器则将普通便携式数据采集器的性能进一步的扩展。这种无线数据采集器, 可以把现场采集到的数据实时传输给计算机。相比普通便携式数据采集器又更进一步的提高了操作员的工作效率, 使数据从原来的本机校验、保存转变为远程控制, 实时传输。随着电子技术的日新月异, 便携式数据采集器也处在不断更新的阶段中, 它将不断向小型化、微型化、智能化方向发展, 为人们的生活和工作带来更多的便利。

摘要:本文首先介绍了数据采集器的基本概念、作用和分类。通过对数据采集器中重要芯片的介绍, 引出了基于USB2.0的便携式数据采集器的硬件和软件设计思路。最后描述了便携式数据采集器的发展情景。

关键词:数据采集,自动识别,条码,数据终端

参考文献

[1] 尹刚, 叶英植, 王剑钢.移动式数据采集器中文人机交互模块的实现[J].电子器件, 2005 (2) .

[2] JanAxelson.USB大全[M].北京:中国电力出版社, 2001.

[3] 代晶, 王淑波等.EZ—USB芯片的开发与应用[J].现代科学仪器.

上一篇:小学的小作文1000字下一篇:团章试卷