您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 41第二十一讲:串行通信及接口电路 主讲老师:王克义
《微机原理A》第二十一讲:串行通信及接口电路主讲老师:王克义课程主页:本讲主要内容•串行通信的基本概念和常用术语;•可编程串行通信接口片8251A的基本结构;•8251A的编程应用。1.串行通信的特点:•数据在单条1位宽的传输线上按时间先后一位一位地传送;•节省传输线(优点);•数据传输率较低(缺点);•主要适用于长距离、低速率的通信中。21.1串行通信的基本概念设备A发送器设备B接收器Dataflow2.串行通信涉及的常用术语(1)数据通信的方向性结构–1)单工(Simplex)–特点:仅能进行一个方向的数据传送设备A发送器/接收器设备B接收器/发送器Dataflow2)半双工(HalfDuplex)•特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行。【双向,但不同时】设备A发送器/接收器设备B接收器/发送器3)全双工(FullDuplex)•特点:能够在两个方向同时进行数据传送。(2)数据传输率•每秒传输的二进制位数,单位为bps(bitpersecond)也称比特率。•波特率―――每秒传输的“符号”(也称信号码元—SignalElement)的个数。【例如,每秒传送1个符号,则波特率为1波特】•在计算机中,一个“符号”的含义为高、低两种电平,分别代表逻辑值“1”和“0”,所以每个符号的信息量为1比特,此时波特率与比特率刚好一致。•但在其他一些场合(例如通信中采用的“相一幅”复合调制技术),一个“符号”的信息含量就不是一个比特,此时,波特率就不等于比特率。•现在的电话网是模拟通信系统,它是为传输话音信息而设计的。要在电话网上传送数字信号,必须经过调制和解调。•实现调制和解调两个过程的设备称为“调制解调器”(ModulatorDemodulator-Modem)•方法:选取音频范围某一频率的正(余)弦模拟信号作为载波,用以运载所要传送的数字信号。•用传送的数字信号改变载波信号的幅值、频率或相位,使之在信道上传送;•到达信道另一端,再将数字信号从载波中取出。(3)波特率因子F(时钟频率)=波特率因子*波特率•波特率因子:数据传输率(波特率)与时钟频率之间的比例系数.•给定时钟频率,选择不同的波特率因子可得到不同的波特率。例如:f=19.2kHz,若选波特率因子为16,则波特率为1200bps。•若选定波特率因子和波特率,则相应的确定了对时钟频率的要求。1200*16=19200(时钟频率)→若外部时钟电路的频率F=1MHz,需用8253分频,试计算分频系数(8253的计数初值)=?•8253计数初值=时钟频率/(波特率*波特率因子)8251外部的时钟电路÷1,÷16,…1MHzN分频19.2KHz移位脉冲CLKOUT82533.异步方式与同步方式(1)异步方式(Asynchronous):也称“起止同步式”。–串行异步传输数据格式:1/00011…15-8位数据位1/0停止位或空闲位1…1起始位奇偶校验位停止位或、22111第n个字符空闲位第n+1个字符低位高位同步字符(SYN1)同步字符(SYN2)数据(DATA)…(2)同步方式(Synchronous)•串行同步通信信息格式标志01111110地址8位控制8位CRC8位CRC8位标志01111110数据场同步通信的效率(协议开销)•例:SDLC/HDLC帧格式:•假定数据长度为2048位,–通信效率为:2048/(2048+48)=97%–协议开销仅为3%•一般公式:SDLC/HDLC协议开销=1.0-N/(N+48),其中N为发送数据的比特数。•Intel8251A是通用同步/异步收发器USART(UniversalSynchronousAsynchronousReceiver/Transmitter),它是专为Intel微处理器设计的,可用作CPU和串行外设的接口电路。1.8251A的基本性能(1)可用于同步和异步传送。(2)同步传送:5~8位/字符;内部或外部字符同步;可自动插入同步字符。(3)异步传送:5~8位/字符;时钟速率为通信速率的1、16、64倍。21.2可编程串行通信接口8251A(4)异步传送时,可产生中止字符(BreakCharacter);可产生1、1.5、或2位的停止位;可检测假起始位;可自动检测和处理中止字符。(5)波特率:异步:DC-19.2K;同步:DC-64K。(6)全双工、双缓冲器发送和接收。(7)差错检测:具有奇偶错、溢出错和帧格式错等差错检测电路。(8)28脚双列直插式封装。(9)全部输入输出与TTL电平兼容;单一+5V电源;单一TTL电平时钟;2.8251A的结构与引脚功能(1)8251A的引脚•8251A有28条引脚,引脚分配如图21.1所示。8251AD1TxDCLKRESETDSRRTSDTRRxCVccD0TxEMPTYCTSWRTxCD7D6D5D4GNDRxDD3CSRDC/DSYNDET/BRKDETTxRDYRxRDY11098765432111312281920212223242526271815161714D2图21.18251A的引脚信号(2)8251A的结构和工作原理•8251A的结构方块图如图21.2所示。•由图中可看出8251A可分为5个部分。(1)接收器(2)发送器(3)数据总线缓冲器(4)调制解调器控制电路(5)读写控制逻辑电路数据总线缓冲器读/写控制逻辑电路调制/解调控制电路接收控制电路串-并转换发送缓冲器缓冲器并-串转换发送控制电路RESETCLKC/DRDWRCSDSRDTRCTSRTSD7-D0内部总线TXDRXDTXEMPTYTXCRXRDYRXCSYNDETTXRDY发送器接收器图21.28251A内部结构框图接收(3)8251A对外接口信号•8251A是CPU与外设之间的接口电路,其对外的接口信号可分为两组:•一组是与CPU的接口信号;•另一组是与外设之间的接口信号(参见图21.3)。80868251A外设D7-D0CLK译码CSABM/IOC/DRDRDWRWRTXRDYTXEMPTYRXRDYSYNDETRESETDTRDSRRTSCTSTXDRXD计数器/定时器RXCTXC图21.38251A的对外接口信号1)8251A与CPU之间的接口信号•复位信号RESET•数据线D7~D0•读写控制信号•收发联络信号8251A的读/写控制真值表CSC/DRDWR操作0001CPU从8251A读数据0010CPU往8251A写数据0101CPU从8251A读状态0110CPU往8251A写控制命令0×11D7~D0为高阻态1×××D7~D0为高阻态2)8251A与外设之间的接口信号•有四个Modem控制信号DTR、DSR、RTS和CTS。•另外还有四个信号,如下所述:接收器时钟RXC发送器时钟TXC接收数据线RXD发送数据线TXD3.8251A的编程•8251A的编程包括两个部分,一个是方式指令字,另一个是命令指令字。•前者用来定义8251A的工作方式,它必须紧接在复位后由CPU写入;•后者用来指定芯片的实际操作,只有在写入了方式选择控制字后,才能由CPU写入。•(1)方式指令字•方式指令字的格式如图21.4所示。D7D6D5D4D3D2D1D0S2S1EPPENL2L1B2B100同步方式01异步方式(X1)10异步方式(X16)11异步方式(X64)00字符长度为5位01字符长度为6位10字符长度为7位11字符长度为8位1带奇偶校验0不带奇偶校验1偶校验0奇校验00无效011位停止位101.5位停止位112位停止位111个同步字符,外同步,SYNDET为输入101个同步字符,内同步,SYNDET为输出012个同步字符,外同步,SYNDET为输入002个同步字符,内同步,SYNDET为输出同步异步图21.48251A的方式指令字1数据终端准备好1允许接收D7D6D5D4D3D2D1D0TXENDTRRXESBRKERRTSIREH1进入搜索方式1内部复位1允许发送1发送中止字符0正常工作1清除错误标志1请求发送图21.58251A的命令指令字(2)命令指令字z命令指令字的格式如图21.5所示,它直接让8251A实现某种操作或进入规定的工作状态。(3)状态字•CPU可以在8251A工作过程中利用输入指令读取当前8251A的状态字,从而可以检测接口和数据传输的工作状态。•8251A状态字的格式如图21.6所示。D7D6D5D4D3D2D1D0DSRSYNDET/BRKDETFEOEPETXEMPTYRXRDYTXRDY1发送器准备好1数据通信设备准备好帧格式错标志溢出错标志奇偶错标志1接收器准备好1发送器空SYNDETBRKDET1已达到同步0未达到同步1接收到中止字符0正常工作图21.68251A的状态字1)三个错误标志位PE、OE和FE,PE=1是奇偶校验错;OE=1是溢出错,也称为“超越错”;FE=1是“帧格式错”,它们只对异步方式有效。出现这三种错误时都不中止8251A的工作,它们可以用操作命令字中的ER位来复位。2)RXRDY、TXE(TXEMPTY)和SYNDET/BRKDET位与同名引脚的状态含义相同,此处不再重述。3)DSR位是数据通信设备准备好状态位,DSR=1表示调制解调器或其他外设已处于准备好状态,此时DSR输入信号有效。4)TXRDY是发送器准备好位,它与输出引脚TXRDY的含义有所不同。TXRDY状态位为“1”只反映当前发送缓冲器已空,而TXRDY输出引脚为“1”时,除发送缓冲器已空外,还需要以CTS=0和TXEN=1为条件,即存在如下逻辑关系:•输出引脚TXRDY为“1”=发送缓冲器空·(CTS=0)·(TXEN=1)•通常TXRDY状态位提供CPU查询,而TXRDY引脚的输出信号作为中断请求信号发给CPU。•8251A的初始化及数据传送流程图如图21.7所示。4.8251A的初始化及数据传送流程图输出方式指令字输出第一个同步字符异步方式?是单同步?RESET输出第二个同步字符输出命令指令字有复位命令否?传送数据输出命令指令字或输入状态字数据完否?YNNNNYYY•8251A的初始化编程必须在复位操作之后,先设置方式指令字;•如果设定在异步方式,则马上要输出命令指令字进行设置,然后才能进行数据传送;•在数据传送过程中,也可使用命令指令字进行某些操作设置或读取8251A的状态。•在数据传送结束时,若使用IR位为“1”的内部复位命令使8251A复位,则它又可重新接收方式指令字,从而改变工作方式完成其他传送任务。•如果设定8251A工作在同步方式,那么在输出方式指令字后,应紧跟着输出一个同步字符或两个同步字符,然后再输出命令指令字,后面的操作与异步方式相同。(1)异步方式下的初始化编程•设定8251A工作于异步方式,波特率因子为64,每字符7个数据位,偶校验,2位停止位,则方式指令字为11111011=FBH。•命令指令字的设定,例如使8251A的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,使数据终端准备好信号DTR输出低电平,则命令指令字应为00010111=17H。5.编程举例•若8251A的端口地址为50H、51H,则本例初始化程序如下:MOVAL,0FBH;输出方式指令字OUT51H,ALMOVAL,17H;输出命令指令字OUT51H,AL(2)同步方式下的初始化编程举例•8251A工作于同步方式,双同步字符,同步字符设定为16H,内同步,偶校验,每字符7个数据位,则方式指令字为00111000B=38H。•命令指令字设定为10010111B=97H,使发送器允许,接收器允许,使错误标志复位,开始搜索同步字符,并通知调制解调器,数据终端设备已准备就绪。•8251A的端口地址为50H、51H,则本例初始化程序如下:MOVAL,38H;输出方式指令字OUT51H,ALMOVAL,16H;输出两个同步字符16HOUT51H,ALOUT51H,ALMOV
本文标题:41第二十一讲:串行通信及接口电路 主讲老师:王克义
链接地址:https://www.777doc.com/doc-5375629 .html