您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第6章串并行通信及接口技术
第6章串并行通信及接口技术6.6.1接口的功能1.寻址功能一个接口部件内部有几个端口。2.输入/输出功能。3.数据转换功能。4.联络功能。READY,BUSY等信息与CPU联络。5.中断管理。中断控制器具有发中断请求,接受响应中断,送中断类型码,优先级排队等功能6.复位功能。接收复位,处于初始状态。7.可编程功能。8.错误检测功能(串行接口)。1)奇偶校验错误。2)覆盖错误——CPU未读走缓冲寄存器内容,而由于某种原因又输入新数据到寄存器,或输出寄存器未被外设取走,CPU又送一个输出。3)幀错误。8255并行通信接口并行接口优点:速度快,信息率高缺点:距离长,成本高一、8255内部结构1.有3个并行口A口输入/输出,数据均锁存B口输入/输出,输入不锁存,输出锁存。C口同A口C口除输入/输出外,还做A口、B口的联络信号。2.A口、B口、C口分成2个组A组:A口、C口高4位B组:B口、C口低4位3.读/写控制逻辑。由/CSA1A0决定口地址,由/RD/WR决定入/出。4.双向三态8位数据缓冲器。二、8255引脚功能40条1.PA0~PA7PB0~PB7PC0~PC72.D0~D7双向三态,可直接与8位D0~D7连3.RESET复位后A口、B口、C口均作输入4./CS选片5./RD,/WR决定输入/输出6.A1、A0决定口地址P250表6.3二、8255与系统的连接1.8位接口芯片与16位数据总线的连接。16位的数据分高8位,低8位低8位在偶地址,高8位在奇地址中。数据低8位与8255D0~D7相连。指令中,所有8255口地址都以偶地址形式。因此只要队8255的4个口地址都定义为偶地址,则对A口、B口、C口控制口的写入数据均在CPU的低字节上进行。解决方法:硬件上,A0不接到8255A0,而让A2A1接到8255A1A0,而指令中A0保持为02.硬件图三、8255的使用1.8255控制字A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0在A口方式1或方式2时B口方式1时,C口作A口、B口的联络信号方式0——简单的输入/输出方式1——条件/中断输入/输出方式2(仅A口)——双向输入/输出2.对C口的置位/复位功能。C口常用控制用,所以对某一个要置“1”或“0”6.5.48255的工作方式1.方式0——简单的输入/输出当A口、B口均为方式0时,控制字格式为100☆☆0☆☆,可以有16种输入/输出组合,任何一个端口可以输入/输出,各端口之间无任何关系。输入时序P256CPU使用指令INAL,XX1)CPU首先送出地址,选中8255某个端口,即启动82552)8255把数据送到输入缓冲器。3)CPU发/RD信号。方式0时,输入实际上读引脚上的信号,信号不锁存,所以在整个读期间,引脚信号不能变。输出时序P257CPU使用OUTXX,AL1)用CPU应先发地址,启动8255。2)CPU发/WR保持一段时间后发数据方式0输出无锁存,所以输出直接到引脚上去。方式0的使用1)同步传送。输入总是准备好,输出总是空,只要用IN、OUT指令。2)查询传送。利用C口的高4位作A口的联络信号,低4位作B口的联络信号。后述在条件传送时举例2.方式1——条件传送或中断传送A口、B口方式1时,C口的高4位作A口的联络信号C口的低4位作B口的联络信号且有固定的关系。1)输入方式1P259/STB选通输入,外设送来数据时的选通信号,/STB有效时,8255接收外设数据送到缓冲器。IBF缓冲器满,高电平有效,表示8255缓冲器已接收了新的数据,由/STB置位,/RD复位。INTR8255向CPU中断请求,在/STB=1IBF=1INTE=1时,INTR=1,在中断服务程序中/RD使INTR=0INTE中断允许1送PC4允许A口输入中断1送PC2允许B口输入中断方式1输入时序P2602)输出方式/OBF输出缓冲器满CPU已向指定端口输出了数据,8255收到CPU数据/OBF=0,8255通知外设CPU已送来数据,由/WR置成低电平,/ACK置成高点平。/ACK外设响应,外设送给8255,表示外设已收到8255送来的数据,处理完毕。INTR向CPU请求中断,/ACK变电平,/OBF=1。/WR使INTR变低。INTE中断允许1送PC6允许A口输出中断。1送PC2允许B口输出中断。方式1输出时序P261例:把B口上开关值送A口LED显示MOVAL,0A6HOUT86H,ALS1:INAL,84HANDAL,02JZS1INAL,82HMOVAH,ALS2:INAL,84HANDAL,80HJZS2MOVAL,AHOUT80H,ALJMPS13.方式2——仅A口——双向1)INTRA中断请求输入/输出完成时2)/STBA外设把数据打入8255的输入缓冲器中3)IBFA表示已有数据输入到缓冲器中4)/OBFA输出缓冲器满,通知外设5)/ACKA允许8255A口输出,否则输出缓冲器高阻6)INTE11送PC6允许输出中断INTE21送PC4允许输入中断8255双机通信8255程序流程8255作为打印机的接口P2671.查询式打印机工作过程,要向打印机输出一个数据时,先查询BUSY。在空时,把数据送到8255A口后产生/STB即可。2.中断方式设口地址为00C0H、00C2H、00C4H、00C6H图6.37P268PC0作对打印机的选通信号PC6打印机应答信号,打印完成PC3作中断请求,接8259的IR3,中断类型码为0BH则中断服务地址放在11×4=44即2CH,2DH,2EH,2FH单元中。设对8259已初始化,打印数据的地址在DI中,打印的长度在CX中。程序流程:8255初始化A口方式11送PC0使/STB=10送DS书中程序有错6.2串行接口和串行通信1.什么叫串行通信?一位一位向外输出或接收。2.可编程串行接口的典型结构P2251)控制寄存器,CPU送给接口的控制信息。2)状态寄存器,在传输过程中的状态。3)数据输入/输出寄存器。发送时,CPU数据写入输出寄存器。输出寄存器——输出移位寄存器接收时,由移位寄存器移入,然后送到输入寄存器,由CPU来读出。3.几个基本概念1)半双工,全双工2)异步,同步3)波特率,每秒传输多少位4)RS232标准采用负逻辑。5)信号的调制与解调常用调幅和调频传输信息a.调幅方式用某种电平或电流表示逻辑1(称为MARK)用另一种电平或电流表示逻辑0(称为空号SPACE)4种标准:①TTL标准+5V表示逻辑10V表示逻辑0②RS232标准-3V~-25V(一般-10~-15V)表示逻辑1+3V~+25V(一般+10~+15V)表示逻辑0③20MA存在表示1,不存在表示0④60MA存在表示1,不存在表示0b.调频方式通过电话线等传输,常发生信号畸变使用调制解调器,将“1”“0”调制成易于鉴别的两个频率的模拟信号,称为频移键控FSK.当数据为1时,让较高频率1通过。当数据为0时,让较低频率2通过。这样输出即为调制后的信号。接收端频率高时,输出1,频率低时,输出04.三种错误标志1)奇偶错误接收到1的个数不符合规定2)帧错误接收到的字格式不合规定。在收发时钟频率相差太大时引起错位。3)溢出(丢失)错误——覆盖错误接收时,移位寄存器送到输入寄存器,CPU读取。在送到输入寄存器后,串行口可以接受新的信息,当接收到第二个字符的第二个停止位,要送到输入寄存器,此时CPU还未取走前一个字符就发生错误。5.可编程通信接口——8251(USART)可编程同步/异步接收发送器一、8251基本性能1.可用于同步/异步传送。2.同步传送5-8位/字符,内部或外部字符同步自动插入同步字。3.异步传送5-8位/字符,时钟频率为波特率的1/16/64倍。4.可产生中止字符。可产生1/1.5/2位停止位,检查假启动,自动检测和处理中止符。5.波特率异步:0-19.2K同步:0-64K6.全双工双缓冲器发送器、接收器。7.错误检测。6.3.28251基本工作原理1.编程结构1)数据输入缓冲器。2)数据接收移位寄存器。3)数据输出缓冲器。4)数据发送寄存器。5)控制寄存器。6)模式寄存器。7)状态寄存器。8)2个同步字符寄存器。2.功能结构及发送接收方式1)接收控制电路。串行---并行功能:异步时:在RXD上寻找启动低电平,条件RXE=1允许接收。消除假启动干扰。对收到的信息进行奇/偶校验,建立相应状态。测停止位,建立状态。并行数据送输入寄存器1送RxRdy同步时:监测RXD线,每当RXD上出一个数据位时,移入移位寄存器,移位寄存器与同步字符比较,若不等则接收下一位数据,且比较。若相等,则1送SYNDET表示找到同步字。接收器接收RXD上数据送移位寄存器达到规定数据后,送入缓冲寄存器1送RXRDY。2)发送部分并行—串行功能:异步时:为数据位加上起始位,校验位和停止位。条件:TXEN=1/CTS=0外设请求发送同步时:插入同步字符,CPU来不及提供新数据时,自动插入同步字,数据中插入校验符。条件:TXEN=1,/CTS=03)读/写控制电路写入:写入控制字,数据。读出:读状态,读数据。复位时:8251处于空闲状态。4)调制解调控制电路运程传送时数字---模拟发送模拟---数字接收8251引脚功能1.与CPU的连接信号。/CS选片D0~D7数据、命令、状态/RD读数据、状态/WR写数据、写控制字、同步字C/D区分命令/数据C/D=1读状态写命令C/D=0读数据写数据/CSC/D/RD/WR功能0001读数据0010写数据0100读状态0110写命令或同步字1XXX非选中输入和输出同一地址8251与CPU的连接2.收发联络信号。引脚TXRDY当/CTS=0TXEN=1TXE=1三条件满足时,引脚TXRDY=1通知CPU8251已准备好发送可以用TXRDY作中断请求信号。CPU也可以查询状态寄存器中的TXRDY状态,查到TXRDY=1,再根据TXE及/CTS状态决定CPU是否向8251发送。引脚TXRDY和状态TXRDY不相同。TXE发送器空,与状态寄存器中TXE相同,状态寄存器第2位,8251从并行到串行转换器空,表示完成了一次发送。8251从CPU获得一字符后TXE=0。RXRDY接收器准备好,表示已收到一个字符,等CPU来取,可用作中断请求,也可查询状态。与状态寄存器RXRDY相同。当CPU读取字符后,RXRDY=0SYNDET与状态寄存器中SYNDET相同。一般用于同步方式内同步时,作输出,表明已检测到同步字SYNDET=1。外同步时作输入。在/RXC下一个下降沿时装配字符。在异步时,当8251收到一个全0数位组成的字符时,SYNDET输出高点平。3.8251与外设的连接信号1)收发联络信号/DTR数据终端准备好,由8251送往外设,CPU对命令寄存器第1位的写入1,表示CPU已准备好。/DSR数据设备准备好,是外设送往8251,表示外设已准备。状态位DSR=1,则引脚/DSR=0CPU可以读状态寄存器的第7位。/RTS请求发送是8251送给外设,CPU写命令寄存器的第5位,写入1时,引脚/RST=0./CTS清除请求发送,是对/RTS的响应,由外设送给8251。/CTS=0时,8251才能发送。在无条件传送时,只要/CTS=0时,可以发送,其他可以不用,浮空。在只接收不发送数据时,/CTS也可浮空。当外设只要一组联络信号时,可使用/DTR和/DSR或使用/RTS和/CTS,但在发送时,/CTS仍要为低电平。2)数据信号(8251与外设之间)TXD、RXD3)电源4)时钟CLK要求:同步时,CLK大于数据频率30倍。异步时,CLK大于数据频率4.5倍。5)/TXC,/RXC同步时,等于字符传输频率。异步时,是字符的1/16/64倍,时钟频率=波特率因子X波特率。6.3.48251的编程1.初始化流程。P2392.模式寄存器。异步同步P240波特率(移位速率)同步时:和/TXC、/RXC上的时钟频率相等。异步时:波特率=/RXC或/TXC频率/波特率因子3.
本文标题:第6章串并行通信及接口技术
链接地址:https://www.777doc.com/doc-2197090 .html