USB基本知识及通信协议电子版本.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《USB基本知识及通信协议电子版本.doc》由会员分享,可在线阅读,更多相关《USB基本知识及通信协议电子版本.doc(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。USB基本知识及通信协议-串口通信协议什么是串口串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线UniversalSerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能
2、够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我
3、们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据
4、。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位
5、),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。什么是RS-232RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。R
6、S-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。DB-9针连接头-12345/6789/-从计算机连出的线的截面。RS-232针脚的功能:数据:TXD(pin3):串口数据输出(TransmitData)RXD(pin2):串口数据输入(ReceiveData)握手:RTS(pin7):发送数据请求(RequesttoSend)CTS(pin8):清除发送(CleartoSend)DSR(pin6):数据发送就绪(DataSendReady)DCD(pin1):数据载波检测(DataCarrierDetect)DTR(pin4):数据终端就绪(DataTe
7、rminalReady)地线:GND(pin5):地线其他RI(pin9):铃声指示什么是RS-422RS-422(EIARS-422-AStandard)是Apple的Macintosh计算机的串口连接标准。RS-422使用差分信号,RS-232使用非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好的抗噪声和有更远的传输距离。在工业环境中更好的抗噪性和更远的传输距离是一个很大的优点。什么是RS-485RS-485(EIA-485标准)是RS-422的改进,因为它增加了设备的个数,从10个增加到32个,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压
8、。有了多个设备的能力,你可以使用一个单个RS-422口建立设备网络。出色抗噪和多设备能力,在工业应用中建立连向PC机的分布式设备网络、其他数据收集控制器、HMI或者其他操作时,串行连接会选择RS-485。RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。RS-485可以用超过4000英尺的线进行串行通行。DB-9引脚连接-12345/6789/-从计算机连出的线的截面。RS-485和RS-422的引脚的功能数据:TXD+(pin8),TXD-(pin9),RXD+(pin4),RXD-(pin5)握手:RTS+(pin3),RTS-(pin7),CTS+(pi
9、n2),CTS-(pin6)地线:GND(pin1)什么是握手RS-232通行方式允许简单连接三线:Tx、Rx和地线。但是对于数据传输,双方必须对数据定时采用使用相同的波特率。尽管这种方法对于大多数应用已经足够,但是对于接收方过载的情况这种使用受到限制。这时需要串口的握手功能。在这一部分,我们讨论三种最常用的RS-232握手形式:软件握手、硬件握手和Xmodem。a,软件握手:我们讨论的第一种握手是软件握手。通常用在实际数据是控制字符的情况,类似于GPIB使用命令字符串的方式。必须的线仍然是三根:Tx,Rx和地线,因为控制字符在传输线上和普通字符没有区别,函数SetXModem允许用户使能或者
10、禁止用户使用两个控制字符XON和OXFF。这些字符在通信中由接收方发送,使发送方暂停。例如:假设发送方以高波特率发送数据。在传输中,接收方发现由于CPU忙于其他工作,输入buffer已经满了。为了暂时停止传输,接收方发送XOFF,典型的值是十进制19,即十六进制13,直到输入buffer空了。一旦接收方准备好接收,它发送XON,典型的值是十进制17,即十六进制11,继续通信。输入buffer半满时,LabWindows发送XOFF。此外,如果XOFF传输被打断,LabWindows会在buffer达到75和90时发送XOFF。显然,发送方必须遵循此守则以保证传输继续。b,硬件握手:第二种是使用
11、硬件线握手。和Tx和Rx线一样,RTS/CTS和DTR/DSR一起工作,一个作为输出,另一个作为输入。第一组线是RTS(RequesttoSend)和CTS(CleartoSend)。当接收方准备好接收数据,它置高RTS线表示它准备好了,如果发送方也就绪,它置高CTS,表示它即将发送数据。另一组线是DTR(DataTerminalReady)和DSR(DataSetReady)。这些现主要用于Modem通信。使得串口和Modem通信他们的状态。例如:当Modem已经准备好接收来自PC的数据,它置高DTR线,表示和电话线的连接已经建立。读取DSR线置高,PC机开始发送数据。一个简单的规则是DTR
12、/DSR用于表示系统通信就绪,而RTS/CTS用于单个数据包的传输。在LabWindows,函数SetCTSMode使能或者禁止使用硬件握手。如果CTS模式使能,LabWindows使用如下规则:当PC发送数据:RS-232库必须检测CTS线高后才能发送数据。当PC接收数据:如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。如果输入队列90满,库函数置低RTS,但使DTR维持高电平。如果端口队列近乎空了,库函数置高RTS,但使DRT维持高电平。如果端口关闭,库函数置低RTS和DTR。c,XModem握手:最后讨论的握手叫做XModem文件传输协议。这个协议在Modem通信中非常通
13、用。尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。在LabWindows中,实际的XModem应用对用户隐藏了。只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。函数是XModemConfig,XModemSend和XModemReceive。XModem使用介于如下参数的协议:start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。这些参数需要通信双方认定,标准的XModem有一个标准的定义:然而
14、,可以通过XModemConfig函数修改,以满足具体需要。这些参数的使用方法由接收方发送的字符neg_ack确定。这通知发送方其准备接收数据。它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。如果从发送方收到start_of_data,接收方将读取后继信息数据包。包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。如果发送方没有收到响应,它会重新发送数据
15、包,直到收到响应或者超过重发次数的最大值max_tries。如果一直没有收到响应,发送方通知用户传输数据失败。由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。这导致接收的数据比原数据多。在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。【USB的简述】USB是英文UniversalSerialBUS的缩写,中文含义是“通用串行总线”。它不是一种新的总线标准,而是应用在PC领域的接口技术。USB是在1994年底由
16、英特尔、康柏、IBM、Microsoft等多家公司联合提出的。不过直到近期,它才得到广泛地应用。从1994年11月11日发表了USBV0.7版本以后,USB版本经历了多年的发展,到现在已经发展为2.0版本,成为目前电脑中的标准扩展接口。目前主板中主要是采用USB1.1和USB2.0,各USB版本间能很好的兼容。USB用一个4针插头作为标准插头,采用菊花链形式可以把所有的外设连接起来,最多可以连接127个外部设备,并且不会损失带宽。USB需要主机硬件、操作系统和外设三个方面的支持才能工作。目前的主板一般都采用支持USB功能的控制芯片组,主板上也安装有USB接口插座,而且除了背板的插座之外,主板上
17、还预留有USB插针,可以通过连线接到机箱前面作为前置USB接口以方便使用(注意,在接线时要仔细阅读主板说明书并按图连接,千万不可接错而使设备损坏)。而且USB接口还可以通过专门的USB连机线实现双机互连,并可以通过Hub扩展出更多的接口。USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSLModem、CableModem等,几乎所有的外部设备。USB是一个外部总线标准,用于
18、规范电脑与外部设备的连接和通讯。USB接口支持设备的即插即用和热插拔功能。USB接口可用于连接多达127种外设,如鼠标、调制解调器和键盘等。USB自从1996年推出后,已成功替代串口和并口,并成为当今个人电脑和大量智能设备的必配的接口之一。USB的版本第一代:USB1.0/1.1的最大传输速率为12Mbps。1996年推出。第二代:USB2.0的最大传输速率高达480Mbps。USB1.0/1.1与USB2.0的接口是相互兼容的。第三代:USB3.0最大传输速率5Gbps,向下兼容USB1.0/1.1/2.0usb的应用:随着计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机
19、、扫描仪早已为人所共知,数码相机、MP3随身听接踵而至,这么多的设备,如何接入个人计算机?USB就是基于这个目的产生的。USB是一个使计算机周边设备连接标准化、单一化的接口,其规格是由Intel、NEC、Compaq、DEC、IBM、Microsoft、NorthernTelecom联系制定的。USB1.1标准接口传输速率为12Mbps,但是一个USB设备最多只可以得到6Mbps的传输频宽。因此若要外接光驱,至多能接六倍速光驱,无法再高。而若要即时播放MPEG-1的VCD影片,至少要1.5Mbps的传输频宽,这点USB办得到,但是要完成数据量大四倍的MPEG-2的DVD影片播放,USB可能就很
20、吃力了,若再加上AC-3音频数据,USB设备就很难实现即时播放了。一个USB接口理论上可以支持127个装置,但是目前还无法达到这个数字。其实,对于一台计算机,所接的周边外设很少有超过10个的,因此这个数字是足够我们使用的。USB还有一个显著优点就是支持热插拔,也就是说在开机的情况下,你也可以安全地连接或断开USB设备,达到真正的即插即用。不过,并非所有的Windows系统都支持USB。目前,Windows系统中有许多不同的版本,在这些版本中,只有Windows98以上版本的系统对USB的支持较好,而其他的Windows版本并不能完整支持USB。例如Windows95的零售版是不支持USB的,只
21、有后来与PC捆绑销售的Windows95版本才支持USB。目前USB设备虽已被广泛应用,但比较普遍的却是USB1.1接口,它的传输速度仅为12Mbps。举个例子说,当你用USB1.1的扫描仪扫一张大小为4M的图片,需要四秒钟之久。这样的速度,让用户觉得非常不方便,如果有好几张图片要扫的话,就得要有很好的耐心来等待了。用户的需求,是促进科技发展的动力,厂商也同样认识到了这个瓶颈。这时,COMPAQ、HewlettPackard、Intel、Lucent、Microsoft、NEC和PHILIPS这7家厂商联合制定了USB2.0接口标准。USB2.0将设备之间的数据传输速度增加到了480Mbps,
22、比USB1.1标准快40倍左右,速度的提高对于用户的最大好处就是意味着用户可以使用到更高效的外部设备,而且具有多种速度的周边设备都可以被连接到USB2.0的线路上,而且无需担心数据传输时发生瓶颈效应。所以,如果你用USB2.0的扫描仪,就完全不同了,扫一张4M的图片只需半秒钟左右的时间,一眨眼就过去了,效率大大提高。而且,USB2.0可以使用原来USB定义中同样规格的电缆,接头的规格也完全相同,在高速的前提下一样保持了USB1.1的优秀特色,并且,USB2.0的设备不会和USB1.X设备在共同使用的时候发生任何冲突。USB2.0兼容USB1.1,也就是说USB1.1设备可以和USB2.0设备通
23、用,但是这时USB2.0设备只能工作在全速状态下(12Mbit/s)。USB2.0有高速、全速和低速三种工作速度,高速是480Mbit/s,全速是12Mbit/s,低速是1.5Mbit/s。其中全速和低速是为兼容USB1.1和USB1.0而设计的,因此选购USB产品时不能只听商家宣传USB2.0,还要搞清楚是高速、全速还是低速设备。USB总线是一种单向总线,主控制器在PC机上,USB设备不能主动与PC机通信。为解决USB设备互通信问题,有关厂商又开发了USBOTG标准,允许嵌入式系统通过USB接口互相通信,从而甩掉了PC机。新USB2.0规范重新命名了USB标准将原先的USB1.1改成了USB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 基本知识 通信协议 电子 版本
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内