860 likes | 1.11k Views
第 11 章 串行通信和可编程接口芯片 8251A. 11.1 串行通信的基本概念 与 EIA RS-232C 串行口 11.2 可编程串行通信接口芯片 8251A 11.3 8251A 应用举例. 11.1 串行通信的基本概念与 RS-232C 串行口. 并行通信 : 各位数据都是并行传输的,它以字节(或字)为单位与 I/O 设备或被控对象进行数据交换。 特点: 传输速度快;硬件开销大;只适合近距离传输。 串行通信: 串行通信是通过一位一位地进行数据传输来实现通信。 特点: 具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。.
E N D
第11章 串行通信和可编程接口芯片8251A 11.1 串行通信的基本概念与EIA RS-232C串行口 11.2 可编程串行通信接口芯片 8251A 11.3 8251A应用举例
11.1 串行通信的基本概念与RS-232C串行口 并行通信: 各位数据都是并行传输的,它以字节(或字)为单位与I/O设备或被控对象进行数据交换。 特点:传输速度快;硬件开销大;只适合近距离传输。 串行通信:串行通信是通过一位一位地进行数据传输来实现通信。 特点:具有传输线少,成本低等优点,适合远距离传送;缺点是速度慢。 • 完成串行通信任务的接口称为串行通信接口,简称串行接口。 • 功能:(1)输入时,完成串行到并行格式转换(2)输出时,完成并行到串行格式转换。
1.串行通信中的术语 (1)发送时钟和接收时钟 二进制数据序列称为比特组,由发送器发送到传输线上,再由接收器从传输线上接收。 二进制数据序列在传输线上是以数字信号形式出现,即用高电平表示二进制数1,低电平表示二进制数0。 每一位持续的时间是固定的,在发送时是以发送时钟作为数据位的划分界限,在接收时是以接收时钟作为数据位的检测。
①发送时钟:串行数据的发送由发送时钟控制,移位寄存器由发送时钟触发进行移位输出。①发送时钟:串行数据的发送由发送时钟控制,移位寄存器由发送时钟触发进行移位输出。 ②接收时钟:串行数据的接收是由接收时钟来检测,传输线上送来的串行数据序列由接收时钟作为移位寄存器的触发脉冲。
⑵ DTE和DCE ①数据终端设备(data terminal equipment,DTE):是对属于用户所有联网设备和工作站的统称,它们是数据的源或目的或者即是源又是目的。例如:数据输入/输出设备,通信处理机或各种大、中、小型计算机等。DTE可以根据协议来控制通信的功能。 ②数据通信设备(data communication equipment,DCE):DCE是对网络设备的统称,该设备为用户设备提供入网的连接点。自动呼叫/应答设备、调制解调器Modem和其他一些中间设备均属DCE。
⑶ 信道 信道是传输信息所经过的通道,是连接2个DTE的线路,它包括传输介质和有关的中间设备。 例: 公用电话线(经交换机接续),普通电话线是模拟信道,带宽为300~3400Hz,很难直接远距离传输数字信号(0,1信号) 专用电话线 无线信道(除modem外,外加收发机)
数据通信设备 数据终端设备 数据通信设备 数据终端设备 信 道 DCE DTE DTE DCE 2.数据通信的一般模型:
A B T R 3. 串行通信中的工作方式 串行通信中的工作方式分为:单工通信方式、半双工通信方式和全双工通信方式 ⑴单工工作方式 传输的线路用一根线,通信的数据只允许按照一个固定的方向传送。如图:只能从A站点传送到B站点。 例: 单工通信类似无线电广播,电台发送信号,收音机接收信号,收音机永远不能发送信号。
A B 数据流 T T R R ⑵半双工工作方式 传输的过程中依然用一根线连接,在某个时刻,只能进行发送,或只能进行接收,即发送和接收不可能同时进行。 如图: 例:半双工通信工方式类似对讲机,某时刻A方发送B方接收,另一时刻B方发送A方接收,双方不能同时进行发送和接收。
A B 数据流 T T R R ⑶全双工工作方式 相互通信的双方,都可以是接收器也都可以是发送器。分别用2根独立的传输线(一般是双绞线,或同轴电缆)来连接发送信号和接收信号,这样发送方和接收方可同时进行工作。 如下图所示。全双工通信工方式类似电话机,双方可以同时进行发送和接收。
4. 串行传送的两种基本工作方式 串行通信分为2种类型:一种是同步通信方式,另一种是异步通信方式。 ⑴同步通信方式 特点: 由一个统一的时钟控制发送方和接收方,若干字符组成一个信息组,字符要一个接着一个传送; 没有字符时,也要发送专用的“空闲”字符或同步字符,因为同步传输要求连续传送,字符中间不允许有间隔。 同步传输的特征是:在每组信息的开始(常称为帧头)要加上l一2个同步字符,后面跟着8位的字符数据。
01111110 01111110 8位数据 8位数据 8位数据 … 8位数据 01111110 数据 结束标志 同步 同步 字符1 字符2 同步通信字符格式 传送时每个字符的后面是否要奇、偶校验,由初始化时设同步方式字决定。
⑵异步通信方式 特点: 字符是一帧一帧的传送,每一帧字符的传送靠起始位来同步。在数据传输过程中,传输线上允许有空字符。 所谓异步通信,是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的通信。 异步通信中发送方和接收方的时钟频率允许有一定的误差,但不能超过一定的范围。
第n-1个字符 第n个字符 第n+1个字符 奇 奇 偶 偶 停 起 停 校 校 止 始 止 7位数据 7位数据 验 验 位 位 位 空闲 n 位 起始位 7位数据 … … 0/1 0/1 0/1 1 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 1 1 0 0/1 0/1 0/1 … 数据低位 数据高位 下降沿指示下一个字符开始 停止位 空闲位 起始位 D0 D1 D2 D3 D4 D5 D6 校验位 空闲位 数据长度 5、6、7、8 异步通信字符格式 例: 校验位(奇偶校验位):1位 。奇校验:数据位和校验位共有奇数个“1 ”。偶校验:数据位和校验位共有偶数个“1”。
字符的前面是一位起始位(低电平),之后跟着5~8位的数据位,低位在前、高位在后。数据位后是奇、偶校验位,最后是停止位(高电平)。是否要奇、偶校验位,以及停止位设定的位数是1,1.5位或2位都由初始化时设置异步方式字来决定。字符的前面是一位起始位(低电平),之后跟着5~8位的数据位,低位在前、高位在后。数据位后是奇、偶校验位,最后是停止位(高电平)。是否要奇、偶校验位,以及停止位设定的位数是1,1.5位或2位都由初始化时设置异步方式字来决定。 • 注意: • 数据流方向,先发低位再发高位。 • 每传送一个字节就进行一次协调,所以允许通信双方波特率有一定误差。 • 空闲位起缓冲作用。
5.串行传送速率 波特率(Baud Rate):波特率作为串行传输中数据传输速度的衡量单位,用每秒传输数据的位数(位/秒)来表示。 例:10位/字符×120字符/秒=1200位/秒=1200波特 国际上规定的一个标准的波特率系列是:110,300,600,1200,1800,2400,4800,9600,19200。 同步传送的波特率高于异步,可达64000波特。 异步通信允许发送方和接收方的时钟误差或波特率误差在4%~5%。
发送时钟与波特率的关系是: 时钟频率=n×波特率 (n可以是l,16,32,64。n为波特率因子,是传输一位二进制数时所用的时钟周期数。不同芯片的n由手册中给出)。
6. 通信中必须遵循的规定(协议) 通信双方必须制定并遵守同一个约定(协议),包括:数据格式、同步方式、传输速率、纠错方式等。 异步通信协议包括: 一、字符传送格式的规定。 例:异步方式每个字符在传送时,前面必须加一个起始位,后面必须加停止位来结束,停止位可以为1位,1.5位,2位。奇、偶校验位可以加也可以不加。 二、数据传送速率的要求。
7.信号的调制与解调 计算机对数字信号的通信,要求传输线的频带很宽,但在实际的长距离传输中,若利用电话线来传输,电话线的频带一般都比较窄。为保证信息传输的正确,要采用调制解调器(modem)来实现远距离的信息传输。 调制解调器,顾名思义主要是完成调制和解调的功能。经过调制器(modulator)可把数字信号转换为模拟信号,经过解调器(demodulator)把模拟信号转换为数字信号。
modem 的功能:实现对通信双方信号的转换过程。 使模拟信号的某参数(幅、频、相)随数字信号而变化。 调制方法: ASK:幅度键控(抗干扰能力差) FSK:频率键控(把0,1调制成不同的两种频率,传输速率不高) PSK:相位键控(由传输的初相角确定0,1;占用频带窄,可用于传输速率较高场合) 高频正弦信号 模拟 电子开关 频带信号输出 低频正弦信号 模拟 电子开关 1 0 1 合成 数字信号10101010 FSK调制过程
数字信号 模拟信号 数字信号 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 计算机 MODEM MODEM 计算机 A A B B 电话线 调制与解调过程
EIA RS-232C串行口 串行接口标准: 指的是计算机或终端(数据终端设备DTE)的串行接口电路与调制解调器MODEM等(数据通信设备DCE)之间的连接标准。
RS-232C串行接口标准: • 美国电子工业协会EIA制定的通用标准串行接口 • 1962年公布,1969年修订 • 1987年1月正式改名为EIA-232D • 设计目的是用于连接调制解调器,现是最常用的串行通信接口标准之一,是PC机的标准配置。 • 是数据终端设备DTE(例如计算机)与数据通信设备DCE(例如调制解调器)的标准接口 • 可实现远距离通信,也可近距离连接两台微机 • 属于网络层次结构中的最低层:物理层
RS-232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连接器,如图所示。RS-232C是一种标准接口,D型插座,采用25芯引脚或9芯引脚的连接器,如图所示。
连接及通信原理: 微型计算机之间的串行通信是按照RS-232C标准设计的接口电路实现的。如果使用电话线进行通信,那么计算机和MODEM之间的连线就是根据RS-232C标准连接的。其连接及通信原理如图所示。
RS-232C的引脚定义: • 232C接口标准使用一个25针连接器 • 绝大多数设备只使用其中9个信号,所以就有了9针连接器 • 主要引脚定义: TxD:发送数据,串行数据的发送端。 RxD:接收数据,串行数据的接收端。 RTS:请求发送,当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据。 CTS:清除发送(允许发送),当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号。 RTS和CTS信号逻辑0为有效状态,是数据终端设备与数据通信设备间一对用于数据发送的联络信号。
DTR:数据终端准备好 • 通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪 DSR:数据装置准备好 • 通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式 DTR和DSR信号逻辑0为有效状态,可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收。
GND:信号地 • 为所有的信号提供一个公共的参考电平 • CD:载波检测(DCD) • 当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号 • RI:振铃指示 • 当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效
保护地:(机壳地) • 起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地 • TxC:发送器时钟 • 控制数据终端发送串行数据的时钟信号 • RxC:接收器时钟 • 控制数据终端接收串行数据的时钟信号
RS-232C的连接: • 微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信 • 微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接
微机 MODEM MODEM 微机 2 3 4 5 6 7 8 20 22 2 3 4 5 6 7 8 20 22 2 3 4 5 6 7 8 20 22 2 3 4 5 6 7 8 20 22 电话线 发送数据TxD 接收数据RxD 请求发送RTS 允许发送CTS 数据装置准备好DSR 信号地GND 载波检测CD 数据终端准备好DTR 振铃指示RI 连接调制解调器
微机 微机 TxD RxD GND 不使用调制解调的3线相连方式——Null Modem 为了交换信息,TxD和RxD应当交叉连接 程序中不必使RTS和DTR有效 但CTS应接地
RS-232C的电气特性: 相互转换 • 232C接口采用EIA电平 • 逻辑低电平为+3V~+15V • 逻辑高电平为-3V~-15V • 实际常用±12V或±15V • 标准TTL电平 • 低电平:0V~0.4V • 高电平:+2.4V~+5V
+12V +5V TTL IN EIA OUT 1488 TTL OUT EIA IN 1489 -12V • 电平转换器件:MC1488(±12v供电)、MC1489 (+5v供电) • MAX232 (+5v供电)、 MAX233等 TTL与EIA电平的转换
+5V + + +5V 1µ 1µ 7 Vcc +10V C1+ C1- 2 T1IN T2IN T1OUT T2OUT 5 + 1 2 V+ V- 1µ 3 18 6 -10V 1 C2+ C2- TTL + 4 + 1µ R1OUT R2OUT 3 R1IN R2IN 4 RS- 232C 1µ 5 19 T1OUT T2OUT 20 11 T1IN T2IN 14 8 11 C1+ C1- C2+ C2+ RS- 232C 13 15 TTL 10 7 12 16 V- V-V+ C2- C2- 12 R1OUT R2OUT R1IN R2IN 13 17 10 14 GND 9 8 MAX232 MAX233 6 9
11.2 可编程串行通信接口芯片8251A 一、 8251A的主要性能和内部结构 825lA是可编程的串行通信接口芯片,是Intel公司生产的一种通用同步/异步数据收发器(USART),它的基本性能如下: (1) 可工作在同步方式,也可工作在异步方式。同步方式下波特率为0~64,000波特,异步方式下波特率为0~19,200波特。 (2) 在同步方式时,每个字符可定义为5、6、7或8位。两种方法实现同步,由内部自动检测同步字符或由外部给出同步信号。允许同步方式下增加奇/偶校验位进行校验。
(3) 在异步方式下,每个字符可定义为5、6、7或8位,用1位作奇偶校验。时钟速率可用软件定义为波特率的l、16或64倍。另外,8251A在异步方式下能自动为每个被输出的数据增加1个起始位,并能根据软件编程为每个输出数据设置1位、1.5位或2位停止位。 (4) 能进行出错检测。带有奇偶、溢出和帧错误等检测电路,用户可通过输入状态寄存器的内容进行查询。
8251A的内部结构框图如下页图所示。 它由数据总线缓冲器、读/写控制逻辑、调制/解调器控制逻辑、发送缓冲器、发送控制器、接收缓冲器、接收控制器、等组成。
发送 缓冲器 数据总线缓冲器 TxD DB 发送 控制 电路 TxRDY TxE TxC RESET CLK RD WR C/D 读 / 写逻辑 接收 缓冲器 CS RxD DSR DTR CTS RTS 调制解调控制电路 接收 控制 电路 RxRDY RxC SYNDET 8251A的内部结构框图 状态缓冲器、接收数据缓冲器、数据/命令缓冲器
1) 数据总线缓冲器 数据总线缓冲器通过8位数据线D7~D0和CPU的数据总线相连,负责与CPU交换信息。 还可随时把状态寄存器中的内容读到CPU中,在825lA初始化时,分别把方式字、控制字和同步字符送到方式寄存器、控制寄存器和同步字符寄存器中。
C/ 执行的操作 0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 CPU由8251A输入数据 CPU向8251A输出数据 CPU读取8251A的状态 CPU向8251A写入控制命令 2) 读/写控制逻辑 8251A的控制信号与执行的操作之间的对应关系表
3) 接收缓冲器与接收控制器(异步方式) 接收缓冲器包括接收移位寄存器(接收RXD管脚的串行数据)和数据输入寄存器(转为并行格式数据等待CPU取走)。 接收控制电路是用来控制数据接收工作。接收数据的速率取决于RxC引脚上接的时钟频率。异步方式下,接收时钟的频率可以是波特率的1、16或64倍,即波特率系数(因子)为1、16或64。 当CPU发出允许接收数据的命令时,接收缓冲器就一直监视着数据引脚RxD上的电平信号,一旦检测到下降沿,就启动接收过程。
停止位 1 奇偶位 接收移位寄存器 波 特 率 接收缓冲寄存器 接收器工作过程 当8251允许接收并准备好接收数据时,监测RxD端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8个0确认。然后按波特率移位(取决于RxC引脚上的时钟频率)。检测RXD,直至停止位。内部删除起始、奇偶、停止位,送到接收缓冲寄存器后,使RxRDY为高,向CPU提出中断申请。 检测 RxD ÷ 内部CLK 异或门 奇偶检验结果 DB
16T DATA 启动位 CLOCK 16T 确定已检测到启动位 采样数据检测 中央点 启动检测 8251A对数据的采样过程
4) 发送缓冲器与发送控制器(异步方式) 发送缓冲器包括数据输出寄存器(寄存来自CPU的数据)和发送移位寄存器(将串行数据从TXD管脚发送出去)。 发送控制电路能按程序规定的字符格式,给发送数据自动加上起始位、奇偶校验位和停止位对串行数据实行逐位发送。发送速率取决于TxC引脚上接的发送时钟频率。
发送器工作过程 CPU执行输出指令,并行数据→发送缓冲器。 数据发送缓冲器 DB 发送缓冲器→发送移位寄存器,向CPU提出中断申请(TxRDY=1)。 内部CLK 内部产生起始、奇偶检验、停止位,按约定的波特率从TxD输出。发送速率取决于TxC引脚上接的发送时钟频率。 异或门 波 特 率 ÷ 0 TXD SOUT 当数据全部输出结束,在TXD发出连续低电平(中止符BREAK), (TxE=1)。 停止位 1 奇偶位 发送移位寄存器 起始位
5) 调制/解调器控制逻辑 利用8251A进行远距离通信时,发送方要通过调制解调器将输出的串行数字信号变为模拟信号,再发送出去。接收方也必须将模拟信号经过调制解调器变为数字信号,才能由串行接口接收。 调制解调器控制电路是专为调制解调器提供控制信号用的。
二、 8251A的外部特性 8251A引脚图
8251A引脚信号可以分为六类: 1) 双向的数据信号线D7~D0 825lA有8条数据线D7~D0,通过这8根线和CPU的数据总线相连接。 数据线上传输数据,编程命令字和状态信息。
2) 片选信号CS 低电平有效,如果8251A未被选中,数据线D7~D0将处于高阻状态,读/写信号对芯片都不起作用。 3) 读/写等控制信号 RD (输入,13引脚)为读信号,低电平有效。当CS也为低电平,CPU可以从8251A读取数据或状态信息。 WR (输入,10引脚)为写信号,低电平有效。当CS也为低电平,CPU可以向8251写入数据或控制字。 C/D(输入,12引脚)为控制/数据信号,分时复用。为高电平时,系统处理的是控制信息或状态信息,为低电平时,传送的是数据信息。 RESET(输入,21引脚)为复位信号,高电平有效。复位时8251A进入空闲(Idle)状态,等待对芯片进行初始化编程。