1、第八章 串行通信接口,8.1 串行传送的基本概念串行通信是在单根导线上将二进制数一位一位地顺序传送 一、数据传送的方式串行通信中,数据通常是在二个站(点对点)之间进行 传送,按照数据流的方向可分成三种传送模式: 1.全双工(Full Duplex)数据的发送和接收分别由两根可以在两个不同的站点同 时发送和接收的传输线进行传送,通信双方都能在同一时刻 进行发送和接收操作,选择的传送方式称为全双工制。,特点:每一端都有发送器和接收器有二条传送线应用:交互式应用,远程监测控制 2.半双工(Half Duplex)使用同一根传输线,既可发送数据又可接收数据,但不能同时,收送数据,这样的传送方式就是半双
2、工(Half Duplex)制, 如图8.2所示。,特点:每端需有一个收/发切换电子开关因有切换,会产生时间延迟 应用:打印机串口,单向传送设备,发送器接收器,3.单工(Single Duplex)使用一根传输线,只能从A到B发送特点:每一端都有发送器和接收器有一条传送线应用:远程控制、单向传送设备,接收器,发送器,A站,B站,图8.3 单工方式示意图,二、信号的调制和解调计算机的通信是要求传送数字信号,而在进行远程数据通 信时,线路往往是借用现有的公用电话网,但是,电话网是为 音频模拟信号的设计的。一般为3003400Hz,不适合于数据 信号。因此需要对二进制信号进行调制,以适合在电话网上传
3、输 相应的音频信号,在接收时,需要进行解调,还原成数字信号。,1. 什么叫调制?所调调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。 2. 作用:调制器(Modulator)是一个波形变换器,它将基带数字的波形变换成适合于模拟信道传输的波形。解调器是一个波形识别器,将模拟信号恢复成原来的数字信号。,最基本的调制方法有以下几种: (1)调幅(AM) 即载波的振幅随基带数字信号而变化.“1”对应有载波“0” 对应无载波,3. 调制方法:,(2)调频(FM)即载波频率随数字信号而变化“0”对应”f1”“1”对应“f2”,(3)调相(PM)即载波初
4、始相位随基带数字信号而变化.“ 0”对应相位0度“1”对应相位180度,三、信息的检错与纠错串行数据在传输过程中,由于干扰而引起误 码是难免的, 这直接影响通信系统的可靠性,对通信中的检/纠错能力是衡是 一个通信系统的重要内容。检错:如何发现传输中的错误,称为检错。纠错:如何消除错误,称为纠错 例:奇偶校验检错方阵码检错循环冗余码(CRC)检错方阵码检错技术:采用奇偶校验与“检验和”的综合。7位编码后附加1位奇偶位。,若干个字符组成一个数据块列成方阵,列向接位相加产生一个单字节检验和附加到数据块未尾。1 1 0 1 0 0 1 00 1 0 0 0 0 0 11 0 1 0 1 0 1 01
5、1 1 1 0 0 1 11 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 四、传输速率 1. 波特率:是指在串行通信中,在基本波传输的情况下,每秒钟传送的二进制脉冲的数目。 用波特率表示:即1波特=bit/s (位/秒),奇偶位,常用的标准波特率:110,300,1K,1.2K,2.4K,4.8K, 6.6K,16.2K,56K 2.字符速率:是指每秒所传输的字符数,这个概念使用少。字符速率与波特率的关系:1个字符:1个起始位+8个数据位+1个偶数位+2个终止位=12位如果波特率:12000 则字符速率:12000/12=1000字符/s8.2 串行通信的数据格式通信协议:是指
6、通信双方的一种约定,包括对数据格式、同步方式,传 送速度、传送步骤、检纠错方式等问题作出统一规定。 也称通信控制规程。,ISO(Inter national Standard Organization)国际标准化组织。 OSI(Open System Interconnection)开放系统互连参考模型。,一、起止式异步通信数据格式 1.格式 每个字符总是以起始位开始(“0”),以停止位(“1”)结束。,字符之间没有时间间隔要求 字符后一位校验位(可没有),2.特点:是一个字符一个字符传输 二、面向字符的同步通信格式 1.功能:是一次传送若干个字符组成的数据块,并且规定了10个特殊,字符作为这
7、个数据块的开头与结束标志以及整个传输过程的控 制信息。 2.数据格式(一帧),3.特定字符的定义: SYN:同步字符(Synchronous),表示一帧的开始; SOH:序始字符(Start of Header),表示标题的开始; 标题:包括原地址,目的地址,路由指示等信息; STX:文始字符(Start of Text),表示正文开始。 FTB/ETX:组终/文终字符(End of Text)ETB(End of Transmission Block),特点: 一次传送是一个数据块,传输效率提高了; 采用了一些传输控制字,增加了通信控制能力和校验能力; 存在问题:由于数据字符与特定字符可能代
8、码相同,发生误 解,因此,在数据字符前插入转义字符DLE,以示区别。这种 方式称为“字符填充”。 三、面向比特的同步通信数据格式 1.最有代表性的是: IBM的SDLC(Synchronous Data Link Control),同步数据链路控制规程。 ANSI的ADCCP(Advanced Data Communication Control Procedure)。,ISO的HDLC(High Level Data link Control)高级数据链路控制规程。 DEC公司DDCMP(Digital Data Communication Message protocol)。 2.协议的特
9、点: 1)所传输的一帧(frame)数据(或称数据包)可以是任意二进制位。 2)通过约定的位组合模式(标志字节)来标志帧的开始和结束。 注意: HDLC作为国际标准ISO3309; ADCCP作为美国国家标准; 我国相应国家标准GB-7496,这几个协议均大同小异。,3.HDLC 格式:,8位,8位,8位,16位,8位,0位,(1)标志场:SDLC/HDLC规定所有信息传输必须以一个标志字节开始中, 且以同一个字节结束,这个字节为01111110,二个标志字节之 间构成一个完整的信息单位,称为一帧(frame) (2)地址场:(Address Field)A场用来规定与之通信的次站的地址。,A
10、场的宽度:8(SDLC规定)任意长度HDLC (3)控制场(Control Field)用来规定若干命令。(8位:SDLC 16位:HDLC) (4)信息场(Information Field)包含有要传送的数据,当上场为0时,则这一帧主要是控制命令。 帧校验场(FC,Frame Check) 3.实际应用时的两个技术问题 (1)“0”位插入/删除技术存在问题的提出:如上所述,标志字节:以01111110,但 在为了把它们区别开,采用了“0”位插入和删除技术。,方法:遇到连续5个“1”就自动插入一个“0”。如: 原始 插入后 删除后01111110 011111010 011111101111
11、1111 111110111 11111111 2. SDLC/HDLC异常结束若在发送过程中出现错误,则用异常结束符(A60H)结束。如: HDLC 规定:7个连续“1”为失效字符;SDLC 规定:8个连续“1”为失效字符;,8.3 串行接口标准一、EIA-RS-232接口标准RS-232标准是美国EIA(电子工业联合会)与BELL等公司一起 开发的,1969年公布的通信协议,适合的数传率:020Kbps。 1.电气特性RS-232对电气特性,逻辑电平和各种信号线的功能都作了规定。逻辑“1”=-3V-15V “0”=+3V+15V与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如
12、MC1488,MC1489IC。,采用EIA电平比TTL电平具有更强的抗干扰性能。另外,MAX232省电可连接二对收/发线,只用单电源。 2.机械特性 1)连接器(Connector)常用二种: DB-25型,25脚,只用9个信号(2个数据线,6个控制线,1个地址),如下图所示。,DB-9型 9针,9针全用,如下图。,2.电缆长度RS-232直接连接的最大物理距离15M,通信速率20Kbps。 3.RS-232C接口信号的定义。见书216表8.2。25线:数据线4条(2,3,14,16) 控制线11条(4,5,6,8,12,13,19,20,22,23)定时信号线3条(15,17,24)地线2
13、条(1,7)备用5条(9,10,11,18,25)未定义 4.信号线的连接 1)近距离连接(15m)只用3条线(发送线TXD,接收线RXD,信号地线),2.远距离连接(15m) 1)需用MODEM和专用电话线 2)需用29条信号线(在接口与MODEM之间),采用MODEM时RS-232信号线的使用,二、RS-422/RS-423接口标准 1.特点: (1)采用平衡发送器和差动接收器,由于是双线传输,大大提 高了抗共模干扰的能力。 因为是两条传输线的电位差决定逻辑电平 AA-BD +2V,表示“0” (2)传输速率 10Mbps(15m时)90Kbps(1200m时) 2.连接,2)RS-423
14、 1.连接:,2.特点: 采用单端发送器和差动接收器,由于是差动接收器,提高了抗 共模干扰能力。 数传率:100Kbps/90m时1Kbps/1200m时 逻辑“1”,4V6V逻辑“0”,-4V-6V,三、RS-485接口标准 1.特点: (1)兼容RS-422A,扩展RS-422A的功能; (2)允许在电路中有多个发送器和允许一个发送器驱动多个接收器,多达32个收/发器; (3)搞干扰能力强,传送距离远,传输速率高。数传率:100Kbps 1.2Km 不用MODEM6.6Kbps 15Km10Mbps 15m 四、几种标准的比较见书224,表8.5列出,RS-232,423,422,485几
15、种标准的 工作方式,直接传输最大距离,最大数传率等参数。,8.4 串行通信接口任务一、串口的基本任务 (1)进行串,并转换 (2)实现串行数据格式化 (3)可靠性检验 (4)实施接口与DCE之间联络控制 二、串口电路的组成可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器、地址译码电路,8.5 8251A串行接口,一、8251A的内部逻辑与外部信号 1.结构框图8251A是通用同步异步接收/发送器 USART Universal/Synchronous Asynchronous Receiver and Transmitter),功能:异步起止协议同步面向字符协议 组成:接收器、发送
16、器、调制控制、读/写控制、数据总线缓冲器,C/D- :地址信号线(command/data):高电平为工作方式寄存器、工作命令寄存器、状态寄存器、单/双同步字符寄存器;低电平为数据寄存器 1.发送器 TXRDY(Transmitter Ready):发送器准备好,高电平有效 TXE(Transmitter Empty):发送器空,状态线,高有效 TXD:发送数据线 TXC:发送器输入时钟 2.接收器 RXD:接收数据线 RXRDY:接收器准备好 Syndet/BD:同步/间断 RXC:接收器输入时钟 3.与调制器的接口接号 DTR:数据终端准备好 RTS:请求发送 DSR:数据装置准备好 CT
17、S:清除传送,二、8251的控制字与状态字,1.工作方式字约定双方的通信方式,数据格式,传送速率 a.作用:对8251A工作方式进行选择,是异步方式还是同步方式 b.格式:,例1:异步通信中,若帧数据格式为:字符长度8位,1位起始位,2位停止位,奇校验,波特率因数是16,则工作字是: 11011110B=DEHMOV DX,309H ;8251命令口MOV AL,0DEH ;异步工作方式字OUT DX,AL 例2:同步通信中,若帧数据格式为:字符长度8位,双同步 字符,内同步方式,奇校验,则工作字是:00011100B=1CH。MOV DX,309H ;8251命令口MOV AL,1CH ;同
18、步工作方式字OUT DX,AL ;紧接着可以写同步字符(309H) 2.工作命令字 a.作用:是确定8251A的实际操作,迫使8251A进行某种操作或工作状态,以便接收或发送数据。,b.格式:,例3:使8251内部复位,并且允许接收,又允许发送,则 程序段为:,MOV DX,309H ;8251命令口MOV AL,01000000B ;置D6=1,使内部复位OUT DX,AL 。;写工作方式字MOV AL,00010101B ;置D0=1,D2=1,允许接收和发送OUT DX,AL 3.状态字 a.作用:8251A执行命令进行数据传送后的状态字存放在状态寄 存器中,CPU通过读出状态字进行分析
19、和判断,以决定下一步的 操作。 b.格式:,例4:若查询8251A接收器是否准备好,则用下列程序段:MOV DX,309H ;状态口 L: IN AL,DX ;读状态字AND AL,02H ;查D1=1?(RXRDY=1?)JZ L ;未准备好,则等待MOV DX,308H ;数据口例5:检查出错信息,则用下列程序段MOV DX,309H ;状态口IN AL,DX TEST AL,38H ;检查D5D4D3三位(FE,OE,PE)JNZ ERROR ;若其中有一位为1,则出错,4.8251A的方式字和命令的使用 (1)方式字:约定双方通信的方式,数据格式,传送速率等参数。命令字:规定是发送数据
20、,还是接收数据。状态字:何时发/收、取决于状态字。 (2)使用的顺序:写3个0 复位方式字命令字1 命令字2 三、8251A应用举例 1.要求在甲乙二台PC之间进行串行通信,甲发送乙接收,要求把甲机上开发应用程序(其长度为2DH)传送到乙机中去。,采用: 起止式异步方式, 字符长度为8位, 2位停止位, 波特率因子为64,无校验, 波特率为4800, CPU与8251A之间用查询方式交换数据口地址分配是:309H为状态命令/状态口,308H为数据口 2.分析由于是近距离传输,可以不设MODEM,直接互连,同时,是采用查询I/O方式,故收/发程序中只需检查发/收准备好的状态是否置位,即可收发1个
21、字节。,3.设计 1)硬件连接DTE(Data Terminal Equipment)根据以上分析把二台PC机都当作数据终端设备DTE,它们之间只需TXD,RXD和SG三根线连接就能通信。主要电路: 8251串行口 TTL/EIA变换器 波特率发生器 地址译码电路 2)软件编程 发送程序:包括初始化,状态查询,I/O,CSEG SEGMENTASSUME CS:CSEG,DS:CSEG TRA PROC FARSTART:MOV DX,309H ;命令口MOV AL,00H ;空操作,向命令口送任意数MOV CX,3 L: OUT DX,AL NOPLOOP L ;经常送3次MOV AL,40
22、H ;内部复位(使D6=1)OUT DX,AL NOP MOV AL,0CFH ;方式命令字(异步,2位停止位,字符长度为8位,无校验,波特率因子为64个/位)OUT DX,AL,MOV AL,37H ;工作命令字(RTS、ER、RXE、DTR、TXEN均置1)OUT DX,ALMOV CX,2DH ;传送字节数MOV SI,300H ;发送区首址L1:MOV DX,309H ;状态口IN AL,DX ;查状态位D0 (TXRDY)=1?AND AL,01H JZ L1 MOV DX,308H ;发送未准备好,则等待MOV AL,SI ;数据口OUT DX,AL INC SI ;内存地址加1,
23、DEC CX ;字节数减1JNZ L1 ;未发送完,继续MOV AX,4C00H ;已送完,回DOSINT 21H TRA ENDP CSEG ENDSEND START 接收程序(略)8.6 采用RS-232C标准的全双工异步串行口通信接口电路设计 一、要求 甲乙两台微机之间,按EIA-RS-232C标准进行零MODEDM方式、全双工异步串行通信,双方在各自键盘上按键向对方发送字符,时,同时又可接收对方发来的字符。字符数据格式为起止位:1 位停止位,7位数据位,无校验,波特率因子为16. 发送的字符和接收的字符均在屏幕上显示。 波特率在110b/s,150b/s,300b/s,600b/s.
24、1200b/s,2400b/s,4800b/s,9600b/s八档中任选。 按下ESC键,程序退出,返回DOS. 二、分析 由于要求波特率可选,故需要设置波特率时钟发生器。 由于要求8253-5输出方波,作为8251A的收/发时钟,所以8253-5必定工作在3方式,而3方式的门控信号GATE,要由外部控制。 串行通接口电路所波及到的其他芯片,如8251A、MAX23。,三、设计 1.硬件设计根据上述要求和分析,串行通信接口电路的组成以8251A 为主,还要加上8253-5作波特率时钟发生器,MAX232作电平 转换,74LS92作分频器,8255A提供门控信号。 2.软件设计通信主程序由主程序
25、和子程序两大模块组成。子程序有两个:一是8251A初始化,二是8253-5计数初值与装入。主程序负责波特率的选择与输入;接收和发送字符,并在屏幕上显示;查有无ESC键按下,以便结束程序,并返回DOS。,8.7 采用RS-485标准的异步串行通信接口电路设计一、要求进行多点对多点的全双工传送,不使用MODEM,直接传输距离较远(2km),传输速率较高(30Kb/s),试设计异步串行通信接口电路。 二、分析 1.收发器芯片MAX485./491的引脚功能MAX485用于半双工,而MAX491可用作全双工。见书240面。 2.信号的逻辑定义 3.在网络中的连接 三、设计 1.硬件设计 2.软件编程,8.8 PC 微机异步通信适配器的分析和使用一、UART的寄存器及其编程方法 1.发送保持寄存器和接收数据寄存器 2.波特率除数波特率除数(BRD)是16位数,它与UART的数据传输速率 (波特率)有关。当使用UART的内部时钟频率为1.8432MHz时, 则波特率除数BRD与波特率Baud之间的关系如下式所示: BRD=时钟频率/(16Baud)。例如,若要计算波特率为1200b/s的波特率除数,则有: BDR=1843200/(161200)=0060H。,