串行接口及可编程接口芯片8251A.ppt

上传人:小飞机 文档编号:5028415 上传时间:2023-05-30 格式:PPT 页数:43 大小:478.50KB
返回 下载 相关 举报
串行接口及可编程接口芯片8251A.ppt_第1页
第1页 / 共43页
串行接口及可编程接口芯片8251A.ppt_第2页
第2页 / 共43页
串行接口及可编程接口芯片8251A.ppt_第3页
第3页 / 共43页
串行接口及可编程接口芯片8251A.ppt_第4页
第4页 / 共43页
串行接口及可编程接口芯片8251A.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《串行接口及可编程接口芯片8251A.ppt》由会员分享,可在线阅读,更多相关《串行接口及可编程接口芯片8251A.ppt(43页珍藏版)》请在三一办公上搜索。

1、串行接口及可编程接口芯片8251A,10.1串行传输的基本概念串行通信的基本概念 在计算机数据通信中,有两种基本的数据传送方式:串行通信与并行通信。串行通信:计算机之间以及计算机与一些常用的外部设备之间的数据交换,往往需要采用串行通信的方式。在计算机远程通信中,串行通信更是一种不可缺少的通信方式。串行通信中只需要一条数据传输线,所以串行通信可以节省传送线。在位数较多、传输距离较长的情况下,这个优点更为突出,但串行通信的速度比并行通信的的速度要低的多。,串行通信的特点:数据一位一位地顺序传送,只占用一条传输线,它可由两种方式来实现:一种是依靠软件来实现串行数据传送(如图10-1所示中的D0-D7

2、中的某一位,按一定的时间间隔来把数据转变成序列脉冲的形式);另一种是通过专用的通信接口,将并行数据转换为串行数据。并行通信的特点:数据有多少位就要有多少传输线,所以数据线较多。,在并行通信与串行通信之间的对比关系,2.串行数据传送方式,图 10-2串行通信中数据的传送模式(a)单工通信模式(b)半双工通信模式(c)全双工通信模式,(1)单工(Simplex)通信模式:该模式仅能进行一个方向的数据传送,数据只能从发送器A发送到接收器B。(2)半双工(Half Duplex)通信模式:该模式能够在设备A和设备B之间交替地进行双向数据传送。即数据可以在一个时刻从设备A传送到设备B,而另一时刻可以从设

3、备B传送到设备A,但不能同时进行。(3)全双工(Full Duplex)通信模式:该模式下设备A或B均能在发送的同时接收数据。,3.数据传输率 数据传输率是指每秒钟传送的二进制位数。设计算机数据传送的速率是120字符/s,而每个字符假设有10个比特(bit)位(包括1个起始位、7个数据位、1个奇偶校验位和1个停止位),则其波特率为:120字符/s10 bit/字符=1200 bit/s=1200波特 每个数据位的传送时间Td为波特率的倒数:Td 1/12000.000 833 s0.833 ms 最常用的波特率有110、300、600、1200、1800、2400、4800、9600和1920

4、0。通常用选定的波特率除以10来估计每秒钟可以传送的字符数。4.发送/接收时钟 用时钟来检测每一位数据的位宽度。5.波特率因子K:每BIT占用的时钟周期数。K=接接收或发送时钟频率/比特率,可取1,16,32,64,例1:一个异步串行发送器,发送具有8位数据位的字符,在系统中使用一个奇偶校验位和两个停止位。若每秒发送100个字符,则其波特率为多少?,100*(1+8+1+2)=1200 bps,例2:一个异步串行发送器,发送具有7位数据位的字符,传送波特率为1800,字符格式为:1个奇偶校验位,1个停止位,问,十秒钟内传送了多少个字符?,10*1800/(1+7+1+1)=1800,一个字符,

5、格式,数据通信传输的是数字信号,要求传送线的频带很宽,若传输带宽很窄,直接传输数字信号,信号就要发生畸变。因此,需用调制器将数字信号转换成模拟信号,经传输后再用解调器将其转换成数字信号。,信号的调制与解调,根据载波 Asin(t+)的三个参数:幅度、频率、相位,常用的调制技术:幅度调制 Amplitude-Modulating(AM)频移键控法 Frequency-Shift Keying(FSK),用调幅正弦波表示数字1和0,用两种不同频率正弦波表示数字1和0,5串行通信的格式 在数据通信中为使收、发信息准确,收发两端的动作必须相互协调配合。这种协调收发之间动作的措施称为“同步”。在串行通信

6、中数据传送的“同步”方式有异步传送和同步传送两种。(1)异步通信 异步传送,是指发送设备和接收设备在约定的波特率(每秒钟传送的位数)下,不需要严格的同步,允许有相对的延迟。即两端的频率差别在1/10以内,就能正确地实现通信。在进行异步传送时必须确定字符格式及波特率。,1)字符格式:在异步通信中,两个计算机之间如正确的实现数据的传输必须满足下面的两个规定:(1)字符格式:字符格式即字符的编码形式及规定。如规定每个传送的数据字符由四个部分组成:1个起始位、58个数据位、1个奇偶校验位以及12个停止位。图 10-3 示出了这种串行字符编码格式。起始位后面,紧跟着要传送字符的最低位,每个字符的结束,是

7、一个高电平的停止位。起始位至停止位构成一帧。,异步通信的字符格式:字符格式即字符的编码形式及规定,图 10-3A 异步传送数据格式(a)有空闲位;(b)无空闲位,图10-3C 起始位至两个停止位构成一帧的异步传送格式,字符格式中个位的意义:起始位:每个字符的开始必须是持续一个比特(一位)时间的逻辑“0”电平,标志着一个字符的开始。数据位:有58位,紧跟起始位之后,是字符中的有效数据位。传送字符时,先送低位,后送高位。奇偶校验位:仅占一位。可根据需要设置为奇校验或偶校验,也可以不设校验位。停止位:可设置为1位、1.5位或2位,并规定为逻辑“1”状态。,异步传送数据格式下传送的过程:每个字符传送前

8、,其传输线上必须处于高电平“1”状态,这样,当传输线由“1”变为“0”状态,并持续1比特时间时,就表明是字符的起始位,下面传送的位信息必然是有效数据位信息。当一个字符传送完后,立即传送下一个字符,下一个字符的起始位紧挨前一个字符的停止位(即无空闲位),如图10-3(b)所示。如后续数据跟不上,则在停止位后加高电平的空闲位等待下一个字符的到来,如图10-2(A)(B)所示。,(2)同步通信 同步传送是指去掉异步传送时每个字符的起始位和停止位,仅在数据块开始处用12个同步字符来表示数据块传送的开始,然后串行的数据块信息以连续的形式发送,每个发送时钟周期发送一位信息,故同步传送中要求对传送信息的每一

9、位都必须在收、发两端严格保持同步,实现“位同步”。同步传送时一次通信传送信息的位数几乎不受限制,通常一次通信传送的数据可达几十到几百个字节。这种通信的发送器和接收器比较复杂,成本较高。用于同步通信的数据格式有很多种,图11-4给出了常见的几种。图中,除数据场的字节数不受限制外,其他均为8位。,图10-4 同步传送数据格式(a)单同步数据格式;(b)双同步数据格式,图(a)为单同步数据格式,传送一帧数据仅使用一个同步字。当接收端检测到一个完整的同步字后,就连续接收数据。一帧数据结束,便进行16位的循环冗余校验(Cyclic Redundancy Check)CRC校验,以校验所传送的数据中是否出

10、现错误。图(b)为双同步数据格式,这时利用两个同步字进行同步。,10.2 可编程串行接口芯片8251A,一、8251A的基本性能8251A是可编程的串行通信接口芯片,基本性能:1两种工作方式:同步方式,异步方式。同步方式下,波特率为064K,异步方式下,波特率为019.2K。2同步方式下的格式 每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。3异步方式下的格式 每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1

11、个、15个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4全双工的工作方式 其内部提供具有双缓冲器的发送器和接收器。5提供出错检测 具有奇偶、溢出和帧错误三种校验电路。,二、内部结构,状态缓冲器、接收数据缓冲器、发送数据/命令缓冲器,1、发送器 发送器由发送缓冲器和发送控制电路两部分组成。采用异步方式,则由发送控制电路在其首尾加上起始位和停止位,然后从起始位开始,经移位寄存器从数据输出线TXD逐位串行输出。采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请

12、求信号。当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。,2接收器 接收器由接收缓冲器和接收控制电路两部分组成。接收移位寄存器从RxD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。同步方式:首先搜索同步字符。8251A监测RxD线,每当RxD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的

13、内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。,采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。实现同步之后,接收器和发送器间就开始进行数据的同步传输。这时,接收器利用时钟信号对RxD线进行采样,并把收到的数据位送到移位寄存器中。在RxRDY引脚上发出一个信号,表示收到了一个字符。3数据总线缓冲器数据总线缓冲器是CPU与8251A之间的

14、数据接口。包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。一个寄存器用来存放CPU向8251A写入的数据或控制。,4读/写控制电路读/写控制电路用来配合数据总线缓冲器的工作。功能如下:(1)接收写信号,并将来自数据总线的数据和控制字写入8251A;(2)接收读信号,并将数据或状态字从8251A送往数据总线;(3)接收控制/数据信号C/D*,高电平时为控制字或状态字;低电平时为数据。(4)接收时钟信号CLK完成8251A的内部定时;(5)接收复位信号RESET,使8251A处于空闲状态。5调制解调控制电路调制解调控制电路用来简化8251A和调制解调器的连接

15、。,三8251A的引脚功能,1、8251A和CPU之间的连接信号,8251A和CPU之间的连接信号可以分为四类:片选信号 CS*:片选信号,它由CPU的地址信号通过译码后得到。数据信号D0-D7:8位,三态,双向数据线,与系统的数据总线相连。传输CPU对8251A的编程命令字和8251A送往CPU的状态信息及数据。读/写控制信号 RD*:读信号,低电平时,CPU当前正在从8251A读取数据或者状态信息。WR*:写信号,低电乎时,CPU当前正在往8251A写入数据或者控制信息。C/D*:控制/数据信号,用来区分当前读/写的是数据还是控制信息或状态信息。该信号也可看作是8251A数据口/控制口的选

16、择信号。P332表10.1 8251A的操作信号,收发联络信号TxRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。TxEMPTY:发送器空信号,TxEMPTY为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,说明一个发送动作已完成。RxRDY:接收器准备好信号,用来表示当前8251A已经从外部设备或调制解调器接收到一个字符,等待CPU来取走。因此,在中断方式时,RxRDY可用来作为中断请求信号;在查询方式时,RxRDY可用来作为查询信号。SYNDET:同步检测信号,只用于同步方式。,8251A与外部设备之间的连接信号分为两类:(1)收发联络信号 DTR

17、*:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。DSR*:数据设备准备好信号,表示当前外设已经准备好。RTS*:请求发送信号,表示CPU已经准备好发送。CTS*:允许发送信号,是对的响应,由外设送往8251A。实际使用时,这4个信号中通常只有必须为低电平,其它3个信号可以悬空。(2)数据信号 TxD:发送器数据输出信号。当CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。RxD:接收器数据输入信号。用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。,四8251A的编程,编程的内容包括两大方面:是由CPU发出的控制字,即方式选择控制字和操作命令控

18、制字;是由8251A向CPU送出的状态字。1方式选择控制字(模式字)方式选择控制字的格式如图所示。,1方式选择控制字(设定8251的工作方式),2操作命令控制字(控制字)操作命令控制字的格式如下:,自动搜索同步字符,使得端口TxD=0,8251的方式字和命令控制字写入同一个端口,为了区别它们,在复位后写入的是方式控制字,此后写入的是命令控制字,且在对芯片复位以前,写入的都是命令控制字。,3、状态字(CPU读取8251的工作情况),【例1】若要查询8251A接收器是否准备好,则可用下列程序段完成:MOV DX,0FFF2H;状态口 L:IN AL,DX;读状态口 AND AL,02H;查D11?

19、即接收器准备好了吗?JZ L;未准备好,则等待 MOV DX,OFFF0H;数据口 IN AL,DX;已准备好则输入数据,48251A的初始化 芯片复位以后,第一次用奇地址端口写入的值作为方式字进入方式寄存器。如果方式字中规定了8251A工作在同步模式,由CPU用奇地址端口写入的值将作为控制字送到控制寄存器,而用偶地址端口写入的值将作为数据送到数据输出缓冲寄存器。流程图如下:,1异步模式下的初始化程序举例设8251A工作在异步模式,波特率系数(因子)为16,7个数据位/字符,偶校验,2个停止位,发送、接收允许,设端口地址为00E2H和00E4H。完成初始化程序。【分析】根据题目要求,可以确定模

20、式字为:11111010B即FAH而控制字为:00110111B 即37H则初始化程序如下:,MOV AL,0FAH;送模式字MOV DX,00E2HOUT DX,AL;异步方式,7位/字符,;偶校验,2个停止位MOV AL,37H;设置控制字,使发送、接收允许,;清出错标志,使RTS*、DTR*有效;OUT DX,AL,2同步模式下初始化程序举例设端口地址为52H,采用内同步方式,2个同步字符(设同步字符为16H),偶校验,7位数据位/字符。【分析】根据题目要求,可以确定模式字为:00111000B 即38H而控制字为:10010111B 即97H。它使8251A对同步字符进行检索;同时使状

21、态寄存器中的3个出错标志复位;此外,使8251A的发送器启动,接收器也启动;控制字还通知8251A,CPU当前已经准备好进行数据传输。,具体程序段如下:MOV AL,38H;设置模式字,同步模式,用2个同步字符,OUT 52H,AL;7个数据位,偶校验MOV AL,16H OUT 52H,AL;送同步字符16HOUT 52H,AL MOV AL,97H;设置控制字,使发送器和接收器启动OUT 52H,AL,3、两台微型计算机通过8251A相互通信的举例,通过8251A实现相距较远的两台微型计算机相互通信的系统连接简化框图如下。这时,利用两片8251A通过标准串行接口RS-232C实现两台808

22、6微机之问的串行通信,可采用异步或同步工作方式。,【分析】设系统采用查询方式控制传输过程,异步传送。初始化程序由两部分组成:是将一方定义为发送器。发送端CPU每查询到TXRDY有效,则向8251A并行输出一个字节数据;是将对方定义为接收器。接收端CPU每查询到RXRDY有效,则从8251A输入一个字节数据,一直进行到全部数据传送完毕为止。发送端初始化程序与发送控制程序如下所示:STT:MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL;将825lA定义为异步方式,8位数据,1位停止位 MOV AL,11H;偶校验,取波特率系数为64,允许发送。OUT DX,AL MOV

23、 DI,发送数据块首地址;设置地址指针 MOV CX,发送数据块字节数;设置计数器初值,NEXT:MOV DX,8251A控制端口 IN AL,DX AND AL,01H;查询TXRDY有效否?JZ NEXT;无效则等待 MOV DX,8251A数据端口 MOV AL,DI;向8251A输出一个字节数据。OUT DX,AL INC DI;修改地址指针 LOOP NEXT;未传输完,则继续下一个 HLT,接收端初始化程序和接收控制程序如下所示:,SRR:MOV DX,8251A控制端口 MOV AL,7FH OUT DX,AL;初始化8251A,异步方式,8位数据 MOV AL,14H;1位停止

24、位,偶校验,波特率系数64,允许接收。OUT DX,AL MOV DI,接收数据块首地址;设置地址指针 MOV CX,接收数据块字节数;设置计数器初值COMT:MOV DX,8251A控制端口 IN AL,DX ROR AL,1;查询RXRDY有效否?ROR AL,1 JNC COMT;无效则等待,ROR AL,1 ROR AL,1;有效时,进一步查询是否有奇偶校验错。JC ERR;有错时,转出错处理MOV DX,8251A数据端口 IN AL,DX;无错时,输入一个字节到接收数据块。MOV DI,AL INC DI;修改地址指针LOOP COMT;未传输完,则继续下一个HLTERR:CALL ERR-OUT,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号