第九章 串行通信接口

43
第第第 第第第第第第 9.1 第第 第第第第第第 第第 第第第第 一、 第第第第 第第第 第第第第第 第第第第第第第第第第 第第第第 第第第第 ,() 第第第第第第第第第第第第第 第第第 :第 1. 第第第 (Full Duplex 第第第第第第第第第第第第第第第第第第第第第第第第 第第第第第第第 第第第第第 第 第第第第第第第第第 第第 ,一 传传 第第第第第第第第第第 第第第第 第第第第第第第第第第

Upload: harper-morton

Post on 15-Mar-2016

59 views

Category:

Documents


3 download

DESCRIPTION

第九章 串行通信接口. 9.1 串行传送的基本概念 一、数据传送的方式 二、串行数据传送方向 串行通信中,数据通常是在二个站(点对点)之间进行 传送,按照数据流的方向可分成三种传送模式 : 全 1. 全双工 (Full Duplex ) 数据的发送和接收分别由两根可以在两个不同的站点同 时发送和接收的传输线进行传送,通信双方都能在同一时刻 进行发送和接收操作,选择的传送方式称为全双工制。. A 站. B 站. 发送器. 发送器. 接收器. 接收器. 图 9.1 全双工方式示意图. 特点: ①每一端都有发送器和接收器 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第九章   串行通信接口

第九章 串行通信接口9.1 串行传送的基本概念

一、数据传送的方式二、串行数据传送方向 串行通信中,数据通常是在二个站(点对点)之间进行传送,按照数据流的方向可分成三种传送模式:全1. 全双工 (Full Duplex ) 数据的发送和接收分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作,选择的传送方式称为全双工制。

Page 2: 第九章   串行通信接口

特点:①每一端都有发送器和接收器 ②有二条传送线 应用:交互式应用,远程监测控制2.半双工( Half Duplex ) 使用同一根传输线,既可发送数据又可接收数据,但不能同

发送器接收器

发送器接收器

A 站 B 站

图 9.1 全双工方式示意图

Page 3: 第九章   串行通信接口

收送数据,这样的传送方式就是半双工( Half Duplex )制,如图 9.2 所示。

发送器接收器

发送器接收器

A 站 B 站

图 9.2 半双工方式示意图特点:①每端需有一个收 /发切换电子开关 ②因有切换,会产生时间延迟应用:打印机串口,单向传送设备,发送器→接收器

Page 4: 第九章   串行通信接口

二、信号的调制和解调 计算机的通信是要求传送数字信号,而在进行远程数据通信时,线路往往是借用现有的公用电话网,但是,电话网是为音频模拟信号的设计的。一般为 300 ~ 3400Hz ,不适合于数据信号。 因此需要对二进制信号进行调制,以适合在电话网上传输相应的音频信号,在接收时,需要进行解调,还原成数字信号。

计算机 MODEM MODEM

模拟信号数字信号 数字信号

CRT

1 0 1 010 10 10 10

图 9.3 调制电话线

Page 5: 第九章   串行通信接口

1. 什么叫调制 ? 所调调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。2. 作用 : 调制器 (Modulator) 是一个波形变换器 , 它将基带数字的波形变换成适合于模拟信道传输的波形。 解调器是一个波形识别器 ,将模拟信号恢复成原来的数字信号。

调制器 解调器010010 010010

Page 6: 第九章   串行通信接口

最基本的调制方法有以下几种:( 1)调幅( AM )即载波的振幅随基带数字信号而变化 . “1”对应有载波 “0” 对应无载波

3. 调制方法 :

( 2)调频( FM) 即载波频率随数字信号而变化 “0”对应” f1” “1”对应“ f2”(3) 调相( PM) 即载波初始相位随基带数字信号而变化 . “ 0”对应相位 0度 “1”对应相位 180 度

f1 f2

FM

AM

0 1 0 0 1 1

0 度 180 度PM

Page 7: 第九章   串行通信接口

三、信息的检错与纠错 串行数据在传输过程中,由于干扰而引起误 码是难免的,这直接影响通信系统的可靠性,对通信中的检 / 纠错能力是衡

是一个通信系统的重要内容。 检错:如何发现传输中的错误,称为检错。 纠错:如何消除错误,称为纠错例:奇偶校验检错 方阵码检错 循环冗余码( CRC )检错 方阵码检错技术: 采用奇偶校验与“检验和”的综合。 ①7 位编码后附加 1 位奇偶位。

Page 8: 第九章   串行通信接口

②若干个字符组成一个数据块列成方阵,列向接位相加产生一个单字节检验和附加到数据块未尾。 1 1 0 1 0 0 1 0

0 1 0 0 0 0 0 1

1 0 1 0 1 0 1 0

1 1 1 1 0 0 1 1

1 1 0 0 0 0 1 1

0 0 0 0 1 0 0 1

四、传输速率1. 波特率: 是指在串行通信中,在基本波传输的情况下,每秒钟传送的二进制脉冲的数目。 用波特率表示:即 1 波特 =bit/s (位 /秒)

奇偶位

Page 9: 第九章   串行通信接口

常用的标准波特率:110, 300, 1K,1.2K,2.4K,4.8K,9.6K,19.2K, 56K2.字符速率: 是指每秒所传输的字符数,这个概念使用少。 字符速率与波特率的关系: 1个字符: 1个起始位 +8个数据位 +1个偶数位 +2个终止位 =12位 如果波特率:12000 则字符速率:12000/12=1000字符 /s

9.2 串行通信的数据格式 通信协议: 是指通信双方的一种约定,包括对数据格式、同步方式,传送速度、传送步骤、检纠错方式等问题作出统一规定。也称通信控制规程。

Page 10: 第九章   串行通信接口

同步协议

异步协议分类

面向字符( character Oriented ) 面向比特( Bit )面向字节计数

ISO ( Inter national Standard Organization )国际标准化组织。OSI ( Open System Interconnection )开放系统互连参考模型。

一、起止式异步通信数据格式1.格式①每个字符总是以起始位开始(“ 0”),以停止位(“ 1”)结束。

Page 11: 第九章   串行通信接口

1 10 00 0 1 0 1 1 10 0 0空闲位起始位数据位0

低 高 校验位

停止位

应用:早期电传机

②字符之间没有时间间隔要求③字符后一位校验位(可没有)

2.特点:是一个字符一个字符传输二、面向字符的同步通信格式 1.功能: 是一次传送若干个字符组成的数据块,并且规定了 10 个特殊

Page 12: 第九章   串行通信接口

字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息。2.数据格式(一帧)

SYN SYN SOH 标题 STX 数据块 ETB/ETX 块校验3. 特定字符的定义:SYN:同步字符( Synchronous),表示一帧的开始;SOH :序始字符( Start of Header ),表示标题的开始;标题:包括原地址,目的地址,路由指示等信息;STX:文始字符( Start of Text ),表示正文开始。FTB/ETX:组终 /文终字符( End of Text ) ETB( End of Transmission Block)

Page 13: 第九章   串行通信接口

特点:①一次传送是一个数据块,传输效率提高了;②采用了一些传输控制字,增加了通信控制能力和校验能力;③存在问题:由于数据字符与特定字符可能代码相同,发生误解,因此,在数据字符前插入转义字符 DLE,以示区别。这种方式称为“字符填充”。三、面向比特的同步通信数据格式1. 最有代表性的是:①IBM 的 SDLC( Synchronous Data Link Control ),同步数

据链路控制规程。②ANSI的 ADCCP ( Advanced Data Communication Control P

rocedure )。

Page 14: 第九章   串行通信接口

③ISO的 HDLC( High Level Data link Control )高级数据链路控制规程。

④DEC公司 DDCMP ( Digital Data Communication Message protocol )。

2.协议的特点:1)所传输的一帧( frame )数据(或称数据包)可以是任意二

进制位。2)通过约定的位组合模式(标志字节)来标志帧的开始和结束。注意:①HDLC作为国际标准 ISO3309;②ADCCP 作为美国国家标准;③我国相应国家标准 GB-7496,这几个协议均大同小异。

Page 15: 第九章   串行通信接口

3.HDLC 格式:

01111110 A C 1 FC 01111110

开始标志 地址场 控制场 信息场 校验场 结束标志

8 位 8 位 8 位 16 位 8 位≥0 位

( 1)标志场: SDLC/HDLC 规定所有信息传输必须以一个标志字节开始中,且以同一个字节结束,这个字节为 01111110 ,二个标志字节之间构成一个完整的信息单位,称为一帧( frame )( 2)地址场:( Address Field ) A场用来规定与之通信的次站的地址。

Page 16: 第九章   串行通信接口

A场的宽度: 8( SDLC 规定) 任意长度 HDLC( 3)控制场( Control Field ) 用来规定若干命令。( 8位: SDLC 16位: HDLC)( 4)信息场( Information Field ) 包含有要传送的数据,当上场为 0时,则这一帧主要是

控制命令。帧校验场( FC, Frame Check)3.实际应用时的两个技术问题( 1)“ 0”位插入 /删除技术 存在问题的提出:如上所述,标志字节:以 01111110 ,但在为了把它们区别开,采用了“ 0”位插入和删除技术。

Page 17: 第九章   串行通信接口

方法:遇到连续 5个“ 1”就自动插入一个“ 0”。 如: 原始 插入后 删除后 01111110 011111010 01111110 11111111 111110111 111111112. SDLC/HDLC 异常结束 若在发送过程中出现错误,则用异常结束符( A60H )结束。 如: HDLC 规定: 7个连续“ 1”为失效字符; SDLC 规定: 8个连续“ 1”为失效字符;

Page 18: 第九章   串行通信接口

9.3 节 串行接口标准一、 EIA-RS-232 接口标准 RS-232标准是美国 EIA (电子工业联合会)与 BELL 等公司一起开发的, 1969年公布的通信协议,适合的数传率: 0~ 20Kbps。1.电气特性 RS-232 对电气特性,逻辑电平和各种信号线的功能都作了规定。 逻辑“ 1”=-3V~ -15V “0”=+3V~ +15V 与 TTL逻辑电平不一样,可用 TTL/EIA 电平转换器进行,如MC1488 , MC1489IC。

Page 19: 第九章   串行通信接口

MC1488 MC1489RS-232

TTLEIA 电平

+15V+15V

TTL

+15V

采用 EIA 电平比 TTL电平具有更强的抗干扰性能。 另外, MAX232省电可连接二对收 /发线,只用单电源。2.机械特性1)连接器( Connector ) 常用二种:①DB-25 型, 25 脚,只用 9个信号( 2个数据线, 6个控制线,1个地址),如下图所示。

Page 20: 第九章   串行通信接口

1234

DB-25 型连接器

56789

1113 25

222018

14

发送电流( - )发送电流( + )

DCDGNDDSRCTSRTSRXDTXD

( - )接收电流

( + )接收电流

②DB-9型 9针, 9针全用,如下图。12345

6789

DSRRTSCTSRI

DCDRXDTXDDTRGND

DB-9 型连接器

Page 21: 第九章   串行通信接口

2. 电缆长度 RS-232 直接连接的最大物理距离 15M ,通信速率 <20Kbps。3.RS-232C接口信号的定义。见书 216 表 9.2 。 25线:数据线 4条( 2, 3, 14 , 16) 控制线 11条( 4, 5, 6, 8, 12 , 13 , 19 , 20 ,

22 , 23 ) 定时信号线 3条( 15, 17, 24) 地线 2条( 1, 7) 备用 5条( 9, 10, 11 , 18 , 25) 未定义4. 信号线的连接1)近距离连接( <15m) 只用 3条线(发送线 TXD ,接收线 RXD ,信号地线)

Page 22: 第九章   串行通信接口

TXD

RXD

TXD

RXD

A 机 B 机

7 7

2 23 3

4 5 6 20 4 5 6 20

2. 远距离连接( >15m)1)需用 MODEM 和专用电话线2)需用 2~ 9条信号线(在接口与 MODEM 之间)

计算机

调制解调器DCD

RXDTXD

RTSCTS

SGDSR

调制解调器 DCD

RXDTXD

RTSCTS

SGDSR

端专用电话线

2

┇┇

2

采用 MODEM 时 RS-232 信号线的使用

Page 23: 第九章   串行通信接口

二、 RS-422/RS-423 接口标准1. 特点: ( 1 )采用平衡发送器和差动接收器,由于是双线传输,大大提高了抗共模干扰的能力。因为是两条传输线的电位差决定逻辑电平AA´-BD ´ <-2V,表示“ 1”AA´-BD ´ >+2V,表示“ 0”( 2)传输速率 10Mbps( <15m时) 90Kbps( <1200m时)2.连接

MC3487 MC3486

B

TTLRS-422A 电平平衡发送器 差动接收器

A A´

Page 24: 第九章   串行通信接口

2 ) RS-4231.连接:

2.特点:①采用单端发送器和差动接收器,由于是差动接收器,提高了抗 共模干扰能力。

②数传率: 100Kbps/90m时 1Kbps/1200m时③逻辑“ 1”, 4V~ 6V 逻辑“ 0”, -4V~ -6V

TTLRS-423A 电平

单端发送器 差动接收器+-

Page 25: 第九章   串行通信接口

三、 RS-485 接口标准1. 特点:( 1)兼容 RS-422A ,扩展RS-422A 的功能;( 2)允许在电路中有多个发送器和允许一个发送器驱动多个接收

器,多达 32 个收 /发器;( 3)搞干扰能力强,传送距离远,传输速率高。 数传率: 100Kbps <1.2Km 不用 MODEM 9.6Kbps <15Km 10Mbps <15m四、几种标准的比较 见书 224,表 9.5 列出, RS-232, 423, 422 , 485几种标准

的工作方式,直接传输最大距离,最大数传率等参数。

Page 26: 第九章   串行通信接口

9.4 串行通信接口任务一、串口的基本任务(1)进行串,并转换(2)实现串行数据格式化(3)可靠性检验(4)实施接口与 DCE之间联络控制二、串口电路的组成

9.5 用 8251A 组成的串行接口一、 8251A 的内部逻辑与外部信号1.结构框图 8251A是通用同步异步接收/发送器 USARTUniversal/Synchronous Asynchronous Receiver and Transmitter)

Page 27: 第九章   串行通信接口

功能:异步起止协议 同步面向字符协议组成:接收器、发送器、调制控制、读 /写控制、数据总线缓冲器

数据总线缓冲器

读 / 写控制逻辑

调制控制

发送缓冲器发送控制

接收缓冲器接收控制

TXDTXRDYTXEMPTY

TXC

RXD

RXRDYSYNDET/BD

RXC

DTRDSRRTSCTS

RESETCLKC/DRDWRCS

Page 28: 第九章   串行通信接口

1. 发送器①TXRDY( Transmitter Ready):发送器准备好,高电平有效②TXE( Transmitter Empty):发送器空,状态线,高有效③TXD :发送数据线④TXC:发送器输入时钟2. 接收器①RXD :接收数据线②RXRDY:接收器准备好③TXEMPTY:接收器空④TXC:接收器输入时钟3.与调制器的接口接号①DTR:数据终端准备好②RTS:请法发送

Page 29: 第九章   串行通信接口

③DSR:数据装置准备好④CTS:清除传送二、 8251 的控制字与状态字1. 工作方式字 约定双方的通信方式,数据格式,传送速率a.作用:对 8251A 工作方式进行选择,是异步方式还是同步方式b.格式:

S1 S0 EP PEN L1 L0 B1 B0

D7 D6 D5 D4 D3 D2 D1 D0

停止位 奇偶校验 字符长度 波特因子(同步) (异步)×0= 内同步 00= 不用×1= 外同步 01=1 位0×= 双同步 10=1.5 位1×= 单同步 11=2 位

×0= 无校验01= 奇校验11= 偶校验

00=5 位01=6 位10=7 位11=8 位

00= 同步01=×1 异步10=×16 -11=×64 -

Page 30: 第九章   串行通信接口

例 1:异步通信中,若帧数据格式为:字符长度 8位,双同步字符,内同步方式,奇校验,波特率因数是16,则工作字是:11011110B=DEH MOV DX, 309H ; 8251命令口 MOV AL, 0DEH ;异步工作方式字 OUT DX, AL 例 2:同步通信中,若帧数据格式为:字符长度 8位,双同步字符,内同步方式,奇校验,则工作字是: 00011100B=1CH 。 MOV DX, 309H ; 8251命令口 MOV AL, 1CH ;同步工作方式字 OUT DX, AL 2. 工作命令字a.作用:是确定 8251A 的实际操作,迫使 8251A 进行某种操作或

工作状态,以便接收或发送数据。

Page 31: 第九章   串行通信接口

b.格式:EH IR RTS ER SBRK RXE DIR TXEN

D7 D6 D5 D4 D3 D2 D1 D0

进入搜索方式内部复位 发送请求

错误标志复位发中止字符

接收允许数据终端准备好

发送允许D7=1 有效 D6=1 有效 D5=1 有效 D4=1 复位

ER

D3=1, 发中止字符(空号) =0 ,正常操作

D2=1, 允许接收 =0 ,禁止接收

D0=1, 允许发送 =0 ,禁止发送

D1=1, 已准备好 =0 ,正常操作

例 3:使 8251 内部复位,并且允许接收,又允许发送,则程序段为:

Page 32: 第九章   串行通信接口

MOV DX,309H ; 8251命令口 MOV AL,01000000B ;置 D6=1,使内部复位 OUT DX,AL MOV AL,00000101B ;置 D0=1, D2=1,允许接收和发送

3.状态字a.作用: 8251A执行命令进行数据传送后的状态字存放在状态寄存器中, CPU通过读出状态字进行分析和判断,以决定下一步的操作。b.格式:

DSR SYNDET TE OE PE TXE RXRDY TXRDY

D7 D6 D5 D4 D3 D2 D1 D0

数传机就绪 同步检出格式错

溢出错奇偶错

发送器空 接收准备好 发送准备好

Page 33: 第九章   串行通信接口

例 4:若查询 8251A 接收器是否准备好,则用下列程序段: MOV DX, 309H ;状态口 MOV 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,则出错

Page 34: 第九章   串行通信接口

4.8251A 的方式字和命令的使用( 1)方式字: 约定双方通信的方式,数据格式,传送速率等参数。 命令字:规定是发送数据,还是接收数据。 状态字:何时发 /收、取决于状态字。( 2)使用的顺序: 复位→方式字→命令字 1 →命令字 2……三、 8251A 应用举例1. 要求 在甲乙二台 PC之间进行串行通信,甲发送乙接收,要求把甲

机上开发应用程序(其长度为 2DH )传送到乙机中去。

Page 35: 第九章   串行通信接口

采用:①起止式异步方式,②字符长度为 8位,③ 2位停止位,④波特率因子为 64,无校验,⑤波特率为 4800,⑥CPU 与 8251A之间用查询方式交换数据口地址分配是: 309H为状态命令 /状态口, 308H为数据口2.分析 由于是近距离传输,可以不设 MODEM,直接互连,同时,是采用查询 I/O方式,故收 /发程序中只需检查发 /收准备好的状态是否置位,即可收发 1个字节。

Page 36: 第九章   串行通信接口

3. 设计1)硬件连接 DTE( Data Terminal Equipment ) 根据以上分析把二台 PC机都当作数据终端设备 DTE,它们之间只需 TXD , RXD 和 SG三根线连接就能通信。 主要电路:①8251 串行口②TTL/EIA 变换器③波特率发生器④地址译码电路2)软件编程①发送程序:包括初始化,状态查询, I/O

Page 37: 第九章   串行通信接口

CSEG SEGMENT ASSUME CS: CSEG, DS: CSEGTRA PROC FARSTART: MOV DX, 309H ;命令口 MOV AL, 00H ;空操作,向命令口送任意数 OUT DX, AL MOV AL, 40H ;内部复位(使 D6=1 ) OUT DX, AL NOP MOV AL, 0CFH ;方式命令字(异小, 2位停止位,字符长度为 8位,无校验,波特率因子为 64 个 /位)

OUT DX, AL

Page 38: 第九章   串行通信接口

MOV AL, 37H ;工作命令字( RTS 、 ER 、 RXE 、 DTR 、 TXEN 均置 1 ) OUT DX, AL MOV 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

Page 39: 第九章   串行通信接口

DEC CX ;字节数减 1 JNZ L1 ;未发送完,继续 MOV AX, 4C00H ;已送完,回 DOS INT 21HTRA ENDPCSEG ENDS END START②接收程序(略)

9.6 采用 RS-232C 标准的全双工异步 串行口通信接口电路设计

一、要求①甲乙两台微机之间,按 EIA-RS-232C 标准进行零 MODEDM 方式、

全双工异步串行通信,双方在各自的键盘上按键向对方发送字符

Page 40: 第九章   串行通信接口

时,同时又可接收对方发来的字符。字符数据格式为起止位: 1位停止位, 7位数据位,无校验,波特率因子为 16.②发送的字符和接收的字符均在屏幕上显示。③波特率在 110b/s, 150b/s, 300b/s, 600b/s.1200b/s,240

0b/s, 4800b/s, 9600b/s八档中任选。④按下 ESC键,程序退出,返回 DOS.二、分析①由于要求波特率可选,故需要设置波特率时钟发生器。②由于要求 8253-5输出方波,作为 8251A 的收 /发时钟,所以

8253-5 必定工作在 3方式,而 3方式的门控信号 GATE,要由外部控制。

③串行通接口电路所波及到的其他芯片,如 8251A、 MAX23 。

Page 41: 第九章   串行通信接口

三、设计1.硬件设计 根据上述要求和分析,串行通信接口电路的组成以 8251A为主,还要加上 8253-5作波特率时钟发生器, MAX232 作电平转换, 74LS92 作分频器, 8255A提供门控信号。2.软件设计 通信主程序由主程序和子程序两大模块组成。子程序有两个:一是 8251A 初始化,二是 8253-5计数初值与装入。主程序负责波特率的选择与输入;接收和发送字符,并在屏幕上显示;查有无 ESC键按下,以便结束程序,并返回 DOS。

Page 42: 第九章   串行通信接口

9.7 采用 RS-485 标准的异步串行通信接口电路设计一、要求 进行多点对多点的全双工传送,不使用 MODEM ,直接传输距离较远( 2km),传输速率较高( 30Kb/s),试设计异步串行通信接口电路。二、分析1. 收发器芯片 MAX485./491 的引脚功能 MAX485用于半双工,而 MAX491 可用作全双工。见书 240面。2.信号的逻辑定义3. 在网络中的连接三、设计1.硬件设计2.软件编程

Page 43: 第九章   串行通信接口

9.8 PC 微机异步通信适配器的分析和使用一、 UART 的寄存器及其编程方法1. 发送保持寄存器和接收数据寄存器2.波特率除数 波特率除数( BRD )是 16位数,它与 UART的数据传输速率(波特率)有关。当使用 UART的内部时钟频率为 1.8432MHz 时,则波特率除数 BRD与波特率 Baud 之间的关系如下式所示:BRD=时钟频率 /( 16×Baud )。 例如,若要计算波特率为 1200b/s的波特率除数,则有:BDR=1843200/ ( 16×1200 ) =0060H 。