《微型计算机原理及其应用串并行通信接口》由会员分享,可在线阅读,更多相关《微型计算机原理及其应用串并行通信接口(36页珍藏版)》请在金锄头文库上搜索。
1、微型计算机原理及其应用微型计算机原理及其应用- -串并行通信接口串并行通信接口1第六章第六章 串并行通信和接口技术串并行通信和接口技术1.串行通信和串行接口2.可编程串行通信接口8251A3.并行通信和并行接口4.可编程并行通信接口8255A2串行通信和串行接口串行通信和串行接口1.串行通信和串行接口2.可编程串行通信接口8251A3.并行通信和并行接口4.可编程并行通信接口8255A31. 并行通信和串行通信并行通信和串行通信v并行通信并行通信指数据的各位同时进行传送的方式。指数据的各位同时进行传送的方式。其特点是传输速度快;但当传输距离远,位数多时导其特点是传输速度快;但当传输距离远,位数
2、多时导致通信线路复杂、成本高。致通信线路复杂、成本高。计 算 机计算机或外设D0D1D2D3D4D5D6D7串行通信和串行接口串行通信和串行接口4v串行通信串行通信数据的各位是按规定的顺序一位一位数据的各位是按规定的顺序一位一位传送的通信方式。只需一条数据线便可进行数据传送,传送的通信方式。只需一条数据线便可进行数据传送,其特点传输线简单,可利用多种介质,适用于远距离其特点传输线简单,可利用多种介质,适用于远距离通信,成本较低;但速度较慢。通信,成本较低;但速度较慢。 计 算 机计算机或外设微机系统在串行通信时必须进行串行与并行的转换微机系统在串行通信时必须进行串行与并行的转换串行通信和串行接
3、口串行通信和串行接口52. 单工、半双工和全双工方式单工、半双工和全双工方式按照数据传输时发送过程与接收过程的关系共分为以下三种方式:全双工方式数据的接收(输入)和发送(输出)可以同时进行,但分别采用不同的传送通道(即收/发各使用1条通信线);半双工方式数据的接收和发送使用同一条传送通道,但数据的收/发不能同时进行;单工方式只能在一个方向传输信息,即只收不发或只发不收。63. 同步方式和异步方式同步方式和异步方式按照时钟对于数据传输过程的定时方式,可分为同步通信和异步通信方式异步串行方式:发送和接收两地不用同一时钟同步的数据传输方式; 一般以若干位表示一个字符,收发以字符为独立的通信单位;每个
4、字符出现的时间是任意的,即前后两个字符之间的传输间隔是任意的;为了保证异步通信的正确,必须在收发双方通信前约定字符格式、传送速率、时钟和校验方式等。 73. 同步方式和异步方式同步方式和异步方式在传输率相同的情况下,同步方式的数据传输效率更在传输率相同的情况下,同步方式的数据传输效率更高,因为同步方式下非数据信息的比例较小!高,因为同步方式下非数据信息的比例较小!课本课本P200的图的图6.1为标准的异步方式的数据格式为标准的异步方式的数据格式字符格式字符格式字符的编码形式及规定字符的编码形式及规定a)每个串行字符由以下每个串行字符由以下4部分组成:部分组成:b)起始位(起始位(1位,低电平)
5、:表示传输的开始;位,低电平):表示传输的开始;c)数数据据位位(58位位):由由低低往往高高排排列列,同同一一个个系系统统中中数据位的数目是固定的;数据位的数目是固定的;d)奇偶校验位(奇偶校验位(1位):可采用奇校验或偶校验;位):可采用奇校验或偶校验;e)停止位(停止位(1、1.5或或2位,高电平)。位,高电平)。 8说明:说明:无信息传输(或间隔)时,输出必须为无信息传输(或间隔)时,输出必须为“1”状态(标识态);状态(标识态);1到到0的跳变作为字符的开始的跳变作为字符的开始起始位;起始位;起始位后为起始位后为58位的数据位,位的数据位,低位在前,高位在后低位在前,高位在后;数据位
6、后为奇偶校验位,可设为奇或偶校验,也可不设;数据位后为奇偶校验位,可设为奇或偶校验,也可不设;最后有最后有1、1.5(1.5Tb)或或2位停止位,均为位停止位,均为“1”9字符字符C的数据格式为:的数据格式为:例如:设异步通信数据格式为例如:设异步通信数据格式为7位数据、位数据、1位奇校验位奇校验和和1位停止位,则字符位停止位,则字符A的数据格式为:的数据格式为:109:39H=0111001B 1 0 0 1 1 1 0 1 1练习:设异步通信数据格式为练习:设异步通信数据格式为7位数据、位数据、1位奇校验位奇校验和和1位停止位,则字符位停止位,则字符9的数据格式为:的数据格式为:11数据传
7、送速率数据传送速率 每秒钟传输数据的位数(每秒钟传输数据的位数(波特率波特率)波特率因子波特率因子:发送钟和接收钟频率为波特率的倍数发送钟和接收钟频率为波特率的倍数例例:每每秒秒钟钟传传送送120个个字字符符,而而每每个个字字符符由由10位位数数据据位位组成,则传送的波特率为:组成,则传送的波特率为: fd= 10120=1200 bit/s=1200波特率波特率或称为或称为1200 bps。标准标准波特率波特率:110/300/600/1200/1800/2400/4800/9600/19200有时也用位周期(有时也用位周期(Td)来表示传输速度,表示每一位的)来表示传输速度,表示每一位的传
8、送时间,是波特率的倒数。传送时间,是波特率的倒数。12发送时钟与接收时钟发送时钟与接收时钟 异步通信中异步通信中,发送端和接收端各用一个时钟来确定发送,发送端和接收端各用一个时钟来确定发送和接收的速率,分别称为发送时钟和接收时钟。和接收的速率,分别称为发送时钟和接收时钟。这两个时钟的频率这两个时钟的频率fc和数据传输速率和数据传输速率fd的关系为:的关系为:fc = Kfd 其中其中K称为称为波特率系数波特率系数,取值可为,取值可为16、32或或64 注意:接收时钟和发送时钟的频率不能相差太大,否则注意:接收时钟和发送时钟的频率不能相差太大,否则有可能造成信息帧的格式错误。有可能造成信息帧的格
9、式错误。串行接口都可检测出三种错误:奇偶校验错误、覆盖错串行接口都可检测出三种错误:奇偶校验错误、覆盖错误和信息帧格式错误。误和信息帧格式错误。13校验方式校验方式:发送时发送时在传送的字符后自动在奇偶校验位置上添加在传送的字符后自动在奇偶校验位置上添加1或或0,使得字符,使得字符1的个数(包括校验位)为偶数(偶校验)的个数(包括校验位)为偶数(偶校验)或奇数(奇校验);或奇数(奇校验);而而接收时接收时,要检查所接收的字符及其校验位是否符合规,要检查所接收的字符及其校验位是否符合规定,若不符合规定就置出错标志,供定,若不符合规定就置出错标志,供CPU查询处理。查询处理。CCITT(国际电报电
10、话咨询委员会(国际电报电话咨询委员会 )的建议,在异步)的建议,在异步通信中使用偶校验,而在同步通信中使用奇校验。通信中使用偶校验,而在同步通信中使用奇校验。14同步串行方式同步串行方式 以一组字符组成一个数据块(或称信息帧),在每以一组字符组成一个数据块(或称信息帧),在每一个数据块前附加一个或两个同步字符或标识符;一个数据块前附加一个或两个同步字符或标识符;在传送过程中发送端和接收端使用同一时钟信号进在传送过程中发送端和接收端使用同一时钟信号进行控制使每一位数据均保持位同步。行控制使每一位数据均保持位同步。一个信息帧可包含多个甚至上千个字符;一个信息帧可包含多个甚至上千个字符;同步传输不允
11、许有间隙,没有信息传输时要填上空同步传输不允许有间隙,没有信息传输时要填上空字符。字符。同步传送同步传送速度高速度高于异步传送,于异步传送,传送效率高传送效率高;但同步传;但同步传送要求发送端和接收端使用同一时钟,故硬件电路比送要求发送端和接收端使用同一时钟,故硬件电路比较复杂。较复杂。15串行数据接口标准串行数据接口标准一个完整的串行通信系统除对通信规程、定时控制有规定外,在电气连接上也有接口标准。常用的有以下串行接口标准:常用的有以下串行接口标准:RS-232-C接口标准:接口标准:RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数 。其特点是:1)采用负逻辑,即,逻辑“1”为-
12、15V-5V,逻辑“0”为+5V+15V; 2)采用全双工方式。 RS422和和RS485接口标准:接口标准:在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线。数据最高传输速率达到10Mbps ;RS-422 的电气性能与RS-485完全一样。主要区别是RS-422 的收与发是分开的所以可以同时收和发(全双工);而RS-485 只有2 根信号线:发送和接收(半双工)。 RS232是全双工的,RS485是半双工的,RS422是全双工的。16171. 8251A的基本性能的基本性能通过编程,8251A可工作在同步方式,波特率064K,也可工作在异步方式,波特率019.2K;同步方式
13、用58位来表示字符,允许增加1位奇偶校验位,能自动检测同步字符,实现收发同步;异步方式用58位来表示字符,1位可选的奇偶校验位,1位启动位,根据需要可设置1、1.5或2位停止位;全双工、双缓冲的发送器和接收器;具有奇偶、溢出和帧错误检测功能;可编程串行通信接口可编程串行通信接口8251A18接口接口8251MC1489MC1488TTL输入输入TTL输出输出RS232C输入输入RS232C输出输出0.3V+3V+15V3.0V-3V-15V注意:接口的输入和输出均为注意:接口的输入和输出均为TTL电平,与电平,与RS232C标准不符,标准不符,需要加电平转换电路。需要加电平转换电路。MC148
14、8和和MC1489芯片通常称为线路驱动器和线路接收器。芯片通常称为线路驱动器和线路接收器。 192. 8251A的内部结构的内部结构20读写控制电路读写控制电路接收来自接收来自CPU的控制信号和控制的控制信号和控制字,译码后向字,译码后向8251A各功能部件发出有关的控制信号,各功能部件发出有关的控制信号,因此它实际上是因此它实际上是8251A的内部控制器。的内部控制器。 odem控制电路控制电路用以控制用以控制825lA与调制解调器之间与调制解调器之间的信息传送。的信息传送。/缓冲器缓冲器将将8251A与系统数据总线相连,包含与系统数据总线相连,包含3个个8位缓冲寄存器:位缓冲寄存器:发送数
15、据发送数据/命令缓冲器命令缓冲器接受接受CPU输出的数据或命令;输出的数据或命令;接收数据缓冲器接收数据缓冲器暂存接收器送来的数据;暂存接收器送来的数据;状态缓冲器状态缓冲器寄存寄存8251A的各种状态信息。的各种状态信息。 21接收器接收器接收来自接收来自RxD引脚上的引脚上的串行数据串行数据,并按设,并按设定的格式将其定的格式将其转换为并行数据转换为并行数据,存放在,存放在I/O缓冲器的接缓冲器的接收数据缓冲器中。收数据缓冲器中。异步和同步工作过程不同。异步和同步工作过程不同。发送器发送器锁存锁存CPU输出的数据,把数据由输出的数据,把数据由并行变串并行变串行行,从,从TxD引脚串行发送出
16、去。引脚串行发送出去。异步和同步工作过程不同。异步和同步工作过程不同。223. 8251A的引脚功能的引脚功能 数据线数据线D7D0双向、三态,用于与双向、三态,用于与CPU传传送数据、命令、状态等信息;送数据、命令、状态等信息; 片选片选CS用于芯片寻址;用于芯片寻址; 读写控制读写控制RD,WR;(4) 接收控制接收控制/数据信号数据信号 信号信号23奇地址奇地址偶地址偶地址C/D(A0)RD WR 功能功能0 0 1 CPU从从8251A输入数据输入数据0 1 0 CPU向向8251A输出数据输出数据1 0 1 CPU读读8251A的状态的状态1 1 0 CPU向向8251A写控制命令写
17、控制命令24TXE发送器空信号,为发送器空信号,为1时表示串行输出信号发送完毕,在同时表示串行输出信号发送完毕,在同步方式下,若步方式下,若CPU未及时送出字符,则未及时送出字符,则8251A自动填入空字符来自动填入空字符来补充间隙;补充间隙;RXRDY接收器准备好信号,为接收器准备好信号,为1时表示时表示8251A从外设或调制从外设或调制解调器中接收到解调器中接收到1个字符,通知个字符,通知CPU来取走,来取走,CPU取走后取走后 RXRDY=0;SYNDET同步检测信号(仅用于同步方式),为同步检测信号(仅用于同步方式),为1时,表示时,表示8251A检测到同步字符。检测到同步字符。 CP
18、U的收发联络信号的收发联络信号TXRDY发送准备好信号,为发送准备好信号,为1时表示时表示8251A作好发送准备,作好发送准备,CPU可以向其发送可以向其发送1个字符,发送结束后,个字符,发送结束后, TXRDY=0;25CTS清除请求发送信号,清除请求发送信号,CTS是是RTS的响应信号,的响应信号,当当CTS=0时,时,8251A才能执行发送操作才能执行发送操作RTS请求发送信号输出,当请求发送信号输出,当RTS=0时,表示时,表示8251A已准备好发送字符;已准备好发送字符;DSR数据设备准备好信号输入,当数据设备准备好信号输入,当DSR=0时,表示时,表示外设已准备好,外设已准备好,C
19、PU可以经可以经8251A向外设传送向外设传送1个字符;个字符;DTR数据终端准备好信号输出端,当数据终端准备好信号输出端,当DTR=0时,表时,表示示8251A已接收已接收CPU发来的字符,准备向外设发送;发来的字符,准备向外设发送; 8251A与外设间的联络线和信号线与外设间的联络线和信号线26 时钟信号时钟信号CLK系统时钟;系统时钟;TXC发送器时钟发送器时钟同步方式:同步方式:TXC为发送时钟的波特率,为发送时钟的波特率,TXC应小于应小于CLK的的1/30倍;倍;异步方式:异步方式:TXC应小于应小于CLK的的1/4.5倍,而倍,而TXC可以可以为波特率的为波特率的1、16或或64
20、倍倍波特因子。波特因子。TXD发送器数据信号输出(串行输出)端发送器数据信号输出(串行输出)端RXD接收器数据信号输入(串行输入)端接收器数据信号输入(串行输入)端27R RX XCC接收器时钟接收器时钟同步方式:同步方式:R RX XC C为接收时钟的波特率;为接收时钟的波特率;异步方式:异步方式:R RX XC C可以为波特率的可以为波特率的1 1、1616或或6464倍倍波波特因子。特因子。注:实际使用时,注:实际使用时,R RX XC C与与T TX XC C并接并接284. 8251A的编程的编程8251A使用前必须进行初始化,以确定工作方式、传使用前必须进行初始化,以确定工作方式、
21、传送速率、字符格式以及停止位长度等;送速率、字符格式以及停止位长度等;改变改变8251A的工作方式时必须再次进行初始化编程;的工作方式时必须再次进行初始化编程;8251A有两个控制字和一个状态字:有两个控制字和一个状态字:方式选择控制字方式选择控制字:用于规定:用于规定8251A的工作方式的工作方式 ;操作命令控制字操作命令控制字:使:使8251A处于规定的工作状态,处于规定的工作状态,以准备接收或发送数据以准备接收或发送数据 状态字状态字:寄存:寄存8251A的工作状态的工作状态 29D7D6D5D4D3D2D1D0字符长度字符长度00:5位位01: 6位位10: 7位位11: 8位位波特率
22、系数波特率系数00:同步方式:同步方式01:异步:异步 X 110:异步:异步 X1611:异步:异步 X64奇偶校验奇偶校验X0:无校验:无校验01:奇校验:奇校验11:偶校验:偶校验SYN?同步控制同步控制X0:内同步:内同步X1: 外同步外同步0X: 两同步字符两同步字符1X: 单同步字符单同步字符Y帧控制帧控制00:不确定:不确定01: 1停止位停止位10: 1.5停止位停止位11: 2停止位停止位N方式选择控制字格式方式选择控制字格式30EHIRRTSERSBRK RXEDTR TXEN发送允许发送允许0:屏蔽:屏蔽1:允许:允许操作命令控制字格式操作命令控制字格式接收允许接收允许0
23、:屏蔽:屏蔽1:允许:允许数据终端准备好数据终端准备好1:迫使迫使DTR输出低输出低送中止字符送中止字符1:迫使迫使TXD输出低输出低0:正常工作:正常工作错误标志复位错误标志复位1:全部错误标全部错误标志复位志复位请求发送请求发送1:迫使迫使RTS输出低输出低内部复位内部复位1:返回方式指令格式返回方式指令格式外部搜索方式外部搜索方式1:启动搜索同启动搜索同步字符步字符31DSRSYNDETFEOEPETXERXRDY TXRDY与引脚与引脚TXRDY有差别有差别状态字格式状态字格式奇偶错误奇偶错误溢出错误溢出错误帧错误(仅异步)帧错误(仅异步)与与8251的同名引脚同定义的同名引脚同定义3
24、2编程方法编程方法8251A初始化编程初始化编程及数据传送流程图及数据传送流程图335 应用举例应用举例例例 利用利用8251A实现两台微型计算机的远距离通信实现两台微型计算机的远距离通信 设采用半双工查询方式,异步传送,一方定义为发设采用半双工查询方式,异步传送,一方定义为发送器,另一方为接收器。当发送端送器,另一方为接收器。当发送端CPU查询到查询到TxRDY有效时,向有效时,向825lA并行输出一字节数据;接并行输出一字节数据;接收端收端CPU每查询到每查询到RxRDY有效,则从有效,则从8251A并行输并行输入一个字节数据,一直进行到全部数据传送完为止。入一个字节数据,一直进行到全部数
25、据传送完为止。 34设发送端设发送端8251A数据口地址为数据口地址为 TDATA,控制口状态口地址为,控制口状态口地址为 TCONT,发送数据块首地址为,发送数据块首地址为TBUFF,字节数为,字节数为80 STT: MOV DX,TCONT ;将;将825lA定义为异步方式,定义为异步方式,8位数据,位数据,l位位 MOV AL,7FH ; 停止位,偶校验,波特率系数停止位,偶校验,波特率系数64 OUT DX,AL MOV AL,0lH ;允许发送;允许发送 OUT DX,AL MOV DI,TBUFF ;发送数据块首地址送;发送数据块首地址送DI MOV CX,80 ;计数器赋初值;计
26、数器赋初值NEXT:MOV DX,TCONT ;读取状态字;读取状态字 IN AL,DX AND AL,0lH ;TxRDY有效否?有效否? JZ NEXT ;无效,继续等待;无效,继续等待 MOV DX,TDATA ;有效,向;有效,向8251A输出一字节数据输出一字节数据 MOV AL,DI OUT DX,AL INC DI ;修改指针;修改指针 LOOP NEXT HLT35设接收端设接收端8251A数据口地址为数据口地址为RDATA,控制口状态口地址为,控制口状态口地址为RCONT,接收数据缓冲区首地址为,接收数据缓冲区首地址为RBUFFSRR: MOV DX,RCONT ;送方式选择
27、控制字;送方式选择控制字 MOV AL,7FH OUT DX,AL MOV AL,14H ;清除错误标志,允许接收;清除错误标志,允许接收 OUT DX,AL MOV DI,RBUFF ;接收数据缓冲区首地址送;接收数据缓冲区首地址送DI MOV CX,80 ;计数器赋初值;计数器赋初值COMT:MOV DX,RCONT ;读取状态字;读取状态字 IN AL,DX TEST AL,02H ;RxRDY有效否有效否? JZ COMT ;无效,继续等待;无效,继续等待 AND AL,38H ;有效,查询;有效,查询接收过程有无错误接收过程有无错误? JNZ ERR ;有错,转出错处理程序;有错,转出错处理程序 MOV DX,RDATA ;无错,输入一字节数据;无错,输入一字节数据 IN AL, DX MOV DI,AL INC DI ;修改指针;修改指针 LOOP COMT HLT36