




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
接口与通讯技术武汉科技大学计算机科学与技术学院第11章串行通信接口本章内容11.1串行通信的基本概念11.2串行通信中的传输速率控制11.3串行通信中的数据格式11.4串行通信接口标准11.5串行通信接口电路11.6用户扩展的串行通信接口11.7系统配置的串行通信接口11.1串行通信的基本概念11.1.1串行通信的基本特点在1根信号线上分时传送多位信息;既传数据又传联络信息为了区分数据和联络信息,有固定的数据格式(同步和异步)对信号的逻辑定义与TTL不兼容传输速率需要控制:双方约定波特率串行通信易受干扰,需进行差错的检测和控制既适用于近距离,又可用于远程;远程时需MODEM11.1.2串行通信传输的工作方式(制式)单工:数据只能单向传送全双工:可同时进行双向传送半双工:可分时进行双向传送——方向切换发送器接收器接收器发送器A站B站信号地全双工发送器接收器A站B站信号地单工发送器接收器发送器接收器A站B站信号地半双工11.1.3串行通信中的差错检测1.误码率的控制误码率——数据经传输后发生错误的位数与总传输位数之比;一般要求达到10-6数量级减少误码率措施——进行可靠性设计(软硬件);检纠错编码2.检错纠错编码的使用基本通信规程:奇偶校验、方阵码检错反馈重发高级通信规程:循环冗余码(CRC)检错自动纠错3.错误状态的分析与处理奇偶校验错:请求重发溢出错:降低发送速率或在接收方设置FIFO缓冲器帧格式错:核对双方的数据格式超时错:由于硬件接口电路速度跟不上产生4.错误检测只在接收方进行11.1.4串行通信的同步方式1.串行通信中的同步问题(1)字符同步方案双同步(BISYNC)通信:12个特定的同步字符高级数据链路控制同步通信HDLC:特定0/1序列(01111110)起止式异步通信:起始位(2)位同步方案——接收时钟控制每一位数据的接收2.串行通信的基本方式(1)异步通信方式以字符为单位传输,每个字符随机出现在数据流中字符与字符之间是异步的,而字符内位与位之间是同步的(2)同步通信方式以数据块(字符块)为单位传输字符与字符之间以及字符内位与位之间都是同步的11.1.5串行通信中的调制与解调
电话线:300~3400Hz的音频模拟信号调制解调器(MODEM,调制器+解调器)的作用:发送时将二进制数据调制成音频模拟信号接收时对音频模拟信号进行解调还原成数字信号数据通信设备(DCE)或数传机(DATASET)调制解调器的种类幅移键控(ASK)、频移键控(FSK)、相移键控(PSK)频率f01+-输出S1S0数字信号频率f1频率f0FSK:11.2串行通信中的传输速率控制11.2.1数据传输速率控制的实现方法数字通信中的传输速率称为波特率,单位波特数据传输率的控制——波特率时钟发生器和波特率因子11.2.2波特率与发送/接收时钟1.波特率:单位时间内传输串行数据的位数,1波特=1b/s位周期2.发送/接收时钟(1)执行数据的发送和接收:发送时钟的下降沿从发送移位寄存器输出;接收时钟的上升沿移入接收移位寄存器(2)进行位同步发送/接收时钟对数据发送/接收的控制0111000111000起始位发送的数据接收的数据收/发时钟理想情况在码元中心采样收发时钟频率严格相等采样错位(f收<f发)111000111000起始位发送的数据接收的数据发送时钟1接收时钟11.2.2波特率与发送/接收时钟3.波特率因子:发送/接收1位数据所需的时钟脉冲个数
TXC(RXC)=BaudFactor同步:Factor=1;异步:Factor=1、16、641/0起始位1/0接收时钟数据检测到起始位前沿8个16个16个起始位中心位采样位采样16倍波特率时钟的作用提高了采样定位的分辨率——提高可靠性提高了通信的抗干扰能力11.2.2波特率与发送/接收时钟4.波特率时钟发生器:不是所有串行接口芯片内都包含5.波特率时钟的使用——Factor一定,改变TXC控制Baud例8.1
Factor=16个/位,第一次采样TXC1=38400Hz,第二次TXC2=19200Hz;两次通信的波特率各为多少解: Baud1=TXC1Factor=3840016=2400b/s Baud2=TXC2Factor=1920016=1200b/s例8.2
甲乙两机通信,甲机发送时钟TXC=38400Hz,Factor1=16个/位;乙机Factor2=64个/位,求乙机的接收时钟频率RXC解:RXC=BaudFactor2=(TXCFactor1)Factor2
=384001664=153600Hz6.传输距离与传输速率的关系——传输线电气特性一定情况下,直接传输最大距离随速率的增加而减小11.2.3波特率时钟发生器设计(略)例8.3
设计一个波特率时钟发生器,输入时钟CLK=1.19318MHz,Factor=16,输出Baud=9600b/s,按ESC退出解:通常用82C54A输出方波作为串行通信的发送/接收时钟
N=CLKOUT=CLK(BaudFactor) =1.19318106(960016)8硬件设计(选用T2)8251ATXDRXDSGTXCRXC三总线92582C54A82C55ACLK2GATE2OUT2PC6扩展总线1.19318MHz波特率时钟发生器的软件编程DATA SEGMENT TCEQU8 ;82C54A的T2初值
DATA54 EQU306H ;82C54A的T2地址
CTRL54 EQU307H ;82C54A控制口地址
CTRL55 EQU303H ;82C55A控制口地址DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVDX,CTRL54 MOVAL,0B6H ;82C54A方式字
OUTDX,AL MOVDX,CTRL55 MOVAL,80H ;82C55A方式字
OUTDX,AL MOVAL,0CH OUTDX,AL ;PC6=0,关82C54A CALLLOAD ;装入计数初值波特率时钟发生器的软件编程(续);给82C54A装入计数初值的子程序LOAD PROCNEAR PUSHAX PUSHDX MOVDX,DATA54 MOVAX,TC OUTDX,AL MOVAL,AH OUTDX,AL POPDX POPAX RETLOAD ENDPCODE ENDS ENDSTART
MOVDX,CTRL55 MOVAL,0DH ;PC6=1,启动82C54A OUTDX,AL NOPLOP: MOVAH,08H INT21H CMPAL,1BH ;检测ESC键
JNELOP MOVDX,CTRL55 MOVAL,0CH ;关闭82C54A OUTDX,AL MOVAX,4C00H INT21H11.3串行通信中的数据格式通信控制规程(传输控制规程、通信协议)——数据格式、同步方式、传输速度、检错纠错方式、控制字符定义等11.3.1起止式异步通信数据格式1.特点字符随机出现在数据流中字符之间有不定长的空闲位靠起始位和停止位定界1帧数据高可靠低效率11.3.1起止式异步通信数据格式(续)2.起止式数据帧格式起始位:1位,低电平数据位:5~8位,先低位后高位校验位:1位/0位,奇偶校验停止位:1位、1.5位或2位,高电平空闲位停止位1,1.5奇偶校验数据位(5~8位)起始位不限或2位有/无(先低后高位)1位0/101110/10/10/1…0/10/10LSBMSB第n个字符第n+1个字符7~12位3.起/止位的作用定界一帧数据建立收发双方同步:起始位标志一帧开始,停止位标志着结束11.3.2面向字符的同步通信数据格式特点:一帧由一个数据块(若干字节)组成,以12个同步字符开始控制字符定界数据和控制传输SYNC:同步字符,单同步加1个,双同步加2个SOH:序始,引导标题标题:源地址、目标地址、路由等附加信息STX:文始,引导正文ETB/ETX:组终/文终,当正文很长,分n帧传送时,前n-1帧用ETB,最后1帧用ETXBCC:块校验(从SOH到ETB/ETX),纵横奇偶校验或CRC校验SYNCSYNCSOH标题STX数据块ETB/ETXBCC11.4串行通信接口标准11.4.1RS-232C接口标准1.关于RS-232C接口标准的说明EIA与BELL公司1969年公布,0~20000b/s,数据终端设备(DTE)与数据通信设备(DCE)通信;接收和发送针对终端而言2.信号线定义数据线:TXD(发送数据),DTEDCE;RXD(接收数据),DCEDTE状态线:DTR(DTE准备好),DTEDCE;DSR(DCE准备好),DCEDTE联络线:RTS(请求发送),DTEDCE;CTS(允许发送),DCEDTE振铃信号:RI(MODEM已收到交换台的呼叫信号),DCEDTE载体检出信号:DCD(MODEM已收到数据载波信号),DCEDTE信号地线:SG(公共地线)11.4.1RS-232C接口标准3.信号线的使用
(1)远程通信——使用MODEM和电话线TxDRxDRTSCTSDTRDSRRIDCDSG串口调制解调器计算机TxDRxDRTSCTSDTRDSRRIDCDSG串口调制解调器计算机电话线注:若不通过交换式电话系统,而使用专用线,则不用RI11.4.1RS-232C接口标准3.信号线的使用
(2)近程通信(15m以内)——零MODEM方式,微机通信中常用DTETxDRxDDTRDSRRTSCTSSGDTETxDRxDDTRDSRRTSCTSSGTxD与RxD交叉相连:可实现全双工通信DTR与DSR反馈相连:只要终端准备好就认为DTE和DCE都准备好RTS与CTS反馈相连:随时都可以发送11.4.1RS-232C接口标准4.电气特性
(1)RS-232C标准对信号的逻辑定义(EIA逻辑)
逻辑1:-5V-15V,负载端要求小于-3V
逻辑0:+5V+15V,负载端要求大于+3V
(2)EIA与TTL之间的转换EIA:电压极性、负逻辑TTL:电压幅值、正逻辑不兼容发送:TTLEIA,MC1488,SN75150接收:EIATTL,MC1489,SN75154MAX232可双向转换11.4.1RS-232C接口标准(续)RXDTXDRTSCTSDSRSGDCD发送电流(+)发送电流(-)1314234567891120222518接收电流(-)接收电流(+)RIDTRRXDTXDRTSCTSDSRSGDCD43267891RIDTR55.机械特性(1)连接器DB-25型(还支持20MA电流环接口)DB-9型(2)通信电缆长度速率低于20kb/s,误码率<4%——15米
实际误码率允许10%~20%,15米——保守RS-232C缺点:单端发送和接收,易受共模干扰
直接传输距离短,速率低;只能单点对单点通信11.4.2RS-485接口标准1.RS-485接口标准的新概念与新定义(1)采用双线平衡方式传输(2)采用电位差值定义信号逻辑逻辑1:AA电平比BB高200mV;逻辑0:AA电平比BB低200mV(3)允许多点对多点通信(4)采用4芯水晶头连接器——更方便且便宜MAX491RS-485电平MAX491AA’B’B平衡发送器差动接收器11.4.2RS-485接口标准2.平衡发送器/差动接收器的作用MAX485——用于半双工;MAX491——可用于全双工(1)收发器芯片MAX485和MAX491的引脚功能引脚名称功能MAX485MAX49112RO接收器输出:当VA-VB+200mV时,RO=1;当VA-VB-200mV时,RO=023RE接收器输出允许:当RE=0时,允许输出;当RE=1时,输出呈高阻(三态)34DE驱动器输出允许:当DE=1时,允许输出;当DE=0时,输出呈高阻(三态)45DI驱动器输入:当DI=0时,Y=0,Z=1;当DI=1时,Y=1,Z=056,7GND接地-9Y驱动器非反向输出-10Z驱动器反向输出6-A接收器非反向输入和驱动器非反向输出-12A接收器非反向输入7-B接收器反向输入和驱动器反向输出-11B接收器反向输入814VCC正电源:4.75VVCC5.25V-1,8,13NC不连接11.4.2RS-485接口标准2.平衡发送器/差动接收器的作用(2)信号的逻辑定义当差动输入VA-VB+200mV时,输出为逻辑1当差动输入VA-VB-200mV时,输出为逻辑0发送端(驱动器)接收端(接收器)输入(DI)输出输入输出(RO)Y(A)Z(B)VA-VB110+0.2V1001-0.2V011.4.2RS-485接口标准3.RS-485接口标准的特点①采用差动发送/接收和双绞线——共模抑制比高,抗干扰能力强②传输速率高,可达10Mb/s(传输15m),传输信号摆幅小(200mV)③传输距离长,不使用MODEM,采用双绞线,传输距离为1.2km(100kb/s)④能实现多点对多点通信4.RS-485接口标准在多点对多点通信中的应用——在一对平衡传输线的两端配置终端电阻后,最多可实现32个驱动器和32个接收器共用同一传输线的多点对多点通信11.4.3RS-232C与RS-485的转换发送端:将TXD发出的数据经MAX485/491转换为差动信号通过双绞线送出接收端:将双绞线传来的差动信号经MAX485/491转换为单根数据信号由RXD接收进来11.5串行通信接口电路11.5.1串行通信接口的基本任务(1)实现数据格式化——异步:起止位的处理;同步:SYN等的处理(2)进行串-并转换——发送:并串;接收:串并(3)进行错误检测(4)提供符合RS-232C接口标准的信号线——远程9根,近程3根(5)进行TTL与EIA逻辑关系及逻辑电平的转换(6)进行数据传输速率的控制——选择和控制波特率11.5.2串行通信接口电路的组成——可编程串行通信接口芯片(同步收/发器、异步收/发器)、波特率时钟发生器、EIA与TTL转换器、地址译码电路
常用串行通信接口芯片:16450、8250、16550、8251A11.6用户扩展的串行通信接口8251A——支持异步起止式和同步面向字符的数据格式11.6.18251A的外部特性(28引脚)1.面向CPU的引脚(13)D07、CS、RD、WRC/D:端口选择;=0,数据口;=1命令口或状态口RESET:复位,高有效,复位后等待接收方式字2.面向MODEM的引脚(6)6根RS-232C标准信号线:TXD、RXD、DTR、DSR、RTS、CTS3.状态及时钟信号(7)
TXRDY/RXRDY——发送/接收准备好,高有效,引发中断或供CPU查询TXEMPTY——发送器空,高有效,半双工方式用于传输方向切换SYNDET——SYN检出,同步通信中表示接收端已收到同步字符TXC/RXC——发送/接收时钟; CLK——工作时钟11.6.28251A的编程模型1.内部结构发送器和接收器:串-并转换;格式化;奇偶校验;接收/发送读/写控制逻辑:方式命令/工作命令/状态字/数据扩展8251A的地址:数据口308H,控制口/状态口309H读/写控制逻辑数据总线缓冲器D0~D7CLKRDWR调制控制CSC/DRESETDTRCTSDSRRTS发送缓冲器发送控制接收缓冲器接收控制发送器接收器TxDTxEMPTYTxRDYTxCRxDSYNDETRxRDYRxC11.6.28251A的编程模型2.通信方式命令——指定8251A的通信方式及数据帧格式S1S0EPPENL1L0B1B0停止位奇偶校验字符长度波特率因子00:同步01:110:1611:64异步00:5位01:6位10:7位11:8位0:无校验01:奇校验
11:偶校验00:不用01:1位10:1.5位11:2位异步:停止位0:内同步1:外同步
0:双同步1:单同步同步:同步方式MOVDX,309HMOVAL,0DAHOUTDX,AL例:①异步通信,7位数据位,奇校验,2位停止位,波特率因子16
②同步通信,字符长度8位,双同步字符,内同步,奇校验MOVDX,309HMOVAL,1CHOUTDX,AL11.6.28251A的编程模型3.工作命令——控制串口内部复位、发送、接收、清除错误标志等EHIRRTSERSBRKRxENDTRTxEN进入搜索方式内部复位1:复位发送请求错误标志复位1:复位发中止符接收允许DTE准备好发送允许异步通信,允许发送和接收MOVDX,309HMOVAL,05HOUTDX,AL利用IR=1,对芯片进行内部复位MOVDX,309HMOVAL,40H ;只要IR=1即可实现复位OUTDX,AL11.6.28251A的编程模型4.状态字——向CPU提供何时能发送/接收及接收是否有错误的信息FE=1,格式错,只用于异步方式,即停止位接收错OE=1,溢出错,溢出的字符丢失PE=1,奇偶校验错由ER=1的工作命令字复位DSRSYNDETFEOEPETXERXRDYTXRDYDCE就绪同步字符检出格式错溢出错奇偶错发送器空接收准备好发送准备好;发送一个数据([SI])MOVDX,309HL:INAL,DXANDAL,01HJZL ;TXRDY=0等待
MOVDX,308H ;TXRDY=1发送
MOVAL,[SI]OUTDX,AL;接收一个数据(存入[DI])MOVDX,309HL:INAL,DXTESTAL,38HJNZERR ;出错转出错处理
ANDAL,02HJZL ;RXRDY=0等待
MOVDX,308H ;RXRDY=1接收
INAL,DXMOV[DI],AL11.6.38251A的初始化1.初始化内容(空操作)、内部复位、方式命令、工作命令2.初始化顺序8251A的方式命令和工作命令写入同一端口,且无特征位区分方式:按规定的顺序写入,复位方式命令字工作命令字1(D61)工作命令字2……注:同步方式的初始化还要设置同步字符复位操作方式命令字同步?双同步?同步字符工作命令字D6=1?同步字符YNNYYN对C/D=1写异步方式下命令字写入流程复位操作方式命令字工作命令字D6=1?YN例:异步通信,7位数据位,奇校验,2位停止位,波特因子16,写入方式字的程序段MOVDX,309HMOVAL,01H ;方式命令或工作命令OUTDX,ALMOVAL,40H ;内部复位命令OUTDX,ALMOVAL,0DAH ;方式命令OUTDX,AL11.6.4基于8251A的串行通信接口设计——RS-232C标准例8.4
甲向乙发送2DH个字节,异步方式,8位数据,2位停止位,无校验,波特率因子64,波特率4800b/s;查询方式,零MODEM连接,8251A地址308H、309H硬件设计:甲、乙机方式命令:0CFH甲机发送工作命令:37H;乙机接收工作命令:14H波特率发生器甲CPU乙CPUEIA/TTL转换EIA/TTL转换8251ATxDRxDSGRxCTxC8251ATxDRxDSGRxCTxC波特率发生器8251A应用的软件编程——甲机发送程序DATA SEGMENT BUF_TDB45DUP(?)DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVDX,309H MOVAL,01H ;空操作
OUTDX,AL MOVAL,40H ;内部复位
OUTDX,AL NOP MOVAL,0CFH ;方式命令
OUTDX,AL MOVAL,37H ;工作命令
OUTDX,AL
MOVSI,OFFSETBUF_T MOVCX,2DHL1: MOVDX,309H INAL,DX ANDAL,01H JZL1 ;TXRDY=0等待
MOVDX,308H ;TXRDY=1发送
MOVAL,[SI] OUTDX,AL INCSI DECCX JNZL1 ;未发完继续
MOVAX,4C00H INT21HCODE ENDS ENDSTART8251A应用的软件编程——乙机接收程序DATA SEGMENT BUF_RDB45DUP(?)DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATABEGIN: MOVAX,DATA MOVDS,AX MOVDX,309H MOVAL,01H ;空操作
OUTDX,AL MOVAL,40H ;内部复位
OUTDX,AL NOP MOVAL,0CFH ;方式命令
OUTDX,AL MOVAL,14H ;工作命令
OUTDX,AL
MOVDI,OFFSETBUF_R MOVCX,2DHL2: MOVDX,309H INAL,DX TESTAL,38H ;是否有错误
JNZERR ;转出错处理
ANDAL,02H JZL2 ;RXRDY=0等待
MOVDX,308H ;RXRDY=1接收
INAL,DX MOV[DI],AL INCDI LOOPL2 ;未收完继续 JMPEXITERR:(略) EXIT: MOVAX,4C00H INT21HCODE ENDS ENDBEGIN8.6.4基于8251A的串行通信接口设计——RS-485标准(略)例8.5
甲乙全双工方式异步通信,零MODEM连接,双方将各自键盘上的按键发给对方,按ESC键退出,7位数据位,1位停止位,无校验,波特率因子16,8251A地址308H、309H硬件设计:ZCPU总线插槽OSCRXD8251ATXDTXCRXC82C54AOUT2CLK2GATE282C55APC612MAX491RODEREDIVCCGNDABYBYZAREDIDERO<<<<>>>>TXDVCCGNDRXDMAX491接线盒BYZAREDIDERO<<<<>>>>TXDVCCGNDRXDMAX491三总线RS-485全双工异步串行通信程序流程图开始结束8251A初始化查键盘有键按下?是ESC键?显示发送字符发送准备好?发送1个字符是ESC?接收1个字符接收准备好?显示接收字符返回DOSTXRDY=1?YNYNYYYNRXRDY=1?NNRS-485全双工异步串行通信汇编语言程序DATA SEGMENT DATA51 EQU308H CTRL51 EQU309H ERROR_MESSDB‘DATAISBAD!’,0DH,0AH,’$’DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATABEGIN: MOVAX,DATA MOVDS,AX MOVDX,CTRL51 ;8251A初始化
XORAX,AX ;空操作LL: CALLCHAR_OUT MOVAL,40H ;8251A内部复位
OUTDX,AL MOVAL,4AH ;8251A方式命令
OUTDX,AL MOVAL,37H ;8251A工作命令
OUTDX,ALKB_TR: MOVAL,0BH INT21H ;有按键? CMPAL,0 JERECEIVE ;没按键,判能否接收
MOVAH,1 INT21H CMPAL,1BH ;按下ESC键? JZOVERRS-485全双工异步串行通信汇编语言程序(续)ERROR: LEADX,ERROR_MESS MOVAH,09H INT21H ;出错提示
JMPKB_TROVER: MOVAX,4C00H INT21HCHAR_OUT PROCNEAR ;输出并延时子程序
OUTDX,AL PUSHCX MOVCX,100 ;延时GG: LOOPGG POPCX RETCHAR_OUT ENDPCODE ENDS ENDBEGIN
MOVBL,ALTRANSMIT: MOVDX,CTRL51 INAL,DX TESTAL,01H ;TXRDY=1? JZTRANSMIT MOVDX,DATA51 MOVAL,BL OUTDX,AL ;发送1个数
JMPKB_TRRECEIVE: MOVDX,CTRL51 INAL,DX TESTAL,38H ;是否有错
JNZERROR TESTAL,02H ;RXRDY=1? JZKB_TR MOVDX,DATA51 INAL,DX MOVDL,AL MOVAH,02H INT21H ;显示字符
JMPKB_TR11.7系统配置的串行通信接口(略)16550——支持RS-232C标准;可实现异步全双工通信;更强的中断控制能力;内置波特率时钟发生器和16B的FIFO数据存储器11.7.116550的外部引脚特性(40引脚)引脚名称方向功能说明D0D7双向系统与16550传输数据、命令和状态的数据线A0A2输入16550内部寄存器寻址信号,可寻址8个端口CS0
CS1
CS2输入3个片选信号全部有效才选中16550TXRDY输出发送器准备好,用于申请DMA方式发送数据RXRDY输出接收器准备好,用于申请DMA方式接收数据ADS输入地址选通,低有效可锁存地址信号RDRD输入读,2个信号中只要1个有效即可进行读操作WRWR输入写,2个信号中只要1个有效即可进行写操作DDIS输出驱动器禁止,高有效用于禁止外部驱动器对系统总线的驱动MR输入主复位,高有效,迫使16550进入复位状态INTR输出中断请求,高有效SIN输入串行数据输入SOUT输出串行数据输出XIN输入16550工作的基准时钟RCLK输入接收时钟XOUT输出是XIN的输出,可作为其他定时信号BAUDOUT输出波特率输出信号,是XIN分频后的输出,常与RCLK相连OUT1
OUT2输出用于用户自定义功能(如开放/禁止中断)DTRDSRRTSCTSRIDCDRS-232C接口标准的同名引脚11.7.216550的编程模型1.16550的内部寄存器——11个可访问的寄存器2.内部寄存器的端口地址共用问题波特率除数寄存器访问位DL(LCR的D7位)读/写——RBR与THR;IIR与FCRDL被访问的寄存器A2A1A0COM1端口COM2端口0接收缓冲寄存器RBR(读)与发送保持寄存器THR(写)0003F8H2F8H0中断允许寄存器IER0013F9H2F9H1波特率除数寄存器低字节DLL0003F8H2F8H1波特率除数寄存器高字节DLM0013F9H2F9H中断识别寄存器IIR(读)与FIFO控制寄存器FCR(写)0103FAH2FAH线路控制寄存器LCR0113FBH2FBHMODEM控制寄存器MCR1003FCH2FCH线路状态寄存器LSR1013FDH2FDHMODEM状态寄存器MSR1103FEH2FEH暂存Scratch1113FFH2FFH11.7.216550的编程模型3.16550内部寄存器的格式(1)线路控制寄存器LCR例:8位数据位,2位停止位,偶校验,无附加位,无间隔发送,禁除数锁存
MOVDX,3FBH MOVAL,1FH OUTDX,AL(2)线路状态寄存器LSRDLSBSTPPESL1L0允许除数锁存1:允许发送间隔1:SOUT上发间隔附加位1:有校验类型1:偶校验校验允许1:允许停止位0:1位;1:1.5或2位数据长度0011:58位ERTETHBIFEPEOEDR1:FIFO中至少一个错误1:发送器空1:发送器就绪1:接收间隔1:帧错误1:奇偶错1:超限错1:FIFO中有数据例:收发处理的程序段START: MOVDX,3FDH INAL,DX TESTAL,1EH;有错? JNZERR TESTAL,01H;接收? JNZRECEIVE TESTAL,20H;发送? JNZTRANS JMPSTART11.7.216550的编程模型3.16550内部寄存器的格式(3)中断允许寄存器IER例如:只允许接收和发送中断——01H(4)中断识别寄存器IIRID2ID1ID0PN无效中断识别码0:有未决中断例如:检查是否有接收中断
MOVDX,3FAH INAL,DX CMPAL,04H JERECV_INT ……0000EMELETER不用,写01:允许MODEM中断1:允许接收器错误中断1:允许发送器中断1:允许接收器中断
16550的中断类型及优先级ID2ID1ID0PN优先级类型复位控制0001没有中断01101接收器错误(奇偶校验、帧、超限)通过读线路寄存器复位01002接收器准备好通过读数据复位11002字符超时通过读数据复位00103发送器准备好通过写发送器复位00004MODEM状态中断通过读MODEM状态复位11.7.216550的编程模型3.16550内部寄存器的格式(5)FIFO控制寄存器FCR——是否允许使用FIFO及FIFO产生中断的深度(6)波特率除数寄存器——16位分频系数,分高字节DLM和低字节DLL 除数=CLK(波特率16)例如:16550对1.8432MHz进行分频,要求波特率为19200b/s,则除数=6 MOVDX,3FBH MOVAL,80H ;除数寄存器访问位DL=1 OUTDX,AL MOVDX,3F8H MOVAL,06H ;写除数低字节
OUTDX,AL MOVDX,3F9H MOVAL,0 ;写除数高字节
OUTDX,ALRT1RT000DMAXMITRSTRECVRSTEN接收器触发器值00:FIFO中有1B01:4B;10:8B;11:14BDMA方式控制0:奇校验;1:偶校验1:复位发送器FIFO1:复位接收器FIFO1:允许FIFO11.7.216550的编程模型3.16550内部寄存器的格式(7)数据寄存器THR和RBR——共用端口,8位;读/写区分(8)MODEM控制寄存器——设置对MODEM的控制信号和芯片自检例如:让16550自发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租铁床改造合同范本
- 厂区绿化管护合同范本
- 课题申报书ai怎么写的
- 作文评价研究课题申报书
- 光纤熔接劳务合同范本
- 公司建筑材料租赁合同范本
- 医疗耗材中标合同范本
- 医生自费进修合同范本
- 中德储蓄合同范本
- 课程评价课题申报书
- 孕前口腔护理保健
- 《民航服务与沟通学》课件-第1讲 服务与民航服务的概念
- 诊所与医生合作协议
- 大型养路机械司机(打磨车)高级工技能鉴定考试题库(含答案)
- 车辆使用不过户免责协议书范文范本
- 蟾蜍毒抗病毒药物筛选
- DB11T 2033-2022 餐厨垃圾源头减量操作要求
- 1.2 歌曲 《春天来了》 课件(11张)
- 【人教版】pep六年级英语下全册教案(表格版)
- 护理培训师竞聘
- 北师大版小学数学五年级下册同步课时练习试题含答案(全册)
评论
0/150
提交评论