


单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第9章 串行I/O接口,【内容简介】,主要介绍串行通信的基本概念和串行通信接口的基本组成与工作原理,然后介绍可编程串行通信接口8251A的结构、特性、引脚及应用;最后,通过具体实例说明串行通信的实现方法与程序设计重点难点】,重点是串行通信的基本概念、类型、工作方式、可编程串行通信接口8251A的组成原理、功能与初始化程序设计;难点是8251A的组成原理、功能与初始化程序设计第9章 串行I/O接口【内容简介】,1,第9章 串行I/O接口,9.1 串行通信类型与方式,9.2 可编程串行通信接口8251A,9.3 8251A初始化程序设计与应用举例,第9章 串行I/O接口 9.1 串行通信类型,2,9.1 串行通信类型与方式,9.1.1 概述,9.1.2 串行通信类型,9.1.3 串行通信方式,9.1.4 RS-232C/485标准与接口电路,9.1 串行通信类型与方式 9.1.1 概述,3,9.1.1 概述,1.串行通信,所谓串行通信,是用一条通信线路把两台设备连接起来,数据一位接一位地顺序传送,其示意如,图9.1,所示。
特点是传输线少,传送距离远,成本低2.串行接口电路,是把用于串行通信的电路集成在一起而构成的接口计算机输入时,需要把外设的串行数据转换成并行数据,输入给计算机;计算机输出时需要把并行数据转换成串行数据,输出给外部设备图9.2,所示是用于串行通信的接口电路,支持同步与异步工作方式,故称为通用同步/异步接收器/发送器USART,9.1.1 概述 1.串行通信 2.串行接口电,4,由,图9.2,可以看出,串行接口一般包含4个寄存器,即控制寄存器、状态寄存器、数据输入寄存器及数据输出寄存器数据的并/串转换和串/并转换通过移位寄存器来进行另外,还有总线缓冲器、地址译码器以及控制逻辑电路其中控制寄存器接收CPU的控制命令,以确定工作方式;状态寄存器用来存储外部设备及接口的状态信息数据输入输出寄存器与串行输入/并行输出移位寄存器配合使用,实现数据的输入输出与转换由图9.2可以看出,串行接口一般包含4个寄存器,即控制,5,3.数据输入,(1)CPU向接口电路发控制命令,设置接口输入工作方式;同时,启动外设工作2)外设数据通过串行输入端送入串行输入/并行输出移位寄存器,经转换后送入数据输入寄存器3)向CPU发输入请求或由CPU查询接口状态标志位,然后读取数据。
4.数据输出,(1)CPU发控制命令,设置接口输出工作方式;同时,启动外设工作2)CPU通过数据总线向接口电路发送数据和写命令,数据暂存在输出寄存器中3.数据输入,6,(3)经并行输入/串行输出移位寄存器转换后,数据串行输出在一般串行接口电路中,控制与状态寄存器共用一个地址;数据输入与数据输出寄存器共用一个地址3)经并行输入/串行输出移位寄存器转换后,数据串行,7,9.1.2 串行通信类型,串行通信类型有三种,如,图9.3,所示,即单工、半双工和全双工方式1.单工方式,数据按照一个固定的方向传送,不能反向传送如图,9.3(a),所示,由设备A发送给设备B2.半双工方式,要求通信两端的设备均具备接收和发送的能力但是在同一时间,数据只能沿着一个方向传送若要双向传送,只能交替进行如图,9.3(b),所示3.全双工方式,通信两端的设备即可以发送数据,也可以接收数据,发送与接收可以同时进行,其过程如,图9.3(c),所示9.1.2 串行通信类型 串行通信类型有三种,如图9.,8,第九章-串行IO接口-微型计算机原理与应用-电子教案-教学课件,9,9.1.3 串行通信方式,目前,串行通信主要有两种类型:异步通信ASYNC和同步通信SYNC方式。
1.异步通信方式,在异步通信方式中,数据按照ASCII码的格式设定,因此也称为字符格式,如,图9.4,所示9.1.3 串行通信方式 目前,串行通信主要有两种类,10,有效数据5-8位,另有附加位其中起始位1位,恒为低电平;奇偶校验位1位,可选;停止位可以是1位、1.5位或者2位,高电平传送一个字符必须以起始位开始,停止位结束,称为一帧(Frame)通信时每秒传送二进制数据的位数(bit)称为传输率,也称为波特率(Band Rate),比如300、600、1200、4800、9600、19200等异步数据传送时,发送设备按照格式约定插入起始位、奇偶校验位和停止位接收设备不断地检测传输线在高电平之后检测到(低电平)时,启动内部计数器计数,当计数到一个数据位宽度的一半时,再次检测传输线,若仍为低电平,则确认1个起始位然后继续计数,采样,移位接收到的数据和校验位在收到停止位(高电平)后,组成1帧若超过数据的位数而仍没有收到停止位时设置“帧错误”标志若校验有错,则设置“校验错”标志计算机异步通信的速率和有效数据的位数可由程序设置有效数据5-8位,另有附加位其中起始位1位,恒为低,11,2.同步通信方式,是用同步字符来标识传送数据的起始与结束,其格式如,图9.5,所示。
在开始部位设置12个同步字符作为起始标志,后面是数据;在数据的末尾,设置两个循环冗余校验码(CRC),一方面进行数据校验,另一方面表示数据传送结束同步字符可以是1个或2个;也可以在起始部位设置1个,在末尾设置1个按照同步方式工作时,发送设备自动插入同步字符和校验码接收设备搜索到同步字符后开始接收数据在传输过程中,发送设备和接收设备保持完全同步2.同步通信方式,12,9.1.4 RS-232C/485标准与接口电路,1.RS-232C信号定义,RS-232C是在计算机与数据终端串行通信中普遍采用的一种传输标准,有25条信号线,采用D型25针连接器,信号定义如,表9.1,所示而在微型计算机中串行接口COM1和COM2使用的是D型9针连接器其信号是对RS-232C的缩减,符合RS-232C标准由于RS-232C数据信号与计算机中的数据表示不一致,因此相互之间需要电平转换电路;在远程通信时需要配置调制解调器(Modem)9.1.4 RS-232C/485标准与接口电路 1,13,表9.1 RS-232C标准信号,引脚,功能说明,引脚,功能说明,1,保护地,14,(辅信道)发送数据,2(3),发送数据TxD,15,发送信号源(DCE)定时,3(2),接收数据RxD,16,(辅信道)接收数据,4(7),请求发送RTS,17,接收信号源(DCE)定时,5(8),允许发送CTS,18,未定义,6(6),数据装置准备好DSR,19,(辅信道)请求发送RTS,7(5),信号地(公共回路),20(4),数据终端准备好DTR,8(1),接收信号线检测,21,信号质量检测,9,(保留供数传机测试),22(9),振铃指示RI,10,(保留供数传机测试),23,数据信号速率(DTE/DCE)选择,11,未定义,24,发送信号源(DTE)定时,12,(辅信道)接收信号线检测,25,未定义,13,(辅信道)允许发送CTS,表9.1 RS-232C标准信号 引脚功能说明引脚 功能说,14,在使用电话线远距离通信时,发送端要用调制器把数字信号附加到载波上接收端则用解调器进行解调,从载波上还原出数字信号,其示意如,图9.6,所示。
计算机,RS,232C,Modem,计算机,RS,232C,Modem,数字信号,数字信号,模拟传输,图9.6 RS-232C串行通信,在使用电话线远距离通信时,发送端要用调制器把数,15,TTL,图9.7 TTL电平与RS-232C电平转换示意图,RS-232C电平,MC1488,MC1489,TTL,发送,接收,3.RS-485接口电路,RS-485标准接口可使用单一+5V(或+3V)电源,输入输出电平与TTL电路兼容,共模电压最大最小值分别为+12V和-7V,差分输入范围为-7V,+12V,接收器的灵敏度为200mV,支持半双工和全双工通信.,在RS-232C标准中,逻辑1用负电平(-3V,-15V)表示,逻辑0用(+3V,+15V)表示而在计算机内部采用的是TTL电平,所以常用MC1488/MC1489进行信号转换,其示意如,图9.7,所示TTL图9.7 TTL电平与RS-232C电平转换示意图R,16,图9.8,所示是用MAX481类芯片构成的半双工通信电路其中每个芯片包含一个非对称转对称的驱动器D和一个对称转非对称的接收器RDI表示数据输入端,RO表示数据输出端特点是传输距离远,可靠性高,在传输速率为9600b/s时最大距离为1500m;在传输速率为100Mb/s时,传输距离可达15m。
图9.8 RS-485半双工通信电路,V,C,D,R,DE,DI,RO,RE,V,C,D,R,DE,DI,RO,RE,DE,DI,RO,RE,D,R,V,C,DE,DI,RO,RE,D,R,V,C,图9.8所示是用MAX481类芯片构成的半双,17,9.2 可编程串行通信接 8251A,9.2.1 8251A引脚与内部结构,9.2.2 8251A控制与状态寄存器,9.2 可编程串行通信接 8251A9.2.1 8251,18,9.2.1 8251A引脚与内部结构,1.8251A外部引脚,8251A的引脚如,图9.9,所示,除地线和电源线外,可分为四组1)与CPU连接引脚,D,7,D,0,:数据线,双向,与系统数据总线连接,传送数据、命令及8251A状态字CS:片选信号,输入,低电平有效RD:读信号,输入,低电平有效WR:写信号,输入,低电平有效C/D,:,控制/数据选择,输入,高电平时CPU读/写8251A控制/状态寄存器,低电平时CPU读/写数据寄存器9.2.1 8251A引脚与内部结构 1.,19,CS、RD、WR 和 C/D 信号的作用如,表9.2,所示RESET:复位信号,输入,高电平有效,宽度为6个时钟周期,复位后8251A处于空闲等待状态。
CLK:时钟信号,同步方式时其频率数据传输频率的30倍;异步方式时,传输频率的4.5倍表9.2 8251A的控制信号的功能组合,CS,RD,WR,C/D,方向,功能,0,0,1,0,CPU8251A,读数据,0,1,0,0,CPU8251A,写数据,0,0,1,1,CPU8251A,读状态,0,1,0,1,CPU8251A,写控制命令,0,1,1,X,高阻态,1,X,X,X,高阻态,CS、RD、WR 和 C/D 信号的作用如表9.2所,20,(2)与外部设备/调制解调器连接引脚,DTR:,数据终端准备好,输出,低电平有效,通过编程使方式命令字的D,1,位置1,信号有效DSR:,数据设备准备好,输入,低电平有效,是对,DTR,的响应,表示调制解调器或外设发送准备就绪,通过读入状态字的D,7,位检测该信号RTS:,请求发送,输出,低电平有效,表示8251A发送准备就绪,通过编程使方式命令字的D,5,位置1,信号有效CTS:,允许发送,输入,低电平有效,是对,RTS,的响应;有效时,表示外设或调制解调器允许8251A发送数据3)与发送控制有关的引脚,TxD:,数据发送端,输出TxRDY:,发送器准备好,输出,高电平有效,表示8251A准备好接收CPU的数据。
2)与外部设备/调制解调器连接引脚,21,TxE:,发送器空,输出,高电平有效,表示8251A发送器空TxC:,发送器时钟,输入,同步方式下,TxC,的频率等于波特率;异步方式下,TxC,的频率可以是数据速率的1、16或64倍4)与接收控制有关的引脚,RxD:,数据接收端,输入RxRDY:,接收器准备好,输出,高电平有效,表示8251A从外部设备/调制解调器上接收到一个字节的数据,等待CPU的读取SYNDET/BRKDET:,同步/间断检测信号,双向同步方式时作为。