USB接口芯片十篇

2024-06-07

USB接口芯片 篇1

随着USB2.0规范的推出, USB总线的最高数据传输速率可达到480Mbit/s, 这进一步延伸了它的使用范围, 越来越多的设计者在设计嵌入式系统或者计算机外围设备时开始采用USB总线进行数据传输, 为了保证高的数据传输速率, 许多USB接口芯片提供了直接存储器存取 (D M A) 方式, 通过使用DMA方式, 能使大量数据在计算机外围设备与USB接口芯片之间直接传输, 从而保证USB总线上数据的吞吐量。本文以Philips公司 (现独立为NXP公司) 的ISP1581USB接口芯片为例, 介绍USB接口芯片的DMA传输应用。

硬件电路设计

ISP1581是USB2.0接口芯片, 它有7个IN端点, 7个OUT端点和1个固定的控制IN/OUT端点, 内部集成8K字节的多结构FIFO存储器, 特别是它有一个灵活的高速D M A接口, 大大增加了数据的吞吐量, 其内部DMA组成框图如图1所示。

D M A硬件由D M A接口及D M A控制器组成, 通过初始化D M A相关寄存器及发送DMA命令可以选择D M A的工作方式, 即两字节的通用DMA传输或者三字节的IDE规范传输, 本文主要介绍通用DMA的应用, 通用D M A有两种工作方式, 即主机D M A (M D M A) 和从机D M A (G D M A) 方式, M D M A时芯片内的D M A控制器作为主控方, 由它产生D M A传输需要的控制时序, G D M A时, 需要在外部单独设计一个D M A控制器 (外设D M A控制器) 并作为主控方, 并由它产生传输所需控制时序。由于D M A控制器和USB内核使用的是同一个FIFO (内部R A M) , 所以D M A控制器接收到D M A命令后, 可直接控制数据从内部R A M传送到外部D M A设备或从外部D M A设备传送到内部RAM。图1中各信号的含意如下:

D0~D 1 5:D M A传输数据线, 双向。

D R E Q:D M A请求信号, G D M A时输出, M D M A时输入。

D A C K:D M A应答信号, G D M A时输入, M D M A时输出。

D I O R:D M A读信号, G D M A时输入, M D M A时输出。

D I O W:D M A写信号, G D M A时输入, M D M A时输出。

EOT:GDMA传送终止信号, 输入, 主要用在G D M A方式。

其它信号主要用在IDE规范传输中, 在此不作介绍。由于G D M A方式数据传输速度更高且使用灵活, 所以下面主要介绍G D M A的应用。

图2是GDMA应用框图, 是某自动测试设备数字I/O板的一部分, 图中ISP1581外接单片机 (AT89C55) 作为控制器, 单片机同时也是该板的控制核心, 存储器选用256K×18bit双口RAM (IDT70V631) , ISP1581采用G D M A方式读写该双口R A M, 外设D M A控制器在可编程器件FPGA中实现。

系统的工作过程是:当主控计算机需要和数字I/O板大批量交换数据时, 向ISP1581发出批量传输命令, 批量传输命令中包含了数据的传输方向, 数据个数等信息, ISP1581接收到命令后, 通过中断方式通知单片机中的固件读取该命令, 固件完成对D M A的初始化, 如选择D M A端点, 初始化D M A计数器, 发送DMA命令等, ISP1581内部的DMA控制器在准备好后, 将发出D R E Q信号给外设D M A控制器, 外设D M A控制器接收到DREQ信号后, 做好数据传输准备, 回应一个DACK信号, 然后产生DIOR或者D I O W完成D M A传输。

外设D M A控制器是在F P G A中完成设计的, 要正确设计G D M A控制器必需了解GDMA模式的工作时序 (见图3) 。图中已经初始化DREQ高有效, DACK低有效, DIOR和DIOW低有效, Tcy1为D M A读写周期, 最快为12.8MHz, 本设计使用10MHz。Tsu3为D I O R/D I O W有效前的DACK建立时间, 最小可以为0。

外设DMA控制器电路设计如图4所示, 当固件对ISP1581完成初始化并发出DMA传输命令后, ISP1581内部的DMA控制器在准备好传输后发出DREQ信号 (高电平) , 对该信号反相后可作为DACK信号 (低电平) , 图中R/信号为DMA读写控制信号, 可以由固件控制产生, 该信号和D A C K及1 0 M H z时钟信号相或后产生D I O R及DIOW信号。例如GDMA工作于写方式, 数据从ISP1581内部RAM传送到外部双口R A M, 控制器在接收到有效的DREQ信号后, 经过反相, 作为DACK信号回应ISP1581的DMA控制器, 这时候固件通过控制R/为高, 该信号反相后与D A C K及1 0 M H z时钟相或产生DIOR, 控制数据从内部RAM传送到外部双口RAM。双口R A M的控制信号及地址产生电路设计较为简单, 可以结合D I O R及D I O W信号来产生。

软件设计

U S B固件中实现D M A传输的相关程序包括初始化程序及传输控制程序, 其信息处理流程如图5所示。

首先对D M A进行初始化, 即设置一系列相关寄存器:D M A配置寄存器、D M A硬件寄存器、D M A中断使能寄存器、D M A中断源寄存器、D M A端点寄存器、D M A传输计数器寄存器、D M A命令寄存器等, 初始化程序如下:

初始化完成后, 接收PC机发来的D M A传输命令, 该命令包含了数据的传输方向, 数据个数等信息, 然后设置DMA传输标志, 主程序在检测到该标志后, 调用DMA传输子程序, 在该子程序中, 根据DMA传输方向情况分别进行D M A读写处理, 在发出D M A读或者写命令前还需要对D M A端点寄存器、DMA传输计数器寄存器进行初始化, 完成这些工作后, I S P 1 5 8 1 D M A控制器将向外设D M A控制器发送D M A传输请求信号DREQ, 外设在准备好传输后, 返回应答信号D A C K, 然后启动外设D M A控制器开始DMA传输, 一次DMA传输最大1 0 2 4个字节, 一次是否传输完成通过检测DMA中断寄存器的标志位DMA_XFER_OK及EXT_EOT进行判断, DMA_XFER_OK为1, 表明D M A传输结束, E X T_E O T是强行结束GDMA传输的外部信号, 本设计没有使用, 已经固定接为高电平 (无效状态) , 如果需要传输的数据大于1024字节, 则需要多次传输才能完成, 在传输完成后清除DMA传输标志。

结语

通过采用D M A传输方式, USB在传输不大于1024字节数据时传输速度达到10M字/秒, 但当需要传输的数据远大于1024字节时, 由于DMA传输需要固件支持, 实际的传输速度有所下降, 设计中可以通过提高单片机的工作时钟来改善USB的传输速度。本设计已经成功应用到某测试设备中, 提高了系统的数据传输速度, 达到设计要求。

摘要:在USB接口和USB外设之间使用DMA方式传输数据, 大大提高了USB传输数据的吞吐量。本文介绍了基于ISP1581USB接口芯片的DMA传输应用。

关键词:ISP1581,USB2.0,DMA控制器,固件

参考文献

[1].Philips Semiconductors公司, ISP1581Programming Guide[EB/OL], (2002年3月) .http://www.flexiusb.com

[2].广州周立功单片机发展有限公司, ISP1581:USB2.0高速接口器件, [EB/OL].http://www.zlgmcu.com

[3].刘瑰、马鸣锦、朱鸿宇, 基于USB接口芯片的DMA应用, 电子技术, 2004, (2)

[4].孙涵芳、徐爱卿, 单片机原理及应用, 北京航天航空大学出版社, 1996

USB接口芯片 篇2

Cypress公司的EZ-USB系列芯片是使用的最为广泛的USB功能设备芯片, 它提供了强大的接口设计模式, 包括通用的I/O模式, 还有专门用于数据采集和批量传输的Slave FIFO模式、GPIF模式。本文主要介绍GPIF模式在USB数据采集系统中的应用。

1EZ-USB接口模式简介

EZ-USB系列芯片主要提供了3种接口设计模式:通用I/O模式、Slave FIFO模式、GPIF模式。

1.1 通用I/O模式

Cypress公司的EZ-USB系列芯片具有和一般的8051系列单片机相同的数据处理方式, 可以通过EZ-USB的CPU直接进行数据读取和发送, 但这种方式占有很多的CPU资源, 因而利用效率比较低。

1.2 Slave FIFO模式

EZ-USB芯片内部提供了多个FIFO缓冲区, Slave FIFO模式就是利用外部控制逻辑对这些端点FIFO缓冲区进行读操作或写操作。此时, USB主机和外部控制逻辑之间进行通讯, 不需要EZ-USB的CPU干涉, 因此CPU有很高的利用率。但它的缺点在于外部控制逻辑的控制频率对数据采集和传输的速度有一定影响, 同时也会因为增加外部控制逻辑而增加成本。

1.3 GPIF模式

相对于Slave FIFO的外部逻辑控制模式, GPIF模式是使用内部集成的高效控制逻辑来取代外部的微控制器进行EZ-USB端点FIFO的控制。使用GPIF模式, EZ-USB芯片可以达到96Mb/s的峰值传输速度, 且可以避免增加外部控制逻辑, 因此GPIF模式特别适用于需要高速数据采集传输的场合。

GPIF内核是一个可编程的状态机, EZ-USB使用波形描述符来控制状态机。GPIF共有4组波形描述符来实现用户所需的波形, 通常将这4种波形分别定义为单字节读、单字节写、FIFO读和FIFO写。通过GPIF的波形图设计便可以控制数据的传输方式。在数据采集中, EZ-USB需要使用FIFO读波形描述符来控制状态机, 从而实现操作。

图1为典型的FIFO读数据接口配置图。AD芯片将数据通过FD总线传送到FIFO端点, FIFO的每个端点有512B的缓冲区。数据缓冲到端点后, GPIF依据IFCLK时钟来进行数据读操作。在进行数据读的时候, 首先设置GPIFADR起始地址, 然后将缓冲区的数据读出到主机, 同时GPIFADR外部数据指针自动增加, 进入下一次数据读操作。当操作全部完成后, GPIF便进入空闲状态。

2GPIF接口模式在温度数据采集卡中的实际应用

2.1 GPIF接口模式温度数据采集卡的硬件实现

数据采集芯片使用高速多通道同步采集芯片MAX115实现。该芯片有2组4路同步通道, 共8个输入端。其采样精度为12位, 采样模式由采样控制字决定, 可灵活地在两组通道间选择。

USB功能设备芯片选用EZ-USB系列芯片的CY68013A, CY68013A采用GPIF接口模式与采集芯片进行连接, 见图2。此时CY68013A可以通过6个控制信号输出端 (CTL[5∶0]) 、6个外部状态信号输入端 (RDY[5∶0]) 、9位地址输出端 (GP IFADR[8∶0]) 以及16位双向数据总线 (FD[15∶0]) 与外围电路进行控制信息和数据信息的交换。在本系统中, 用CTL0接MAX115 的CONVST引脚, 用来控制芯片采集工作;用CTL1和CTL2分别接RD脚和WR脚, 控制对MAX115的读和写操作;用8位数据总线FD [7∶0]进行数据的传输。MAX115的采样基准时钟由CY7C68013的输出时钟经四分频得到, 为12MHz。

2.2 温度数据采集系统的程序设计

系统的程序包括固件程序、驱动程序和用户程序。下位机固件程序中的GPIF可编程控件代码负责处理PC机发来的各种USB设备请求, 并与外围电路进行数据交换。驱动程序加载相应的CY68013A设备配置信息。用户程序负责接收下位机传送的数据, 保存数据, 并对数据进行处理。

GPIF可编程控件控制方式根据波形图来设置, 其中依据IFCLK时钟来进行数据读操作。在需要进行数据读的时候, 首先设置GPIFADR起始地址, 然后便可以将FD总线上的数据读出, 同时外部数据指针自动增加, 进入下一次数据读操作。当操作全部完成后, GPIF便进入空闲状态。图3为典型的FIFO读数据波形图。

根据FIFO读数据波形图, 可以在GPIF Designer软件中进行FIFO读波形图编辑。当波形图设计完成后, 可以生成相应的波形描述符文件GPIF.c, 直接添加到固件程序中使用即可。

固件程序中还要应用Set-FLOWSTATE-Read () 函数读取USB端点数据, 函数代码如下:

void Setup-FLOWSTATE-Read (void)

{ FLOWSTATE=FlowStates[18];

SYNCDELAY; //同步延时

FLOWSTATE=FlowStates[20]; //CTL1/CTL2=0

SYNCDELAY;

FLOWSTATE=FlowStates[21]; //CTL1/CTL2=1

SYNCDELAY;}

上位机程序负责打开USB设备接口, 读取二进制数据, 并对已接受的二进制数据进行处理, 转换为温度数据。用户程序中读取数据并转换数据的部分程序主要由以下代码实现:

BOOL CUSBDlg∷EzusbShortdataIn (HANDLE hDevice, BYTE*data, DWORD &lenBytes)

{ BULK-TRANSFER-CONTROL bulkControl;

bulkControl.pipeNum=0x01;

BOOLEAN bResult=FALSE;

unsigned short temp, TempMax, TempMin, i;

bResult=DeviceIoControl (hDevice, IOCTL-EZUSB-BULK-READ, &bulkControl, sizeof (BULK-TRANSFER-CONTROL) , data, 8192, &lenBytes, NULL) ;

for (i=0;i< (unsigned int) (lenBytes/8) ;i++)

{temp=data[8*i]+ (data[8*i+1]&0x0f) *256;

if (temp>=2048) temp=temp&0x07ff; else temp=temp+2048;

m-PointList[countdata++].y=temp;

if (countdata>=256) countdata=0;}

return bResult;

}

3结束语

本例中EZ-USB芯片的GPIF接口模式温度数据采集卡在石油井下蒸汽温度采集应用中效果良好。使用GPIF模式, EZ-USB芯片可以达到96Mb/s的峰值传输速度, 且可以避免增加外部控制逻辑。由此可见, EZ-USB系列芯片的GPIF模式数据采集卡特别适用于需要高速数据采集传输的场合。

参考文献

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

USB:全能接口 篇3

1996年,经过两年的开发后,论坛发布了通用串行总线接口标准的第一版USB 1.0。不过USB 1.0的推广并没有获得太大的成功。它的发展初期经历了一些困难,USB 1.0的带宽只有1.5Mb/s,而且用来扩展USB接口数量的集线器也经常出现故障。但后来推出的USB 1.1解决了大部分问题,并且为USB赢得了越来越多的兼容硬件。

虽然USB 1.1初获成功,但直到21世纪初才真正有了突破。新的USB 2.0标准将可用带宽扩大到480Mb/s,为以USB接口命名的U盘成为人们数码生活中不可缺少的一项产品铺平了道路。在普遍使用3.5英寸软盘的年代,U盘8MB的容量显得大得惊人,而现在,指甲盖大小的U盘储存几百GB大小的文件也不是什么问题了。

当USB接口被电脑用来连接U盘、外置硬盘和光驱之后,USB 2.0标准的速度也被认为有些慢了。所以被称为“超高速”的USB 3.0标准推出了。它的带宽达到了5Gb/s,而最近更新的USB 3.1又将带宽加倍,达到了10Gb/s。

USB接口芯片 篇4

摘要:CH371是一种新型USB通用总线接口芯片。利用该芯片可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。文中介绍了该接口芯片的主要特点和引脚功能,给出了CH371与其它总线进行接口的几种应用电路,同时给出了CH371与MCS-51单片机的接口程序。

关键词:USB  总线接口芯片  CH371  单片机

1 引言

CH371是一种USB总线通用接口芯片。该芯片具有8位数据总线以及读、写、片选控制线和中断输出,可以方便地挂接到单片机、DSP、MCU等控制器的系统总线上;在计算机系统中,通过CH371的配套软件可提供简洁易用的操作接口,从而使其与本地端的单片机通讯就如同读写硬盘中的文件一样简单。由于CH371屏蔽了USB通讯中的所有协议,因而可在计算机应用层与本地端控制器之间提供端对端的连接。在不需要了解任何USB协议或者固件程序甚于驱动程序的情况下,就可轻松地将并口、串口产品升级到USB接口。

(本网网收集整理)

CH371的主要特点如下:

●屏蔽了USB协议,可在计算机应用层与本地端之间实现端对端的连接。

●具有单向数据流和请求加应答两种通讯模式,并支持伪中断。

●可自动完成USB配置过程,完全不需要本地端控制器作任何处理。

●采用标准的USB1.1接口,即插即用,D+引脚内置上接电阻。

●内置4个端点,支持USB的控制传输、批量传输、中断传输。

●带有通用Windows驱动程序,可提供设备级接口和应用层接口。

●具有通用本地8位数据总线,可用4线控制读选通、写选通、片选输入和中断输出。

●占用16个地址,可选择直接地址方式或者复用地址方式。

●内置输入输出缓冲区,能以中断方式通知本地端控制器传输数据。

●内置I2C主接口,因而应用层可以直接读写外挂的I2C从设备。

●在主控方式下可以提供16根据输入信号线或12根独立控制的输出信号线。

●内置上电复位电路,可提供高电平有效复位输出和低电平有效复位输出。

●内含可选的看门狗电路Watch-Dog,能为本地端控制器提供监控。

●具有DIP28、SOP28、DIP24、CHIP等多种封装形式。

2 引脚功能

CH371的引脚排列如图1所示,表1所列是其引脚功能。

表1 CH371的引脚功能

28脚封装

的引脚号24脚封装

的引脚号引脚名称类  型

引  脚  说  明

2824VCC电源电源正端129GND电源接地1411XI输入晶体振荡输入端,带偏置电阻1310XO输出晶体振荡反相输出端107D+双向USB D+数据线,内置上拉电阻可控118D-双向USB D-数据线96OFF输入用于关闭D+上位电阻,高有效,带下拉22151912D7D0双向8位双向数据总线,带上拉,可直接输入和独立控制输出44RD输入读选通输入,低有效,带上拉,同时用于看门狗的清除输入33WR输入写选通输入,低有效,带上拉2723CS输入片选输入,低有效,带下拉22ALE输入地址锁存使能,高有效,带上拉,在下降沿可锁存数据总线的复用地址11INT输出中断输出,传输成功,低有效585部分支持A3A0双向4位地址输入线,带上拉,可直接输入和独立控制输出2421SCL输出I2C接口时钟线2320SDA双向I2C接口数据线,开漏输出,带上拉2522RST输出上电复位和看门狗复位,高有效26不支持RST输出上电复位和看门狗复位,低有效

3 应用

3.1 与USB总线的连接

图2是CH371与USB总线的接口连接电路,CH371芯片可以直接使用USB总线的5V电源。电容C3和C4用于电源退耦;将电阻R1和R2串接在CH371与USB总线之间可进行阻抗匹配;晶振X1、电容C1和C2用于CH371芯片的.时钟振荡电路。CH371芯片的SCL和SDA信号线可以直接连接I2C接口的从设备,如连接24COX器件以用来存储系统断电后不能丢失的重要数据,也可以存储身份识别数据、记费数据等,由于24COX中的数据只有计算机应用层才能够存取。

3.2 与单片机的接口电路

CH371芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP和MCU。图3所示是CH371与MCS-51系列单片机的接口电路,CH371可通过D7~D0、RD、WR、CS、ALE直接挂接到AT89C51的系统总线上。连接ALE而不连接A3~A0则采用复用地址方式,连接A3~A0而不连接ALE则采用直接地址方式。当采用复用地址方式时,CH371的A3~A0脚空闲,此时可以参考主控方式将A3~A0用于LED驱动或状态输入等;当采用直接地址方式时,应该将CH371芯片的ALE引脚悬空或者接高电平,然后通过A3~A0直接输入地址。该电路中,CH371可向AT89C51提供上电复位信号RST。CH371的中断输出INT连接到U2的外部中断INTO,反相器U5用于简单的地址译码,SRAM器件62256的地址为8000H-FFFFH,CH371的地址为0000H-7FFFH(实际只需要16个地址)。

3.3 主控方式应用

图4是CH371在主控方式下的应用电路。该电路实际是基于CH371的主控方式设计的8通道数据采集器。可以看出:包括CH371在内,该电路只用到了三个集成电路,并且不需要任何单片机、DSP、MCU等控制器。CH371芯片的双向引脚A3~A0应该设置为输出,其中A3用于以低电平启动模数转换,A2~A0用于选择采集通道,双向引脚D7~D0应该设置为输入,用于输入采集到的结果,CS、ALE用于输入采集状态。实际电路应该采用精确的参考电压,并添加辅助电路(如电源退耦电容等)。另外,也可以用自带多通道选择器的模数转换芯片来代替U6和U7,如8通道AD芯片MAX158等。

3.4 与单片机的接口程序

下面是U2(MCS-51单片机)与U1(CH371)的接口参考程序:

;* * * * * * * * * * * * * * * * * * * * *

;需要主程序定义的参数

;CH371_PAGE EQU 00H;CH371所在的页面地址,地址译码后自动片选

;CH371_SYSTEM EQU 02H;CH371系统功能设定寄存器的地址偏移

;CH371_CONFIG EQU 02H;CH371设备配置信息寄存器的地址偏移

;CH371_INT_SET EQU 06H;CH371中断数据设定寄存器的地址偏移

;CH371_STATUS EQU 06H;CH371传输状态信息寄存器的地址偏移

;CH371_LENGTH EQU 07H;CH371数据长度寄存器的地址偏移

;CH371_BUFFER EQU 08H;CH371O数据缓冲区的起始地址偏移

;SAVE_STATUS DATA 29H;保存传输状态信息,根据需要可选

;SAVE_LENGTH DATA 2AH;当前数据缓冲区中的长度,用于保存下传长度

;SAVE_BUFFER DATA 30H;数据缓冲区,用于保存接收到的下传数据

;* * * * * * * * * * * * * * * * * * * * *

;初始化子程序

;USE:ACC,DPTR

CH371_INIT:MOV DPH,#CH371_PAGE

;CH371所在的页面地址,地址译码后自动片选MOV DPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

图3

MOV A,#OFH

MOVX @DPTR,A;置上传数据长度寄存器为15,暂时没有数据上传

CLR A;尚未有数据下传

MOV SAVE_LENGTH,A;保存下传数据长度

SETB ITO;置外部信号为下降沿触发

CLR IEO;清中断标志

SETB PXO;置高优先级

SETB EXO;允许中断

RET

;上传数据子程序

;ENTRY:RO指向存放了准备上传数据的缓冲区,R7准备上传的数据长度0至8

;USE:ACC,B,R0,R7,DPTR

CH371_UPLOAD:MOV B,R7;将数据长度暂存到B中

MOV DPH,#CH371_PAGE;CH371所在的页面地址,地址译码后自动片选

MOV DPL,#CH371_BUFFER;CH371数据缓冲区的起始地址偏移

MOV A,R7;上传数据长度

JZ CH371_UPLOAD_O;数据长度为0则不必写入

CH371_UPLOAD_1:MOV A,@RO;读取一字节的数据

INC RO;指向下一个数据的地址

MOVX @DPTR,A;写到CH371的上传数据缓冲区

INC DPL

DJNZ R7,CH371_UPLOAD-1;继续读取上传数据直至结束

CH371_UPLOAD_0:MOV DPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

MOV A,B

MOVX @DPTR,A;将本次数据的长度置入上传数据长度寄存器

RET

;中断服务子程序

;USE:堆栈6字节,工作寄存器组1的RO,R7

CH371_INTER:PUSH PSW;现场保护

CLR IEO;清中断标志,防止重复执行,对应于INTO中断

PUSH ACC

PUSH DPL

PUSH DPH

SETB RSO;PSW.3,切换至工作寄存器组1

MOV DPH,#CH371_PAGE;CH371所在的页面地址,地址译码后自动片选

MOV DPL,#CH371_STATUS;CH371传输状态信息寄存器的地址偏移

MOVX A,@DPTR;读取传输状态信息寄存器

MOV SAVE-STATUS,A;保存传输状态

MOV DPL,#CH371_LENGTH;CH371数据长度寄存器的地址偏移

JB ACC.0,CH371_INT_UP;传输状态信息寄存器位0为1,则指示上传完成

;是数据下传完成中断

MOVX A,@DPTR;读取下传数据长度寄存器

MOV SAVE_LENGTH,A;保持下传数据长度

JZ CH371_INT_RET ;下传数据长度为0,则直接退出中断

MOV DPL,#CH371_BUFFER;CH371数据缓冲区的起始地址偏移

MOV RO,#SAVE-BUFFER;单片机内部的数据缓冲区,用于存放下传数据

MOV R7,A ;用于读取数据的计数

CH371_INT_DOWN:MOVX A,@DPTR;读取一字节的下传数据

INC DPL ;指向下一个数据的地址

MOV @RO,A;保存到数据缓冲区

INC RO

DJNZ R7,CH371_INT_DOWN;继续读取下传数据直至结束

SJMP CH371_INT_RET ;接收完下传数据,退出中断

;是数据上传完成中断

CH371_INT_UP:MOV A,#0FH;15

MOVX @DPTR,A ;置上传数据长度寄存器为15,暂时没有后续数据

CH371_INT_RET: ;中断返回

POP DPH

POP DPL

POP ACC

POP PSW ;恢复寄存器并选择工作寄存器组0

RETI ;中断返回

;* * * * * * * * * * * * * * * * * * * * *

4 结束语

CH371芯片具有通用的被动并行接口,可以直接连接多种单片机、DSP、MCU等。可以预见,CH371将在USB产品设计中大显身手。

★ 应用写作

★ 应用科技大学

★ 应用英语简历

★ 应用电子技术论文

★ 应用公文写作范文

★ 应用写作求职信范文

★ 比应用说课稿

★ 应用韩语个人简历

★ STL应用论文

USB接口芯片 篇5

心电图分析是诊断心脏疾病的一种重要手段。简单地说, 心电图是心肌细胞的综合电活动在体表地的一种反映。心肌活动所产生的微小电流可经过身体组织传导到体表, 使体表的不同部位产生不同的电位, 将体表两点间的电位记录下来, 就会按照心脏激动的时间顺序形成一条连续的曲线, 这就是心电图 (Electrocardiogram, ECG) 。

USB (Universal Serial Bus) , 中文含义是“通用串行总线”。它不是一种新的总线标准, 而是应用在PC领域的接口技术。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。不过直到近期, 它才得到广泛地应用。从1994年11月11日发表了USB V0.7版本以后, USB版本经历了多年的发展, 到现在已经发展为2.0版本, 成为目前电脑中的标准扩展接口。USB自从1996年推出后, 已成功替代串口和并口, 并成为当今个人电脑和大量智能设备的必配的接口之一。

虚拟仪器技术是计算机技术、现代测控技术和电子仪器技术相互结合、渗透的产物。在虚拟仪器系统中, 所有的数据采集、分析、控制、结果输出和用户界面等功能都由软件完成, 硬件仅仅是为了解决信号的输入输出, 因此, 软件是整个仪器系统的核心, 从某种意义上可以说:“软件即仪器”。

本文介绍的基于USB接口的虚拟心电采集记录系统实现了一种心电电极到计算机USB接口的数据采集, 可将人体心电信号通过计算机的USB接口方便地传入计算机, 并利用Lab View软件进行虚拟心电记录系统设计用于显示、存储和分析。这种设备成本低, 便于携带, 配备装有虚拟仪器软件的便携式电脑可方便用于医生出诊。

1 系统构成

基于USB接口的虚拟心电采集记录系统如图1所示, 主要由硬件、软件两大部分组成。硬件主要包括多路心电放大器、USB数据采集卡和PC机组成。其主要功能是实现心电信号的采集、处理和A/D转换以及将信号通过USB数据采集卡送入PC机进行处理。软件采用Lab VIEW对采集到的心电信号进行显示、分析和处理。

该系统多路心电放大器主要包括前置放大器、带通滤波器、工频滤波器、主放大器和光电耦合电路组成。前置放大主要满足高输入阻抗、高增益、低噪声、低漂移等技术指标;带通滤波器实现对干扰信号的滤除和让0.05-100Hz的心电信号无失真地通过;工频干扰的滤除由采用双T有源滤波形式的50Hz陷波器完成;主放大器用来对处理过的心电信号进行调理, 以满足USB接口数据采集卡对输入信号的电平要求;光电耦合用来实现人体与电器上的隔离, 保证人体安全。

数据采集 (DAQ) , 是指从传感器和其它待测设备等模拟和数字被测单元中自动采非电量或者电量信号, 送到上位机中进行分析, 处理。数据采集系统是结合基于计算机或者其他专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统。通常, 必须在数据采集设备采集之前调制传感器信号, 包括对其进行增益或衰减和隔离, 放大, 滤波等。本系统基于NI的USB数据采集卡进行设计与开发。

2 系统软件设计

Lab VIEW虚拟仪器设计平台的应用范围广泛, 目前很多的电子仪器都采用该平台进行开发和设计, 基于对该软件平台的了解, 在相关硬件的支持下本文研究采用该平台来进行虚拟心电采集记录系统的开发设计。

2.1 USB通信模块

利用USB数据采集卡自带的Lab View驱动程序, 完成USB通信模块的设计。利用该模块, 实现对多路数据的分时采集。

2.2 前面板

虚拟仪器的前面板是仪器与用户交互的可视化操作界面, 用户通过操作前面板的各种开关和按钮, 可以实现心电信号的实时采集、心率计算与显示、波形存储和回放等各项功能。前面板中设置了两个波形显示控件, 左上面用来实时显示采集到的心电波形, 左下面用来现实回访的波形, 以利于医生观察、诊断所需的心电图。

2.3 数据处理模块

在信号调理和采集过程中, 信号必然受到噪声和干扰的影响, 虽然我们在硬件设计时采取了相应措施来抑制它, 但我们知道干扰可以消除, 但噪声只能抑制。为改善信号质量, 为后续准确分析判断做好准备, 在系统中使用五点平滑数字滤波。

2.4 心率计算模块

本模块的程序代替了传统心电图机硬件电路中的微分, 整形和计数器电路, 采用软件方法完成心电信号的R波检测、周期和心率计算功能。将采集到的实时心电信号接入该程序实现R波的检测, 从而计算出两个R波间期和心率。

2.5 波形检测与诊断模块

ECG自动检测技术的研究主要集中在QRS波检测, P波和T波检测, ST段检测等方面。QRS波检测是ECG检测中的首要问题, QRS波检测不仅是诊断心律失常的最重要根据, 而且只有在QRS波确定后才能分析EGC的其它细节信息。

3 心电信号处理

3.1 预处理

在心电信号中, 需要考虑的噪声来源有:工频干扰、呼吸引起的基线漂移、电极接触噪声、运动伪迹等。而其中又以工频干扰和呼吸引起的基线漂移是主要的噪声干扰, 本文主要考虑利用小波分解消除呼吸引起的基线漂移, 利用带通滤波器消解工频干扰的影响。

图2为系统使用五点平滑数字滤波的效果比较图。

该图证明此方法进行数据预处理简单有效。

3.2 QRS波群检测

QRS波是ECG中最显著的部分, 反映了心室收缩时心脏的电行为, 其能量占了心电信号能量的很大百分比。QRS波的检测是所有波形检测的基础, 而其准确检测一直是心电信号自动分析的焦点和难点。目前QRS波检测方法主要有:差分法、带通滤波法、小波变换、形态学运算、长度和能量变换等。本文采用小波变换进行QRS波群检测。

3.3 处理结果

经过数据预处理, 得到如图3所示结果及实时显示心电曲线。

4 结束语

将虚拟仪器技术与医疗装备中医学信号的采集、分析及结果显示结合起来为医疗装备的开发提供了一个很好的方向。利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能创建完全自定义的用户界面, 模块化的硬件能方便地提供全方位的系统集成, 充分发挥虚拟仪器技术性能高、扩展性强、开发时间少, 集成的软硬件平台这4大优势。

本文介绍了基于USB接口的虚拟心电采集记录系统用于对人体心电信号进行采集、处理、显示及打印, 从而最终在屏幕上显示出心电波形及相关的重要心电特征参数。该系统的设计对虚拟仪器在医学生物信号处理和医疗仪器开发有一定的参考价值。

参考文献

[1]洪建, 吴小玲, 李桂英.心电监护系统的设计[J].医疗卫生装备, 2000, (6) :25-29

[2]李翠微, 郑崇勋, 袁超伟.ECG信号的小波变换检测方法[J].中国生物医学工程学报, 1995, 4 (1) :59-64

[3]杨乐平, 李海涛.LabView高级程序设计[M].清华大学出版社, 2003年

[4]朱志强, 田心.LabVIEW及其在生物医学工程中的应用[J].国外医学:生物医学工程分册, 2001, 24 (2) :59-64

USB接口芯片 篇6

关键词:USB,串行总线,OTG,WUSB

通用串行总线 (USB) 外设接口已广泛应用于所有个人计算平台及众多工业和基础设施平台。不过,与此同时,人们对给定应用适用的USB版本,如USB 1.0、USB 1.1、USB 2.0、On-the-Go (OTG) 、无线USB (WUSB) 等的规范还不太清楚。随着USB 1.1规范的发布,以及Microsoft操作系统为这一标准提供原生支持,这促使USB主机接口在PC中快速普及,同时也推动众多传统接口,如串行 (RS-232) 、鼠标和键盘 (PS-2) 及并行端口 (打印机使用的Centronix与IEEE-1284) 等,向这种新型通用接口标准过渡。随着可支持更高速度连接的USB 2.0规范的发布,USB外设的数量出现激增,从而大幅改善了用户的使用体验。本文的上半部分将讲述USB标准的发展过程,下半部分则将探讨其常见的应用,并介绍给定应用采用哪种USB标准最好。

为什么需要通用串行总线

为了充分了解为什么USB已成为我们所不可或缺的通用接口,我们就必须回过头来了解个人电脑早期的发展情况,即上世纪80年代的情况。对我们这些上了一定年纪的人来说,应该还记得当时最早的PC和DOS操作系统,既没有图形用户接口 (GUI) ,也没有万维网的存在。这种系统架构和使用模式仅支持很有限的“外设”。大多数计算机都不自带硬盘驱动器,更别说支持什么外部存储设备了。外部网络连接也不存在,甚至根本不知道什么是网络。唯一所需的人机接口设备就是键盘,而键盘有自己专用的连接端口;当时唯一常见的其它外设就是打印机,通常采用某种并行端口连接。随着Windows操作系统GUI的推出,人们需要另一种输入设备,也就是MAC操作系统已经使用的那种设备。这种最常见的人机互动应用点击设备就是鼠标。随着新的连接技术的出现,以及用户联网的要求,推动PC开始采用新的连接端口,即通常所说的串行端口或COM端口。随着时间的推移,大多数PC都针对键盘和鼠标提供专门的接口,即P/S-2端口。

并行、串行及P/S-2等上述常见的外设端口存在三大不足之处。图1.1 (PS/2与COM断口) 和图2.1 (打印机) 显示了机箱背后各种端口的典型特性。首先,这些端口不支持端口扩展,这限制了接入PC的外设数量。在使用这些端口的情况下,为了增加连接点,最终用户一是要购买支持所需端口的插卡;二是要打开机箱;三是要安装插卡;四是要关闭机箱;五是要重新配置系统,让系统识别新增的端口,避免出现冲突。其次,每种端口的性能有限。表1总结了上述每种端口的性能。第三大不足则在于缺乏标准连接方法。不同的外设制造商必须自己决定到底使用哪种端口,还要提供相应的驱动程序,确保硬件能在PC系统中使用,这也会让最终用户头疼。

USB的诞生

我们将时间快进到上世纪90年代的初中期,越来越多的用户希望增加PC的外设。在端口选择方面,如上所述,用户遇到了不少问题。此外,外设连接多种多样,这也给普通用户制造了麻烦。大多数人不知道使用哪种端口,也不了解各端口性能的局限性。在此情况下,部分业界领先企业在Intel的带领下,开始一起定义新的通用PC外设连接标准,旨在取代所有传统连接标准,解决以上不足和问题。

他们定义了一种简单的四线接口,其主要目的就是简化PC用户的使用。这种标准定义了一种点对点、主机到目标的架构。在规范中还包括了USB集线器设备的定义,这样就能支持总线扩展,能连接到更多的USB目标设备。这一标准制定的目的,就是简化外设与PC的连接,增加PC支持的外设数量,同时确保用户根本不必考虑到底该使用什么接口。此外,通过定义主机到目标的架构,目标实施的成本也能降低,因为大多数连接处理工作都由主机来完成,即通常用PC中的CPU控制进行。

USB到底是一种什么技术

如前所述,USB是一种以主机为中心的总线,换言之,主机必须启动包括接收和发送在内的所有传输。该规范定义了三种基本的设备类型:一是主机控制器;二是集线器;三是功能设备 (也称作外设或目标设备) 。以下我们将详细介绍这三类设备。除了这三种基本类型之外,我们还定义了另外两类设备。一是复合设备,即同时包括集线器和集成式外设的设备;二是组合设备,即同一设备集成多种类型外设功能的设备。

物理互连采用多层星形拓扑 (见图3) ,集线器位于每个星形连接的中心。每个连线段 (wire segment) 是主机到集线器、主机到功能设备、集线器到集线器、集线器到功能设备间的点对点连接。由于集线器时序限制和线缆传输时间,因此所允许的层数最多为7层 (包括根层 (root tier) ) 。请注意,在7层中,主机到任何设备的通信路径内只能支持5个非根层集线器。复合设备 (见图4) 包括两层,因此如果它连接在第7层上就不能工作。只有功能设备能在第7层上工作。USB系统中设备所用的寻址技术使一台主机最多可连接127台设备。这127台设备可采用任意集线器或外设组合。这127台设备中包括两台或更多复合设备或组合设备。

什么是主机控制器

在制定规范时,我们应确保任何USB系统中只有一台主机。USB规范不旨在作为一种网络架构,它的目的就是实现外设到PC的简单互连。主机可以是硬件、固件或软件的组合。目前电脑中最常见的USB主机实施方案是所谓核心逻辑芯片组的一部分。这种主机控制器设备采用PC CPU的计算功能,用系统存储器支持数据存储与移动,并通过PC操作系统实现整体实施。所有主机都必须在系统中集成根集线器。主机主要负责以下工作:

·检测USB设备的外接与移除;

·管理主机与USB设备之间的控制流程;

·管理主机与USB设备之间的数据流程;

·收集状态与活动数据;

·为外接的USB设备供电;

·USB系统软件;

·管理主机与设备间以下五个方面的互动情况:

o设备列举与配置;

o同步数据传输;

o异步数据传输;

o电源管理;

o设备与总线管理信息。

大多数操作系统现在还包括一系列“类驱动程序”,可便于外设的连接。类驱动程序使外设厂商能提供操作系统软件原生支持的产品,这样就节约了开发驱动程序的成本,并能为新的主机系统提供驱动程序,而且新的存储设备推出后,外设直接就能支持驱动程序。大多数操作系统支持的一些常见的类驱动程序,其中包括音频类、人机接口设备 (HID) 类、影像类、海量存储类、打印机类以及视频类等。目前许多厂商都利用上述类驱动程序来实现产品功能,不过他们同时也提供定制驱动程序或应用软件,以支持类驱动程序规范之外的更多功能。

什么是集线器

最简单的方法,就是将USB集线器设想为一种分离器和中继器的统一体。集线器提供USB设备与主机之间的电子接口。集线器直接负责支持USB的众多属性,给用户提供友好的界面并避免遇到复杂的使用问题。除为主机实施提供接口外,集线器还能够提供更多接口 (充分发挥分离器功能) ,而且还能将上游端口 (连接到主机) 上的数据传输到下游端口 (连接到目标设备) ,从而发挥中继器的作用。集线器负责检测下游端口上的连接和断连事件,并向主机报告有关信息。集线器必须能支持下游端口上连接的任何速度规范的各类USB外设 (详见以下有关内容) 。集线器还必须能够检测并恢复由于目标设备错误状态 (error condition) 造成的任何总线故障。

此外,集线器还负责管理下游端口的供电,向主机报告供电问题,并向用户发出通知。有关规范制定了两种集线器供电类型,一种是总线供电;一种是自供电。

总线供电集线器从上游端口获得所有电力,不过加电时只能从上游连接获得最大100m A的电流,经过配置,最终获得的电流不超过500mA。全面配置后,要在集线器、不可移除的功能设备 (复合设备) 及外部端口间分配电力。总线供电集线器需要为每个下游端口提供100mA的电流,这样,在总线供电集线器上,能给下游供电的外部 (用户可以直接使用的) 端口不能超过4个。由于每个端口电流为100mA,共有四个端口,那么下游连接的可用电流就是400mA。要是再增加第五个下游端口的话,这个端口也需要100m A的电流,这就造成集线器本身没有电流可用了。总线供电集线器可以提供4个外部下游端口以及一个或更多内部端口,但前提是集线器本身以及连接到内部端口上的所有功能设备的耗电总和不到100mA。

自供电集线器从局部电源获得电力,比如墙上变压器或其它局部电源。其电力并不来自上游连接。自供电集线器可从上游端口获得最高100mA的电流,这样在集线器其它部分断电时,该端口也能发挥作用。自供电集线器应为每个下游端口提供500mA的电流。尽管规范并没有限定自动电集线器可支持的下游端口数量,但在实践中,通常不超过7个端口,这主要是出于供电方面的考虑。7端口集线器的电源电流必须超过3.5A (共7个端口,每个端口电流500mA) 才能确保集线器正常工作。

什么是外设

我们大多数人都是通过USB外设熟悉USB的。目前常见的USB外设包括键盘、鼠标、打印机、闪存棒、外部驱动、便携式音频播放器和数码相机 (DSC) 等。就规范而言,外设可分为执行特定功能的逻辑或物理外设。从最基本的角度说,外设可以看作是单个的硬件组件,如闪存设备。从高级角度说,外设可以是执行功能的一系列硬件组件,如包括键盘、生物识别指纹读取器和滚动设备在内的人机接口设备。

规范定义了外设支持的四种数据传输。控制传输用于为主机提供有关外接设备类型与功能的信息。所有设备都必须支持控制传输。另外三种传输类型分别为中断传输、批量传输及同步传输,可根据应用的数据处理方式进行选择。如果外设需要被主机定期轮询,检查是否需向主机发送数据,那么就应采用中断传输。键盘、鼠标和游戏杆就是采用中断传输的典型设备;如果数据完整性非常重要,而不太在意数据时延,那么就要用批量传输在主机系统与外设之间传输数据。此外,这种传输还支持纠错功能,在检查到错误时可以重新传输。打印机、扫描仪和存储设备都是采用批量传输机制的典型设备;同步传输用于“实时”数据的转移。在这种情况下,数据流比数据的准确性更为重要,同步传输不支持纠错和重新传输功能。网络摄像头、扬声器和扩音器等是采用同步传输机制的典型应用。

与集线器一样,这种规范也定义了两种通用外设电源类,分别为总线供电外设和自供电外设。总线供电外设进一步分为低功耗总线供电功能设备和高功耗总线供电功能设备。在两种情况下,设备所有用电均来自上游连接。低功耗总线供电设备随时都会获得100m A电流,而高功耗总线供电设备可在配置前获得100mA电流,在工作期间则能得到规范要求的最大500mA电流。自供电功能设备的条件限制与自供电集线器一样,其电力并不来自上游连接。自供电功能设备可从上游端口获得最高100mA的电流,这样在功能外设其它部分断电时,该USB接口也能发挥作用。所有其它电力都用外部电源提供。此外,外设必须支持低功耗休眠模式,使电流消耗低于500uA,这样计算机就能将设备从挂休眠模式中唤醒。

近期,支持USB功能的电池供电设备广泛推广,主要是便携式媒体播放器大幅流行,这就向USB电源管理提出了新的挑战。如果设备通过USB连接充电的话,那么这一问题就会变得尤其突出。电池供电设备必须遵循标准外设的规则。这种设备如何报告自己,将决定它们能从上游连接获得多少充电电流,也包括能否支持休眠模式。这方面的技术挑战甚至高过电池完全放电后的设备需要高电流来启动充电方面的难题。

USB 2.0是一种规范,而不是指速度本身

现在,您已经了解了USB规范发展的一些历史背景,接下来我们不妨来看看该技术目前的发展状况。目前常用的标准为USB1.1、USB 2.0、USB-OTG、WUSB和OTG。在许多情况下,这些不同标准会使工程师和最终用户产生混淆。最早的USB 1.0规范发布于1996年1月,定义了两种设备速度,即1.5 Mbps的低速 (LS) 和12 Mbps的全速 (FS) 。该规范在1998年7月经过修订,随后发布了USB 1.1规范,实现了较大升级改进。2000年4月,该规范又进行了大规模更新,随后发布了USB 2.0。这一版本也是现行版本,全面超越了USB 1.1。USB 2.0的优势在于,它能全面向后兼容于USB 1.1设备,同时它也增加了需求极高的第三种设备速度,即480 Mbps的高速,同时也能继续支持低速和全速模式。2003年7月,USB OTG文件发布,定义了面向便携式电池供电设备的新一类设备。最后,于2005年5月,发布了Wireless USB规范。

USB应用厂商论坛 (USB-IF) 建立了认证徽标许可证计划 (Certified Logo License Program) ,确保提高最终用户的使用体验。为了有权使用认证徽标,设备必须通过USB-IF的认证测试,其中包括规范兼容性测试和操作性测试。对标准的USB设备来说,共有两种认证徽标,第一种 (见图4) 用于最高数据传输速度支持低速或全速标准的设备;第二种 (见图5) 用于最高数据传输速度支持高速标准的设备。

USB OTG是USB 2.0规范的补充标准,定义了一种新的设备类型。这类设备旨在扩展外设产品的功能,增加了有限的主机功能。如这一标准的名称所示,该规范的最初目标就是面向便携式设备,让最终用户在没有电脑的时候也能实现数据共享。比方说,在两部PDA或手机间共享联系人信息,在DSC和拍照手机之间共享照片,或者直接从DSC或PDA进行打印。

和标准的USB一样,OTG也是一种点对点、以主机为中心的总线,不旨在成为一种点对点网络连接。OTG产品连接到PC等标准的USB主机时,必须作为标准的外设工作。OTG补充标准要解决的主要问题,就是设备在作为主机时能发挥什么作用。就像标准的USB主机端口 (或下游集线器端口) 一样,OTG主机必须提供电力。不过,所需的供电电流仅限于8 mA。与PC中的标准USB主机不同,OTG设备不能为未识别设备简单添加驱动程序。因此,OTG设备必须提供所谓的目标外设表,这样,设备制造商就能明确到底支持哪些设备。该规范还要求提供某种消息显示功能,这样就能告诉最终用户是否插入了不能支持的设备,该设备不能工作。这种消息可以通过简单的LED显示,也能以复杂的文本方式显示。此外,OTG补充标准还定义了两种新协议。主机交流协议 (HNP) 定义了主机和设备角色间动态转换的方法,而会话请求协议 (SRP) 则提供了主机设备自行决定总线供电开关的方法。

与标准的USB一样,USB-IF也为OTG设备提供了认证徽标许可证计划 (Certified Logo License Program) 。图6显示了最高数据传输速度支持低速或全速标准的OTG设备认证徽标,而图7则显示了支持高速OTG连接的设备认证徽标。

Certified WUSB是USB规范的最新版本。它定义了一种无线接口,可以将有线USB连接技术的高速和安全性与无线技术的易用性相结合。Certified WUSB将通过Wi Media Alliance开发的常见的WiMedia MB-OFDM超宽带 (UWB) 无线电平台来支持稳健的高速无线连接。过去几年来,已经推出了一些WUSB设备,他们采用专有的低带宽连接方式,主要面向键盘和鼠标等HID设备。这种连接与USB-IF开发和推广的Certified WUSB规范并不相同。此外,近期媒体还介绍了一种极具竞争力的UWB技术,正作为无线缆USB技术得到推广宣传。不过,这种技术也和Certified WUSB不同,需要采用一种极具竞争力的无线电技术。这两种实施方案互相之间并不兼容。UWB技术提供了一种高带宽、低成本、低功耗的解决方案,设备能够实现小型化。Certified WUSB的优势则在于:

·速度:

o 3米连接距离时速度高达480Mbps

o 10米连接距离时速度高达110 Mbps

·电源管理:

o支持休眠、聆听、唤醒和节能模式,确保只有用户建立连接时才耗电。

·安全性:

o通过内置协议和认证程序实现最佳数据安全性。

o在传输过程中进行数据加密。

·易用性:

o像有线USB连接一样易于安装与设置,而且省去了线缆连接的繁琐。

·向后兼容性:

o与所有传统有线USB设备实现互操作性。

USB-IF也提出了Certified WUSB产品的认证徽标许可证计划,最终用户通过该徽标可识别出通过互操作性和兼容性认证的产品。图8为WUSB徽标。

哪种USB适合您的需要

USB接口芯片 篇7

随着目前科学技术的发展,电子技术的应用领域越来越广。电子测试测量仪器作为电子技术的基础,其应用范围也越来越广。在许多领域对这些仪器提出了很高的要求,不仅要有高的测量、传输速度,高的精确度、稳定性、可靠性等,有的甚至要有一定的智能化,能够实现自动测量、自动控制,还要能够快速完成一些复杂的数学运算与处理,能够根据实际应用的情况,快速开发出新的功能[1]。传统的测试测量仪器由于设计理念落后、发展缓慢、功能单一,开发新功能或新产品的难度大,已经无法适应各种新的测量情况。而且其价格昂贵,体积大,不易操作,已经无法满足人们的要求。

虚拟仪器作为传统测试测量仪器的可能的替代品,从1986年美国国家仪器公司 (NI) 首先提出其概念至今不过短短二十几年,但其发展却十分迅速。目前已生产数百个型号的虚拟仪器产品,其应用涉及到电子测量、过程控制、电信、医学等领域。我国虚拟仪器研究的起步较晚,最早的研究也是从引进消化NI的产品开始,但其发展也是十分迅速的。我国国民经济的持续快速发展,加快了企业的技术升级步伐,对先进仪器设备的需求更加强劲,虚拟仪器赖以生存的个人计算机最近几年以极高的速度在中国发展,这些都为虚拟仪器在我国的普及奠定了良好的基础。随着我国个人计算机的普及以及性能的不断提高,这种基于计算机的虚拟仪器在我国将会被更加广泛的应用。在我国由于电子技术水平相对落后,许多高精度、高性能的电子仪器都要进口,价格昂贵,难以被广泛使用,因而研制这种成本低的高性能的虚拟仪器,相信是很有必要的,而虚拟仪器也将成为今后电子器件发展的主流[2,3,4]。

2、系统整体结构概述

本设计主要是研制一个基于USB以及FPGA的虚拟数字存储示波器,该系统的整体结构框图如图1所示。系统主要由基于FPGA的数据采集电路、基于USB接口总线传输控制电路和计算机应用程序三个主要部分组成。其中信号预处理电路还包括峰值检测电路,信号触发电路。USB接口传输电路主要是能实现数据的双向传输,既要使数据采集电路采集到的数据能够传到计算机,也要使计算机的控制信息能够传到硬件电路,控制数据采集工作。计算机的应用程序要能够对采集到的数据进行处理、显示,能够控制硬件进行数据采集工作等[5]。

系统的基本工作原理是:计算机先通知FPGA开始采集数据,FPGA等到信号触发时刻到来时就开始从A/D转换器中读取500个数据存储到FPGA的存储器中;然后计算机就控制从FPGA读取数据,单片机接到命令后就从FPGA中读取数据和信号的放大衰减倍数通过USB接口传送到计算机。计算机软件读取了采集数据和信号的放大衰减倍数就能够显示出来了,并且通过控制虚拟界面就能够实现各种各样的功能。而FPGA通过定时读取信号的峰值幅度范围再决定控制信号的放大衰减倍数。定时去重复以上过程就能够看到信号的实时波形。

3、系统硬件设计

3.1 数据采集电路设计

数据采集部分的功能就是采集被测信号波形数据并把它存入到FPGA中。首先把信号进行预处理,在经过A/D转换器转换成数字信号,最后存入FPGA中。数据采集部分可以分为以下几个模块:信号调理,A/D转换,触发电路,峰值检测以及FPGA的设计。数据采集电路结构框图如图2所示。

由于被测信号的种类多种多样,相应的采样方式也千差万别。基本采样方式可分为两大类:实时采样和等效时间采样。考虑到采样方式的基本原则是:以保证采样精度为前提,以被测信号的具体特性为依据,尽量以较低的速率实现采样,从而减少数据量,降低对传输、变换系统的要求,提高数据处理的效率[6]。因此我们选择实时采样方式。对于实时采样,当数字化一开始,信号波形的第一个采样点就被采样并数字化,经过一个采样间隔,再采入第二个子样,这样一直将整个信号波形数字化后存入波形示波器。实时采样的优点在于信号波形一到就采入,因此适用于任何形式的信号,重复的或不重复的,单次的或连续的。所有的采样点都是以时间为顺序,因而易于实现波形显示功能。本设计采用高的采样频率来实现对比较高的频率信号进行实时采样,采用的A/D转换器是TLC5510,采样频率最高可以达到20MHz。

对于触发电路我们采用比较器电路来实现,用A/D转换之前的模拟信号与一个固定的电压进行比较,比较器的输出为一个与采样信号同频率的矩形波作为FPGA开始读取数据触发信号。具体实现方法是:采样信号接比较器的同向输入端,可变电阻的调整端接反向输入端,而可调电阻的另外两端分别接电源的正负极,这样就可以通过调节可变电阻调节触发电平。

被测信号调理电路的作用就是使输入信号满足A/D转换器的幅度要求,同时也扩大了输入信号的幅度范围。比如大信号必须经过适当的衰减,以免因为幅度过大而损坏电路中的元器件或是引起信号失真。而小信号又需要适当的放大,否则采集恢复后的信号幅度太小,以至于无法正确的观测信号。模拟信号调理主要包括:高阻衰减电路、程控放大器和加法器。被测信号调理电路原理图如图3所示。该电路主要采用多级运算放大器电路构成。

为了使FPGA能够准确地控制程控放大器的模拟开关,使程控放大器放大或衰减后的信号幅度在±1V之内,又能够充分利用A/D转换器的量程。所以FPGA必须要先知道信号的峰值电压,这就需要采用峰值检测电路来检测信号的峰值电压。采样信号先经过电压跟随器来隔离输入信号和峰值检测电路,再用运算放大器、二极管和电容组成检测信号峰值。用三极管可以对电容上的电荷进行放电。最后经过比较器就可知道信号的峰值范围。FPGA通过定时检测峰值,从而去控制模拟开关,实时跟踪信号的幅度。峰值检测电路原理图如图4所示。

控制数据采集和从存储器读数据模块的功能就是控制从A/D转换器的输出端中读取数据,然后存储到FPGA中的存储器。当计算机需要读数据时,就控制把存储器中的数据依次送出去,再通过USB接口传送到计算机。控制数据采集模块和读存储器数据的电路示意图如图5所示。FPGA采用Altera公司生产的FPGA芯片EP1C3T144主芯片。

3.2 USB接口电路设计

在USB接口电路我们综合多方面因素进行考虑,选用Philips公司的专用USB接口芯片PDIUSBD12和ATMEL公司的AT89S52单片机进行连接来实现USB总线接口功能[7,8]。PDIUSBD12芯片提供了与任何外部微控制器或微处理器连接的高速并行接口。对单片机而言,PDIUSBD12就像一个带8位数据总线和地址总线的存储器件。PDIUSBD12芯片与单片机连接有两种方式:地址和数据总线复用模式和非复用模式。这两种模式的主要区别是芯片的第10引脚ALE和第28引脚A0的连接有所不同。本系统采用地址和数据总线复用模式,将第10脚ALE连接到单片机的地址锁存使能端ALE,该脚将地址/数据总线上的地址信息锁存,并通过内部逻辑产生选通信号,来判断总线上传输的命令还是数据,因此单片机与该芯片的通信采用这样的方式:一个偶数地址表示单片机对芯片进行读/写数据,本设计中使用7F00H地址,一个奇数地址表示单片机对芯片写入操作指令,本设计中使用7F01H地址。在这种模式下,该芯片的28引脚A0可以忽略,通过上拉电阻接电源。PDIUSBD12与单片机的连接的电路原理图如图6所示。

4、系统软件设计

应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。本系统利用Borland C++Builder6.0开发了一个具有基本硬件控制、数据传输、数据处理与显示功能的应用程序[9,10,11]。该应用程序主要包括显示部分和控制面板部分。显示部分可以将经过一定处理的信号数据显示出来,并可对显示方式作一定的调整。控制面板部分可以在控制数据采集硬件电路的启动、停止、采样频率以及存储数据、频谱分析等工作。

应用软件是整个系统的控制中心,所有的命令都是由这里发出的。主要由面板显示部分,触发采集数据与读取数据部分,采样频率控制部分,频谱分析部分,波形保存与回放部分,调节波形显示部分等几部分组成的。其工作过程是:软件先发出开始波形信号采集的命令通过USB接口控制FPGA采集数据,根据采样频率即可大概估计FPGA采集500个点所需要的时间,经过适当的延时之后就控制从FPGA存储器读取采集的数据,然后根据采样频率和信号的放大倍数对数据进行适当的处理,最后就在面板上显示出来。定时地重复上面的过程就能够定时地更新显示的波形,从而实时显示信号的波形。

应用程序中主循环程序是核心内容,它主要是检查事件标志,然后进入对应的子程序进行进一步处理。本系统主要用到端点2的输入与输出两个功能,利用端点2的输入传输采集到的数据,利用端点2的输出让单片机接受计算机的命令,例如启动采样,改变采样平率等。主循环程序的流程图如图7所示。

最后开发出具有多功能综合测量应用软件界面如图8所示。

5、结语

基于CH371的USB接口设计 篇8

关键词:CH371 USB 接口AT89C52

通用串行总线USB(Universal Serial Bus)是由Intel、Compaq、Digital、IBM、Microsoft、NEC、Nerthern Telecom七家世界著名的计算机和通信公司共同推出的新一代总线接口标准。作为一种PC机与外设之间的高速通信接口,USB具有连接灵活、可热插拔、一种接口适合多种设备、速度高(USB1.1协议支持12Mb/s,USB2.0协议支持480Mb/s)、自动配置、无需定位及运行安装程序、可为外设提供电源、低功耗、低成本、高可靠性等优点,因而在数码相机、便携式仪器、便携式存储设备等产品中广泛应用。

(本网网收集整理)

但是,USB接口的开发一般要求设计人员对USB的标准、Firmware(固件)编程及驱动程序的编写等有较深入的理解,因此限制了一般的硬件工程师对USB接口产品的开发使用。我们在便携式无线抄表系统中使用的USB接口芯片CH371,使用简单、性能卓越,价格低廉,只要熟悉单片机编程及简单的VB或VC应用程序编程,一般的硬件工程师在极短的周期内就能很容易地开发出相应的USB产品。

1 USB总线的通用接口芯片CH371简介

CH371是一个USB总线的通用接口芯片,如图1所示。在本地端,CH371具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、DSP等控制器的系统总线上。在计算机系统中,CH371的配套软件提供了简洁易用的操作接口,与本地端的单片机通信就如读写硬盘中的文件。CH371屏蔽了USB通信中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。使用CH371,不需要了解任何USB协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB接口。它具有以下特点:

*屏蔽USB协议,在计算机应用层与本地端之间提供端对端的连接。

*两种通信模式:单向数据流模式、请求加应答模式,支持伪中断。

*自动完成USB配置过程,完全不需要本地端控制器作任何处理。

*标准的USB V1.1接口,即插即用,D+引脚内置上拉电阻。

*内置4个端点,支持USB的控制传输、批量传输、中断传输。

*通用Windows驱动程序,提供设备级接口和应用层接口。

图2

*通用的本地8位数据总线,4线控制,即读选通、写选通、写选输入、中断输出。

*占用16个地址,可选直接地址方式或者复用地址方式。

*内置输入输出缓冲区,以中断方式通知本地端控制器传输数据。

*内置硬件实现的I2C主接口,应用层可以直接读写外挂的I2C从设备。

*在主控方式下可以提供16根输入信号线或者12根独立控制的输出信号线。

*内置上电复位,提供高电平有效复位输出和低电平有效复位输出。

*内置可选的看门狗电路Watch-Dog,为本地端控制器提供监控。

USB接口芯片 篇9

关键词:USB2.0,DSP,通信接口,硬件设计,软件开发

一、系统设计需求分析

一般超声检测信号的频率都不会超过2-10MHz, 根据采样定理, 采样频率最好是信号最高频率的3-5倍。目前高速数据采集系统使用的采样频率在50MHz-100MHz之间, 采样位数为12位, 那么要处理的数据量将达到每秒75MB-150MB, 故应满足:

(1) 要求数据传输的时间必须尽量短, 从而减少DSP与PC之间通信的时间开销, 故需要选用高速数据接口;

(2) 需要建立数据缓冲机制, 以减小数据传输过程中的丢失或错误;

(3) 为避免模拟数字混合电路带来的噪声干扰, 保证数据传输的可靠性与稳定性, 需要为接口电路设计独立的供电电源。

二、系统设计思路

针对设计要求, 本文的设计思路是:

(1) 与其他类型的接口比较而言, USB 2.0接口具有较高的通用性和快速性, 60MB/S的高速传输速度可满足数据传输需要;

(2) 采用FIFO作为数据缓冲通道, 以简化传输程序设计, 提高控制器的效率, 减小数据的错误传输;

(3) 以USB 2.0控制芯片为核心, 设计接口硬件电路, 包括独立电源电路、USB控制器与DSP的连接电路以及USB控制器与FIFO芯片的连接子电路等。

三、硬件软件电路设计

3.1 电源电路

电源是保证各芯片正常工作的基础, 本文采用Linear Technology公司的电源稳压芯片LT1763CS8-3.3来实现。其输入电压为1.8-20伏, 输出电压3.3伏, 为CY7C68013USB控制器芯片提供电压电源电路如图1所示:

3.2 软件系统设计思路

本系统的软件设计主要分为四个部分:主机程序、USB固件程序设计、USB驱动程序设计以及DSP数据传输程序设计。对于USB固件程序采用了GP工F波形图设计的方法, 简化了设计步骤;USB驱动程序的设计参考了Cypress公司提供的通用软件开发包。系统软件总体设计思路如图2所示。

3.3 固件程序设计

固件 (Firmware) 程序负责处理PC主机发来的各种USB请求, 实现数据的传输。在GPIF模式下, CY7C68013的固件采用中断方式, 固件总是在等待主机的命令, 然后根据命令去执行相应的程序。这样既保证了快速的数据传输和较好的软件结构, 又简化了编程和测试并且使得程序功能易于扩展。

Cypress公司针对其EZ-USBFX2系列的USB芯片给出了一个Firmware库和Firmware框架, 均使用Kei1C51开发。

Firmware库提供了一些常量、数据结构、宏、函数来简化对芯片的使用。用户只需要在源程序中包含进加到项目中即可。fx2.h、fxZregs.h和fxZsdly.h, 并且把Ezusb.lib和USBJmpTb.OBJ添Firmware框架实现了初始化芯片、处理USB电源管理功能。该框架不需添加任何代码, 编译后产生的.HEX文件下载到芯片就能和主机进行基本的USB通信, 只是不能完成用户特定的任务。对于TD_Init () 、TD_Pol () 等函数中添加初始化代码和完成特定的功能的代码即可。该程序首先初始化所有的内部状态变量, 然后调用TD_Init () 函数进行初始化, 并打开中断。之后, 固件程序开始列举USB设备 (调用UsbDisconnect函数) , 直到在端点0上接受到SETUP令牌包时为止。具体步骤为:

(1) 初始化休眠模式、远程唤醒与自供电等;

(2) 初始化用户设备;

(3) 定向USB描述符;

(4) 使能中断;

(5) 重列举;

(6) 主循环, 等待主机请求。

USB设备的使用需要驱动程序的支持, 驱动程序是连接USB控制器与PC机的纽带。很多USB芯片厂商都为其USB芯片提供通用的驱动程序, 这在一定程度上简化了设计步骤。

3.4 INF文件

INF文件 (Device Information File) 主要用来指示安装Windows驱动程序*.SyS, 一般一个Windows驱动程序要配合一个INF文件才可以进行安装。INF文件包含了相应的USB设备及其驱动程序的详细信息, 这些信息包括什么设备使用什么驱动程序, 设备信息在系统注册表中的存储等。INF文件可以确保USB设备能够在连接到主机的时候被正确地配置。

1、INF文件处理过程

在安装了USB设备驱动程序后, 通过INF文件将该USB设备的一些基本信息保存在系统注册表中, 另外驱动程序文件 (*.SyS) 和相应的INF文件也将复制到指定的系统目录中。

当USB设备连接到PC后, windows操作系统将检测到USB设备的连接, 然后将系统中所有的INF文件中的数据信息与该USB设备进行比较, 逐个找到与之相符合的INF文件, 整个过程可以分为三步:

(1) 系统从连接的USB设备中获取设备描述符的供应商字段 (idVender) 和产品字段 (idProduct) , 从中得到设备的硬件ID。

(2) 系统查找与该硬件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驱动程序

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需要通过USB接口把大量数据传输到主机中。在GPIF模式下, GPIF状态机产生特定的触发和握手信号来与DSP进行通信。当USB读取指令, 通过FIFO的EF会向DSP发出FIFO内存空的信号, DSP接收到后会产生一个中断, 跳转到数据传输程序, 当FIFO向USB控制器发出满信号, 说明FIFO存储器己满, DSP停止发送, USB控制器开始接收数据, 完成读数据操作。下面简单介绍DSP的读写控制算法:

结束语

本系统的设计对硬件技术、软件技术有很高的要求, 本系统采用的是USB2.0协议, 目前随着USB3.0的逐渐普及, 为进一步提高数据传输速率, 可考虑使用USB3.0接口芯片。

参考文献

[1]沈兰荪.高速数据采集系统的原理与应用[M].北京:人民邮电出版社, , 2003:67128.

[2]汪安民, 程星等.DSP嵌入式系统开发典型案例[M].北京:人民邮电出版社, 2007:9-57.

[3]俞平.基于DSP和USB2.0高速数据采集处理系统[J].重庆大学学报, 2005, 2 (7) :125-148.

[4]赵宏, 王东.基于USB传输的音频采集系统设计与实现[J].应用科技, 2003, 2 (3) :166-173.

[5]Cypress Semiconductor.EZ-USB FX2Technical Reference Manual[M].2002:1-5.

USB接口芯片 篇10

1 FT245R芯片简介

FT245R是FTDI公司新推出的一款用于并行FIFO双向数据传输接口的USB独立芯片,该芯片功能强大,使用D2XX驱动程序能获得更好的数据传输性能,传输速率可达到1MB/s;通过简单的四线握手信号与MCU、CPLD、FPGA等逻辑器件接口;完整的片内USB协议解决方案,无需底层固件的编程;完全兼容USB1.1,USB2.0协议;附加的EEPROM接口可定制USB接口设备;在内部硬件逻辑的作用下能够实现USB串行数据格式与并行数据格式的双向转换。

FT245R内部主要由USB收发器、串行接口引擎(SIE)、USB协议引擎和FIFO控制器等构成。片内256byte的接收FIFO和128byte的发送FIFO使得芯片可以实现高速数据吞吐。而内嵌的EEPROM接口单元可外接串行存储器,用来储存USB取电模式及各种产品信息。FT245R支持总线供电、自我供电和高功率总线供电等USB配置 ,其内部集成的3.3V电平转换器,可用于USB I/O;在FIFO接口和控制引脚集成电平转换器,使接口支持5V/3.3V/2.8V/1.8V逻辑,真正5V/3.3V/2.8V/1.8V CMOS驱动输出和TTL输入。另外,FT245BM还包括1个12MHz的振荡器、4倍频的时钟倍频器和USB锁相环。

2 系统的设计方案

系统结构如图1所示,主要包括底层硬件和上位机两个部分。本设计中,上位机作为整个系统的控制和显示中心,它通过USB接口芯片完成与FPGA的通信。在通信的过程中,上位机负责发送命令及信号源,FPGA负责调度各芯片的工作时序,共同协调完成数据的传输。上位机中的界面应用程序通过动态链接库DLL调用相关函数与USB驱动程序通信,通过USB驱动程序获得USB总线上的数据,或者将控制命令通过USB驱动程序发送到USB总线上。最后由界面应用程序完成数据的显示、存储及处理。

2.1 硬件结构设计

本系统硬件主要连接FPGA和USB控制器(图2),其中核心控制器件FPGA采用的是Xilinx公司的SpartanⅡ XC2S100芯片,USB控制器则采用的是FTDI公司的FT245R。在高速数据传输系统中,FPGA作为核心控制芯片对USB接口芯片进行控制,因此USB接口芯片采用了从机方式,即Slave FIFO方式,而FPGA作为主机角色控制处于从机模式下的FT245R。

由USB设计规范可知,USB设备有总线供电和自供电两种方式,考虑到设计的系统不属于移动应用,无需通过总线供电方式来供给芯片工作所需电源,因此采用自供电方式进行设计,USB总线供电则被用来控制FT245R的RESET#引脚,此外在USB接口的地端采用一个磁珠,以减少主机和设备的干扰。

FT245R通过D0~D7这8位双向数据总线和4位读写状态控制信号RxF#、TxE#、RD#和WR实现与FPGA之间的数据传输,其外围电路较为简单,各电源和接地引脚通过去耦电容接电源或接地,其余控制引脚和数据引脚都连接到FPGA上,由FPGA控制FT245R的读写操作。一方面,当FPGA有数据要传给主机时,数据通过8位并行I/O接口传给USB芯片内部的数据缓冲区,FT245R再将8位并行数据转化为串行数据,通过USB接口把数据发送给主机;另一方面,当主机有数据要给外部设备时,先将串行数据通过USB接口存储在USB芯片内部缓存区中,FT245R再将串行数据转化为8位并行数据,然后通过8位I/O接口把数据传给FPGA。

2.2 系统软件设计

系统的软件设计主要包括:VHDL代码和应用程序:VHDL程序主要负责对FT245R和SRAM进行时序控制,以完成数据的传输;应用程序则主要负责命令的发送、文件的获取、文件的编解码及文件的保存。

FPGA是通过Slave FIFO的方式与USB控制器FT245R相连。在对FT245R进行读操作时,FPGA通过查询FT245R中的接收FIFO的状态来判断是否可以进行读数据,主要是查询状态标志位RXF#;在对FT245R进行写操作时,FPGA通过查询FT245R中的发送FIFO的状态来判断是否可以进行写数据,主要是查询状态标志位TXE#。底层硬件在收到上位机命令后,对FT245R和SRAM进行时序操作,其程序状态转移图如图3所示。

状态1——在空闲状态,接到命令,初始化相关控制信号及SRAM地址,进入状态2;状态2——查询读状态的FIFO标志位RXF#,如果RXF#为低,则进入状态3,否则继续等待;状态3——FPGA对FT245R进行读操作,开始接收数据,接收数据完后进入状态4;状态4——FPGA对SRAM进行写操作,将接收到的数据存入SRAM中,且地址计数器加1,进入状态5;状态5——查询SRAM的数据存储量,若已写入数据小于512K,则进入状态2,否则进入空闲状态。

FPGA在上传输据时,原理基本相同,方向相反,采用不同的FIFO和状态查询标志位。

3 测试结果

把硬件连接至上位机,利用上述的应用程序经USB接口向FPGA发送数据,将其存入SRAM中。为了验证数据传输的准确性,笔者将SRAM中的数据回读到上位机自检,界面应用程序显示经处理后的数据如图4所示。结果表明,上位机与FPGA实现了准确的数据传输。

4 结束语

USB 接口因其高速、即插即用等特点得到了广泛的应用。本系统通过FPGA控制USB接口芯片FT245R达到数据高速传输的目的,具有硬件结构简单、软件扩展性强及传输数据准确性高等特点。FT245R的使用避开了固件设计和驱动的编写,摆脱了常规USB数据接口设计的难度,大大缩短了开发周期。因此该系统完全可以用于高速数据采集、高速数据通信及存储设备等。

摘要:从系统的总体结构、硬件设计和软件设计3个方面阐述了USB2.0接口传输的FPGA控制与实现的设计方法。FPGA作为硬件设计中的主控芯片,完成了对USB接口芯片FT245R的通信控制、SRAM的读写操作等。通过USB驱动连接应用程序和底层硬件,实现了上位机中数据的发送、显示与存储。测试结果表明,FPGA通过USB接口实现了高速可靠的数据传输。

关键词:数据传输,USB,FPGA,FT245R,驱动程序

参考文献

[1]边海龙.USB2.0设备的设计与开发[M].北京:人民邮电出版社,2004,4~7.

上一篇:切开复位钢板固定治疗下一篇:辩证法理论