版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
串行通信接口第一页,共八十七页,2022年,8月28日7.1串行通信与接口
7.1.1串行通信1.并行传输与串行传输并行传输数据代码的每一位各占一条传输线,在两个数据部件之间一次并行传输n位数据。
并行传输适合在一米或数米范围内的近距离高速传输。计算机内CPU与主存之间的数据传输是并行传输的典型例子,并行的位数有8位、16位、32位、64位甚至更多。串行传输
数据代码的所有位顺序串行排列成数据流,在一条线缆上逐位传输。
串行传输速度通常低于并行传输,但节省硬件(线缆),适宜远距离数据传输,通信网及计算机网络中服务器与站点之间、各个站点之间都以串行方式传输数据。
计算机的某些部件之间,如键盘到主机键盘接口电路的按键扫描码传送、磁盘驱动器与磁盘适配器(控制器)之间的数据传输都以串行方式进行。南桥芯片ICH5(2003年)支持的硬盘外部数据传输规范SATA(SerialATA)、广泛应用的USB接口是高速串行传输的典范,串行传输在计算机系统中的应用日益广泛。
并行与串行的数据传输如下图所示。
第二页,共八十七页,2022年,8月28日2.数据传输的同步
数据传输必须同步,以解决接收方在接收到的源源不断的数据流中如何正确区分发送方发送来的每一个代码,正确完成传输任务。并行传输因其距离进,收发双方可用同一频率时钟进行发送和接收,或增加一根或几根状态控制线(称握手信号线)进行联络,协调收发双方,保证数据代码正确传输。在计算机和通信设备内部,不少部件之间都设有专门的握手信号线。
在串行通信中,一般不设握手信号线,因此,必须在传输的数据编码中解决同步问题。为了正确识别代码和恢复报文,收发双方必须区分出:◆每个比特,即每个二进位;◆每个代码(如ASCII字符),即区分出每个代码的
起始位和结束位;◆完整的报文数据块,即数据帧的开始和结束。上述三个问题分别是位同步、字符同步和帧同步。
数据串行传输有异步传输和同步传输之分。
采用异步传输方式,发送和接收设备的时钟是异步的;
采用同步传输方式,收发的时钟是同步的。同步传输具有较高的传输效率和速率。
第三页,共八十七页,2022年,8月28日2.数据传输的同步(续)
异步传输异步传输每个字符前后分别加上起始位和停止位,表示一个字符的开始和结束,实现字符同步。起始位为“0”,长度为一个二进数据位(bit)的持续时间;停止位为“1”,长度为1、1.5或2个二进数据位的持续时间;字符的数据位可为5、6、7或8位;数据位后停止位前可以设置一位奇偶校验位,也可没有校验位。异步传输如下图所示。
传输时每一位宽度(占用的时间长度)由收发双方编程约定,保持不变,从而实现字符内的位同步。每位传输时间的倒数称波特率。字符之间的间距(时间间隔)是任意的,所以传输一帧的时间是不定的,靠传送特殊字符来表示一帧的开始和结束,实现帧同步。异步传输收发之间无须传送定时信号,实现简单。缺点是每个字符都要加上起始位和停止位,传输效率低;而且收发双方时钟未严格同步,故通信时钟频率不能过高(否则一个字符传输时间内,收发时钟差异积累若达半个数据位宽就将使传输的字符出错),因而速度低,常用于低速数据传输。
第四页,共八十七页,2022年,8月28日2.数据传输的同步(续)同步传输同步传输时收发双方的时钟完全相同,时钟与传输的每一位严格对应,保持位同步;字符间顺序相连,没有间隙也没有插入位,在位同步的基础上靠完全相同的收发时钟和收发顺序来达到字符同步;在一帧字符前后有帧同步字符(或外加同步脉冲)和帧终止字符,实现帧同步;帧与帧之间是空白字符。同步传输如下图所示。要做到收发时钟完全相同,近距离传输时可加一条时钟信号线,用同一时钟发生器驱动发送和接收设备;远距离传输时可通过编码技术(如曼彻斯特编码等)将发送时钟信息附加到数据流中,用一条信号线传输之,接收端用锁相技术从数据流中提取时钟信号,得到同发送端在频率和相位上完全相同的接收时钟。同步传输较为复杂,但节省传输时间,具有较高的传输速率和效率。
第五页,共八十七页,2022年,8月28日3.传输速率
传输速率指单位时间内传送的信息量。一般用每秒钟传送的二进位数(比特数)即比特率bps(bitspersecond)来衡量。数据传输速率反映了主机通信端口与终端设备之间、终端设备相互之间的信息传输能力,通常指发送端和接收端之间在一段时间内数据传输的平均比特数,单位为bps(位/秒)、Kbps(千位/秒)、Mbps(兆位/秒)。在同步通信中,每个发/收时钟内发送/接受一个比特,因此比特率与通信时钟频率相同。信息传输速率与传输过程中的同步方式、差错编码及冗余字符填充、通信控制规程等诸种因素有关。当进行串行异步通信时,通常用n个时钟周期宽度来表示一个二进位数据(n常为16或64),为避免混淆,这时常用另一个速率测量单位——波特率(baudrate),它指每秒钟传送二进制数据位数。采用串行同步通信,每个时钟发送(或接收)一个二进位,因此如果忽略同步字符等附加位,波特率就等于比特率;而采用串行异步通信,波特率等于时钟频率除以n。接收/发送时钟频率与波特率的关系如下: 收/发时钟频率=n×收/发波特率其中n=1,16,(32),64同步传送必须n=1;异步传送常选n=16,也可选n=1或64,括号内的数值(32)尽量不选,因为许多通信电路不支持它。
第六页,共八十七页,2022年,8月28日3.传输速率
异步传输,收、发端使用独立的时钟,时钟频率须相同,其误差容限在4.5%以内,大多数接收端时钟比发发端时钟频率略快。异步传输常采用16个时钟周期发送一个数据位,即数据位宽Td≈16×Tc,Tc是时钟周期。接收器在每个时钟的上升沿对传输线上的信号电平采样,检测到低电平后再延续8个时钟周期,仍在上升沿采样、监测传输线是否仍为低电平,若不是低电平则判为假起始位(传输线上噪音干扰产生的误动作),删除之;若仍是低电平则判为真起始位(已定位在16个时钟周期构成的起始位的中间点),以此为时间基准,每隔16个时钟周期Tc对传输线上送来的数据位采样,如右图所示。在时间上每一个采样点都接近每一位位宽的中心点,避免了干扰,有效地实现了收发同步。
第七页,共八十七页,2022年,8月28日
4.通信工作方式
按在不同方向上数据传输能力,传输线路有三种基本工作方式。
单工通信两通信终端只能由一方将数据传输给另一方,即一方仅可作为发送端,另一方只能为接受端。半双工通信两通信终端都可以发送或接收数据,但任何一方都不能在同一时间内又发又收,在同一时间内只能由一方发另一方收。 某些领域内将单工通信称为单向通信,而将半双工通信称为单工通信。全双工通信两通信终端都可以同时在两个方向上进行数据的发送和接收。 一般情况下,一条物理链路只能进行单工或半双工数据通信,而全双工信道需要两条传输链路。一条传输链路通常由两条传输线组成,称为二线制线路。
第八页,共八十七页,2022年,8月28日5.校验方式
数据代码在存储、传输和处理过程中,由于干扰或衰减会发生突变,出现差错。若不能及时识别、纠正这种差错,将产生无法预料的后果。适当增加代码长度,按一定算法进行变换,形成含一定冗余度的校验码,可在一定范围内对错误进行检测甚至纠正。
一般情况下,数据冗余度越大,校验码的检错、纠错能力越强。但冗余度越大,占据的存储空间越多,传输和处理的时间越长,使系统效率降低。校验码一般可分为两种:检错码和纠错码。检错码可以发现某些错误而不能纠正错误;纠错码不仅能发现某些错误,还能在一定程度上予以纠正。产生校验码的方法很多,如奇偶校验码、循环冗余校验码(CRC)、恒比码、群计数码、海明码等等,前两种校验码在计算机中有广泛的应用。
(1)奇偶校验(ParityCheck)奇偶校验码最简单,无纠错能力。编码规则是先将数据代码分组(如一个ASCII字符为一组),在各组数据后加一位校验位,使包括校验码在内的数据代码中“1”的个数恒为偶数个(偶检验)或奇数个(奇校验)。设b0~bm-1是同一组内m位数据,bm是附加的校验位,则偶校验:bm=b0⊕b1⊕…⊕bm-1奇校验:bm=b0⊕b1⊕…⊕bm-1⊕1
进行校验时,必定:偶校验
b0⊕b1⊕…⊕bm-1⊕bm≡0(有偶数个“1”)
奇校验
b0⊕b1⊕…⊕bm-1⊕bm≡1(有奇数个“1”) 否则出错。第九页,共八十七页,2022年,8月28日5.校验方式(续)奇偶校验码只能检出数据代码中奇数个错误,偶数个错误必定漏检。理论计算和统计结果都表明:奇偶校验能查出绝大多数随机错误,漏检率为3.5×10-4,但对诸如通信系统中可能出现的突发性错误,漏检率接近1/2。根据数据代码的分组方法,奇偶校验可分为垂直奇偶校验、水平奇偶校验和纵横奇偶校验,水平奇偶校验相对比垂直奇偶校验复杂;纵横奇偶校验又称垂直水平奇偶校验,查错能力最强,能查出垂直和水平方向上的奇数个错误,还能查出不大于代码长度的突发错误,它产生校验码和校验逻辑更为复杂。(2)循环冗余校验CRC(CyclicRedundancyCheck)CRC性能优秀,但其编码、检错、纠错的算法复杂。随着VLSI的发展,CRC的复杂算法都已由硬件电路实现,速度远高于软件计算;因此,CRC广泛用于计算机网络设备中。CRC码又称(n,k)循环码,此编码共n位,前k位为数据位,后(n-k)=r位为冗余位,冗余位是原数据代码模2除某个r位二进制数得到的余数。对(n,k)循环码,有且只有一个r位二进制数g,满足:◆
(n,k)循环码中任一合法码字都是g的整数倍,即任一合法码字模2除g的余数都为0;◆任一非法的(n,k)循环码码字模2除g的余数都不为0;◆合法的(n,k)循环码右移一位后仍为合法的循环码。g所对应的多项式称为生成多项式g(x),即把码字中码元当作多项式的系数(取值为0或1),码元所处的位置(从右向左数)作为对应项的幂。第十页,共八十七页,2022年,8月28日5.校验方式(续)CRC校验过程为:将发送帧看成是一长串的二进制位流,在发送的同时连续模2除一个二进制数(即生成多项式),数据位发送完毕再接着发送模2相除所得到的余数;接收方将接收到的二进制位流(包括余数)模2相除同一个生成多项式,若能除尽则认为传输无误,若除不尽肯定出错。模2加减即按位加减,不考虑进位和借位;模2乘除是在模2加减基础上进行乘除运算。CRC校验广泛用于高速同步通信。常用的生成多项式有CRC-12x12+x11+x3+x2+1美国二进制同步系统(如磁盘控制器)中采用,CRC-16x16+x15+x2+1(同上)CCITTx16+x12+x5+1SDLC/HDLC通信规程中多采用CRC-32x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
IEEE802.3标准的计算机局域网中采用CRC码查错功能较强,能查出:◆
全部奇数个错;◆
全部双错;全部不多于冗余位r=(n-k)的突发性错误;◆
对(n-k+1)位突发错,检出率为1-2-(r-1); ◆对大于(n-k+1)位突发错,检出率为1-2-r。第十一页,共八十七页,2022年,8月28日5.校验方式(续)(3)数据传输质量 数据传输质量常用误码率来衡量,误码率是个统计平均值:误码率=接收方出现差错的比特数/总的传输比特数×100%差错有独立型差错和突发型差错,前者码元间差错不存在关联,后者多是由于外界强干扰引起的突发或成片差错。独立型差错又称随机差错,可通过改进传输设备和传输线路加以改善;突发型差错严重而通过检错纠错编码仍无法纠正的,接收方只有要求对方重发。
6.调制-解调与多路复用二进制数字信号都是脉冲信号,其频谱很宽,从直流到很高频率;计算机进行远程数据传输大多借用现成的公用通信网。而公用通信网对用户端开通的通信信道带宽是有限的,如电话网为300Hz~3400Hz。因此,对于远程数据传输,发送端要将数字信号经调制器调制成适合在通信信道上传输的模拟信号,到达接收端后用相应的解调器将模拟信号还原成原先的数字信号。对于需要收发的通信终端,将调制和解调两种设备做在一起,这就是调制解调器Modem(Modulator-Demodulator)。
第十二页,共八十七页,2022年,8月28日6.调制-解调与多路复用(续)调制信号的方法很多,常见的有调幅、调频、调相三种信号变换,分别称为ASK(幅度键控)、FSK(移频键控)、PSK(移相键控),如下图所示。
对二进制数值“0”和“1”,ASK用正弦波的两个不同振幅值表示,FSK用两个不同频率表示,PSK用一定频率正弦波的两个不同相位表示。
对移相调制PSK有二相调制:移相0°表示0,移相180°表示1;四相调制:相位角变化0°、90°、180°、270°分别表示二位二进制数00、01、10、11;八相调制:相位角变化0°、45°、90°、135°、180°、225°、270°、315°分别表示三位二进制数000、001、010、011、100、101、110、111。
在高速调制解调器中,除移相调制PSK外,还常有相位幅度调制PAM,用相位和幅度不同状态的组合来表示数位二进制数。
第十三页,共八十七页,2022年,8月28日6.调制-解调与多路复用(续)在长途通信中常用光纤、卫星、地面微波、同轴电缆等传输信号,它们容量高、频带宽,为了充分、高效、合理利用通信资源,一般采用多路复用技术,让多路数据信号共同使用一条线路进行传输:发送端将来自多条输入线的多路数据信号组合、调制成复用数据信号送上高容量的数据链路,接收端用多路分配器接收复用数据信号,依照信道分离(分配)、还原为多路数据,将其送到相应的输出线上。多路复用技术逐步发展,从最初的由多条电线组成一根电缆的空分多路复用SDM(SpaceDivisionMultiplex)、到模拟通信中的频分多路复用FDM(FrequencyDivisionMultiplex)、到数字信号传送的时分多路复用TDM(TimeDivisionMultiplex)和统计时分多路复用SDTM(StatisticalTDM,又称异步TDM或智能TDM),而现代广泛应用于卫星通信和移动通信的是码分多路复用CDMA(CodeDivisionMultiplexAddress,又称码分多址),随着光纤通信的发展又出现了波分多路复用WDM(WavelengthDivisionMultiplex)和光频分多路复用OFDM(OpticalFrequencyDivisionMultiplex),本质上WDM和OFDM属于频分多路复用FDM。
第十四页,共八十七页,2022年,8月28日7.1.2串行接口
1.串行接口标准简介数据的发送者和接收者分别称为数据源和数据宿,统称为数据终端设备,即DTE(DataTerminalEquipment)。DTE之间的通路称为数据电路。数据信号必须经信号变换设备变换后才能送上(通信网的)传输信道进行传输,传输的信号也必须经反变换后才能为DTE所接收。信号变换设备位于数据电路的终端,称为数据电路终接设备,即DCE(DataCircuitingEquipment)。在简单的计算机数字传输系统中,计算机(或准确地讲计算机串行接口)就是DTE,调制解调器MODEM就是DCE,它们位于OSI通信模型的最低层——物理层。
为了统一物理层的操作,使得不同厂家生产的设备能相互连接起来,国际标准化组织ISO、国际电报电话咨询委员会CCITT、电气和电子工程师协会IEEE、美国电子工业协会EIA均制定了相应的标准和建议,例如CCITT制定的通过电话网进行数据传输的V系列建议、通过公用数据网进行数据传输的X系列建议、IEEE制定的用于局域网的IEEE802系列标准等等。其中两个最著名的协议实例是CCITTV.24和X.21。
由于计算机网络最早使用的是模拟电话信道,CCITT较早地开发和建立了适合于电话网的CCITTV.24,用作计算机或终端与Modem之间的接口标准。CCITTV.24与广为流行的EIARS-232-C标准相兼容,作为DTE-DCE之间的模拟接口标准非常实用。第十五页,共八十七页,2022年,8月28日1.串行接口标准简介(续)RS-232-C规定了接口接插件(插头、插座)的规格、尺寸、针孔的数量与排列等机械特性如下图所示。RS-232-C规定了连线的电气特性:信号电平采用负逻辑,即逻辑“1”为-3V~-15V,逻辑“0”为+3V~+15V;使用分立元件实现不平衡双流接口,最大工作速率为20Kbps,采用ISO2110规定的25芯连接器。当采用电容性(约150pF/m)多芯电缆时,最大缆长不超过15m。RS-232-C功能特性规定每条接口线有一个功能,接口线以英文字母组合命名。RS-232-C规程特性定义了接口控制信号线上电平升降的动作序列,它们对应了接口两侧物理连接的建立、维持、拆除以及比特流的传送情况。第十六页,共八十七页,2022年,8月28日1.串行接口标准简介(续)计算机还用到其它串行接口。如IBMPC机支持20mA电流环方式。以20mA电流的有和无来表示逻辑电平“1”和“0”,有4条信号线:发送+、发送-、接收+、接收-;在机器内借用RS-232-C的D型25针连接器中未使用的9、11、18、25号引线做为上述4条信号线。20mA电流环抗干扰能力强、传输距离远,是个非正式标准。高速远距离大容量传输场合,也用到RS-422和RS-423,它们采用差分平衡传输线和差分不平衡传输线,最大传输距离达1500m,传输速率可分别达到1Mbps和100Kbps。1997年以后,支持通用串行总线USB标准的外设迅猛发展,USB接口受到普遍支持,大有取代其它各种外设接口的架势,详见后述。
第十七页,共八十七页,2022年,8月28日2.串行接口连接
以RS-232-C为例介绍串行接口的连接。RS-232-C标准规定了串行通信时数据终端设备DTE(例如计算机)和数据电路终接设备DCE(如MODEM)之间的接口信号。RS-232-C共定义25条线,包括2条地线、4条收发数据线、11条控制线、3条定时线,另有2条留作测试用、3条保留备用。实际上常用的只有9条,分述如下。(2)数据收发线TxD:发送数据线DTE将串行数据经TxD端发送至DCE。RxD:接收数据线DTE从RxD端接收DCE送来的串行数据。当数据传输距离大于15米时,DTE之间要加Modem进行调制解调,一般要用到RS-232-C定义的5~9条信号线,Modem之间距离近可用专线,距离远可通过电话网传输,接口连接如下图所示。
SG:信号地。第十八页,共八十七页,2022年,8月28日1.串行接口标准简介(续)
数据传输距离小于15米时,可在DTE之间直接通过RS-232-C连线而无须Modem,最简单情况只要使用3条信号线就能进行全双工通信,各种接线方式如右图所示。第十九页,共八十七页,2022年,8月28日7.2可编程通信接口芯片
通信接口硬件电路可分为UART(UniversalAsynchronousReceiver/Transmitter:通用异步收发器)、USRT(UniversalSynchronousReceiver/Transmitter:通用同步收发器)和USART(UniversalSynchronous-AsynchronousReceiver/Transmitter:通用同步-异步收发器)。PC机中串行通信接口使用8250,属UART,只支持异步通信,采用单通道双缓冲结构,芯片外部有40条引脚。8251A-PCI(ProgrammableCommunicationInterface:可编程通信接口)属USART,采用单通道双缓冲结构,芯片有28条引脚。8251A的基本性能如下。◆
同步传输:每个字符可设为5~8位,可内同步或外同步,内同步自动插入同步字符;
传输速率可达64Kbps。◆异步传输:每个字符可设为5~8位,传输速率可达19.2Kbps,收发时钟速率可为传
输波特率的1、16或64倍,可编程产生1、1.5或2位的停止位,能检测假起始位,自
动检测奇偶错、格式错和溢出错。◆
完全双工,具有双缓冲的接收器和发送器。所有输入输出电平与TTL兼容。
第二十页,共八十七页,2022年,8月28日7.2.1编程结构
8251A有五个主要组成部分:面向通信端的接收器、发送器、调制解调控制逻辑和面向CPU端的读写控制逻辑、数据总线缓冲器。
(1)接收器接收器按接收时钟RxC的节拍将RxD引脚上的串行数据一位位地移入接收移位寄存器,按规定去掉起始位、校验位和停止位,一个字符接收完毕再将接收移位寄存器中并行数据送入接受数据缓冲寄存器。接收移位寄存器接收串行数据,送出并行数据,完成串-并转换。接收移位寄存器和接收数据缓冲寄存器组成了接收的双缓冲器结构。
(2)发送器发送器按TxC的节拍,将发送移位寄存器中的数据按规定的格式装上起始位、校验位和停止位,再一位一位移到TxD引脚发送出去。发送的数据先由CPU送入发送数据缓冲寄存器,当发送移位寄存器移空时,自动将发送数据缓冲寄存器的内容装入发送移位寄存器。发送移位寄存器装入的是并行数据,送出的串行数据,完成并-串转换。
发送数据缓冲寄存器和发送移位寄存器组成了发送的双缓冲器结构。
第二十一页,共八十七页,2022年,8月28日7.2.1编程结构(续)(3)调制解调(Modem)控制逻辑Modem逻辑控制产生8251A与Modem之间二对(四线)联络信号:和、和,以协调8251A与Modem之间同步地传输数据。(4)读写控制逻辑读写控制逻辑对系统送入8251A的控制信号进行译码,实施对8251A的读写操作,如下表所示。(5)数据总线缓冲器数据总线缓冲器包括状态缓冲寄存器、命令缓冲寄存器,以及发送数据缓冲寄存器、接收数据缓冲寄存器,经双向三态数据引脚D7~D0与系统数据总线相连。CPU用输入/输出指令对8251A读/写数据、或读状态字/写控制字,都通过数据总线缓冲器进行。
第二十二页,共八十七页,2022年,8月28日7.2.2引脚及其功能
8251A芯片是N沟道硅栅工艺MOS器件,采用28脚DIP封装,如下图所示。
(1)数据线D7~D0
双向三态收发的数据、写入的方式字/同步字符/命令字、读出的状态,都经D7~D0进行。
(2)读写控制线C/-D(Control/Data)控制/数据信号,输入C/-D引脚有两种状态,表征8251A芯片内的数据端口和控制(状态)端口。当-CS有效时,C/-D=0表示对8251A读写数据,C/-D=1则表示读状态或写控制字。-RD(Read)读,输入,低电平有效。有效时表示对8251A进行读操作。-WR(Writ)写,输入,低电平有效。有效时表示对8251A进行写操作。RESET复位,输入,高电平有效。RESET有效使8251A复位到空闲状态,只有重新初始化才能脱离空闲状态。CLK时钟输入CLK周期规定在0.32μs~1.35μs之间。在同步方式CLK频率大于TxC或RxC(收或发时钟)30倍,异步方式须大于收发时钟4.5倍。
-CS(Chipselect)片选信号,输入,低电平有效接地址译码器的输出,有效后才能对8251A进行读写操作。第二十三页,共八十七页,2022年,8月28日7.2.2引脚及其功能
(3)发送器引脚TxD(TransmitterData)发送数据线,输出。TxC(TransmitterClock)发送时钟,输入。TxRDY(TransmitterReady)发送准备好,输出,高电平有效。当允许发送且发送数据缓冲寄存器已空时,TxRDY有效,告知CPU将下一个发送字符送来。该引脚可作为中断请求信号向CPU申请发送中断。TxE(TransmitterEmpty)发送器空,输出,高电平有效。TxE有效表示发送移位寄存器移空,已无数据可发。TxE有效,必然TxRDY已经有效。(4)接收器引脚RxD(ReceiverData)接收数据线,输入。RxC(ReceiverClock)接收时钟,输入。RxRDY(ReceiverReady)接收准备好,输出,高电平有效。RxRDY有效,表示接收数据缓冲器中已收到一个接收好的数据,可供CPU来读取。该引脚可作为中断请求信号向CPU申请接收中断。SYNDET/BRKDET(SynchronousDetect/BreakDetect)同步检测/断点检测,输出/输入,高电平有效。 ◆8251A工作于同步方式该引脚表示SYNDET,内同步时该引脚为输出,有效状态(高
电平)表示8251A已经检测到同步字符;外同步时该引脚为输入,由该引脚输入同步
脉冲,上升沿启动8251A接收数据。 ◆8251A工作于异步方式该引脚表示BRKDET,是输出信号,有效状态(高电平)表示
接收端检测到间断点(编程规定长度的全“0”字符);恢复正常数据接收时该引脚被
复位。
第二十四页,共八十七页,2022年,8月28日7.2.2引脚及其功能
(续)(5)Modem联络线
-DTR(DataTerminalReady)数据终端准备好,输出,低电平有效。8251A以有效来通知Modem:DTE(即8251A)已经准备好。-DSR(DataSetReady)数据装置准备好,输入,低电平有效。这是Modem对的应答信号:表示调制解调器已准备好。-RTS(RequestToSend)请求发送,输出,低电平有效。8251A通过有效来向Modem提出发送数据的请求。-CTS(ClearToSend)允许发送,输入,低电平有效。这是Modem对的应答信号:Modem已经准备就绪,8251A可以发送数据。只有有效,TxRDY引脚才可能有效。
第二十五页,共八十七页,2022年,8月28日7.2.3数据收发过程
1.发送过程设置好8251A方式字(规定数据格式、通信方式和通信波特率)后,CPU输出命令字到8251A,使其-DTR与-RST引脚有效(通知Modem),待Modem来的-DSR、-CTS以及TxRDY引脚有效(读状态字识别)后,CPU用输出指令将发送数据输出至8251A的发送数据缓冲寄存器(TxRDY变为无效),发送数据缓冲寄存器的内容再送至发送移位寄存器(此时TxRDY又变为有效,等待CPU送来下一个发送数据),发送移位寄存器按照发送时钟TxC的节拍将其内容一位一位地移到TxD输出数据线上串行发送出去。若是异步通信方式,控制逻辑按规定的格式给发送数据加上起始位、校验位和停止位。若是同步方式,外同步在外界同步脉冲触发后/内同步在发送同步字符(一个或两个)后,再按TxC节拍将发送移位寄存器内容逐位移到TxD输出数据线上。当发送移位寄存器移空时,发送数据缓冲寄存器内容自动装入发送移位寄存器,接着发送下一个字符的各位,如此不断重复,使数据发送连续进行。CPU通过查询或中断方式及时地将发送数据送到发送数据缓冲寄存器,保证内存中待发送的数据经发送数据缓冲寄存器——发送移位寄存器——TxD,按TxC的节拍,源源不断地从TxD引脚线上发送出去,直至发送结束。若发送的数据不能及时送到发送数据缓冲寄存器(TxRDY有效),8251A按照既定的TxC速率对发送移位寄存器继续发送,将发送移位寄存器移空后TxE变为有效,发送过程就将中断(没有有效的数据供发送)。
第二十六页,共八十七页,2022年,8月28日7.2.3数据收发过程(续)2.接收过程初始化设置好8251A方式字,对内同步方式CPU输出命令字使8251A进入收索同步字符状态,不断判断RxD引脚上是否接收到同步字符(一个或二个),若接收到同步字符,CPU输出命令字允许8251A开始接收数据。对外同步方式,则接收到输入的同步脉冲后开始接收数据。同步方式按RxC节拍从RxD引脚上逐位接收串行数据放入接收移位寄存器中,每接收完一个字符后就将接收移位寄存器中内容装入接收缓冲寄存器中。
对异步方式允许接收后,8251A不断判断RxD引脚上是否收到起始位(“0”电平),若收到起始位则每隔若干时钟周期在数据位的中间点判断RxD引脚上接受的是“0”还是“1”,每接收完一帧(一个字符)8251A就按规定的格式去掉起始位、校验位和停止位,将接收移位寄存器中内容装入接收缓冲寄存器中。接收缓冲寄存器中每装入一个接收的字符,RxRDY引脚输出有效,同时状态寄存器的RxRDY位为“1”;如果接收的字符出错,则状态寄存器的相应出错标志位(共3个)置位。CPU用中断或查询方式读取接收的数据。
中断方式由RxRDY引脚经中断控制器向CPU申请中断;
查询方式CPU首先从8251A状态寄存器读入状态字,判断一个字符是否接收完毕?接收是否出错?若接受完毕且无差错则从接收数据缓冲寄存器中读入数据,否则等待或进行出错处理。
若CPU迟迟未取走已经送到数据缓冲寄存器中的接收数据,8251A按RxC节拍从RxD引脚上又接收完一个字符数据并再次装入接收数据缓冲寄存器中,则前一个接收数据将被冲掉,这就发生了重叠错(又称溢出错,状态寄存器的D4=1)。
第二十七页,共八十七页,2022年,8月28日7.2.4初始化编程
8251A是可编程单通道全双工通信接口芯片,软硬件协调工作,不管是发送还是接收数据,都必须先对芯片进行初始化编程。初始化编程定义8251A通信方式、字符格式、传输波特率等,设置收发操作及其工作状态。
1.初始化流程初始化向8251A写入方式字、(同步字符)和命令字,它们都写入芯片的控制端口,靠写入时的状态和顺序来区分。在8251A复位状态下,依次写入方式字→(同步字符)→命令字,异步方式或外同步方式时不需写入同步字符。初始化后8251A才能收发通信,其流程如右图所示。
8251A只有一个控制端口,必须复位后才能写入方式字、同步字符和命令字,而复位又必须由命令字完成,如何进行呢?一般先向控制口连续写入两个字节0AAH、40H,0AAH称为虚字节,若8251A认为是方式字则为异步方式,接着向控制口写入的必定是命令字;若8251A认为是命令字,则没有内部复位(D6=0),接着向控制口写入的仍为命令字。因此接在0AAH之后写入的40H为命令字,执行内部复位(D6=1),接下来向控制口写入的肯定是方式字了,开始实际的初始化操作,本小节最后的接收程序对8251A就是这样开始初始化编程的。
第二十八页,共八十七页,2022年,8月28日2.方式控制字
方式控制字规定了8251A通信的字符格式与校验、波特率系数和同步方式。其格式如下图所示。
D1D0=00为同步传输,
D1D0=01、10、11为异步传输,波特率系数分别为×1、×16、×64。D3D2决定一个字符的长度。D5D4定义字符的奇偶校验及校验方式。D4=0则D5位无效D7D6同步时规定同步方式和单/双同步字符;异步时规定停止位位数。
第二十九页,共八十七页,2022年,8月28日3.命令控制字
命令控制字规定了8251A芯片的收—发操作及其状态,其格式如下图所示。
D0允许发送位:=1允许发送,=0禁止发送。只有D0=1,TxRDY才可能有效。D1数据终端准备好:=1使-DTR引脚有效(为0)。D2允许接收位:=1允许接收,=0禁止接收。只有D2=1,RxRDY才可能有效。允许接收必须使错误标志复位(使命令字D4=1),在同步方式允许接受时还必须进入同步收索操作(使命令字D7=1)。D5请求发送位:=1使引脚-RTS有效,向Modem提出发送请求。D6内部复位位:=1强制8251A内部复位,使之回到准备接收方式字状态。D7进入收索操作位:只用于内同步方式,为1使8251A进入收索同步字符操作状态,收索到则使SYNDET引脚有效,并开始对数据的接收操作。D3发送断点字符位:=1迫使TxD端发送断点字符“1”,=0正常传输。D4出错标志复位位:=1使状态寄存器中三个出错标志位复位,以便重新接收字符。
第三十页,共八十七页,2022年,8月28日4.状态字
状态寄存器记录了8251A在收发数据过程中的状态,供CPU读取。状态字格式如下图所示。
D0:TxRDY位,为1表示发送数据缓冲寄存器已空。D1:RxRDY位,为1表示接收数据缓冲寄存器中已有一个接收好的数据。D2:TxE位,为1表示发送移位寄存器已空(无数据可发),其电平与TxE引脚相同。D3:PE(奇偶错)位,为1表示接收到的数据出现奇偶校验错。D4:OE(溢出错)位,为1表示出现溢出错,前一个已接受好的数据被冲掉。D5:PE(格式错)位,为1表示不能收到字符的有效停止位,字符格式出错。D6:SYNDET/BRKDET(同步/断点检测)位,为1表示已经检测到同步字符(内同步方式)或接收到断点字符(异步方式)。D7:DSR(数据装置准备好)位,为1表示Modem已准备好,电平状态与引脚-DSR相反。
第三十一页,共八十七页,2022年,8月28日5.8251A应用
(1)8251A与CPU、RS-232-C的硬件连接8251A作为串行通信接口,与CPU、RS-232-C的硬件连接如下图所示。 经RS-232-C标准接口,8251A可连接异步/同步调制解调器等通信设备。
第三十二页,共八十七页,2022年,8月28日(2)软件编程控制通信
以甲乙两台TP86单板机之间通信为例介绍编程控制。两台单板机均以8251A作为DTE,若距离很近,只需将甲机8251A的TxD、RxD同乙机8251A的RxD、TxD引线互连、再将信号地线GND直接相连即可。若相距较远,可经RS-232-C接口使用Modem、再经专线或电话网连接通信,参考前图。要求把甲机上存储在TBUFFER缓冲区、长度为2DH的数据块(一段显示程序)传送到乙机的RBUFFER的缓冲区中,采用异步方式,字符长度为8位、停止位2位、无校验,波特率系数为16。因此8251A的方式字为0CEH,发送命令字为33H(DTE准备好、允许并请求发送、错误标志复位),接受命令字为54H(错误复位、允许接受)。CPU采用查询方式与8251A交换数据,8251A的控制口地址为0F2H,数据口地址为0F0H(即8251A的C/接系统地址总线A1)。接收与发送程序分别编写,每个程序都包括8251A初始化、状态查询和数据传输。第三十三页,共八十七页,2022年,8月28日TP86发送程序CSEG SEGMENTASSUME CS:CSEG
;以下是待发送的45个字节数据TBUFFER DB<…………> DB<…………>TCOUNT EQU$-TBUFFER TRAN PROC FAR MOVDX,0F2H ;DX指向控制口
MOVAL,0 ;连同以下三句使8251A进入复位状态
OUTDX,AL OUTDX,AL OUTDX,AL MOVAL,40H ;内部复位命令字
OUTDX,AL NOP MOVAL,0CEH ;设置方式字
OUTDX,AL MOVAL,33H ;设置发送方命令字
OUTDX,AL MOVCX,TCOUNT ;设置发送字节数
LEASI,TBUFFER ;发送字节的首地址送SI地址指针第三十四页,共八十七页,2022年,8月28日TP86发送程序(续)
LTRA: INAL,DX ;读取状态
TESTAL,01H ;发送缓冲器空吗?
JZLTRA ;不空则继续询问等待
MOVDX,0F0H ;DX指向数据端口
MOVAL,[SI] ;取发送字节
OUTDX,AL ;送去发送
INCSI ;指向下一个发送字节
MOVDX,0F2H
LOOPLTRA ;未发送完,继续
JMPFF00:0000H ;发送完毕,返回监控
TRAN ENDP
CSEG ENDS
END
第三十五页,共八十七页,2022年,8月28日TP86接收程序CDSEG SEGMENT ASSUME CS:CDSEGRBUFFER DB 45DUP(?) ;设置45个字节长的接受字符缓冲区
RCOUNT EQU$-RBUFFERRECE PROC FARSTART: MOVDX,0F2H ;DX指向控制口
MOVAL,0AAH ;使8251A进入复位状态
OUTDX,AL MOVAL,50H ;复位并清除出错标志命令
OUTDX,AL NOP MOVAL,0CEH ;设置方式字
OUTDX,AL MOVAL,54H ;设置接收方命令字
OUTDX,AL MOVCX,RCOUNT ;设置接收字节数
LEADI,RBUFFER ;DI指向接受缓冲区首地址
第三十六页,共八十七页,2022年,8月28日TP86接收程序(续)
LREC: MOVDX,0F2H ;DX指向状态口
INAL,DX ;读取状态
TESTAL,02H ;接收到一个字符吗?
JZLREC ;未接受到,继续询问等待
TESTAL,38H ;接收出错否?
JNZERR ;出错则转ERR处理
MOVDX,0F0H ;无差错则转数据口接收数据
INAL,DX MOV[DI],AL ;接收数据送接收缓冲区
INCDI ;指向下一个接收单元地址
DECCX ;接收计数
JNZLREC ;未完,继续接收
ERR:<…………> ;接受出错处理 ┆ ┆
RECE ENDP CDSEG ENDS END
第三十七页,共八十七页,2022年,8月28日7.3微机异步通信适配器
异步通信适配器是计算机和调制解调器等外部通信设备之间的接口电路。早期微机异步串行通信适配器有两个通信通道,分主、辅两个串行口(COM1和COM2),PC机中相应有主、辅两块插卡,PC/XT机将两卡合一、并和其他电路做在一块适配卡上,再往后两个异步通信适配器直接整合在微机的主板内。PC/XT机异步通信适配器以可编程异步通信控制器8250为核心,配以TTL←→EIA电平转换等电路,采用RS-232-C和20mA电流环传输方式。8250芯片采用DIP40引脚封装,片内有10个8位寄存器用来控制传输数据格式、通信波特率,记录通信线路和Modem的状态,管理中断。8250有一个全双工的异步通信通道,不支持同步通信方式。
第三十八页,共八十七页,2022年,8月28日7.3.1异步通信适配器硬件逻辑结构
异步通信适配器硬件逻辑结构如下图所示,包括8250与系统总线的连接、以及通信端口的连线。
第三十九页,共八十七页,2022年,8月28日8250是微机异步通信适配器的核心,其内部编程结构和外部引脚示于下图。
第四十页,共八十七页,2022年,8月28日1.主辅串口地址及8250片内寄存器寻址
主串口地址:跨接器U15的J12接通、J10断开,当AEN=0(非DMA操作)时,若A9~A3为全“1”,与非门U2输出为“0”,片选有效(另两个片选端CS0与CS1接+5V,一直有效),主串口的8250被选中,故主串口地址为1111111xxx,即3F8H~3FFH。辅串口地址:跨接器U15的J10接通、J12断开,将A8反相接至U2,其它与主串口情况相同,故辅串口地址为101111xxx,即2F8H~2FFH。片内寄存器寻址:由地址线A2~A0及片内线路控制寄存器最高位D7(DLAB位)实现对8250片内10个寄存器寻址。
2.对通信适配器的读写控制◆由系统信号-IOR和-IOW直接控制对8250的读和写。◆8250芯片的正数据输入选通引脚DISTR和正数据输出选通引脚DOSTR直接接地、一直
无效,◆系统读信号-IOR经两级反相接到8250的负数据输入选通引脚-DISTR,控制对其读出;
◆系统写信号直接与8250的负数据输出选通引脚-DOSTR相连,控制对其写入。
◆两个输入选通引脚DISTR和-DISTR、两个输出选通引脚DOSTR和-DOSTR中,只要有一
个有效即可对8250进行读或写。
3.基准时钟输入◆1.8432MHz晶振脉冲经三态门U7隔离、整形送到8250的基准时钟输入端XTAL1。基准
时钟再用片内的两个8位除数锁存器锁存的除数(16位)对之分频,即得到发送器的
发送时钟;
◆将芯片输出引脚BAUDOUT与输入引脚RCLK相连,则8250接收器的接收时钟与发送
器的发送时钟相同。
第四十一页,共八十七页,2022年,8月28日7.3.2异步通信接口
如图所示,异步通信接口有6条(32~33、36~39)与Modem的联络控制线,提供RS-232-C电压传输方式和20mA电流传输方式。U14将Modem信号线上EIA电平转换成TTL电平送到8250的-RLSD(ReceiverLineSignalDetect:接收线路信号检测)、-CTS(ClearToSend:允许发送)、-DSR(DataSetReady:数据装置准备好)和-RI(Ring:振铃)引脚,U12则把8250的输出引脚-DTR(DataTerminalReady:数据终端准备好)和-RTS(RequestToSend:请求发送)的TTL电平转换成EIA电平送到RS-232-C的D型插座20#和4#引脚上。采用RS-232-C方式传输,则跨接器U5的J7和J8接通,J1、J2和J3断开。8250串行输出数据从SOUT引脚经U13变成EIA电平,通过J7输出到RS-232-C的D型插座TxD线(脚2#)。而从D型插座的RxD线(脚3#)来的接收数据经U9转换成TTL电平,通过J8送入8250的串行输入引脚SIN。使用20mA电流环方式传输,跨接器U5的J1、J2和J3接通,J7和J8断开。SOUT的输出数据经U8(3个并联的集电极开路电路)产生20mA电路,该电流通过J2、通信线路、对方两个接收端(18#和25#)和J1构成电流环路。作为接收方20mA电流流经U4使发光二极管发光,紧挨着的光敏二极管导通,使三极管导通,其集电极变为低电平,反相后为高电平,即TTL电平“1”,经J3送入8250的串行输入端SIN;若没有20mA电流,则送入SIN引脚的为“0”。
第四十二页,共八十七页,2022年,8月28日7.3.3串行通信功能调用
基本输入输出系统BIOS提供了对异步通信功能的调用,用“INT14H”指令实现。这样,用户就不必熟悉异步通信适配器的硬件结构及有关细节,只要给出相应的通信参数、然后调用即可。调用主串口(地址范围3F8H~3FFH),须令DX=0;DX=1调用辅串口(地址范围2F8H~2FFH)。串行通信功能调用INT14H有四种功能,功能号为0~3,由AH指明。1.初始化通信口 功能号:AH=0
入口参数:AL
出口参数:AX
第四十三页,共八十七页,2022年,8月28日出口参赛返回通信线路状态(在AH中)和Modem状态(在AL中),如下图所示。
入口参数规定数据格式、校验方式和波特率,如下图所示。
第四十四页,共八十七页,2022年,8月28日3.接收数据 功能号:AH=2
入口参数:(无) 出口参数:AL(接收的字符)
AH(通信线路状态,D5=0、D6=0,其余同上)4.读取通信口状态 功能号:AH=3
入口参数:(无)
出口参数:AX(AH为通信线路状态,AL为Modem状态,同上)
2.发送数据 功能号:AH=1入口参数:AL(发送的字符)出口参数:AH(通信线路状态,同上)
第四十五页,共八十七页,2022年,8月28日7.4通用串行总线
随着外围设备日益丰富,人们期盼能简单易行地对外设进行扩充,希望能获得一个高性价比的标准接口,执行灵活的协议,广泛接纳各种设备。串行通信总线USB提供了外设共享接口,解决了个人计算机与周边设备的通用连接,USB和IEEE1394实现了多媒体可视化动态视频与音频信息的实时数据传输,尤其USB,适合低、中、高速外设的通用连接,价廉易用,许多人都期待其实现对计算机外设接口的大一统。串行总线减少了接口的针脚数目,降低电力消耗和发热量,在计算机系统的各个层面得到越来越广泛的应用。在机箱内,新世纪之初推出的硬盘接口类型ATA-100就是SATA(SerialATA:串行ATA)的初始规格,第一代SATA速度达150Mbps,总线速度达1.5Gbps;第三代SATA速度预计达600Mbps,而总线速度可达6Gbps。
第四十六页,共八十七页,2022年,8月28日7.4.1USB概述
USB(UniversalSerialBus:通用串行总线)在传统计算机组织结构上引入了某些网络技术,是计算机外设连接技术的重大变革,已成为当今计算机接口的主流。
1.USB接口性能和特点USB接口性能如下:n
支持同步与异步传输,USB1.1数据传输速率高达12Mbps,USB2.0最高480Mbps。n
一个UBS接口最多可连接127台外设,整个连接采用树型分层管理,最多支持5层集
线器。n
四芯连线:2根用于差分信号的数据线,2根电源线。n
最大接线长度5米左右。n
即插即用,支持设备带电热插拔。n
增删外设简单方便,系统会自动收索、识别、配置新外设,会自动收回已撤消外设
所占用的资源。n
可提供或接受外设电源。第四十七页,共八十七页,2022年,8月28日1.USB接口性能和特点(续)USB标准能对不同的系统和部件提供不同的功能,具有广泛的应用性,是外围设备发展的必然趋势。USB特点如下:n
易用性
USB连接器具有单一的模型,支持热插拔和即插即用(PaP),允许随时加
入和撤除设备,提供动态识别并自动对设备进行设置和驱动。n
广泛性可对多个设备同时进行操作,在主机和设备之间传输多个数据流和报文;
适应各种设备,支持同步和异步传输模式。能向外设提供电能,也可接受外设提供
的电能。与现有操作系统相适应,不会产生任何冲突。n
灵活性允许选择设备缓冲区的大小和传输带宽,支持一系列大小数据包分帧串行
传输,支持各种数据传输率,从几Kbps到几Mbps甚至几百Mbps。n
容错性USB协议中规定了出错处理和差错恢复机制,可对错误的数据进行恢复和
报告,可对有缺陷的设备进行认定。 ●高性能价格比
价格低廉而性能优越,将外设和主机进行了最优集成,提供低价的
电缆和连接器,促进了低价外设的发展。
第四十八页,共八十七页,2022年,8月28日2.USB系统概况
USB系统分为三部分:USB主机、USB连接和USB设备。
下面简述USB拓扑结构——USB设备——USB传输。USB主机是USB系统的核心。任何USB系统中,只有一个主机。主机系统的USB接口称为主机控制器HC(HostController),由硬件和软件综合实现之。◆USB连接是指设备和主机之间进行
的连接及其通信方式。
◆从物理连接上看,USB呈树型结构,
是有层次的星型布局,每个集线器
Hub是星型的中心,每条线段实现
点对点的连接,设备通过集线器分
层连接到主机上,主机是这棵树的
根,如右图所示。
USB的拓扑深度不超过5层。
◆从逻辑上看,USB是星型网络,主
机是这个网络的中心。主机与设备
相连进行通信,它们各自充当信息
流的源(或目的)端和目的(或源)
端。
第四十九页,共八十七页,2022年,8月28日2.USB系统概况(续)USB设备有集线器Hub和功能部件两类。集线器提供USB设备和主机之间的接口电路,简化了USB互连的复杂性,让更多不同性能的设备方便地连到USB上。
连接点称作端口,每个集线器上有一个上行端口和若干个下行端口,上行端口向主机方向进行连接,下行端口连接到下层的集线器或功能部件。集线器可以发现下行端口上的设备插入或移出,为下行设备分配电能。功能部件是通过总线发送或接收数据和控制信息的设备,由一条电缆连到集线器某个下行端口上,为系统提供具体的功能,如ISDN连接设备、键盘、鼠标、移动硬盘等。有的USB设备需要主机提供电源,称作总线供电设备,如鼠标等;有些SUB设备可自带电源,称作自供电设备。USB主机和USB设备之间的通信最终都通过USB电缆进行。USB电缆由4根导线组成,一对具有28AGW规格的双绞信号线为数据线,一对在允许规格范围内的非双绞线为电源线和地线,外加屏蔽层。四条导线使用不同的颜色,如右表所示。第五十页,共八十七页,2022年,8月28日2.USB系统概况(续)为了减少噪声干扰,发送、传输和接收都采用差分信号。USB电缆上的串行传输数据采用NRZI(NoneReturnZeroInvert:“0”翻转不归零码)编码方式,传输信号线电平翻转(有跳变)表示“0”,无跳变表示“1”。
与RS-232-C不同,USB设备与USB总线采用同名端相连如下图所示。
USB连接器有两个系列:A系列插头(一般上行到主机系统)/插座和B系列插头(一般下行到USB设备)/插座。
USB设备可随时安装或拆卸,集线器Hub内有个状态寄存器指明其下行端口上的设备是安装了还是拆除了。
◆当一个USB设备插入Hub的一个端口时,Hub向主机报告状态的改变,主机查明所连接
的端口,等待100ms(待插入动作完成并稳定)后发回一个复位命令将该端口使能,
USB设备进入默认状态;接着主机给该端口的USB设备分配一个唯一的地址并读取设备
描述表,主机从读取的配置信息中为设备选定一个配置值。到此时设备已可使用。
◆移除USB设备,Hub同样会通知主机,使设备所连接的端口回到未使能状态,主机更新
内部的拓扑信息。第五十一页,共八十七页,2022年,8月28日2.USB系统概况(续)设备使能后就可以和主机通信。USB是一种轮询方式的串行总线,主机控制器初始化所有的数据传输。USB总线时间以一毫秒的间隔等分为帧,主机控制器以1ms为周期产生帧起始包SOF(StartofFrame)来标识一帧的开始。一次I/O操作将要传输的数据(包括命令、状态等信息)分割成许多包(Package)在一帧或若干帧内传送。总线一次传送操作一般包含三种类型的包:传送开始时刻,主机控制器发送一个标志包(又称令牌包),描述传输的种类、方向、USB设备地址和端口号等;随后由发送端发送若干数据包给接收端;最后接收端给发送端回送一个握手包,表明传送是否成功。USB数据传送有四种基本类型。控制传送:USB设备初次安装时,USB系统软件用来设置设备参数。采用严格的差错控制机制,是无损传送。批传送:又称块传送,是大批量数据传送,如打印输出、扫描输入等。中断传送:少量具有突发性的数据传输,要求传输延时短。同步传送:以固定的速率发送和接收信息,对传输延时非常敏感。
各种不同传送类型的数据包在一个帧内传送,一个I/O事务的数据包可在一个或若干个帧内传送。同步传送和中断传送属于周期传送,传送时间之和不得超过一帧的90%时间,控制传送和批传送属于非周期性传送,其时间总和一般不得超过一帧的10%时间。第五十二页,共八十七页,2022年,8月28日2.USB系统概况(续)主机和设备之间的数据传输可视为一条信道。◆USB设备上电后即存在一条默认的控制信道,该信道提供设备配置和
状态/控制信息的传输;其余信道在USB设备设置完成后才会存在。 ◆一个设备可以有几个信道。信道有两种类型:消息信道和流通道。◆消息信道上传送的数据都是有格式的,符合USB定义的数据结构,用
于控制传送(传送控制命令和状态信息)。◆流通道传送的数据没有格式,是单向传输,用于同步传送、中断传送
和批传送。对传送进行安排可对流通道实现流控功能。流控机制允许灵活的任务安排,使不同性质的流传送同时正常工作,多种流通道在不同的时间间隔传送不同大小的数据包。
第五十三页,共八十七页,2022年,8月28日3.USB使用
使用USB需要主机硬件、操作系统和外设三个方面支持。
◆当前微机都采用支持USB功能的芯片组,因此主板上有USB接口插座;◆Windows98~WindowsXP等操作系统都提供USB功能;
◆现在USB外设越来越多,如移动硬盘、闪存盘(MP3/MP4)、数字相
机、数字游戏杆、扫描仪、打印机、键盘、鼠标……USB设备可插在微机上任意USB端口内。使用USBHub还可以级连扩展端口,接入更多的USB设备。但级连最多5级,扩展连接距离不得超过30m,一台主机最多可连127台USB设备(包括Hub)。在系统运行中,可随时插入或拔下USB设备。
◆插入USB设备,系统会自动检测到该硬件并完成对它的设置,不需要
关闭和重新启动系统。
早期的Windows98稍稍麻烦一点,系统会弹出一个窗口提示用户安装
或选择该设备的驱动程序,用户在系统提示下一步步操作即可。
◆拔下USB设备,也不会对系统中其它的设备和运行的程序产生影响。
第五十四页,共八十七页,2022年,8月28日7.4.2USB通信的层次结构及其功能
1.分层连接及层间数据流从逻辑连接上看,USB是个星型网络,主机是该网络的中心,从它出发连接着各个USB设备。
USB主机又可分为三层:客户层、USB系统层、主机控制层,如下图所示。
第五十五页,共八十七页,2022年,8月28日1.分层连接及层间数据流(续)(1)客户层客户层处在USB主机的最高层,面向客户提供各种设备驱动程序。
为屏蔽设备的硬件细节,实现透明通信,USB引入了信道概念:将客户层到应用功能层(USB设备的最高层)之间的逻辑连接视为信道。从信道取数据,即从设备输入数据到客户(层);往信道送数据,即从客户(层)输出数据到设备。(2)USB系统层USB系统层是整个USB的管理中枢,由三部分组成:HCD(HostControllDriver:主机控制驱动器)、USBD(USBDriver:USB驱动器)和主机软件。
◆USB系统可能有多个不同的主机控制器,HCD将具体的不同的主机控制器映像到
USB系统,屏蔽掉主机控制器细节,提供统一的HCDI(HCDInterface:HCD接口)
给USBD。
◆在USB系统层内,USBD处于HCD之上,面向客户层提供USBDI(USBDInterface:
USBD接口),支持客户的数据传输、设备配置等请求。
◆主机软件也面向客户,是可选的,主机软件接受客户的命令,并将其转换成USBDI
所要求的标准格式,交由USBD执行,从而进一步屏蔽了USBDI细节,方便客户操作。(3)主机控制器层主机控制器是主机上的总线接口,完成主机与设备之间的电气连接和协议匹配。总线控制器在串行的电缆线上生成1ms周期的帧,将发送的数据组织成包发往总线,或接收总线上的数据包转换成并行数据送往缓冲区,并对传输错误进行处理,等等。
第五十六页,共八十七页,2022年,8月28日2.主机控制器HC及其功能
USB主机控制器位于USB层次结构的最低层,其主要功能如下。(1)帧生成USB总线在时间上由周期为1ms的帧组成。每帧开始由帧起始包SOF标识,主机控制器以1mS为周期产生SOF包。SOF包具有访问总线的最高优先权,在SOF包期间,总线上的其它一切活动都停止。SOF包还用于主机与设备之间的同步。(2)并-串转换USB数据传输在主机数据缓冲区与USB设备之间进行。
主机数据缓冲区的数据是以字节为基本单位的并行数据,在向设备输出数据时,主机控制器HC必须将并行数据转换成串行格式送上USB电缆,形成比特流串行传送。反之从设备输入数据时,HC必须将串行的比特流转换成并行格式送往数据缓冲区存储。若USB设备是并行设备,通信时设备端的串-并转换由USB设备自身控制逻辑完成。(3)定义数据格式、插入协议信息定义、设置主机与设备之间数据通信的具体格式。HC向输出的数据中插入协议信息,比如地址、CRC校验码等。(4)处理传输错误在传输过程中出现超时错、CRC校验错、位插入错、协议错等错误时,主机控制器必须能检测到并做相应处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于云计算的企业服务平台构建研究报告
- 电动汽车家用充电设施的安装与应用
- 经济政策中的静态与动态效应分析
- 对热水循环类加热装置安全保护及其使用状况的了解与研究报告
- 数字化转型背景下的人才培养与引进
- 社会学在红楼梦中的应用与实践研究
- 客户经理风险控制策略与实践
- 人工智能时代的技术发展趋势
- 连锁超市店长如何提升顾客体验的技巧
- 电子商务平台搭建及运营技巧
- 2025年上海市安全员C3证(专职安全员-综合类)证模拟考试题库及答案
- 人教版(PEP)五年级英语下册第一单元测试卷-Unit 1 My day 含答案
- ASTM-D3359-(附著力测试标准)-中文版
- 部编版三年级语文下册1-8单元主题阅读附答案
- 团队建设与管理 课件 第1章 团队概述
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
- 【铁路信号设计中的计算机联锁系统探究13000字(论文)】
- 狱内案件立案表
- 《设计公司各专业负责人岗位职责》
- 泥水平衡机械顶管操作规程范本
- 江苏建筑职业技术学院单招职业技能测试参考试题库(含答案)
评论
0/150
提交评论