串行接口与通信66_第1页
串行接口与通信66_第2页
串行接口与通信66_第3页
串行接口与通信66_第4页
串行接口与通信66_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章串串行接口口1第一节串串行通信信原理一、串行通通信基本概概念串行通信::数据的各位位间串行传传输,通过过单条1位宽传输线线按顺序分时传送,即通通信双方一一次传输一一个二进制制位。并行通信::数据的各位位间串行传传输,通过多条1位宽传输线线同时传送,宽度一般为为“字节””或“字””。串行通信与与并行通信信是两种基基本的数据据通信方式式。2串行通信的的优点(与并行通信信相比):⑴传输距离离长(可达数千公公里);⑵长距离时时数据传送送速率快,,通信时钟钟频率更容容易提高(无联络信号号);⑶抗干扰能能力强,信信号间干扰扰可忽略(线少);⑷费用低(线少);⑸传输线既既传数据,,又传联络络信息。串行通信的的缺点(与并行通信信相比):数据的串/并转换;数据格式要要求;位计数。3二、串行通通信综述1、串行通信信示意图计算机串行接口MODEM收发控制计算机串行接口MODEM发收控制音频模拟信号非远程通信时可省略MODEM串行接口计算机收发控制点点通信时可省略回下页返回6页42、串行通信信相关问题题(1)通信原理理—通信过程中中相关因素素*通信方式式—方向(单工/半双工/全双工)、连接(一对一/一对多/多对多)、异步串行行/同步串行;;*速度控制制—波特率、发发送/接收时钟;;*差错控制制—硬件(单端/双端、电压压/电流、信号号重复)、软件(检错、纠错错技术);*长距离传传输—信号调制与与解调;*通道共享享—信道复用。。(2)通信协议议—如何处理信信号线上的的信号*数据识别别—异步串行通通信协议;;*数据正确确性—抗干扰、检检验码编码码技术。转上页回7页回9页回11页回14页回16页回17页5(3)通信接口口标准—何时可线路路传输及如如何连接*标准类型型—RS-232C、RS-422A、RS485等;*逻辑特性性—信号定义、、信号握手手规则;*电气特性性—电压/电流要求、、电缆长度度;*机械特性性—连接器类型型、信号定义与连接接。(4)软件编程程—如何通过软软件控制传传输*接口芯片片类型—INS8250等;*接口芯片片特点—引脚信号、、控制逻辑辑、支持通通信协议、、适配器组组成方法;;*接口芯片片编程—REG定义、编程程要求。转4页回25页回36页6三、串行通通信方式1、通信方向向转5页2、连接方式式一对一(点点)一对多多对多结点数量2>2>2发送方数量11n接收方数量1nn发送冲突不考虑不考虑考虑*接收冲突不考虑考虑*考虑*应用RS-232CRS-423A、RS-422ARS-485说明:*--通信信息(控制或数据)中含有结点地址TRTRTRRTTR单工方式半双工方式全双工方式73、异步串行行/同步串行(1)异步串行行通信通信数据流流中,字符间异步步,字符内内位间同步步。字符间异步步:字符与字符符间无严格格的时间要要求。字符内位间间同步:一旦传送开开始,收/发双方以预预先约定的的传输速率率传输字符符中的每一一位。异步串行通通信基本信信息单位::字符。(2)同步串行行通信通信数据流流中,字符间及字字符内部各各位间均同同步。同步串行通通信基本信信息单位::帧(字符块)。8四、速度控制1、波特率单位时间内内传送二进进制数据的的位数,以以位/秒(b/s)表示,也称称为数据位位速率。它是衡量串串行通信速速率的重要要指标。思考:⑴甲乙双方方对波特率率的要求如如何?⑵甲方的接接收波特率率、发送波波特率间关关系如何??为什么??⑶通信双方方的波特率率是如何确确定的?转5页92、收/发时钟控制收/发双方之间间数据传输输速率的时时钟。与波特率关关系:收/发时钟频率率=n×波特率n为波特率系系数(对单个系统统而言是固固定的),用于提高高通信可靠靠性(在异步通信协协议中讲)与基准时钟频频率关系:收/发时钟频率=基准时钟频率率/波特率除数波特率除数=基准时钟频率率/(n×波特率)波特率设置::通过软件设置置波特率除数数即可实现。。回12页回46页10五、差错控制目标:解决信号从甲甲方到乙方间间的干扰问题题。影响因素:长距离(信号衰减)、电磁干扰等等。1、硬件手段(1)单端/双端手段有单端发送/单端接收、单单端发送/双端接收、双双端发送/双端接收三种种。第一种最大传传输距离15m,其它两种为1200m。(2)电压/电流手段根据线路和接接收端阻抗大大小关系可采采用电流环方方式。PC286以后的串行接接口已取消电电流环方式。。转5页11(3)信号重复用多个时钟长长度调制一位位二进制数据据,减少差错错。波特率系数n:调制一位二进进制数据的时时钟个数,又又称波特率因因子。n可取1,16,32和64等,一般n=16。注意:n在硬件设计时时已固定,软软件不可改变变。例:系统基准时钟钟频率为1.8432MHz,波特率因子为为16。(1)若波特率为9600b/s,则波特率除数数为多少?(2)该通信模式中中,波特率最最高为多少?解:(1)收/发时钟频率=16*9600=153.6kHz波特率除数=1.8432MHz/153.6kHz=12(2)最高波特率时时,波特率除除数为1;最高波特率=1.8432MHz/(16×1)=115.2kHz转10页122、软件手段主要反映在数数据的检错、、纠错方面。。(1)检错方法发送端:在发送数据后后附加发送校校验码;接收端:比较数据和校校验码来验证证数据正确性性。校验码:有奇偶校验码码、循环冗余余码、海明码码和方阵码检检验等种类。。(2)纠错方法用具有纠错功功能(发现错误的位位置)的校验码实现现,如循环冗冗余码。注意:任何一一种检验码均均不能100%地检错或纠错错。13六、信号调制与解解调原因:数字信号在传传输线上传送送时,高次谐谐波的衰减很很厉害,不能能实现长距离离传输。解决:发送方使用调制器(Modulator),,把需传送的数字信号调制为适合在在线路上传输输的音频模拟信号号;接收方使用解调器(Demodulator)从线路上测出出该模拟信号号,并还原成成数字信号。。转5页14调制方法:有调频(FM)、调幅(AM)和调相(PM)三种;用得最多的是是调频方法。。15五、信道复用时分多路复用用TDM(TimeDivisionMultiplexing),将物理传输线线路按时间分分成若干时间间片,轮流为为多个信号所所占用,每个个时间片由复复用的一个信信号占用。频分多路复用用FDM(FrequencyDivisionMultiplexing),利用频率调制制原理,将要要同时传送的的多个信号进进行频谱搬移移,使它们互互不重叠地占占据信道频带带的不同频率率段,然后经经发送器从同同一信道上同同时或不同时时地发送出去去。串行通信通常常使用时分多多路复用系统统。转5页16第二节异异步串行通信信协议异步串行通信信协议需解决决问题:⑴异步串行通通信前提;⑵在通信信号号流中,如何何识别一个字字符,及验证证字符的正确确性;⑶如何提高数数据的抗干扰扰能力。异步串行通信信协议绝大多多数使用起止止式异步串行行通信协议,,本节所讲的的是起止式异步串串行通信协议议。转5页17一、起止式异异步串行通信信协议1、字符格式及及位顺序字符包括起始位(1位、逻辑“0”),数据位(5~8位),校验位(1位、可无),停止位(1~2位、逻辑“1”)。字符间用空闲位(m位、逻辑“1”)表示,,m可为0个。回20页回23页18异步串行通信信前提:解决每位宽度度问题—收/发双方约定波波特率;何时字符结束束(其后为空闲)—收/发双方需约定定字符数据格格式、校验位位格式、停止止位格式。回44页01000100010起始位空闲位数据位校验位停止位空闲位D0位时间D7位先发送/接收后发送/接收说明:数据位的发送/接收顺序从低位到高位字符格式:逻辑信号:192、字符传输正正确性保证(1)起始位的识识别起始位和停止止位/空闲位极性相反,停止位/空闲位后的低电平位认为是起始位位。(2)字符结束的的确认按协议规定的数据位位顺序、约定的字符格格式,接收方识别完停止位位后,该字符结束束(其后为空闲位位)。(3)确认字符数数据的正确性性发送方:在数据位后发送本字符的校验码;接收方:接收完字符后后,计算字符的检验码(校验方法已约约定),并与所接收收的字符校验验码进行比较。转18页20例题:下图为测试某某设备间通信信所得信息,,按照起止式式异步串行通通信协议,字字符格式可能能是什么?分析:起始位、停止止位应对齐;;起始位应在在t03、t12,停止位应在t11、t20。t01t05t10t15t20字符格式:D位、P位、S位可能为6位位、1(奇)位、1位,,或7位、0位位、1位。D位等:D位+P位长度=7,,P位符合奇校验验要求。练习:右图字符格式式可能是什么么?为什么??t01t05t10t15t1921二、数据抗干扰能能力1、提高接收方方采样频率发送器:发送时钟频率率只需与波特特率相同即可可接收器:接收时钟频率率=波特率*波特特率系数n(1)起始位的抗抗干扰起始位开始时时连续n/2个低电平。回下页22(2)数据位等的的抗干扰在其n个时钟的中心点采样,降低采集到到噪声的概率率。2、防止采样信信号的漂移空闲位后的下降沿认为起始位的开始始。空闲位可缓冲冲发送/接收时钟的偏偏差,而字符符内部偏差最最多为一个字字符各位宽度度(问题不大)。转18页转上页23例题:串行通信时每每字符7位ASCII码,数据传输输速率为240字符/秒,起止式异异步协议中使使用1位奇偶校验位位和1位停止位。1)波特率应该该是多少?2)有效数据位位传输位速率率是多少?3)传输效率是是多少?4)波特率系数数为16时接收方接收收时钟频率为为多少?解:1)波特率=(1位起始位+7位数据位+1位校验位+1位停止位)×240=2400b/s2)有效数据位传传输位速率=7×240=1680b/s3)传输效率=1680/2400=70%4)接收时钟频率率=16*2400=38.4kHz24第三节串行行接口标准一、串行通信接口口标准通信线路计算机串行接口电平转换连接器MODEM计算机串行接口电平转换连接器MODEMDTEDCEDCEDTEDTE—数据终端设备,数据的源头和目的地;DCE—数据通信设备,使数据符合线路要求的调制解调设备。串行接口标准准:根据连接器(含电平转换器器)的不同,最常常用的有RS-232C、RS-422A、、RS-485几种标准。转6页页25二、RS-232C标准1、RS-232C信号定定义((25芯芯DTE)引脚代号其他表示法信号名方向1AA(101)PG保护地设备地2BA(103)TxD,SD发送数据DTE→DCE3BB(104)RxD接收数据DCE→DTE4CA(105)RTS,RS请求发送DTE→DCE5CB(106)CTS,CS允许/清除发送DCE→DTE6CC(108)DSR,MRDCE就绪DCE→DTE7AB(102)SG信号地信号公共地8CF(109)RLSD,DCD接收线路信号检测DCE→DTE20CD(108.2)DTRDTE就绪DTE→DCE22CE(125)RI振铃指示DCE→DTE回下页页回28页页回32页页262、RS-232C逻辑特特性—信号握握手规规则(1)使用用MODEM计算机或终端MODEM或其他DCE123456820227PGTxDRxDRTSCTSDSRDCDDTRRISG计算机或终端MODEM或其他DCE123456820227PGTxDRxDRTSCTSDSRDCDDTRRISG电话线信号类类型::数据信信号—TxD、RxD,状态为为逻辑辑“1”或“0”;控制信信号—除PG、、SG及数据据信号号外的的信号号,状状态为为有效效(ON)和无效效(OFF)。转上页页27握手规规则::①DTR(ON)DTEDCE①DSR(ON)②RTS(ON)①DTR(ON)DCEDTE①DSR(ON)⑤CTS(ON)③RI(ON)④DCD(ON)⑥TxD→⑦RxD→⑴DTR、DSR均为ON时,才才有可可能进进行传传输;;⑵RTS为ON,接收到到CTS为ON时才可可发送送;用于有有大延延迟通通信时时的握握手,,全双双工时时置为为ON即可⑶DCD为ON时(数据通通道建建立),准备备接收收数据据;用于有有MODEM时的通通信,,无MODEM时置为为ON即可⑷RI为ON时(线路通通道建建立),再为为OFF后DCD为ON。用于电电话交交换机机线路路时的的通信信,其其他情情况置置为ON即可转26页页回下页页28(2)不使使用MODEM(简单连连接)计算机或终端123456207TxDRxDRTSCTSDSRDTR计算机或终端123456207TxDRxDRTSCTSDSRDTRPGSGDTE缺省设设计::未连接接控制制信号号均为为ON(空载)。(3)最简简单连连接计算机或终端23

7TxDRxD计算机或终端23

7TxDRxDSG转上页页293、RS-232C电气特特性(1)信号号电平平在±(5~15)V之间数据信号控制信号逻辑“1”逻辑“0”有效(ON)无效(OFF)信号电平<-3V>+3V<-3V>+3V(2)信号号电平平与TTL电平的的转换换RS-232C接口标标准采采用的的是负负逻辑辑,与与TTL电平不不一致致,必必须进进行电电平转转换。。+5V400kΩ5kΩOUTINOUTINTTLRS-232电平转转换芯芯片::MAX232和MAX232A;单端发发送/单端接接收。。30(3)应用用注意意点一一—共模噪噪声干干扰RS-232C为单端端发送送/单端接接收(有公共共信号号地),共模模噪声声很容容易引引入信信号系系统中中。RS-232C较高的的传输输电压压,仍仍不能能绝对对解决决问题题。(4)应用用注意意点二二—传输速速率对对传输输线长长度的的限制制电平跳跳变的的速度度(传输速速率)和线路路信号号的衰衰减(传输线线长度度)会导致致信号号失真真。当通信信速率率低于于20Kb/s时,RS-232C所能直直接连连接的的最大大物理理距离离为15m;使用特特制的的低电电容电电缆可可以达达到150m。314、RS-232C机械特特性(1)连接接器类类型有方向向(DTE/DCE)和大小小(25芯/9芯芯)两种属属性。。引脚定定义::DTE连接器器(针型)为RS-232定义信信号;;DCE连接器器(孔型)为与DTE连接器直通时的信信号。。资料图图片::为DTE连接器的信信号。。TxDRxDTxDRxD转26页页回下页页329芯DTE与25芯DTE连接9芯DTE与25芯DCE连接(2)连接接器间间的连连接DB-9型连接器(DTE)DB-25型连接器(DCE)83220764522123456789DB-9型连接器(DTE)DB-25型连接器(DTE)82367204522123456789DCDRxDTxDDTRSGDSRRTSCTSRIDCDTxDRxDDSRSGDTRRTSCTSRI9芯DTE与9芯芯DTE连接9芯DTE与9芯芯DCE连接123456789DB-9型连接器(DTE)DB-9型连接器(DCE)123456789123456789DB-9型连接器(DTE)DB-9型连接器(DTE)123456789转上页页33三、RS-422A、RS-485标准1、RS-422A和RS-423A标准RS-423A单端驱动差分接收电路RS-422A标准传输线连接特点::⑴平衡衡/非平衡衡发送送、平平衡接接收;;⑵1个发送送器、、多个个接收收器(必须有有地址址);⑶A非反向向输出出,B反向输输出;;⑷逻辑辑电平平:VA’-VB’>200mV为逻辑辑“1”,VA’-VB’<-200mV为逻辑辑“0”;⑸信号号不需需要调调制与与解调调。342、RS-485标准特点::⑴平衡衡发送送、平平衡接接收,,抗干干扰能能力强强;⑵多个个发送送器、、多个个接收收器,,发送送/接收器器小于于32对,所所有发发送/接收器器必须须有地地址;;⑶逻辑辑电平平:与与RS-422A相同;;⑷需要要终端端匹配配电阻阻2×120Ω(可能有有变化化);⑸信号号不需需要调调制与与解调调。Rt=120ΩRt=120ΩDTDTDTDTDT不同标标准的的绝大大多数数特性性参数数都不不一样样(见P265)。35第四节节异异步通通信适适配器器PC系列机异步通通信适配器的的核心是UART(UniversalAsynchronousReceiverTransmitter)。常见UART主要有INS8250、PC16450和PC16550,带更大缓冲的的UART有PC16650和PC16750。INS8250主要功能:⑴支持起止式式异步串行通通信协议;⑵具有独立的的收和发时钟钟,波特率系系数为16;⑶具有独立的的接收、发送送双缓冲器;;⑷可控MODEM(含辅助数字量量输出);⑸支持中断工工作方式(多种中断源类类型),⑹可编程控制制。转6页36一、INS8250外部引脚1、CPU侧常规信号数据—D7~D0地址—A2~A0选通—CS0、CS1和CS2地址选通锁存—ADS锁存片选和地址数据选通—DISTR、DISTR允许/禁止读内部REGDOSTR、DOSTR允许/禁止写内部REG片选输出—CSOUT驱动器禁止—DDIS转下页回39页37PC系列微机异步适配器电路回上页回下页回49页382、与串行I/O有关信号

基准时钟—XTAL1、XTAL2(XTAL1的环路输出)工作时钟—BAUDOUT,作为发送时钟用BAUDOUT频率=XTAL1÷波特率除数=波特率×16接收时钟—RCLK,一般和BAUDOUT连接串行I/O—SOUT、SIN3、与MODEM有关信号

DTR、DSR;RTS、CTS;RI、RLSD(即DCD)4、与中断请求有关信号

INTPRT;OUT1和OUT2PC系列微机,8250中断请求到达8259A条件条件:INTPRT有效、且OUT2为低转37页转上页39二、INS8250内部结构回下页40I/O端口使用冲突突:8个端口地址(A2~A0)与10个REG命令关系表::A2A1A0DLAB①RD#有效WR#有效0000接收缓冲寄存器RBR发送保持寄存器THR1波特率除数寄存器DLL(低字节)0010中断允许寄存器IER1波特率除数寄存器DLH(高字节)010X中断识别寄存器IIRFIFO控制器FCR②011X线路控制寄存器LCR100XMODEM控制寄存器MCR101X线路状态寄存器LSR110XMODEM状态寄存器MSR111XScratch寄存器②说明:①--DLAB为LCR的D7位;②--8250无此REG转上页回下页回43页回44页回45页回46页回48页回49页回54页411、线路控制寄寄存器LCR(A2A1A0=011)转上页D7D6D5D4D3D2D1D0DLABSBSPEPSPENSTBWLS1WLS0数据位选择00—5位01—6位10—7位11—8位停止位选择0—1位1—1.5位(D1D0=00)2位(D1D0≠00)奇偶校验

奇偶校验选择允许11—偶校验01—奇校验X0—无校验附加奇偶标志位选择0——不附加1——附加1位中止设定1—中止0—正常除数寄存器访问允许0——禁止1——允许说明:中止设定位=1时,发送端将将连续发送空号(逻辑“0”),表示发送设设备中止发送送;中止设定位=0时,发送端在在空闲时连续续发送传号(空闲位,逻逻辑“1”)。回下页422、线路状态寄寄存器LSR(A2A1A0=101)D7D6D5D4D3D2D1D0TSRETHREBIFEPEOEDR接收缓冲区满发送保持器空发送移位器空FIFO中接收数据错误(16550)接收重叠错接收奇偶错接收格式错中止识别指示接收出错说明:接收端在收到到发送端的““中止设定位位=1”状态时,将产产生“中止识识别指示”错错误(与协议不兼容容)。当接收端8250允许中断传输输时,将产生生“接收出错错”中断请求求,接收端可可发送数据(发送端已不发发送),接收端从接收状态转转换为发送状状态。中止设定主要要用于半双工工通信的收/发角色转换。。转41页转上页回57页433、发送保持寄存器THR(只写)接收缓冲寄存器RBR(只读)(DLAB=0,A2A1A0=000)转19页转41页D7D0总线来的8位数据并行进THR从低位到高位串行移位到SOUT引脚输出D7D0接收移位寄存器RSR发送移位寄存器TSR从低位到高位、从SIN引脚串行移位到REG中8位数据并行到总线发送方接收方发送保持寄存器THR接收缓冲寄存器RBR444、波特率除数数锁存器DLL、DLH(DLAB=1,A2A1A0=000(DLL)或001(DLH))用DLH、DLL来实现软件控控制的分频器器。除数寄存器值值=基准时钟频率率÷(波特率×16)基准时钟(XTAL1)由外部硬件产产生,PC微机常为1.8432MHz;PC16550一般采用18.432MHz。例:INS8250基准时钟频率率为1.8432MHz,若波特率为4800b/s,波特率除数=1.8432MHz÷(4800b/s×16)=18H,则DLH=00H,DLL=18H。。思考:用8250传输时,异步步协议字符格格式为7Data、1Pari和1Stop,传输速率=240字符/秒,DLH和DLL的值是多少??转10页转41页455、中断识别寄寄存器IIR(只读)(A2A1A0=010)转41页D7D6D5D4D3D2D1D00ID2ID1IP未决中断指示0—有1—无允许64字节FIFO(16750)0—禁止1—允许FIFO使用指示(16550)01—允许FIFO但不可用11—允许FIFO00—无FIFO中断类型标识超时中断(16550)0—不超时1—超时ID2ID1中断类型优先权11接收出错(重叠、奇偶、格式和中止错)最高10接收缓冲器满次高01发送保持器空低00MODEM状态(CTS、DSR、RI和RLSD)改变最低说明:IP=0时,ID2、ID1为当前最高优先权中断类型;IP=1时,ID2、ID1值无效。回下页回48页46ID2、ID1变化原理:每次对IIR进行读操作后后,ID2、ID1变为除原最高高优先权请求求外的最高优优先权中断类类型(原最高优先权权请求已复位位、正在处理理中、不支持持嵌套),等待处理。。RBR满THR空接收出错MSR变化请求REGIRR≥1IIRD2D1D0优先编码器RDIIR端口地址IRR复位机构CLK位使能处理中断时,,必须用循环环语句处理已已产生的所有有中断请求(直到IP=1为止)。转上页476、中断允许寄寄存器IER(DLAB=0,A2A1A0=001)D7D6D5D4D3D2D1D00

0I0EI3EI1EI2E类型2中断(接收缓冲器满)1-允许0-屏蔽类型0中断(MODEM状态改变)1-允许0-屏蔽进入睡眠模式(16750)类型1中断(发送保持器空)1-允许0-屏蔽类型3中断(接收出错)1-允许0-屏蔽进入低功耗模式(16550)转41页转46页487、MODEM控制寄存器MCR(A2A1A0=100)D7D6D5D4D3D2D1D000LOOPOUT2OUT1RTSDTR数据终端就绪环路检测(内部自循环)自动流量控制(16750)请求发送辅助输出1辅助输出2说明:①D3~D0位为1时,OUT2、OUT1、RTS、DTR引脚有效;②当置LOOP=1时,INS8250内部的RBR与THR直通。PC系列微机OUT2引脚作用:控制INS8250的数据处理方式是向量中断方式还是查询方式,当MCR的OUT2=1时才可采用向量中断方式。转38页转41页498、MODEM状态寄存器MSR(A2A1A0=110))说明明::D7~D4为1时,,对对应应引引脚脚信信号号有有效效(低电电平平)。D7D6D5D4D3D2D1D0

RLSDRIDSRCTSRLSDTERIDSRCTSCTS位发生改变收到“清除发送”收到“振铃指示”后沿DSR位发生改变RLSD位发生改变收到“数传机就绪”收到“振铃指示”收到“接收载波检测”50三、、PC机异异步步通通信信适适配配器器硬硬件件逻逻辑辑1、、PC机的的串行行口口串口号COM1COM2COM3COM4基地址3F82F83E82E8中断号IRQ4IRQ3IRQ4IRQ3中断类型号0CH0BH0CH0BH思考考::COM1和COM3共享享同同一一IRQ,,如何何实实现现中中断断服服务务程程序序的的处处理理??512、、PC机的的串行行口口电电路路回下下页页52思考考::⑵8250的外外部部基基准准时时钟钟如如何何得得到到的的??⑶串串行行口口的的收收/发波波特特率率是是否否相相同同??为为什什么么??⑷为为什什么么电电路路中中要要增增加加75150、、75154芯片片??⑸串串行行连连接接器器引引脚脚是是针针还还是是孔孔??⑴适适配配器器电电路路如如何何实实现现8250的的CS0~CS2片选选的的??⑹串串口口采采用用向向量量中中断断方方式式传传输输时时,,8250的初初始始化化必必须须要要进进行行哪哪些些针针对对性性设设置置??⑺开开放放IRQ4/IRQ3时,,如如何何写写8259A的IMR??转上上页页53四、、INS8250初始始化化编编程程1、设设置置波波特特率率置DLAB=1,写LCR(A2A1A0=011)实现现;;设置置波波特特率率,写写DLL和DLH(DLAB=1、、A2A1A0=000和001)实现现。。2、设设置置通通信信数数据据格格式式设置置数数据据位位、、校校验验位位等等格格式式,写写LCR(A2A1A0=011)实现现。。注意意::同同时时置置DLAB=0,,以便便今今后后访访问问RBR、、THR、、IER3、设设置置MODEM控制制字字若连连有有MODEM,,需设置置MODEM状态态,写写MCR(A2A1A0=100)实现现;;PC微机机用用向向量量中中断断方方式式通通信信时时,,需需设置置MCR的OUT2位=1。4、设设置置中中断断允允许许控控制制字字设置置传传输输允允许许的的中中断断类类型型,写写IER(DLAB=0、、A2A1A0=001)实现现转41页页回下下页页54INS8250初始始化化流流程程::转上上页页回下下页页设置波特率①置DLAB=1,写LCR②写DLL、DLH设置通信数据格式连有MODEM?用向量中断方式?设置允许的中断类型初始化完成初始化开始置OUT2引脚有效NYYN设置MODEM状态写LCR(同时置DLAB=0)写MCR写MCR写IER(不用中断方式时屏蔽各中断类型)可合为一个写MCR55;INS8250初始始化化例例程程MOVDX,,3FBH;线路路控控制制寄寄存存器器LCR地址址MOVAL,,80H;置DLAB=1OUTDX,,ALMOVDX,,3F8H;低位位除除数数寄寄存存器器DLL地址址MOVAL,,0CH;写9600波特特率率的的除除数数低低8位OUTDX,,ALINCDX;高位位除除数数寄寄存存器器DLH地址址MOVAL,,00H;写9600波特特率率的的除除数数高高8位位OUTDX,,ALMOVDX,,3FBH;线路路控控制制寄寄存存器器LCR地址址MOVAL,,1BH;8位数数据据位位、、偶偶校校验验、、1位停停止止位位、、DLAB=0OUTDX,,ALMOVDX,,3FCH;MODEM控制制寄寄存存器器MCR地址址MOVAL,,03H;置OUT2=0OUTDX,,ALMOVDX,,3F9H;中断断允允许许寄寄存存器器IER地址址MOVAL,,0;禁止止中中断断(中断断方方式式时时开开放放中中断断)OUTDX,,AL转上上页页56五、、INS8250通信信编编程程1、查查询询方方式式通通信信程程序序设设计计初始化8250读LSRD5=1?发送一个字符发送完毕?暂时结束Ya.查询方式发送YNN再次发送b.查询方式接收初始化8250读LSRD4~D1=0?接收一个字符接收完毕?暂时结束YYNND0=1?YN处理错误再次接收转43页页回下下页页57读LSRND4~D1≠0?Y根据错误原因进行相应处理读RBR写THR读MSR根据状态变化进行相应处理程序结束发送完毕?N处理接收的字符CPU处理其他事务N结束程序?YN有新发送请求?Y程序初始化D0=1?YD5=1?YD3~D0≠0?YNNYNc.查询方式接收和发送转上上页页回66页页582、中中断断方方式式通通信信程程序序设设计计中断断方方式式通通信信有有查查询询中中断断和和向向量量中中断断两两种种方方式式。。1)中中断断方方式式通通信信程程序序的的初初始始化化保存和修改中断向量初始化8250开放8259A中断初始化结束按使用的COM口接管对应中断向量(0CH或0BH)程序退出时恢复中断向量设置波特率、通信协议参数向量中断—置位MCR的OUT2查询中断—复位MCR的OUT2用OCW1开放COM口中断(IR3或IR4)、设置IER初始化8259A一般情况下,8259A已初始化回下下页页回61页页回62页页59;中中断断方方式式通通信信初初始始化化程程序序DATASEGMENT‘‘DATA’’INT_VDW?,,??DATAENDS………;保存存和和修修改改中中断断向向量量MOVAX,,350CHINT21H;取(保存存)原原OCH中断断向向量量MOVWORDPTRINT_V,,BX;将返返回回向向量量ES:BX保存存在在MOVWORDPTRINT_V+2,,ES;双字字变变量量INT_V中CLI;;修改改中中断断向向量量前前关关中中断断MOVAX,,250CHMOVDX,,SEGINTSVR;INTSVR为中中断断服服务务程程序序过过程程名名MOVDS,,DXMOVDX,,OFFSETINTSVR;将INTSVR的入入口口地地址址DS:DXINT21H;存入入IVT的0CH位置置转上上页页60;中中断断方方式式通通信信初初始始化化程程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论