打印

USB2.0数据采集模块研发的分享

[复制链接]
6695|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sxhwork|  楼主 | 2007-7-13 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
USB2.0数据采集模块研发的分享

A、研发设计要求:

USB2.0标准,
并能兼容USB1.1标准;
可高速及全速运行;
速度要达200Mb/s目标要达480Mb/s;
用DMA控制方式与采集模块连接;
并能与PC机的USB接口兼容,可即插即用,
PC机可随时控制采集模块。



B、USB 2.0标准简介资料

USB 2.0标准简介
一、什么是USB?
USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它是一种应用在PC领域的新型接口技术。早在1995年,就已经有PC机带有USB接口了,但由于缺乏软件及硬件设备的支持,这些PC机的USB接口都闲置未用。1998年后,随着微软在Windows 98中内置了对USB接口的支持模块,加上USB设备的日渐增多,USB接口才逐步走进了实用阶段。
这几年,随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋。在主机(host)端,最新推出的PC机几乎100%支持USB;而在外设(device)端,使用USB接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等等。
USB设备之所以会被大量应用,主要具有以下优点:
1、可以热插拔。这就让用户在使用外接设备时,不需要重复“关机à将并口或串口电缆接上à再开机”这样的动作,而是直接在PC开机时,就可以将USB电缆插上使用。
2、携带方便。USB设备大多以“小、轻、薄”见长,对用户来说,同样20G的硬盘,USB硬盘比IDE硬盘要轻一半的重量,在想要随身携带大量数据时,当然USB硬盘会是首要之选了。
3、标准统一。大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与PC连接,这时就有了USB硬盘、USB鼠标、USB打印机,等等。
4、可以连接多个设备。USB在PC上往往具有多个接口,可以同时连接几个设备,如果接上一个有4个端口的USB HUB时,就可以再连上4个USB设备,以此类推,尽可以连下去,将你家的设备都同时连在一台PC上而不会有任何问题(注:最高可连接至127个设备)。但是,为什么又出现了USB2.0呢?它与USB1.1又有何区别?请别急,下面就会谈到了。
二、什么是USB 2.0?
目前USB设备虽已被广泛应用,但比较普遍的却是USB1.1接口,它的传输速度仅为12Mbps。举个例子说,当你用USB1.1的扫描仪扫一张大小为40M的图片,需要4分钟之久。 这样的速度,让用户觉得非常不方便,如果有好几张图片要扫的话,就得要有很好的耐心来等待了。 
用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。这时, COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS这7家厂商联合制定了USB 2.0接口标准。USB 2.0将设备之间的数据传输速度增加到了480Mbps,比USB 1.1标准快40倍左右,速度的提高对于用户的最大好处就是意味着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB 2.0的线路上,而且无需担心数据传输时发生瓶颈效应。
所以,如果你用USB 2.0的扫描仪,就完全不同了,扫一张40M的图片只需半分钟左右的时间,一眨眼就过去了,效率大大提高。
而且,USB2.0可以使用原来USB定义中同样规格的电缆,接头的规格也完全相同,在高速的前提下一样保持了USB 1.1的优秀特色,并且,USB 2.0的设备不会和USB 1.X设备在共同使用的时候发生任何冲突。
另外,在软件方面,Windows是完整的支持USB 1.X,对于USB 2.0,系统可以认出,而且能够正常工作,但是USB 2.0并不能充分发挥其性能优势,系统检测到USB 2.0的设备后,会提示说你的USB设备需要优化。现在还没有完全支持USB 2.0的WINDOWS系统,而LINUX、MACOS、BEOS到是走到了前面,都有了相关的软件支持或者系统程序包。不过可以肯定的是,当带有USB 2.0规格的产品出现的时候,Windows会非常快的跟上的。现在WINDOWS XP已经会完全支持USB 2.0设备,不过当系统主板一但支持USB 2.0的时候微软将会很快推出USB 2.0的补丁。所以我们可以说,由于得到INTEL和微软的支持,USB2.0标准已成为下一代周边设备接口的重要趋势。




(待续)




相关帖子

来自 2楼
sxhwork|  楼主 | 2007-8-29 14:34 | 只看该作者

USB是一个标准的协议

  USB是一个标准的协议
USB是一个标准的协议,因此对线缆、插头、插座等有严格的规范要求。
    在最初的标准里,USB接头有4条线:电源,D-,D+,地线。我们暂且把这样的
叫做标准的USB接头吧。后来OTG出现了,又增加了miniUSB接头。而miniUSB接头
则有5条线,多了一条ID线,用来标识身份用的。标准USB口只有A型和B型。其中每
一型又分为插头和插座,例如A型插头,A型插座等。我们平常电脑上用的那种插
座叫做A型USB插座,而相应的插头,叫做A型插头,例如U盘上那种。而像打印机
上面那个插座,则是B型插座(比较四方的,没电脑上面那种扁),相应的插头,就
是B型插头。也许你见过一头方一头扁的USB延长线,没错了,扁的那头就叫做A型
插头,而方的那头,就叫做B型插头,而相应的被插的那两个插座,就分别是A型
插座和B型插座了。A型插头是插不进B型插座的,反之亦然。


    miniUSB也分为A型,B型,但增加了一个AB型(不是血型呀,别搞错了,没有
O型^_^)。既然它叫做miniUSB,那么当然它就是很小的了,主要是给便携式设备
用的,例如MP3、手机、数码相机等。USB是一主多从结构,即一个时刻只能有一
台主机。像PC机就是一个主机,其它的只能是设备,因而两个设备之间是无法直
接进行通信的。而USB OTG(on the go)的出现,则解决了这个矛盾:一个设备可
以在某种场合下,改变身份,以主机的形式出现。因而就出现了AB型的miniUSB插
座,不管是A型miniUSB插头,还是B型miniUSB插头,都可以插进去,而靠里面多
出的那条ID线来识别它的身份:是主机还是从机。这样两个USB设备就可以直接连
接起来,进行数据传送了。 像我们MP3上用的那中miniUSB插座,就是B型的
miniUSB插座(注意,有一类miniUSB插座,似乎不是USB规范里面的,因为miniUSB
接头应该有5条线,而这种插座只有4条线)。
 
由于USB是支持热插拔的,因此它在接头的设计上也有相应的措施。USB插头的地引脚
和电源引脚比较长,而两个数据引脚则比较短,这样在插入到插座中时,首先接通电源
和地,然后再接通两个数据线。这样就可以保证电源在数据线之前接通,防止闩锁发生。

    至于USB电缆,通常我们不怎么关心,买现成的就行了,除非你是生产USB线
缆的。在全速模式下需要使用带屏蔽的双绞电缆线,而低速模式模式则可以不使
用屏蔽和双绞。此外,USB协议规定,USB低速电缆长度不得超过3米,而全速电缆
长度不得超过5米。这是因为线缆传输有延迟,要保证能够正确响应,就不能延迟
太多。USB标准规定了里面信号线的颜色,其中Vbus为红色,D-为白色,D+为绿色
,GND为黑色。然而,我见过很多USB线缆并没有遵循标准,所以大家在使用时要
小心,用表测量一下比较可靠。

    更详细的数据,例如封装尺寸等,请参看USB协议。

使用特权

评论回复
板凳
flylongins| | 2007-7-13 13:08 | 只看该作者

待续

使用特权

评论回复
地板
kelan| | 2007-7-16 20:44 | 只看该作者

要做到" 速度要达200Mb/s目标要达480Mb/s;" ,这个不容易实现啊!



使用特权

评论回复
5
drentsi| | 2007-7-17 16:43 | 只看该作者

批量传输我做到42MB/S了

离理论53MB/S还差些,理论上来讲,每个微帧可传传13个数据包,目前相当于每个微帧传了10个包,再往上似乎很难了,操作系统驱动程序要把这13个包填满也不是件容易事,不知道现在主板的性能和两年前强多少了,没测试

使用特权

评论回复
6
hn88| | 2007-7-19 05:23 | 只看该作者

等待中....

sxhwork :怎么没下文了?

使用特权

评论回复
7
sxhwork|  楼主 | 2007-8-6 10:02 | 只看该作者

usb开发的必备知识

C. usb开发的必备知识
usb的基本特性
每一个设备(device)会有一个或者多个的逻辑连接点在里面,每个连接点叫endpoint.每个endpoint有四种数据传送方式:控制(control)方式传送;同步(isochronous)方式传送;中断(interrupt)方式传送;大量(bulk)传送.但是所有的endpoint0都被用来传送配置和控制信息。
在host和设备的endpoint之间的连接叫作管道“pipe",endpoint0叫做缺省(default pipe)。
对于同样性质的一组的endpoint的组合叫做接口(interface),如果一个设备包含不止一个的接口就可以称之为复合设备(composite device)。
同样的道理,对于同样的类型的接口的组合可以称之为“配置"(configuration)。但是每次只能有一个配置是可用的,而一旦该配置激活,里面的接口和endpoint就都同时可以使用。
host从设备发过来的描述字(descriptors)中来判断用的是哪个配置,哪个接口等等,而这些的描述字通常是在endpoint0中传送。
传输方式
在usb的数据传送的方式下,有四种的传输方式:控制(control)同步(isochronous)中断(interrupt)大量(bulk)。如果你是从硬件开始来设计整个的系统,你还要正确选择传送的方式,而作为一个驱动程序的书写者,就只需要弄清楚他是采用的什么工作方式就行了。
通常所有的传送方式下的主动权都在pc边,也就是host边。
·控制(control)方式传送:控制传送是双向传送,数据量通常较小。usb系统软件用来主要进行查询、配置和给usb设备发送通用的命令。控制传送方式可以包括8、16、32和64字节的数据,这依赖于设备和传输速度。控制传输典型地用在主计算机和usb外设之间的端点(endpoint)0之间的传输,但是指定供应商的控制传输可能用到其它的端点。
·同步(isochronous)方式传送:同步传输提供了确定的带宽和间隔时间(latency)。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。例如执行即时通话的网络电话应用时,使用同步传输模式是很好的选择。同步数据要求确定的带宽值和确定的最大传送次数。对于同步传送来说,即时的数据传递比完美的精度和数据的完整性更重要一些。
·中断(interrupt)方式传送:中断方式传输主要用于定时查询设备是否有中断数据要传送。设备的端点模式器的结构决定了它的查询频率,从1到255ms之间。这种传输方式典型的应用在少量的分散的、不可预测数据的传输。键盘、操纵杆和鼠标就属于这一类型。中断方式传送是单向的并且对于host来说只有输入的方式。
·大量(bulk)传送:主要应用在数据大量传送传送和接受数据上,同时又没有带宽和间隔时间要求的情况下,要求保证传输。打印机和扫描仪属于这种类型。这种类型的设备适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型的数据的传送完成之后再传送和接收数据。
还有很多有关usb的接口规范,以及低层的硬件接口编程,内容是非常烦杂,这里就略过,在这里只是想大家在理论的层面上对usb有一个认识,所以**难度相对较高,适合对这方面感兴趣的高手浏览。

(大家可积极参与共同讨论,共同进步)

使用特权

评论回复
8
ebu| | 2007-8-6 10:14 | 只看该作者

USB

常用USB芯片的型号及厂商一些USB芯片的型号及厂商  主机控制器 公司名称  产品举例 CMD  USB0670、USB0673 Cypress  CY7C670xx Intel  440BX AGP、440LX AGP Lucent  USS-302 Motorola  MPC850、MPC823 OPTi  82C861 ScanLogic  SL811H、SL11H Symbios  SYM60800 TransDimension  UH1000 集线器 Alcor Micro  AU2916,AU9412 Ateml  AT43301,AT43311 FDTI  FT8U2100AX Intel  8x930Hx,8x931Hx KC Technology  KC82C160,KC82C169 Motorola  MC141555,MC141556 Philips  PDIUSBH11,PDIUSBH12 Sola Electronics  MSE9701,MSE9712 TI  TUSB204613 USAR Systems  UR3HCGNH Winbond  W81C180,W82C620 USB接口器件 AKM  AK4170 Lucent  USS-820,USS-620 Micrel  MIC2550 National  USBN9602 NetChip  NET2888,NET2890 OKI  MSM60851 Philips  PDUSBD11,PDUSBD12 ScanLogic  SL11,SL16 Thesys  TH6501,TH6503 Sipex  SP5301 USB控制编程模块www.dataie.com   USB20C,USB20D,USB118USB控制器 AMD  AM186CC,AM186CU Anchor  EZ-USB Ateml  AT43USB321,AT43320 Cypress  CY7C63xxx,CY7C64xxx,CY7C65xxx Infineon  C161U,C167UTAH,C541U Intel  8x930Ax,8x931Ax Kawasiki LSI  USB1,USB2,USB3 Microchip  PIC16C745,PIC16C765 Mitsubishi  M7532,M7536 Motorola  MC68HC05JB3,MC68HC05JB4 Philips  P8xCx90,P8xCx95 ScanLogic  SL11R STMicroeletronics  ST7277,ST7271NT Standard Microsystems  USB97C100,USB97C102 USB电源管理 IMP  IMP2525,IMP2526 Micrel  MIC2525,MIC2526,MIC2527 Murata  BLM21P221SG TI  TPS2014,TP2015 Unitrode  UCC3831 特殊功能USB器件 HID接口器件   Alcor Micro  AU9412 CMD  USB678KM2,USB678KM3 Code Mercenaries  MouseWarrior,key Warrior Fairchild  USB100 FDTI  FT8U20BM,FT8U24AM Motorola  MC68HC05JB04 Samsung  KS86C6008,KS86C6104 Sola Electronics  MSE9750,MSE9751 USAR Systems  UR3HCGNH,UR3HCGNM Vitera  Helium Winbond  W81C280,W82C620 Zilog  Z8E520,Z86U18 USB-并口转化器   Lucent  USS-720 Prolific Technology  PL2303 ScanLogic  SL11P2USB Sola  MSE9810 USB-USB转化接口器件   Aox  SE200 Shadow logic  SS-20 Prolific Technology  PL2301,PL2302 USB语音接口器件   AKM  AK5370 Dallas  DS4201 Philips  UDA1321H,UDA1331H USB图象接口器件   Aox  SE400,SE510 Divio  NW801,NW802 Philips  SAA8115HL,SAA8117HL Sunplus  SPCA501A USB-Ethernet接口器件   Kawasiki LSI  KCUSB16 ScanLogic  SL11ETRN Dallas  DS2490 USB/RS-232接口器件   Ateml  AT76C711 USB-ATAPI/IDE 接口器件   ScanLogic  SL11RIDE  

使用特权

评论回复
9
liu_huan| | 2007-8-8 11:14 | 只看该作者

我的CH372只达到了1M

还是用的ARM7

使用特权

评论回复
10
kalaz| | 2007-8-9 12:20 | 只看该作者

USB的时钟

USB的时钟是怎样的啊?还是~~不用~那怎样控制啊?

使用特权

评论回复
11
sxhwork|  楼主 | 2007-8-22 16:11 | 只看该作者

D、 USB总线简介

D、 USB总线简介   

通用串行总线USB(Universal Serial Bus)是由Intel等厂商制定的连接计算机与具有USB接口的多种外设之间通信的串行总线。目前,带USB接口的设备越来越多,如鼠标、键盘、数码相机、调制解调器、扫描仪、摄像机、电视及视频抓取盒、音箱等。    USB总线最多可支持127个USB外设连接到计算机系统。USB的拓扑是树形结构,有1个USB根集线器(root hub),下面还可有若干集线器。1个集线器下面可接若干USB接口。USB线缆包括4条线:Vbus(USB电源)、D+(数据)、D-(数据)和Gnd(USB地)。线缆最大长度不超过5m。USB1.1的传输速率最高为12Mb/s(低速外设的标准速率为1.5Mb/s,高速外设的标准速率为12Mb/s)。图1是典型的USB功能器件结构框图,图2是高速外设的USB线缆与电阻的连接图。图2中:F

使用特权

评论回复
12
sxhwork|  楼主 | 2007-8-22 16:13 | 只看该作者

E、USB总线特点

E、USB总线特点    
(1) 数据传输速率高    
( 2) 数据传输可靠    
( 3) 同时挂接多个USB设备    
(4)  USB接口能为设备供电     
(5) 支持热插拔。    
    USB还具有一些新的特性,如:实时性(可以实现和一个设备之间有效的实时通信)、动态性(可以实现接口间的动态切换)、联合性(不同的而又有相近的特性的接口可以联合起来)、多能性(各个不同的接口可以使用不同的供电模式)。

使用特权

评论回复
13
sxhwork|  楼主 | 2007-8-22 16:15 | 只看该作者

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

  F、USB接口的结构与典型应用
   USB接口引脚定义如图4所示。
  USB接口数据传输距离不大于5米。
其典型应用如下图5所示。         
USB总线上数据传输方式有控制传输、同步传输、中断传输、块数据传输。
在图5所示系统中,USB HOST根据外部USB设备速度及使用特点采取不同的数据传输特点。
如通过控制传输更改键盘、鼠标属性,通过中断传输要求键盘、鼠标输入数据;通过控制传输改变显示器属性,通过块数据传输将要显示的数据送给显示器。

使用特权

评论回复
14
sxhwork|  楼主 | 2007-8-29 13:43 | 只看该作者

有人顶吗

有人顶吗,顶顶顶

使用特权

评论回复
15
computer00| | 2007-8-29 15:06 | 只看该作者

晕,sxhwork不厚道,不但转帖出处不写清楚,还将原来的内容修改


原帖:
 USB专区 > [原创] USB入门系列之四 —— USB的线缆以及插头、插座 
 
computer00 


[原创] USB入门系列之四 —— USB的线缆以及插头、插座
    USB是一个标准的协议,因此对线缆、插头、插座等有严格的规范要求。
    在最初的标准里,USB接头有4条线:电源,D-,D+,地线。我们暂且把这样的
叫做标准的USB接头吧。后来OTG出现了,又增加了miniUSB接头。而miniUSB接头
则有5条线,多了一条ID线,用来标识身份用的。标准USB口只有A型和B型。其中每
一型又分为插头和插座,例如A型插头,A型插座等。我们平常电脑上用的那种插
座叫做A型USB插座,而相应的插头,叫做A型插头,例如U盘上那种。而像打印机
上面那个插座,则是B型插座(比较四方的,没电脑上面那种扁),相应的插头,就
是B型插头。也许你见过一头方一头扁的USB延长线,没错了,扁的那头就叫做A型
插头,而方的那头,就叫做B型插头,而相应的被插的那两个插座,就分别是A型
插座和B型插座了。A型插头是插不进B型插座的,反之亦然。

    miniUSB也分为A型,B型,但增加了一个AB型(不是血型呀,别搞错了,没有
O型^_^)。既然它叫做miniUSB,那么当然它就是很小的了,主要是给便携式设备
用的,例如MP3、手机、数码相机等。USB是一主多从结构,即一个时刻只能有一
台主机。像PC机就是一个主机,其它的只能是设备,因而两个设备之间是无法直
接进行通信的。而USB OTG(on the go)的出现,则解决了这个矛盾:一个设备可
以在某种场合下,改变身份,以主机的形式出现。因而就出现了AB型的miniUSB插
座,不管是A型miniUSB插头,还是B型miniUSB插头,都可以插进去,而靠里面多
出的那条ID线来识别它的身份:是主机还是从机。这样两个USB设备就可以直接连
接起来,进行数据传送了。 像我们MP3上用的那中miniUSB插座,就是B型的
miniUSB插座(注意,有一类miniUSB插座,似乎不是USB规范里面的,因为miniUSB
接头应该有5条线,而这种插座只有4条线)。    由于USB是支持热插拔的,因此它在接头的设计上也有相应的措施。USB插头的地引脚和电源引脚比较长,而两个数据引脚则比较短,这样在插入到插座中时,首先接通电源和地,然后再接通两个数据线。这样就可以保证电源在数据线之前接通,防止闩锁发生。
    至于USB电缆,通常我们不怎么关心,买现成的就行了,除非你是生产USB线
缆的。在全速模式下需要使用带屏蔽的双绞电缆线,而低速模式模式则可以不使
用屏蔽和双绞。此外,USB协议规定,USB低速电缆长度不得超过3米,而全速电缆
长度不得超过5米。这是因为线缆传输有延迟,要保证能够正确响应,就不能延迟
太多。USB标准规定了里面信号线的颜色,其中Vbus为红色,D-为白色,D+为绿色
,GND为黑色。然而,我见过很多USB线缆并没有遵循标准,所以大家在使用时要
小心,用表测量一下比较可靠。
    更详细的数据,例如封装尺寸等,请参看USB协议。
    附图:各种USB插头和插座,来自USB协议。



(来自USB小组专区:http://group.**/93/
                       By computer00 @ 2007-08-25)

使用特权

评论回复
16
computer00| | 2007-8-29 15:10 | 只看该作者

此外还有对本帖的补充部分:


computer00


[补充]如何分辨USB接头的引脚
我们知道USB总共有4根线,分别为
1——Vbus
2——D-
3——D+
4——GND
对于一个具体的插头或者插座,我们怎么去辨认这些脚呢?可以按下面的方法:
对于A型插头,你可以这样看:将A型插头朝上,将引脚露出那面对准自己,这样
从上面看下去,就可以看到每个引脚了。这时从左往右数,分别就是1,2,3,4了。
对于B型插头,也是将插头面朝上,然后然后将两个有倒角的面面向自己,这时右边
那个倒角位置的就是一脚了(长一点的那个),然后顺时针数一圈,分别就是1,2,3,4了。
对于插座,刚好跟它对应的,即1对1,2对2,你只要找出插头的,插座的也就知道了。

2007-08-26 09:19

使用特权

评论回复
17
52lxs| | 2007-8-29 15:15 | 只看该作者

学习了

很丰富

使用特权

评论回复
18
huangqi412| | 2007-8-30 08:09 | 只看该作者

嘘唏了

使用特权

评论回复
19
bus407| | 2007-8-30 08:47 | 只看该作者

资料就不必贴了,大伙都有,还是讲讲到200M的经验好了

使用特权

评论回复
20
陈双君| | 2007-9-3 08:18 | 只看该作者

听说USB软件是很难写的.

听说USB软件是很难写的.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

23

帖子

0

粉丝