微机原理第八章-8251_第1页
微机原理第八章-8251_第2页
微机原理第八章-8251_第3页
微机原理第八章-8251_第4页
微机原理第八章-8251_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8.4串行通信及串行接口

8.4.1串行通信线路的工作方式串行通信指的是数据一位一位地依次传输,每一位数据占据一个固定的时间长度。串行通信线路有如下3种方式:(1)单工通信:它只允许一个方向传输数据。(2)半双工通信:它允许两个方向传输数据,但不能同时传输,只能交替进行。(3)全双工通信:它允许两个方向同时进行数据传输。单工、半双工、全双工通信如下图所示。

发送发送

发送发送发送

接收

接收

接收

接收

接收(a)单工通信(b)半工通信(c)全工通信图8-21串行通信线路的三种连接方式串行通信的特点:串行通信只要一条传输线,将数据逐位顺序传送;通信成本低,速度慢,接口复杂。8.4.2串行接口发送缓冲器接收缓冲器并串变换寄存器串并变换寄存器……...………..……..通信线路CPU发送数据CPU接收数据………...………..发送时钟接收时钟发送控制接收控制发送器接收器串行接口电路的功能:其一,把并行数据变成串行数据进行传输;其二,把接收串行数据转换为并行数据。8.4.2串行接口 串行接口有许多种类,串行接口包括4个主要寄存器:控制寄存器、状态寄存器、数据寄存器、数据输入寄存器及数据输出寄存器。控制寄存器用来接收CPU发送的各种控制命令,以决定其工作方式。状态寄存器其状态位用来指示当前传输状态。数据输入寄存器是和串行输入/并行输出移位寄存器配对使用的。

数据总线收发器联络信号逻辑地址译码状态寄存器控制寄存器数据输入寄存器串行输入/并行输出并行输入/串行输出数据输出寄存器发送时钟接收时钟图串行接口典型结构串行输入串行输出控制来自地址总线中断请求读写CSA08.4.3串行通信数据的收发方式串行通信:异步串行通信和同步串行通信。异步通信:一个字符为单位,以起始位开始,停止位结束。收发时钟可不一致。同步通信:以一个字符序列为单位(长度可选),以同步字符开始。收发时钟一致。传送速率:每秒钟传送的位数,其单位为波特率。

b/s=

收/发时钟nn:波特率因子,(可取1,16,64)波特率与发送/接收时钟的关系为:空闲起始位…...5~8数据位1/001较验位停止位11空闲起始位1.异步通信方式 异步通信的数据格式是以一组不定“位数”数组成。第1位起始位,低电平;接着传送若干个数据位,先发低位,后发高位;最后是停止位,宽度可以是1位,1.5位或2位;在两个数据组之间可有空闲。其数据格式如图所示。

标准波特率:300,600,900,1200,2400,4800,9600,19200。图异步通信的数据格式1/01/01/0SYNC数据字节1数据字节2…数据字节NCRC1CRC2帧(a)单同步SYNCSYNC数据字节1…数据字节NCRC1CRC2帧(b)双同步数据字节1数据字节2…数据字节NCRC1CRC2帧(c)外同步图面向字符型同步通信数据格式2.同步通信方式

同步通信方式:面向字符同步通信和面向比特同步通信。(1)面向字符型的数据格式:单同步、双同步及外同步3种数据格式,如图所示。

单同步:传送数据之前,先传送一个同步字符“SYNC”,接收端检测到同步字符后,开始接收数据。双同步:两个同步字符“SYNC”,其后,接着是数据。外同步:用一条专用控制线来传送同步字符,使接收方与发送方实现同步。(2)面向比特型的数据格式:根据同步数据链路控制规程(SDLC),面向比特型的数据以帧为单位传输,每帧由6个部分组成。如下图:7EH地址场控制场D0D1…DNCRC1CRC27EH帧开始 结束标志 数据 标志图面向比特型的数据格式

在SDLC规程中,不允许在数据段和CRC段中出现6个“1”,否则会误认为是结束标志。因此要求在发送端进行检验,当连续出现5个“1”,则立即插入一个“0”,接收端要将这个插入的“0”去掉,恢复原来的数据。同步通信的效率比异步通信高。8.5可编程串行接口芯片8251A

INTEL8251A是一个通用串行输入/输出接口,可以同步方式(或异步方式)与外设进行串行通信。广泛应用于长距离通信系统及计算机网络。8.5.1 8251A芯片内部结构及其功能

8251A由发送器、接收器、数据缓冲存储器、读/写控制电路及调制/解调控制电路等5部分组成,如图所示。1、发送器:要发送的数据,锁存到发送缓冲存储器中。其发送速率由TXC端上收到的发送时钟频率决定。数据总线缓冲器读/写控制逻辑电路调制解调电路发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路内部总线D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO图8251A内部结构流程图与发送器有关信号:①TXD:发送数据。在时钟TXC的下降沿发送数据。②TXC:发送器时钟信号,输入。③TXRDY:发送器已准备好信号。表示发送数据缓冲存储器空。④TXEMPTY:发送器空闲标志。表示发送移位寄存器已空。2、接收器:外部通信数据从RXD端,逐位进入接收移位 寄存器中。数据总线缓冲器读/写控制逻辑电路调制解调电路发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路内部总线D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO与接收器有关信号:①RXD:数据接收端。RXD在时钟RXC上升沿采样信号。②RXRDY:接收器已准备好信号,表示已收到一个数据,当CPU读数据后,RXRDY变为低电平。③SYNDET/BRKDET——双功能的检测信号,高电平有效。内同步:收到一个或两个同步字符时,SYNDET输出高电平。外同步:当从SYNDET端收到同步字符,接收器开始接收数据。

④RXC:接收器时钟,由外部输入。若采用同步方式,接收器时钟频率等于接收数据的频率;异步方式,用软件设置波特率,TXC和RXC往往连接在一起。

对于异步方式,当RXD端口连续收到8个“0”信号,则BRKDET变成高电平,表示当前处于数据断缺状态。3、数据总线缓冲器:数据总线缓冲存储器是CPU与 8251A之间信息交换的通道。数据总线缓冲器读/写控制逻辑电路调制解调电路发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路内部总线D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO4、读/写控制和调制控制: 读/写控制电路用来接收一系列的控制信号,并向其内部各功能部件发出有关的控制信号。与读/写控制电路的控制信号:①RESET:高电平复位,等待对其初始化。②CLK:为芯片内有关电路工作提供时钟的输入端。 同步:该频率大于接收/发送器的时钟频率的30倍;异步:大于4.5倍。③WR、RD、C/D、CS、

数据总线缓冲器读/写控制逻辑电路调制解调电路发送缓冲器并/串转换发送控制电路接收缓冲器串/并转换接收控制电路内部总线D0~D7

RESETCLKC/DRDWRCSDSRDTRCTSRTSTXDTXRDYTXEMPTYTXCRXDRXRDYRXCSYNDETOOOOOOO

与读/写控制电路的控制信号:①RESET:高电平复位,等待对其初始化。②CLK:为芯片内有关电路工作提供时钟的输入端。 同步:该频率大于接收/发送器的时钟频率的30倍;异步:大于4.5倍。③WR、RD、C/D、CS、

与MODEN的控制信号①DTR(DataTerninalReady):向MODEN输出,CPU已准备好,工作命令字的D1置‘1’变为有效。5、调制/解调控制电路:当远距离串行通信时,发送时,MODEN将数字信号转换成模拟信号;接收时,MODEN将模拟信号转换为数字信号。②DSR(DataSetReady):由MODEN输入,表示MODEN已准备好,CPU通过读状态寄存器的D7位检测该信号。③RTS(RequestToSend):通知MODEN,CPU准备好发送,工作命令字的D5置‘1’变为有效。④CTS(ClearToSend):当有效时,表示8251A方可发送数据。D2D3RXDGNDD4D5D6D7TXCWRCSC/DRDRXRDYD1D0VCCRXCDTRRTSDSRRESETCLKTXDTXEMPTYCTSSYNDET/BRKDETTXRDY图 8251引脚分布B1B2L1L2PENEPS1S200同步方式01异步110异步1611异步64波特率因子字符长度00—5位01—6位10—7位11—8位校验选择01:奇校验11:偶校验×0:不校验同步(D1:D0)=00)异步(D1D0≠00)×0:内同步×1:外同步0×:双SYN1×:单SYN00无效01,1个停止位10,1.5个停止位11,2个停止位8.5.28251A的控制字及其工作方式

1、方式命令:指定通信方式、数据格式、传送速率及停止位长度等。(分成4组,每组2位)例1:在某异步通信中,数据格式采用8位数据位,1位起始位,2位停止位,奇校验,波特率因子是16,求其方式命令字?将该方式命令字写入命令口,则程序段为(假定命令口地址为309H):例2:在同步通信中,若帧数据格式为:字符长度8位,双同步字符,内同步方式,奇校验,求其方式命令字?将其方式命令字写入命令口,则程序段为(假定命令口地址为309H):方式命令字=?MOVDX,309HMOVAL,0DEHOUT DX,AL11011110B=DEHMOVDX,309HMOVAL,1CHOUTDX,AL同步方式命令字=?00011100B=1CH2、操作命令控制字:命令8251A进行某种操作(如发送、接收、内部复位和检测同步字符等)或处于某种工作状态(如DTR),以便接收或发送数据。D0D1D2D3D4D5D6D7TXENDTRRXESBRKERRTSIREH1:发送允许0:不允许

1:使DTR引脚=01:接收允许1:TXD送低电平(断开信号)0:正常工作1:使错误标志复位(状态寄存器)1:使RTS引脚=01:软件复位(下一条命令是方式字)1:进入SYN搜索方式例3:若要使8251A内部复位,假定命令口地址为309H,则程序段为:

MOVDX,309H;8251命令口

MOVAL,40H;置D6=1,使内部复位。

OUTDX,AL例4:异步通信时,允许接收,同时允许发送,则程序段为(命令口地址为309H):

MOVDX,309H ;8251命令口

MOVAL,05H;D2=1,D0=1,允许接收和发送。

OUTDX,AL3.状态字:报告8251A何时才能开始发送或接收,以及接收数据有无错误。状态位为1,表示有效。在读状态期间,8251A将自动禁止改变状态位。D0D1D2D3D4D5D6D7TXRDYRXRDYTXEPEOEFESYNDSR1:发送缓冲器空,

CPU可送数。0:稍等1:CPU可取数0:稍等1:发送器(并/串转换器)空1:奇偶错1:溢出错1:帧格错1:找到同步字符(SYNDET引脚的状态位)1:DSR=0(DSR引脚的状态位)溢出错:上一字符未读走,下一字符又来到RXD端。帧格错:未检测到停止位DSR是数据装置准备好位。例5:串行通信时,在发送程序中,需查状态字的D0位是否置1,即查TXRDY=1?命令口地址为309H,其程序段为:

MOV DX,309H ;8251命令口LP: IN AL,DX AND AL,01H ;查发送器是否就绪

JZ LP

例6:串行通信时,在接收程序中,需查状态字的D1位是否置1,即查RXRDY=1?命令口地址为309H,其程序段为:

MOV DX,309H ;8251命令口

LP1: IN AL,DX AND AL,02H ;查接收器是否就绪

JZ LP1例7:在接收程序中,检查出错信息,则用下列程序段:

MOVDX,309H ;8251命令口

IN AL,DX TESTAL,38H;检查D5、D4、D3(FE、OE、PE)

JNZERROR ;若其中有一位为1,则出错,并 ;转入错误处理程序。

4、8251A的方式命令和工作命令的使用 方式命令字:约定了双方通信的方式(同步/异步)及其数据格式(数据位和停止位长度,校验特性,同步字符特性),传送速率等参数;工作命令字:控制数据传送的方向。只有当8251A进入发送/接收准备好的状态,才能真正开始数据的传送。 方式命令字和工作命令字均无特征位标志,且都是送到同一命令端口,所以在向8251A写入方式命令字和工作命令字时,需要按一定的顺序。这种顺序是:复位方式命令字→工作命令字1→工作命令字2→工作命令字3……1.要求在甲乙两台微机之间进行串行通信,甲机发送,乙机接收。要求把甲机上开发的应用程序(其长度为2DH)传送到乙机中去。采用起止式异步方式,字符长度为8位,2位停止位,波特率因子为64个/位,无校验,波特率为4800b/s。CPU与8251A之间用查询方式交数据。口地址分配是:309H为命令/状态口,308H为数据口。2.分析由于是近距离传输,直接互连,并且,采用查询I/O方式,故收/发程序中只需检查发/收准备好的状态是否置位,即可发收1个字节。8.5.3 8251A应用举例下面以两台微机之间进行双机串行通信的硬件连接和软件编程来说明8251A在实际中是如何应用的。乙机CPUTXD

RXDSGTXC

RXCEIA/TTL

变换EIA/TTL

变换TXDRXDSGTXCRXC甲机

CPU8251A8251A图双机串行通信接口波特率发生器波特率发生器3.

设计(1)硬件连接(2)软件编程接收和发送程序分开编写,每个程序段中包括8251A初始化,状态查询和输入/输出等部分。①

发送程序(略去STACK和DATA段):CSEGSEGMENTASSUME CS:CSEG,DS:CSEGTRA PROC FARSTART:MOVDX,309H ;命令口

MOVAL,00H ;空操作,向命令口送任意数

OUTDX,ALMOVAL,40H ;内部复位(使D6=1)

OUTDX,ALNOPMOVAL,0CFH;方式命令字(异步,2;位停止位,字 ;长8位无校验,波特率因子为64个/位)

OUTDX,AL

MOVAL,37H ;工作命令字

OUTDX,ALMOVCX,2DH;传送字节数

MOVSI,300H ;发送区首址L1: MOV DX,309H ;状态口

IN AL,DX AND AL,01H JZ L1;发送未准备好,则等待

MOV DX,308H ;数据口

MOV AL,[SI] OUT DX,AL INC SI LOOP L1 ;未发送完,继续

MOV AX,4C00H ;已送完,返回DOS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论