




已阅读5页,还剩127页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章串并行通信和接口技术,本章要点,串行通信的几种方式8251A的编程结构和功能结构8251A和CPU的信号连接以及和外设的信号连接低档接口芯片和高档数据总线的连接8251A的模式寄存器、控制寄存器和状态寄存器的格式,8251A的初始化流程8251A的使用8255A和CPU的信号连接以及和外设的信号连接8255A的三种工作方式和设置方法8255A的C端口置0/置1,6.1串行接口和串行通信,串行接口串行通信涉及的几个问题,6.2.1串行接口,串行接口部件有4个主要寄存器,即:控制寄存器状态寄存器数据输入寄存器数据输出寄存器。,6.2.2串行通信涉及的几个问题,全双工方式和半双工方式和单工方式同步方式和异步方式传输率,1.全双工方式和半双工方式,全双工方式:接收和发送用不同的通路。半双工方式:输入和输出使用同一通路。单工方式:只能一个方向传输,即只能发送或只能接受。,全双工方式和半双工方式(a)全双工方式(b)半双工方式,2.同步方式和异步方式,传输方式:同步通信:采用同一个时钟来定时,时钟频率精确相等。异步通信:不用统一的时钟定时,时钟频率基本相等。同步方式和异步方式比较:同步方式的信息有效率高。同步方式需传输时钟信号。,异步通信,1.异步通信的数据链路控制是面向字符的。2.异步通信的规程规定:数据流中传送的每个字符都必须由起始位(1位低电平)开始,而已停止位(1位或2位高电平)结束,称为一帧。起始位和停止位称为帧位。(1)起始位。连续1位的低电平(逻辑0)。(2)数据位。在起始位之后,即发送数据位,数据位通常有4种配置情况。即有5,6,7,8位。传输规律:先低后高。(3)奇偶效验位。异步通信采用1位奇偶效验,检测错误。(4)停止位。表示1个字符(1帧信息)发送结束。,标准的异步通信数据格式,例1:画出ACH异步通信传输时的线路波形图。,十六进制:ACH二进制:起始位10101100终止位B线路波形1:线路波形2:,例2:画出3EH异步通信传输时的线路波形图。,例3:假设异步通信规则为1位起始位,8位数据位,1位停止位,试计算异步传输效率?如果传输波特率是1200bps,每秒传多少帧数据?,传输效率=8/(8+2)=80%传输数据帧=1200/(8+2)=120帧,异步通信是字符内的同步,字符间的异步。,3.串行通信的传输率,例4、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为1200/10120个。,例5.同步传输:用1200bps的波特率工作,用4个同步字符作为信息帧头部,但不用奇偶校验,那么,传输100个字符所用的时间为7*(100+4)/12000.6067s,这就是说,每秒钟能传输的字符数可达到100/0.6067165个。可见,在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。,同步通信,(1)在同步通信中,要求发送端在正式发送数据前,先发送一个同步字符去通知接收端,接收端在,6.3可编程串行通信接口8251A,8251A的基本性能8251A的基本工作原理8251A的对外信号8251A的编程8251A编程举例8251A的使用实例,6.3.18251A的基本性能,可以工作在同步或异步方式。在同步方式时,能用5、6、7或8位代表字符能自动检测同步字符允许奇偶校验。在异步方式下能用5、6、7或8位代表字符,用1位作为奇偶校验。能增加1个启动位能增加1个、1.5个或2个停止位。,6.3.28251A的基本工作原理,8251A的编程结构8251A的功能结构8251A的发送和接收,1.8251A的编程结构,具体编程结构和外部连接如下图,28251A的功能结构,接收控制电路的功能:复位后寻找启动位。消除假启动干扰。对接收到的信息进行奇偶校验。检测停止位。,发送控制电路功能:在异步方式下,为数据加上起始位、校验位和停止位。在同步方式下,插入同步字符和校验位。,读写控制逻辑电路功能:接收WR,写入数据和控制字接收RD,读取数据或状态字接收C/D。接收CLK,完成内部定时。接收RESET。,8251A的内部工作原理,3.8251A的发送和接收,(1)异步接收方式(2)异步发送方式下图为8251A工作在异步方式时的数据传输格式,(3)同步接收方式(4)同步发送方式下图为8251A工作在同步方式时的数据传输格式,6.3.38251A的对外信号,8251A和CPU之间的连接信号8251A与外部设备之间的连接信号,1.8251A和CPU之间的连接信号,(1)片选信号CS#为低电平时,8251A被选中(2)数据信号D7D0与系统的数据总线相连(3)读写控制信号RD#为读信号。WR#为写信号。C/D#为控制/数据信号。,(4)收发联络信号TXRDY为发送器准备好信号TXE发送器空信号RXRDY接收器准备好信号SYNDET同步检测信号,2.8251A与外部设备之间的连接信号,(1)收发联络信号DTR#数据终端准备好信号DSR#数据设备准备好信号RTS#请求发送信号CTS#清除请求发送信号,(2)数据信号TXD发送器数据信号端RXD接收器数据信号端,6.3.48251A的编程,8位接口和16位数据总线的连接问题8251A的初始化模式寄存器的格式控制寄存器的格式状态寄存器的格式,1.关于8位接口芯片和16位数据总线的连接问题,解决方法:硬件上,将总线的A1与芯片的A0相连软件上,用连续的偶地址代替奇偶地址,关于8251A连续的端口地址?,数据输入端口和数据输出端口合用同一个偶地址40H,而状态端口和控制端口合用同一个奇地址42H。具体系统中,利用1位地址线区分奇地址与偶地址。在16位系统中,用A1来区分,A1为低电平时,选中偶地址,再与读写配合,便实现了数据的读/写;A1为高电平时,选中奇地址,再与读/写配合,便实现了状态信息的读取和控制信息的写入。,为什么在16位系统中,接口部件和地址总线要错位连接?,为了使所有的数据传输都利用数据总线的低8位,需要把地址总线的A1线和接口A0端相连。16位系统中约定,CPU用数据总线传输16位数据时,总是把数据送到以偶地址开头的两个相邻单元。I/O接口一方面连接在数据总线的低8位,另一方面又有1偶1奇两个连续地址,只能采取将地址总线的最低位A0不连到接口部件,而将地址次低位A1作为最低位来用,错位连接到接口的A0端。,例:16位系统中的84H、86H两个地址,在总线上看,都是偶地址,所以,确保数据在低8位数据线上传输,但由于接口地址进行了错位连接,所以,到了接口芯片内部,86H被看成是奇地址,只有84H才是偶地址,也就可以实现连续奇偶地址管辖下的寄存器的/写。,2.8251A的初始化,8251A初始化的约定:复位后,用奇地址写入的值送模式寄存器。若为同步模式,接着往奇地址端口输出的字节为同步字符。此后,除复位命令,往奇地址写入的值将送到控制寄存器,往偶地址端口写入的值送到数据输出寄存器。,8251A的初始化流程图,3.模式寄存器的格式,下图为8251A模式寄存器的格式(a)异步模式;(b)同步模式,4.控制寄存器的格式,5.状态寄存器的格式,6.3.58251A编程举例,异步模式下的初始化程序举例同步模式下的初始化程序举例利用状态字进行编程的举例,1.异步模式下的初始化程序举例,MOVAL,0FAHOUT42H,AL;设置模式字,为异步模式;波特率因子为16;用7个数据位,偶校验,2个停止位MOVAL,37HOUT42H,AL;设置控制字,使发送启动、接收启动,并设置有关信号,2.同步模式下的初始化程序举例,MOVAL,38HOUT42H,AL;设置模式字为同步模式,2个同步字符,7个数据位,偶校验MOVAL,16HOUT42H,ALOUT42H,AL;两个同步字符均为16H,MOVAL,97HOUT42H,AL;设置控制字,并启动,3.利用状态字进行编程的举例,MOVAL,0FAHOUT42H,AL;设置模式字,异步模式,波特率因子为16,7个数据位,2个停止位,偶校验MOVAL,37HOUT42H,AL;设置控制字,并启动,MOVDI,0;变址寄存器初始化MOVCX,80;共收取80个字符BEGIN:INAL,42HTESTAL,02HJZBEGIN;读状态字并测试,INAL,40H;读取字符MOVDX,OFFSETBUFFERMOVDX+DI,AL;传输字符INCDI;修改缓冲区指针INAL,42H;读取状态字TESTAL,38H;测试有无错误,JNZERRORLOOPBEGIN;如没有错,则接收下1个字符JMPEXIT;如满80个字符,则结束ERROR:CALLERR_OUT;调用出错处理程序EXIT:,6.3.68251A的使用实例,下图为用8251A作为CRT接口的实际例子,8251A的初始化程序段,INIT:XORAX,AX;AX清零MOVCX,0003MOVDX,00DAHOUT1:CALLKKKLOOPOUT1;往控制端口DAH送3个0,MOVAL,40HCALLKKK;往控制端口送40H复位MOVAL,4EHCALLKKK;设置模式字,异步模式,波特率因子为16,8位数据,1位停止位,MOVAL,27HCALLKKK;往设置命令字启动.,KKK:OUTDX,AL;将数据输出到指定端口PUSHCXMOVCX,0002ABC:LOOPABC;等待输出动作完成POPCX;恢复CX内容RET,往CRT输出一个字符的程序段,要输出的字符事先放在堆栈中。程序段先对状态字进行测试,以判断TXRDY状态位是否为1,如TXRDY=1,说明当前数据输出缓冲区为空,于是,CPU可以往8251A输出一个字符。,CHAROUT:MOVDX,0DAHSTATE:INAL,DX;输入状态字TESTAL,01JZSTATE;不断测试状态位MOVDX,0D8H;数据端口地址送DXPOPAX;AX中为要输出的字符OUTDX,AL;往端口中输出一个字符,传输数据55H,低位在前,高位在后,6.4并行通信和并行接口,特点:传输速度快信息率高用电缆多,上图为典型的并行接口和外设连接的示意图,并口接口结构,1.控制寄存器:接收CPU的控制命令。2.状态寄存器:提供CPU各种状态。3.输入缓冲寄存器:实现数据输入。4.输出缓冲寄存器:实现数据输出。,并口输入过程,一、外设与接口之间1.外设将数据送给接口,使状态线“数据输入准备好”称为高电平。2.接口输入缓冲寄存器接收数据,使“数据输入响应”线变成高电平。二、CPU与接口之间3.数据到达接口之后,接口会在状态寄存器中设置“输入准备好”状态位,以便CPU查询。4.CPU从并口读取数据后,并口会自动清楚状态寄存器中的“输入准备好”状态位,并使数据总线处于高阻状态。,并口输出过程,一、CPU与接口之间1.外设从接口取走数据之后,接口会将状态寄存器中的“输出准备好”状态位置“1”,表示CPU当前可以往接口输出数据。2.接口向CPU发一个中断请求。3.CPU输出的数据到达接口的输出缓冲寄存器之后,接口会自动清除“输出准备好”状态位,并将数据送往外设,同时接口往外设发送一个“数据输出准备好信号”来启动外设接收数据。二、外设与接口之间4.外设收到启动后,便收取数据,并往接口发一个“数据输出响应”信号。5.接口收到此信号后,会将状态寄存器中的“输出准备好”状态位重新置1,以便CPU输出下一个数据。,6.5可编程并行通信接口8255A,可编程通过软件工作方式连接外部设备时,通常不需外部电路,6.5.18255A的内部结构,1.数据端口A、B、C,(1)端口A对应1个8位数据输入锁存器1个8位输出锁存器/缓冲器。(2)端口B对应1个8位数据输入缓冲器1个8位输出锁存器/缓冲器。(3)端口C对应1个8位数据输入缓冲器1个8位输出锁存器/缓冲器。,通常使用方法:端口A、B作为独立的输入或者输出端口端口C配合端口A、B,2.A组控制和B组控制,(1)A组控制电路控制端口A和端口C的高4位的工作方式和读写操作。(2)B组控制电路控制端口B和端口C的低4位的工作方式和读写操作。,3.读写控制逻辑电路,功能:管理数据传输过程。具体的:它接收CS#信号以及来自系统地址总线的选择端口的信号,还接收控制总线的信号RESET,WR#和RD#,将这些信号进行组合后,得到对A组控制部件和对B组控制部件的控制命令,并将命令发给这两个部件,以完成对数据、状态信息和控制信息的传输。,4.数据总线缓冲器,功能:通过它与系统数据总线相连。具体:输入数据、输出数据以及CPU发给8255A的控制字都是通过这个缓冲器传递的。,1.和外设一边相连的信号,PA7PA0A组数据信号;PB7PB0B组数据信号;PC7PC0C组数据信号。,2.和CPU一边相连的信号,RESET复位信号,高电平有效。D7D0数据线。CS#片选信号。RD#读出信号。WR#写入信号。A1、A0端口选择信号。,6.5.38255A的控制字,控制字分为两类:1)各端口的方式选择控制字,可使8255A的3个数据端口工作在不同的方式。第7位总是1标识符。2)C端口按位置1/置0控制字,可使C端口中的任何一位进行置位或复位。第7位总是0标识符。,1.方式选择控制字,8255A方式选择注意:有三种基本工作方式:方式0基本的输入输出方式方式1选通的输入输出方式方式2双向传输方式只有端口A能工作在方式2同一组的两端口可分别工作在输入和输出方式,例1:8255AJ1方式选择控制字的设置,端口A:方式0,输出;端口B:方式0,输入;端口C的高4位,输出;端口C的低4位,输入。,例2:8255AJ2方式选择控制字的设置,端口A:方式0,输入;端口B:方式1,输出;端口C的高4位,输出;端口C的低4位,配合B工作,可任意为1或0,此处设为0。,例3:利用指令设置8255AJ1,J2方式选择控制字。(J1的端口地址分别为A口00E0H;B口00E2H;C口00E4H;控制口00E6H。J2的端口地址分别为A口00E8H;B口00EAH;C口00ECH;控制口00EEH)。,MOVAL,83HMOVDX,00E6HOUTDX,AL;对J1设置方式控制字MOVAL,94HMOVDX,00EEHOUTDX,AL;对J2设置方式控制字,2.端口C置1/置0控制字,置1/置0控制字注意:必须写入控制口D0位决定置1或置0D3、D2、D1位决定了对哪一位操作D7位必须为0,例4:8255A端口C置0/置1控制字.,要对端口C的PC7位置1,则控制字为00001111B,即0FH;而端口C的PC3位置0,则控制字为00000110B,即06H.,例5:要对端口C的PC7位置1,则控制字为00001111B,即0FH;而端口C的PC3位置0,则控制字为00000110B,即06H.设8255A的控制端口地址为00EEH.用程序如何实现。,MOVAL,0FHMOVDX,00EEHOUTDX,AL;对PC7位置1MOVAL,06HOUTDX,AL;对PC3位置0,例7:要用端口C的PC3端输出一个正脉冲,如何用程序实现?,MOVAL,06HMOVDX,00EEHOUTDX,AL;对PC3位置0MOVAL,07HOUTDX,AL;对PC3位置1MOVAL,06HOUTDX,AL;对PC3位置0,8255A,例8.设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置1/置0方式对PC6置1,对PC4置0。,MOVDX,00C6HMOVAL,0DH;对PC6置1的控制字为0DHOUTDX,ALMOVAL,08H;对PC4置0的控制字为08HOUTDX,AL,6.5.48255A的工作方式,方式0方式1方式2,方式0:基本输入输出方式,A、B、C口全适用。,(1)方式0的工作特点端口可作为输入口,也可作为输出口。可以有16种不同的组合,(2)方式0的输入时序在方式0读取数据条件:先发出地址信号,数据要领先于读信号输入时序要求:读出期间地址保持有效,数据必须保持到结束。读脉冲宽度至少为300ns,(3)方式0输出时序要求:地址信号必须提前有效且滞后消失,写脉冲宽度至少有400ns,数据必须提前并保持tWD时间。,(3)方式0的使用场合同步传送,不需要应答信号。发送方和接收方由一个时序信号来管理,所以双方互相知道对方的动作,不需要应答信号。对接口的要求很简单,只要传送数据就行。因此,同步方式下,三个数据端口可实现三路数据传输。查询式传送,需要应答信号。方式0下,没有固定的应答信号,需要将端口A和端口B作为数据端口,端口C的高4位规定为输出端口,用来输出一些控制信号,而把端口C的低4位规定为输入信号,用来读出外设的状态。这样,利用端口C配合了端口A和B的输入/输出操作。,2.方式1选通输入输出方式A、B口适用,方式1的特点端口A、B可分别工作在方式1。端口C配合方式1,提供选通信号和应答信号。,(2)方式1输入时序下图是端口A、B工作于方式1输入时,各信号的示意图,方式1输入(A口),方式1输入(B口),上图控制信号说明:STB#选通信号IBF缓冲器满信号INTR送往CPU的中断请求信号INTE中断允许信号下图为方式1的输入时序,(3)方式1输出时序OBF#输出缓冲器满信号ACK#外设响应信号INTR中断请求信号INTE中断允许信号,方式1输出(A口),方式1输出(B口),方式1时输出端口对应的控制信号和状态信号,方式1的输出时序,3.方式2,(1)方式2的特点只适用于端口A。端口C用5个数位提供控制和状态信号。,方式2(A口),(2)方式2信号INTRA中断请求信号STBA#选通信号IBFA状态信息OBFA#输出缓冲器满信号,ACKA#对OBFA的响应信号INTE1中断允许信号INTE2中断允许信号,方式2的控制信号,(3)方式2的时序,(4)方式2的使用场合一个并行外设既可以作为输入又可以作为输出输入输出动作不会同时进行,(5)方式2和其他方式的组合如下面4张图所示,A端口工作于方式2,B端口工作于方式0输入情况,A端口工作于方式2,B端口工作于方式0输出情况,A端口工作于方式2,B端口工作于方式1输入情况,A端口工作于方式2,B端口工作于方式1输出情况,6.5.58255A的应用举例,8255A工作于方式的例子8255A工作于方式的例子,.A工作于方式的例子,8255A作为打印机接口的示意,打印机工作过程:,当主机要往打印机输出字符时,先查询打印机忙信号,如打印机正在处理字符,则忙信号BUSY为1,反之,则忙信号为0.因此,当查询到忙信号为0是,则可通过8255A往打印机输出一个字符。此时,要将选通信号STB#置成低电平,然后再使STB#为高电平,这样,相当于在STB#端输出一个负脉冲,此负脉冲作为选通脉冲将字符送到打印机输入缓冲器。,A作为传送字符的通道,工作于方式0,输出;B未用;C工作于方式0,PC2作为BUSY信号输入端,故PC3PC0为输入方式,PC6作为STB#信号输出端,故PC7PC4为输出方式。,设8255A的端口地址为:A=00D0H;B=00D2H;C=00D4H;D=00D6H。程序段:PP:MOVAL,81H;控制字,使A,B,C三个端口均工作与;方式0,A口输出,C口高4位输出,C口低4位输入。OUT0D6H,ALMOVAL,0DH;用置1/置0方式使PC6为1,即STB为高电平。OUT0D6H,AL,LPST:INAL,0D4H;读端口C的值。ANDAL,04HJNZLPST;如不为0,说明打印机忙。MOVAL,CLOUT0D0H,AL;如不忙,则把CL中字符送端口A。MOVAL,0CHOUT0D6H,AL;使STB#(pc6)为0。INCAL;使STB#(pc6)为1,产生负脉冲。OUT0D6H,AL,.工作于方式的例子,8255A作为中断方式打印机接口的示意,A作为数据通道,工作于方式1,输出,此时PC7自动作为OBF#信号输出端,PC6自动作为ACK#信号输入端,故PC7PC4为输入方式。PC3自动作为INTR信号输出端,PC3PC0为输出方式。,设8255A的端口地址为:A=00C0H;B=00C2H;C=00C4H;D=00C6H;,具体程序段:,MAIN:MOVAL,0A0H;主程序段OUT0C6H,AL;设置8255控制字MOVA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年汽车制造业新能源汽车技术发展与市场前景研究报告
- 2025年智能家居市场前景及发展方向研究报告
- 2025年绿色环保产业发展前景研究报告
- 2025年智能家居行业可穿戴设备应用与前景展望报告
- 2025年机器人行业机器人服务市场前景研究报告
- 2025年生物科技行业生物医学工程在康复医学中的应用前景研究报告
- 2025年智能网联汽车行业自动驾驶技术发展与市场前景研究报告
- 2025年虚拟现实产业发展前景报告
- 商场冬季用电安全培训课件
- 商场全年安全培训方案课件
- 电梯从业证考试试题及答案解析
- 第九讲 全面依法治国PPT习概论2023优化版教学课件
- 新媒体文案写作PPT完整全套教学课件
- 《细胞》PPT课件-完美版
- 托育园厨师安全工作责任书
- 《编程猫系列》第1课-Hello-编程猫(课件)
- GB 16899-2011自动扶梯和自动人行道的制造与安装安全规范
- 非典型骨折课件
- 封闭区倒塌围墙修复施工方案
- 户口本翻译样本-Word范文-Word范文
- 企业融资计划书2022
评论
0/150
提交评论