计算机硬件技术基础 (ch11-2)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机硬件技术基础课时:70学时主讲:史英春解放军电子工程学院信息系309研究室Tel:67432-806Email:shiyc1217@163.com211.1串行通信的基本概念11.2可编程串行I/O接口8251A第11章串行通信及接口电路311.2可编程串行I/O接口8251A8251A是可编程串行通信接口芯片,用来完成CPU和外部设备(或调制解调器)之间的连接,它有下列基本功能:(1)通过编程,可以工作在同步方式,也可以工作在异步方式。同步方式下,波特率为0~64K,异步方式下,波特率为0~19.2K。(2)在同步方式下,每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。(3)在异步方式下,每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。此外,8251A在异步方式下能自动为每个数据增加1个启动位,并能根据编程为每个数据增加1个、1.5个或2个停止位。同时,可以检查假启动位,自动检测和处理终止字符。(4)提供出错检测,具有奇偶、溢出和帧错误等校验电路。411.2可编程串行I/O接口8251A一、8251A内部结构读/写控制逻辑发送器(PS)发送(控制)调制解调控制接收器(SP)接收(控制)RESETCLKC/DRDWRCSDTRDSRRTSCTS状态缓冲器发送数据/命令缓冲器接收数据缓冲器外部数据总线TXDTXRDYTXETXCRXRDYSYNDETRXCRXD读/写控制逻辑发送器(PS)发送(控制)调制解调控制接收器(SP)接收(控制)RESETCLKC/DRDWRCSDTRDSRRTSCTS状态缓冲器发送数据/命令缓冲器接收数据缓冲器外部数据总线TXDTXRDYTXETXCRXRDYSYNDETRXCRXD5接收器由接收缓冲器和接收控制电路组成。接收移位寄存器用来从RXD引脚上接收串行数据,按照相应格式转换成并行数据后存入接收缓冲器。而接收控制电路则配合接收缓冲器工作,管理有关接收的所有功能。发送器由发送缓冲器和发送控制电路两部分组成。当发送器中发送缓冲器已空即可接收数据时,由发送控制电路向CPU发出TXRDY有效信号,如果CPU与8251A之间采用中断方式交换信息,那么TXRDY可作为向CPU发出的中断请求信号。6数据总线缓冲器是8251A与CPU之间进行交换信息的必经之路,或者说它是CPU与8251A之间的数据接口。它内部包含3个8位的缓冲寄存器,其中两个寄存器分别用来存放CPU从8251A读取的数据或状态信息,另一个寄存器用来存放CPU向8251A写入的数据或控制字。接收CPU输出的控制信号,实现对8251A内部寄存器的读/写。调制解调控制电路提供了一组通用的控制信号,用来完成8251A和调制解调器的连接。78二、8251A的接口信号Intel8251引脚8251A采用双列直插式封装,28个引脚。作为CPU和外部设备(或调制解调器)之间的接口,8251A的对外信号可以分为三组:一组是8251A和CPU之间的连接信号。一组是8251A和外部设备(或调制解调器)之间的连接信号。一组是电源与时钟信号。98251A作为CPU与外设或调制解调器之间的接口,如下图所示:10接口信号分为二组:1.与CPU的接口信号连接到CPU地址总线的A0线。11TXRDY(TransmitterReady):发送准备好。发送器准备好信号,用来通知CPU,当前8251A已作好发送准备,可以往8251A传输数据。TXRDY既可作为中断请求信号也可作为查询信号。当8251A从CPU得到一个字符后,TXRDY便恢复为低电平。12TXE(TransmitterEmpty):发送器空信号。发送器空信号,高电平有效,表示8251A的一个发送动作已完成。当8251A从CPU得到一个字符后,TXE便成为低电平。13RXRDY(ReceiverReady):接收器准备好。接收器准备好信号,用来通知CPU,当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。与TXRDY类似,可用来作为中断请求信号和查询信号。当CPU从8251A读取一个字符后,RXRDY便恢复为低电平。14只用于同步方式。该引脚既可以工作在输入状态,也可以工作在输出状态,这取决于8251A是工作在内同步方式还是外同步方式。SYNDET:同步检测信号152.与外设或MODEM的接口信号161718TxC=Td/K其中,K称作波特率因子。K=1、16或64。在串行通信中,无论收发都必须有时钟脉冲信号对传送的数据进行定位和同步控制。接收时钟/发送时钟是波特率的倍数——波特率因子。发送时钟周期TxC、接收时钟周期RxC与数据时钟周期Td的关系:波特率因子198Tc16Tc若K=16,在每一个时钟周期的上升沿采样接收数据线,若发现了第一个“0”(因数据的起始位为“0”),以后若又连续采样到8个“0”,则确定其为起始位(而不是干扰信号),以后每隔16个周期采样一次数据线,作为输入数据。20起始位时钟(RCLK)数据线(SIN)T16T16T8T21三、8251A的控制字与状态字1.工作方式字作用:工作方式选择(同步、异步)指定数据帧格式22方式字8位可以分为四组,每组两位,其格式如下:D7D6D5D4D3D2D1D0停止位奇偶校验字符长度波特率系数(同步)*0=内同步*1=外同步0*=双同步1*=单同步(异步)00=不定01=1位10=1.5位11=2位*0=无校验01=奇校验11=偶校验00=5位01=6位10=7倍11=8位(异步)00=不用01=110=1611=64(同步)00=同步---23例如:若工作方式字=11011110B则:规定8251A工作于异步方式,数据格式采用8位数据位,2位停止位,奇校验,波特率系数是16。24例1:某异步通信中,其数据格式为:1位起始位、1位停止位,7位数据位,奇检验,波特率系数为16。则:其异步方式选择控制字为:01011010B=5AH。(假设端口地址位3F9H和3F8H)将其写入控制口的程序段如下:MOVDX,3F9H;8251A的控制口地址MOVAL,5AH;异步方式选择控制字OUTDX,AL;异步方式字写入控制口25例2:某同步通信中,设帧数据格式为:字符长度为8位,双同步字符且内同步,偶校验。则:同步方式选择控制字为:00111100B=3CH。(假设控制端口地址位3F9H和3F8H)将该方式字写入控制口的程序段为:MOVDX,3F9H;8251A的控制口地址MOVAL,3CH;同步方式选择控制字OUTDX,AL;同步方式字写入控制口262.工作命令字作用:确定8251A的实际操作,迫使8251A进行某种操作或处于某工作状态,以便接收或发送数据。27RXESBRKERRTSTXENDTRIREHRXESBRKERRTSTXENDTRIREH允许发送“1”允许“0”不允许数据终端就绪:“1”使DTR输出为低允许接收“1”允许“0”不允许送间隔字符“1”使TXD为低“0”正常工作出错标志复位:“1”使PE、OE、TE标志复位请求发送:“1”使RTS输出变低内部复位:“1”使芯片回到方式指令状态进入搜索态:“1”使开始搜索同步字符命令控制字格式D7D6D5D4D3D2D1D028将该操作命令字写入控制口的程序段为:MOVDX,3F9H;8251A的控制口地址MOVAL,15H;允许接收,允许发送,错误标志复位的操作命令字OUTDX,AL例3:某异步通信中,要求8251A允许接收,允许发送,全部错误标志复位,则操作命令字为:00010101B=15H。293.状态字30例4:若要检查8251A的发送器是否准备好,则可用下列程序段实现:MOVDX,3F1H;状态口地址WAIT:INAL,DX;读状态字ANDAL,01H;查状态位D0=1?TXRDY=1?JZWAIT;发送未准备好,则等待MOVDX,3F2H;8251A数据口MOVAL,0AAH;发送字符送ALOUTDX,AL;发送字符写入8251A31从上面对8251A的方式选择控制字、操作命令字和状态字的讨论可知:对于一个完整的通信过程来说,这三者之间的关系是:方式字只是约定了双方的通信方式(同步/异步)及数据格式(数据位和停止位数、奇偶校验位、同步字符个数等)、传送速率(波特率系数)等参数,但并没有规定数据传送的方向是接收还是发送,故需要操作命令字来控制收发。那么具体何时才能收/发呢?这就取决于8251A的工作状态,通过检测状态字中某些状态位,以确定下一步的操作,只有当8251A处于接收/发送准备好状态,才能真正开始数据的传送。32四、8251A的编程逻辑8251A的初始化作为可编程的接口芯片,对8251A的初始化是必不可少的。由于8251A仅有一个控制端口,而对它的初始化要写入至少两个不同的控制字,为此,8251A对它的初始化过程进行了约定,凡是使用8251A的程序员都必须遵守这个约定。338251A的初始化过程约定:(1)芯片复位以后,第一次往控制端口写入的是方式命令控制字即模式字。(2)如果模式字中规定了8251A工作在同步方式,那么,CPU接着往控制端口输出的1个或2个字节就是同步字符,同步字符被写入同步字符寄存器。(3)不管是在同步方式还是在异步方式下,接下来由CPU往控制端口写入的是操作命令控制字即控制字,如果规定是内部复位命令,则转去对芯片复位,重新初始化。否则,进入应用程序,通过数据端口传输数据。34例5:设8251A工作于异步方式,波特率系数为16,每个字符为8位,奇校验,1个停止位,允许接收,允许发送,并且发送准备就绪,全部错误标志复位,请按上述要求对8251A进行初始化,设控制口地址为0F41H,数据口地址为0F40H。根据题意要求,方式选择控制字和操作命令字如下:方式选择控制字为:01011110B=5EH操作命令字为:00110111B=35H35MOVDX,0F41H;8251A控制口地址MOVAL,5EH;方式选择控制字,使8251A工;作处于异步方式,波特率系数为16,OUTDX,AL;8位数据位,奇校验,1个停止位。MOVAL,35H;操作命令控制字,允许发送、允许接;收、错误标志复位,发送准备就绪OUTDX,ALCPU执行完上述程序便完成对8251A的异步方式初始化。初始化程序如下:368251应用举例例:以两台微型计算机之间进行双机串行通信的硬件连接和软件编程说明Intel8251在实际中是如何应用的。1.要求2.分析3.设计:硬件、软件见P307页。

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功