欢迎来到天天文库
浏览记录
ID:65192489
大小:369.50 KB
页数:39页
时间:2024-08-29
《微机原理及接口技术-第11章-串行通信和可编程接口芯片》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
第十一章串行通信和可编程接口芯片8251A第一节串行通讯的基本概念第二节可编程串行通讯接口芯片8251A第三节EIARS-232C串行口和8251A应用举例第四节串行同步数据通讯协议 11-1串行通讯的基本概念通讯communication计算机与外部的信息交换并行(parallel)通讯数据各位同时传送(适合近距离)串行(serial)通讯要传送的数据,按照一定的格式编码,按数据的先后顺序一位一位的传送(远距离场合) 一、数据传送方向direction1、单工simplex:数据线只能单方向传送数据(单向通讯)2、半双工halfduplex数据线的数据不能同时发/送但可以分时进行发/送(讲/听)TR(a)单工TRRT数据流(b)半双工ABAB 3、全双工fullduplex同时发送和接收数据TRRT(c)双工AB 二、串行通讯的基本工作方式1、异步方式asynchronous异步串行数据发送格式:当发送字符用ASCII码表示时:数据位占7位(D0~D6)。所以ASCII码发送时:有10位,10.5位,11位。D0D0D1Dx一帧第n个字符起始位空闲位数据位(5-8)位校验位(1-2位)停止位空闲位起始位第n+1个字符 2、同步方式(synchronous):(收/发端必须用同一时钟协调)传送数据格式:三、串行传送速率速率反映传送快慢,用波特率(Bd)表示baudrate波特率每秒钟内传送数据的位数常用波特率:110,300,600,1200,2400,4800,9600,19200同步传送可达64000Bd同步字符1同步字符2数据字符 四、串行接口芯片在串行通讯中:CPU发时:并行数据(通过接口芯片)转换成串行数据才发送。CPU接时:通讯线上的串行数据通过接口芯片转换成并行数据后CPU读取。串行通讯的工作方式,字符格式和波特率由编程决定。常用接口芯片:1、通用异步收发器UART2、通用同步异步收发器USART 五、调制调节器:远距离传送时,最好是电话线传送(已具备),但由于电话线传送带宽300Hz-3000Hz的音频信号,不可能直接传送频带很宽的数字信号解决方法使用调试调节器MODEMMODEM的作用发送时:数字信号转换为音频信号,再发送接收时:将音频信号恢复成数字信号 调制方法:1)调幅调制2)频率键移调制fsk00110100010001101000100:1070HZ1:1270HZ 11-2可编程串行通讯接口芯片8251A为同步方式时:每个字符数据位5-8位。波特率DC~64K(可选内同步,外同步字符)为异步方式时:数据位5-8位波特率系数=时钟速率/传输速率=1,16,64停止位:1,1.5,2位波特率:DC~19200 一、8251A内部结构,外部引脚。组成:数据总线缓冲器接收缓冲器,接收控制电路发送缓冲器,发送控制电路读/写控制逻辑,调制解调器等各部分功能分析引脚:C/D=0-选择8251A数据口RD=0-CPU接收数据(读8251A)或读8251A状态 WR=0-CPU发送数据或向8251A写入控制字。调制解调器控制电路RxDTxDDSRDTRCTSRTSRxCTxC8251A地址总线数据总线控制总线异步MODEM波特率产生器电话线接口电话线 DTR:数据终端准备好,输出。终端做好接收数据准备后,向MODEM发出信号。DSR:数据装置准备好,输入。MODEM已准备好数据,是DTR的回答信号,CPU用IN指令读入,检查状态RTS:请求发送,输出。有效时:表示计算机或终端已准备好数据,需要发送。CTS:清除发送,输入。MODEM收到RTS信号,完全做好发送准备后,MODEM回答8251A一个信号。 8251A与CPU及外设的连接D7-D0A7A6A5A4M/IOA3A2A0A1RESETRDWRD7-D0G1Y0G2AG2BCBACSC/DRESETRDWRTxRDYTxERxRDYBRKDET8251ARxDTxDRxCTxCRS-232C接口外设波特率产生器808674LS138 端口地址A3A2A0=000-Y0=CS有效A7A6A5A4A3A2A1A011110000F0H数据口11110010F2H控制口二、8251A的编程:工作方式字:规定同步/异步方式,Bd,字符长度,奇/偶校验否?等。命令字:控制8251A按方式字所规定的方式工作,如允许/禁止收发,搜索同步字等。 1、8251A编程流程图:复位操作输出方式字同步方式输出命令字复位传送数据输入状态字传送完输出第一个同步字符双同步输出第二个同步字符YNNYNYYN 2、方式字:B2B1(D1D0):不全为0时为异步工作方式。01-异步方式波特率系数=110-异步方式波特率系数=1611-异步方式波特率系数=64收发时钟频率波特率系数S2S1EPPENL2L1B2B1Bd= L2L1(D3D2):数据字符长度00-5位01-6位10-7位11-8位EPPEN(D5D4):是否要校验位X0-无校验01-奇校验11-偶校验S2S1(D7D6):停止位个数00-无效01-1个停止位10-1.5个停止位11-2个停止位 当B2B1(D1D0)=00时-同步方式其同步方式字:SCSESDEPPENL2L1001SYNDET为输入(外同步)0SYNDET为输出(内同步)1单字符同步0双字符同步与异步方式定义相同 3、命令字:EHIRRTSERSBRKRxEDTRTxEN1允许发送0禁止发送1允许接收0禁止接收1使DTR引脚输出低电平1使TxD线变低,发送空白字符0正常工作1使错误标志PE,OE,FE均复位1使RTS引脚输出低电平1内部复位,使8251A回到方式选择格式1启动搜索同步字符 4、状态字:此字用于了解8251A的工作状态,如出错?传送有效?等。状态字格式:(CPU用IN指令读取状态)DSRSYNDET/BRKDETTxE发送器准备好同引脚含义奇偶错误溢出错误帧错误(只用于异步方式)数据装置准备好FEOEPERxRDYTxRDY 三、8251A初始化编程举例*8251A可靠复位后,方可写入方式字和命令字。复位后,再依次写入方式字命令字。*从控制口写入第一个字后,需延时16个时钟周期,再写入第二个字,才能保证可靠写入。设8251A:异步工作方式,波特率系数为16,7个数据位,一个停止位,有偶校验,控制口3F2H,恢复时间程序REVTIME。 MOVDX,3F2HMOVAL,00HOUTDX,ALREVTIMEOUTDX,ALREVTIMEOUTDX,ALREVTIME MOVAL,40HOUTDX,ALREVTIMEMOVAL,01111010B;方式字OUTDX,ALREVTIMEMOVAL,00010101B;命令字OUTDX,AL 8251A同步方式的初始化程序P391与异步方式不同点:多一个同步方式字同步字符用ASCII码中的16H 11-3EIARS-232C串行口和8251A应用举例P392自学重点:1、MAX232,MAX233与8251A配合使用的作用:发送时:将TTL电平转为RS232电平接收时:将RS232电平转为TTL电平2、8251A的应用举例双机通讯接口电路图 D7-D0RDWERESETA1A9A3A0M/IOCLK8086D7-D0RDWRRESETC/DCSCLKTxDRxDGNDRxCTxC地址译码8251A/CSCLK08253OUT04分频T1IT1OMAX233R1OR1I+5V237231,7231,7692MHZ8MHZDB25插头座54 8251编程示例例:编写8251异步模式下的接收和发送程序,完成256个字符的发送和接收,设端口地址:208H,209H,波特率因子16,1起始位,1停止位,无奇偶校验,每字符8位。 MOVDX,209HMOVAL,40H;复位命令。OUTDX,ALMOVAL,01001110B;方式字MOVDX,ALMOVAL,0011,0111B;命令字OUTDX,ALMOVDI,BUFF_TMOVCX,256;发送256字节NEXT:MOVDX209HINAL,DX;状态字ANDAL,01H;TXRDY?JZNEXTMOVDX,208HMOVAL,[DI]OUTDX,AL;发送INCDILOOPNEXT发送程序 接收程序接收256字节,放在buf中DatasegmentbufDB256dup(?)Dataends┆MOVDX,209HMOVAL,40H;复位OUTDX,ALMOVAL,0100,1110B;模式字OUTDX,ALMOVAL,0011,0111B;控制字OUTDX,ALMOVCX,256;接收256字节MOVSI,0NEXT:MOVDX,209HINAL,DX;状态字ANDAL,02H;RXRDY?JZNEXTMOVDX,208HINAL,DX;接收1字符MOVbuf[SI],ALINCSILOOPNEXT 11-4串行同步数据通讯协议在高速MODEM应用中都使用串行同步方式,故除需要握手信号外,收发间应遵循更高一级协议。协议即规定(传送顺序,信息格式,信息内容等的约定)最常用的两种协议:1)BISYNC,IBM二进制同步通讯协议。2)HDLC高级数据链路控制协议。 一、BISYNC协议协议规定:报文开始时,收发间用ASCII(或EBCDIC)字符作握手信号。普通报文格式:发送报文时:1)先发1-2个同步字符,如ASCII的16HSYNCSYNCSOH报头STX正文ETX或ETBBCC同步字符报头开始正文开始正文或块结束块校验16H16H01H02H串行数据流方向 2)发报头:报头开始发特定符SOH,ASCII的01H,报头内容由系统定义,如奇偶校验,报文目的地址等。3)发正文:先发正文开始符STX,如02H,然后正文(128~256个字符)4)发正文结束符(或块结束符):如ASCII字符03H和17H5)发块校验字符BCC:1-2个字节。块校验字符其含义是:为正文而计算的复杂奇偶校验信息或正文循环冗余校验。 接收系统同样作校验计算,并与发送时的BCC值作比较相等:发送有效,可发新报文不等:请求重发一次报文二、高级数据链路控制协议HDLC适应多点共享一条数据链路主从通讯,从站与从站的通讯主站1#从站2#从站n-1#从站n#从站······· 该协议约定:数据以帧为单位传送一帧有三类帧信息帧I监控帧S帧内部分称为域无编号帧U起始标志011111108位地址8位控制8位信息任意位帧校验16位结束标志011111108位 三类帧格式相同,但控制域各位含义不同。起始标志位(结束标志):位模式01111110地址(8位):对发送方控制帧和信息帧,该地址是目的地址对接收方控制帧和信息帧,该地址是源站地址控制域(8位):三类帧的控制域各位含义不同信息域:只出现在信息帧里。在HDLC协议中-信息域为任意位。在同步数据链路SDLC协议中-信息域必须为8的倍数(某些系统中,每帧可发1000或2000位信息) 当数据出现01111110码时,将误为标志域必须调整。解决方法一旦数据流中出现5个连续1,由硬件电路在其后自动补0,接收方再将补的0去掉。帧校验域:16位,是一个循环冗余字该域的值=帧起始标志到结束标志的所有位计算值。接收方也计算该值,以校验错结束标志连续传送:前一帧的结束标志是后一帧的起始标志无数据传送时,通讯线为全1(空闲)
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处