1、第 10章,10.1 串行通信基础 10.2 8251的内部结构和编程 10.3 MCS-51串行通信工作方式,10.1串行通信基础,一、串行通信的基本概念 串行通信:是将数据的各位一位一位地依次传送。传送距离较远,适合于计算机之间、计算机与外部设备之间的远距离通信。 并行通信:指数据各位同时传送。速度快、效率高、距离短。 串行通信有 同步通信和异步通信两种方式:,返回本章首页,返回本节,同步通信:每个数据块开始时,发送一个或两个同步字符,使发送和接收双方取得同步,数据块各字符间取消了起始位和发送位。如发送的数据之间有间隔时,用发送同步字符填充。(较少使用) 同步字符由用户规定,如:01111
2、110 同步传送时,收、发双方要求时钟和频率一致。(较少使用),异步通信:数据在线路上是以一个字(或字符)为单位来传送的。不需严格的同步时钟控制,也不需数据流的连续性。在串行通信中常用。 数据帧:包含起始位(“0”电平),数据位(从低位到高位逐位数据传送),奇偶校验位、停止位(用“1”表示)。 线路不传送数据时,应保持为“1”(保证起始处有一个下跳沿)。,起止式异步通信协议,起始位每个字符开始传送的标志,起始位采用逻辑0电平,数据位数据位紧跟着起始位传送。由58个二进制位组成,低位先传送,校验位用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位,停止位表示该字符传送结束。停止位采用逻辑1
3、电平,可选择1、1.5或2位,空闲位传送字符之间的逻辑1电平,表示没有进行传送,所谓异步就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。 在异步通信中,收、发两方必须事先规定两件事: 1. 字符帧的帧格式字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。如图所示:1) 起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。2) 数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。,3)奇偶校验位:占一位,用于对字符传送作正确性检查,
4、因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。 4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。 如:ASCII码帧(字符)为10位。 其中:数据7位起始位、校验位、停止位各一位。,字符帧格式,2. 传送的速率串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是1波特。即:1波特1bps(位/秒) 。在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低, 通信速度就慢。 如120个字符(
5、帧)/秒,每帧数据有10位,则传输速率为1200波特率。(1200bit/s),串行传输速率,串行传输速率,异步和同步通信的比较,图9-1 单工方式,发送器,1.单向数据传送:数据只向一个方向传送,二、串行通信数据传送方向,接收器,接收器,发送器,发送器,数据流,图9-2 半双工方式,2.半双向数据传送:用一根传送线既作输入又作输出,但通信双方不能同时收、发数据。要改变数据传送方向,必须进行通信双方的收、发设备的开关 切换。,发送器,接收器,数据流,接收器,发送器,图9-3 全双工方式,3.全双向数据传送:由两根传送线来发送和接收数据,双方可同时进行发送和接收。,串行数据通信要解决两个关键技术
6、问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如 何把并行数据转换为串行数据进行发送。所有串行接口电路都是以并行数据形式和CPU接口,以串行数据形式和外部通信接口。,通用异步接收发送器UART,接收器,发送器,控制部件,串行输入,时钟,复位,并行输入,时钟,控制信号,并行输出,数据总线,串行输出(对外),状态信息控制信息,UART基本组成框图,UART主要功能: 1、数据的串化、反串化 数据的串化:将并行数据变为串行数据;(发送器) 数据的反串化:将串行数据变为并行数据;(接收器) 2、格式信息的插入和删除 格式信息:异步通信中的起始位、校验位、停止位等。 串化过程:将格式信息插入和数据一起构成一个完整的数据帧。 反串化过程:滤出格式信息,保留数据位。 3、错误检验检验数据通信过程是否正确。,信号的调制和解调,10.2 8251基本性能,8251A的异步方式,8251A的同步方式,8251A 内部结构,C/D、RD、WR、CS的编码和对应的操作,8251A和CPU之间的连接信号 片选信号 数据信号 读/写控制信号 收发联络信号,8251的编程结构,8251A编程流程图,8251A 与CPU的数据交换,8251A 应用示例,发送程序,