1.17k likes | 1.34k Views
第一节 串行接口与通信. 本节重点:串行接口与通信概述,串行通信接口,通信规程和通信标准. 串行接口与通信概述. 一、并行通信与串行通信 数据通信的基本方式可分为 并行通信 与 串行通信 两 种: 并行通信: 用多条数据传输线将数据的各位同时传送。 特点:传输速度快,适用于短距离通信。 串行通信 :用一条传输线将数据一位一位地顺序传送。 特点:通信线路简单,利用电话或电报线路就可实现通信,适用于远距离通信,但传输速度慢. 二、串行通信方式 串行通信:分为 同步通信 (SYNC) 与 异步通信 ( ASYNC ) 两 种方式。 1 、异步通信及其协议
E N D
第一节 串行接口与通信 本节重点:串行接口与通信概述,串行通信接口,通信规程和通信标准
串行接口与通信概述 • 一、并行通信与串行通信 • 数据通信的基本方式可分为并行通信与串行通信两种: • 并行通信:用多条数据传输线将数据的各位同时传送。 • 特点:传输速度快,适用于短距离通信。 • 串行通信:用一条传输线将数据一位一位地顺序传送。 • 特点:通信线路简单,利用电话或电报线路就可实现通信,适用于远距离通信,但传输速度慢
二、串行通信方式 • 串行通信:分为同步通信(SYNC)与异步通信(ASYNC)两种方式。 • 1、异步通信及其协议 • 异步通信以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而在同一个字符中的两个相邻位代码间的时间间隔是固定的。 • 通信协议(通信规程):是通信双方约定的一些规则。
传送一个字符的信息格式:起始位、数据位、奇偶校验位、停止位等,其中各位的意义如下:传送一个字符的信息格式:起始位、数据位、奇偶校验位、停止位等,其中各位的意义如下: • ① 起始位:一位逻辑”0”信号,字符传输的开始。 • ② 数据位:紧接着起始位。数据位数可以是4、5、6、7、8。通常采用ASCII码。从低位开始传送,由时钟定位。 • ③ 奇偶校验位:数据位加这一位使“1”的位数为偶数(偶校验)或奇数(奇校验),校验数据传送的正确性。 • ④ 停止位:一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。 • ⑤ 空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。
波特率:数据传送速率,表示每秒钟传送的二进制位数。如数据传送速率为120字符/秒,每一个字符为10位,传送的波特率为10×120=1200字符/秒=1200波特。注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准。波特率:数据传送速率,表示每秒钟传送的二进制位数。如数据传送速率为120字符/秒,每一个字符为10位,传送的波特率为10×120=1200字符/秒=1200波特。注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准。
2、同步串行通信及其规程 • 同步通信以一个帧为传输单位,每个帧中包含有多个字符。在通信过程中,每个字符间的时间间隔是相等的,而且每个字符中各相邻位代码间的时间间隔也是固定的。同步通信的数据格式如图所示
同步通信的规程有以下两种: • ① 面向比特(bit)型规程:以二进制位作为信息单位。现代计算机网络大多采用此类规程。最典型的是HDLC(高级数据链路控制)通信规程。 • ② 面向字符型规程:以字符作为信息单位。字符是EBCD码或ASCII码。最典型的是IBM公司的二进制同步控制规程(BSC规程)。在这种控制规程下,发送端与接收端采用交互应答式通信。
三、数据传送方式 • 根据数据传送方向的不同有以下三种方式 (a)单工方式 (b)半双工方式 (c)全双工方式
(1) 单工方式 • 只允许数据按照一个方向传送,即一方只能作为发送站,另一方只能作为接收站。 • (2) 半双工方式 • 数据能从A站传送到B站,也能从B站传送到A站,但不能同时在两个方向上传送,每次只能有一个站发送,另一个站接收。通信双方可以轮流地进行发送和接收。 • (3) 全双工方式 • 允许通信双方同时进行发送和接收。全双工方式相当于把两个方向相反的单工方式组合在一起,需要两条传输线。
四、信号传输方式 • 1、基带传输方式 在传输线路上直接传输不加调制的二进制信号。要求传送线的频带较宽,传输的数字信号是矩形波。 • 基带传输方式仅适宜于近距离和速度较低的通信。
2、频带传输方式 • 传输经过调制的模拟信号。发送方用调制器把数字信号转换成模拟信号,接收方用解调器将接收到的模拟信号再转换成数字信号,这就是信号的调制解调。 • 实现调制和解调任务的装置称为调制解调器(MODEM)。采用频带传输时,通信双方各接一个调制解调器,将数字信号寄载在模拟信号(载波)上进行传输。这种传输方式也称为载波传输方式。通信线路可以是电话交换网,也可以是专用线。
五、串行接口标准 • 串行接口标准:指的是计算机或终端(数据终端设备DTE)的串行接口电路与调制解调器MODEM等(数据通信设备DCE)之间的连接标准。 • 1、RS-232C标准RS-232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连接器,
微型计算机之间的串行通信是按照RS-232C标准设计的接口电路实现的。使用电话线进行通信,计算机和MODEM之间的连线就是根据RS-232C标准连接的
① 信号线 • RS-232C标准规定接口有25根连线。只有以下9个信号经常使用. • 引脚和功能分别如下: • TXD(第2脚):发送数据线,输出。发送数据到MODEM。 • RXD(第3脚):接收数据线,输入。接收数据到计算机或终端。 • RTS*(第4脚):请求发送,输出。计算机通过此引脚通知MODEM,要求发送数据。 • CTS*(第5脚):允许发送,输入。发出作为对的回答,计算机才可以进行发送数据。
DSR*(第6脚):数据装置就绪(即MODEM准备好),输入。表示调制解调器可以使用,该信号有时直接接到电源上,这样当设备连通时即有效。DSR*(第6脚):数据装置就绪(即MODEM准备好),输入。表示调制解调器可以使用,该信号有时直接接到电源上,这样当设备连通时即有效。 • CD(第8脚):载波检测(接收线信号测定器)输入。表示MODEM已与电话线路连接好。 • 如果通信线路是交换电话的一部分,则至少还需以下两个信号: • RI(第22脚):振铃指示,输入。MODEM若接到交换台送来的振铃呼叫信号,就发出该信号来通知计算机或终端。 • DTR*(第20脚):数据终端就绪,输出。计算机收到RI信号以后,就发出信号到MODEM作为回答,以控制它的转换设备,建立通信链路。 • GND(第7脚):地
② 逻辑电平 • RS-232C标准采用EIA电平, • 规定:“1”的逻辑电平在-3V~-15v之间, • “0”的逻辑电平在+3V~+15V之间。 • 由于EIA电平与TTL电平完全不同,必须进行相应的电平转换, • MCl488完成TTL电平到EIA电平的转换, • MCl489完成EIA电平到ITL电平的转换。 • 除了RS-232C标准以外,还有一些其它的通用的串行接口标准
2、RS-423A总线 • 为了克服RS-232C的缺点,提高传送速率,增加通信距离,又考虑到与RS-232C的兼容性,美国电子工业协会在1987年提出了RS-423A总线标准。该标准的主要优点是在接收端采用了差分输入,差分输入对共模干扰信号有较高的抑制作用,可提高通信的可靠性 。RS-423A的接口电路如图所示。
3、RS-422A总线 • RS-422A总线采用平衡输出的发送器,差分输入的接收器。如图所示。
RS-422A的输出信号线间的电压为±2v,接收器的识别电压为±0.2v。共模范围±25v。在高速传送信号时,应该考虑到通信线路的阻抗匹配,一般在接收端加终端电阻以吸收反射波。电阻网络也应该是平衡的,如图所示。RS-422A的输出信号线间的电压为±2v,接收器的识别电压为±0.2v。共模范围±25v。在高速传送信号时,应该考虑到通信线路的阻抗匹配,一般在接收端加终端电阻以吸收反射波。电阻网络也应该是平衡的,如图所示。
4、RS-485总线 • RS-485适用于收发双方共用一对线进行通信,也适用于多个点之间共用一对线路进行总线方式联网,通信只能是半双工的,线路如图所示。
习题: • 1、串行通信和并行通信有什么异同?它们各自的优缺点是什么? • 2、RS-232C的最基本数据传送引脚是哪几个? • 3、为什么要在RS-232C与TTL之间加电平转换器件。一般采用那些转换器件,以图说明。 • 4、调制解调器的功能是什么?如何利用Modem的控制信号进行通信的联络控制?
第二节 可编程串行接口芯片8251A 本节重点:8251A的基本性能,8251A 的内部结构,8251A的引脚功能 8251A的编程,8251A应用举例
可编程串行接口芯片8251A • 一、8251A的基本性能 • 8251A是可编程的串行通信接口芯片,基本性能: • 1、两种工作方式: • 同步方式,异步方式。 • 同步方式下,波特率为0~64K;异步方式下,波特率为0~19.2K。 • 2、同步方式下的格式 • 每个字符可以用5、6、7或8位来表示,内部能自动检测同步字符,实现同步。除此之外,8251A允许同步方式下增加奇/偶校验位进行校验。
3、异步方式下的格式 • 每个字符可用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验,1个启动位,能根据编程为每个数据增加1个、1.5个或2个停止位。可检查假启动位,自动检测和处理终止字符。 • 4、全双工的工作方式 • 内部提供具有双缓冲器的发送器和接收器。 • 5、提供出错检测 • 具有奇偶、溢出和帧错误三种校验电路。
1、发送器 • 发送器由发送缓冲器和发送控制电路两部分组成。 • 采用异步方式,由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。 • 采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后逐位串行输出数据。
如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕,发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。当发送器中的8位数据串行发送完毕,发送控制电路向CPU发出TXE有效信号,表示发送器中移位寄存器已空。
2、接收器 • 接收器由接收缓冲器和接收控制电路两部分组成。 • 接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。 • 异步方式:在RXD线上检测低电平,将检测到的低电平作为起始位, 8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RXRDY信号送CPU,表示已经收到一个可用的数据。
同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。同步方式:首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。 • 采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。
外同步情况下,同步输入端SYNDET加一个高电位来实现同步的。 • 实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RXD线进行采样,并把收到的数据位送到移位寄存器中。在RXRDY引脚上发出一个信号,表示收到了一个字符。
3、数据总线缓冲器 • 数据总线缓冲器是CPU与8251A之间的数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。
4、读/写控制电路 • 用来配合数据总线缓冲器的工作。功能如下: • (1) 接收写信号,将来自数据总线的数据和控制字写入8251A; • (2) 接收读信号,将数据或状态字从8251A送往数据总线; • (3) 接收控制/数据信号C/,高电平时为控制字或状态字;低电平时为数据。 • (4) 接收时钟信号CLK完成8251A的内部定时; • 接收复位信号RESET,使8251A处于空闲状态。 • 5、调制解调控制电路 • 用来简化8251A和调制解调器的连接。
1、251A和CPU之间的连接信号 • 片选信号 • CS*:片选信号,它由CPU的地址信号通过译码后得到。 数据信号 • D7-D0:8位,三态双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。
读/写控制信号 • RD* :读信号,低电平时, CPU当前正在从8251A读取数据或者状态信息。 • WR* :写信号,低电乎时, CPU当前正在往8251A写入数据或者控制信息。 • C/D*:控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选择信号。 • 由此可知,RD*、WR*、C/D*这3个信号的组合,决定了8251A的具体操作注:数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。
(4) 收发联络信号 • TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。 • TXE:发送器空信号,TXE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。 • RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RXRDY可用来作为中断请求信号;在查询方式时,RXRDY可用来作为查询信号。 • SYNDET:同步检测信号,只用于同步方式。
2、8251A与外部设备之间的连接信号 • (1) 收发联络信号 • DTR*:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。 • DSR*:数据设备准备好信号,表示当前外设已经准备好。 • RTS*:请求发送信号,表示CPU已经准备好发送。 • CTS*:允许发送信号,是对的响应,由外设送往8251A。 • 实际使用时,这4个信号中通常只有必须为低电平,其它3个信号可以悬空。
数据信号 • TXD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TXD送往外设。 • RXD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。
3、时钟、电源和地 • CLK:时钟输入,产生8251A器件的内部时序。 • 同步方式下,大于接收数据或发送数据的波特率的30倍, • 异步方式下,则要大于数据波特率的4.5倍。 • TXD:发送器时钟输入,用来控制发送字符的速度。 • 同步方式下,TXC的频率等于字符传输的波特率, • 异步方式下,TXC的频率可以为字符传输波特率的1倍、16倍或者64倍。
RXD:接收器时钟输入,用来控制接收字符的速度,和TXC一样。RXD:接收器时钟输入,用来控制接收字符的速度,和TXC一样。 • 在实际使用时,RXC和TXC往往连在一起,由同一个外部时钟来提供, • CLK则由另一个频率较高的外部时钟来提供。 • VCC:电源输入 • GND:地
四、8251A的编程 • 编程的内容包括两大方面: • ⑴ 是由CPU发出的控制字,即方式选择控制字和操作命令控制字; • ⑵ 是由8251A向CPU送出的状态字。
例如,若要查询8251A接收器是否准备好,则可用下列程序段完成:例如,若要查询8251A接收器是否准备好,则可用下列程序段完成: • MOV DX,0FFF2H ;状态口 • L: IN AL,DX ;读状态口 • AND AL,02H ;查Dl=1?准备好了吗? • JZ L ;未准备好,则等待 • MOV DX, OFFF0H ;数据口 • IN Al ,DX ;已准备好则输入数据
4、8251A的初始化 • (1)芯片复位以后,第一次用奇地址端口写入的值作为模式字进入模式寄存器。 • (2)如果模式字中规定了8251A工作在同步模式。 • (3) 由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。
五、8251A应用举例 • 1、异步模式下的初始化程序举例 • 设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H。完成初始化程序。 • 分析:根据题目要求,可以确定模式字为:11111010B 即0FAH • 控制字为:00110111B 即37H