版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
§4.3Intel8250
可编程异步通讯接口
§4.3Intel8250
可编程异步通讯接口
14.3.18250的基本性能指标①完全双工、双缓冲器发送和接收器的异步通信接口电路。②异步传送:5~8位字符,时钟频率为通讯波特率的16倍。③通信波特率:50~9,600。④停止位可编程选择为1、1.5和2位,可编程产生终止字符。⑤可编程选择奇偶校验方式:奇校验、偶校验。⑥出错检测——具有奇偶、溢出、帧错误等检测电路。⑦片内具有优先权中断控制逻辑,具有很强的中断控制能力。4.3.18250的基本性能指标①完全双工、双缓冲器发送和24.3.28250的功能结构4.3.28250的功能结构34.3.2.1发送与接收部分⑴发送器发送器接收到发送数据后,将发送数据保存在数据发送缓冲器(THR)中。当发送移位寄存器没有正在发送的数据时,8250把待发送数据由发送缓冲器传送到移位寄存器(TSR),按照编程指定的参数(包括数据格式和波特率等),加入起始位、奇偶校验位和停止位,从8250的串行数据输出端(SOUT)移位输出,输出的顺序为字符的低位在前、高位在后。4.3.2.1发送与接收部分⑴发送器4当将THR中的数据传送至TSR以后,THR“空”状态位置位或通过中断逻辑发出中断申请,要求CPU传送下一个字符。当CPU向THR写入一个字符后,THR“空”状态位复位并清除中断请求。当在TSR中的字符移位输出完后,8250再次把THR中的字符,传送至TSR,开始下一个字符的传送过程。另外,发送器的另一个功能是能发送终止符(BreakCharacter)。终止符是由在通信线上的连续的低电平组成,用来通知接收方终止完全双工通信中通信。当将THR中的数据传送至TSR以后,THR“空”状态位置位或5⑵接收器接收移位寄存器(RSR)对数据输入端(SIN)输入的串行数据进行移位接收。在接收时,首先要搜索起始位,使用16倍波特率的数据接收时钟(RCLK)采样传送电路上的输入信号。当输入信号由高电平变低后,连续测试8个RCLK时钟周期,若采样到的都是低电平,则确认为起始位,否则认为是传输线上的干扰。确认起始位后,每隔16个RCLK时钟周期对SIN输入的数据位进行采样,直到规定的数据格式结束。⑵接收器6RSR接收完一个字符后,接收控制电路按规定的数据格式进行奇偶校验,如果没有错误自动删除起始位、奇偶校验位和停止位,把串行输入的数据移位转换成并行数据送人接收缓冲寄存器(RBR),使接收数据“可用位”置位,并通过中断控制电路发出读取数据中断请求。对RBR的读取,使接收数据“可用位”复位,清除中断请求。在上述过程中接收器继续接收字符。接收时,如果发现接收数据出现奇偶校验错(PE)、数据格式错——帧错误(FE)、接收数据时发生溢出错(OE),即上一个保存在RBR中的数据尚未被读取,下一个接收的数据准备送至RBR中、接收到终止信号(BI),都置位状态寄存器中的相应位,并通过中断控制逻辑发出中断请求,要求处理。RSR接收完一个字符后,接收控制电路按规定的数据格式进行奇偶74.3.2.2通信控制和状态寄存器4.3.2.2通信控制和状态寄存器8通过对LCR写入控制信息,确定通信的字符格式(包括字符长度、停止位的个数、奇偶校验设置)。也可以使LCR的第6位置“1”迫使8250输出终止符。LCR的最高位是一种特殊用途,在8250内部有10个寄存器,但8250只有三条地址线(A2~A0)来寻址内部寄存器,最多只能寻址8个内部寄存器,所以,存在有两组寄存器要共用同一个地址,LCR的最高位DLAB作为另一个寻址依据,来区分是寻址哪一组寄存器。通过对LCR写入控制信息,确定通信的字符格式(包括字符长度、9LSR提供串行数据发送和接收时的状态,供CPU读取和处理。CPU不仅可以对LSR实行读出,也可以对其写入(除第6位以外),供系统自检时使用。LSR提供串行数据发送和接收时的状态,供CPU读取和处理。C104.3.2.3波特率发生控制电路8250使用频率1.8432MHz作为基准时钟输入信号。需用分频方法产生所需的波特率。8250传送或接收串行数据时,使用的时钟信号频率是数据传送波特率的16倍。当8250工作于不同的波特率时,所使用的分频系数也是不同的,在8250内部有两个保存分频系数的寄存器称为除数锁存器。4.3.2.3波特率发生控制电路8250使用频11波特率与除数寄存器的值之间的关系如表4-6示。
波特率与除数寄存器的值之间的关系如表4-6示。12大学《接口与通信》第4章2课件134.3.2.4调制解调控制部分D2/D3=1时,引脚OUT1/OUT2=04.3.2.4调制解调控制部分D2/D314大学《接口与通信》第4章2课件154.3.2.5中断控制1.中断识别寄存器(IIR)当接收数据错、接收缓冲寄存器满、发送缓冲器空以及应答联络的输入控制信号的状态变化等有一种或多种出现时,在允许中断的情况下,可通过读中断识别寄存器识别是何种事件引起中断。4.3.2.5中断控制1.中16大学《接口与通信》第4章2课件17有选择地设置中断允许位,可以改变8250内部的中断控制机构。有选择地设置中断允许位,可以改变8250内部的中断控制机构。184.3.2.68250内部寄存器的寻址8250内部有上述的10个可访问的寄存器,都是通过8250的引脚A2~A0来访问。存在有两个端口地址由两个寄存器共用的情况,这就要求引入另一个信号区别共用同一地址的寄存器。完成上述功能的选择信号是8250中的通信线路控制寄存器最高位,即除数锁存器访问位(DLAB)来识别。参见表4-8。4.3.2.68250内部寄存器的寻址82519表4-8用于8250内部寄存器选择地址表表4-8用于8250内部寄存器选择地址表204.3.38250的引脚4.3.38250的引脚214.3.3.1与系统相连接部分⑴数据线D0~D7(双向、三态、高电平有效,引脚1~8)CPU与8250之间的信息通过这些数据线传送。具体包括:对8250的编程信息;从8250的有关寄存器中读取的状态;通过8250发送的数据;8250接收的数据;4.3.3.1与系统相连接部分22数据输入选通脉冲DISTR、DISTR:两者中只要有一个有效,就允许从8250读取状态信息或数据。即只需用两个信号中的一个信号作为选通控制信号,另一个可以固定为无效。数据输出选通脉冲DOSTR、DOSTR:情况与数据输入选通脉冲相似。⑵数据选通线数据输入选通脉冲DISTR、DISTR:两者中只要有一个有23驱动器禁止信号DDIS(输出):每当CPU从8250读取信息时,DDIS变为低电平。输出高电平时,用来禁止外部的收发器继续往PC机发送数据。⑶地址线A0~A2(输入):这三条引线一般与系统地址总线相连,CPU用这三个信息来寻址8250内部不同的寄存器。⑷选片控制信号CS0、CS1、CS2:三个选片控制信号,必须三个信号都有效时8250才能正常工作。一般用CPU访问外设控制线和高位地址组成选片信号。驱动器禁止信号DDIS(输出):每当CPU从8250读取信息24⑸地址选通脉冲ADS(输入):其有效时,锁存地址(A0、Al、A2)和选片信号(CS0、CS1、CS2)。⑹主复位信号MR(输入):该信号连接到系统的复位信号。当其有效时,清除所有寄存器(除了接收缓冲器、发送缓冲器和除数锁存器外)和8250的控制逻辑以及有关的输出信号,如表4-9所示。⑸地址选通脉冲ADS(输入):其有效时,锁存地址(A0、Al25大学《接口与通信》第4章2课件264.3.3.2与通信设备相连部分⑴外部时钟输人/输出XTAL1、XTAL2(引脚16、17):这两个引脚把串行通信的主定时基准信号(晶体振荡器或时钟信号)接到8250。⑵接收时钟RCLK(输入、引脚9):从这个引脚向8250输人16×波特率的接收器时钟。⑶BOUNDOUT波特率输出(输出、引脚15):是8250输出的一个时钟信号,其频率是8250的主振频率除以除数锁存器的值,即为16×波特率。通常可用该信号作为接收器时钟,所以常把它连至RCLK输入端。4.3.3.2与通信设备相连部分⑴外部时钟输27⑷串行数据输入信号SIN(输入):由通信设备(外设或调制解调器)送来的串行的输人数据。⑸串行数据输出信号SOUT(输出):8250发送给通信设备(外设或调制解调器)的串行输出数据。⑹数据终端准备就绪DTR(输出):可由CPU使调制解调控制寄存器的位0(DTR位)置“1”而输出有效(低电平),主复位信号MR把它置为高电平。通常情况下,当8250已准备好通信,这有效信号用以通知通信设备或调制解调器。⑷串行数据输入信号SIN(输入):由通信设备(外设或调制解调28⑺发送请求RTS(输出):当8250已准备好通信,使RTS输出有效信号以通知通信设备。此信号可由CPU使调制解调控制寄存器的位1(RTS位)置“1”而输出有效(低电平),主复位信号把它置为高电平。⑻允许发送CTS(输入):当调制解调器作好了通信准备时,向8250输入有效的CTS信号,通知8250开始发送。它的状态可由读调制解调状态寄存器的第4位得到。调制解调器状态寄存器的位0,指示自最后一次读操作以来,CTS的输入状态是否发生变化。如果编程允许调制解调器状态中断,CTS状态的变化就产生中断请求。⑺发送请求RTS(输出):当8250已准备好通信,使RTS输29⑼数据设备准备就绪DSR(输入):当调制解调器或通信设备已准备好建立通信环路(链)准备与8250传送数据时,就向8250输送有效的DSR信号。它的状态可由读调制解调状态寄存器的第5位得到,此寄存器的第1位指示了自上次读操作后此信号是否发生了变化。若允许调制解调器状态中断的话,DSR状态的变化就产生中断请求。⑽接收线路检测RLSD和振铃指示RI(输入):它们为低电平(有效)时,表示通信设备已检测到数据串(RLSD)或收到了振铃信号(RI)。它们的状态可由读调制解调状态寄存器的第7、6位得到,此寄存器的第3、2位分别表示自上一次读操作以后这些信号是否发生了变化。若允许调制解调器状态中断,这两信号中的任意一个状态发生变化,都将产生中断请求。⑼数据设备准备就绪DSR(输入):当调制解调器或通信设备已准30⑾中断请求信号INTRPT(输出):8250内部的中断申请源任一个未被屏蔽源有请求时,INTRPT输出高电平。适当的中断服务和主复位信号使INTRPT处于低电平。⑿输出信号OUT1、OUT2(输出):是两个编程控制的输出。可对调制解调器控制寄存器的第2位和第3位编程使其输出有效信号。主复位信号使这两者处在高电平。⒀选片输出CSOUT(输出):当8250的三个选片输入端CS0、CS1和CS2都有效时,此引脚输出高电平,此时才能开始数据传送。⑾中断请求信号INTRPT(输出):8250内部的中断申请源31§4.3.48250的初始化编程编程主要步骤是:①确定波特率:设置除数锁存器的分频值。为了能对除数锁存器写入,要先使通信线路控制寄存器的D7=1。②设置通信的数据格式:通过对通信线路控制寄存器编程实现,而且要使它的D7=0,以便接下来对接收和发送缓冲器以及中断允许寄存器进行操作。③如果使用中断,则设置中断允许寄存器的状态。若不使用中断,这个寄存器可设置成0。§4.3.48250的初始化编程编程主32④设置调制解调器控制寄存器:通常,这寄存器设定的值为03H,使8250输出DTR和RTS这两个调制解调器控制信号。如果系统中不使用这两个信号,这样的设置也不会带来问题。如果使用中断,OUT2位应设置为“1”,这样8250产生的中断信号可以通过系统总线送给8259中断控制器。④设置调制解调器控制寄存器:通常,这寄存器设定的值为03H,33大学《接口与通信》第4章2课件34大学《接口与通信》第4章2课件35下面举一个例子:要求以9600波特率进行异步通信,每字符的数据位7位,2个停止位,奇校验,允许所有中断。下面给出了采用8086汇编编写的8250初始化部分程序。;BIOS分配异步通信的端口地址为3F8H~3FFH下面举一个例子:要求以9600波特率进行异步通信,每字符的数36MOVAL,80HMOVDX,3FBHOUTDX,AL ;使通信线控制寄存器最高位置1MOVAL,0CHMOVDX,3F8HOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,AL ;对除数锁存器置初值MOVAL,80H37MOVAL,00001110B;设置数据格式为7位/字符两个停止位,奇校验MOVDX,3FBHOUTDX,ALMOVAL,0FH ;允许所有中断MOVDX,3F9HOUTDX,ALMOVAL,OBH;OUT2、DTR、RTS信号有效MOVDX,3FCHOUTDX,ALMOVAL,00001110B;设置数据格式为7位/字符两38§4.3.5INS8250应用编程1、查询方式发送初始化8250读LSRD5=1?发送一个字符发完?结束YYNN2、查询方式接收初始化8250读LSRD0=1?接收一个字符收完?结束YYNN有错?NY错误处理发送寄存器接收数据就绪§4.3.5INS8250应用编程1、查询方式39大学《接口与通信》第4章2课件403、中断方式通信程序设计1)中断通信方式初始化
修改中断向量:按使用的端口COM1或COM2,接管中断0CH或中断0BH(保存原中断向量,将新的中断向量替换上去,注意程序结束时恢复原中断向量)。确定通信协议:设置波特率及数据传输格式。
确定INS8250操作方式:设置中断允许寄存器相应位的允许或禁止,并设允许向量中断模式(置MCR的D3=1)。
开放通信中断:对8259A中断控制器的屏蔽寄存器编程(OCW1),允许中断IRQ4或IRQ3。中断通信方式有查询中断和向量中断两种方式。3、中断方式通信程序设计1)中断通信方式初始化修改中断向41DATA SEGMENT‘DATA’ INT_SEGDW? INT_OFFDW?DATA ENDS ……mov al,0ch ;取原OCH中断向量mov ah,35h int 21hmov INT_OFF,bx ;将返回的向量ES:BX保存在双字mov bx,es ;变量INT中mov INT_SEG,bx cli;修改中断向量前关中断mov al,0chmov ah,25h mov dx,SEGINSEV ;DS:DX指向中断向量,其中mov ds,dx ;DS指向段地址mov dx,OFFSETINSEV ;DX指向偏移量int 21hDATA SEGMENT‘DATA’cli42mov dx,3fbh ;线路控制寄存器LCR地址
out dx,80h ;置DLAB=1mov dx,3f8h ;低位除数寄存器DLL地址out dx,0ch ;写9600波特率的除数低8位inc dx ;高位除数寄存器DLH地址out dx,00h ;写9600波特率的除数高8位mov dx,3fbh ;线路控制寄存器LCR地址mov al,00011011b;偶校验、1位停止位、8位数据位out dx,al mov dx,3fch ;MODEM控制寄存器MCR地址out dx,08h ;OUT2位置1,打开COM1中断mov dx,3f9h ;中断允许寄存器地址out dx,03h ;允许收/发中断in al,21h ;读8259A的IMRand al,efh out 21h,al ;开放IRQ4中断sti……mov dx,3fbh ;线路控制寄存器LCR地址 mov 43
D5D4D3D2D1D0WLS0WLS1PENSTBEPSSPSBDLAB字符长度选择00——5位01——6位10——7位11——8位停止位选择0——1位1——1.5位(D1D0=00)2位(D1D0<>00)奇偶校验允许奇偶校验选择11——偶校验01——奇校验附加奇偶标志位选择0——不附加1——附加1位中止设置1—中止0—正常除数寄存器访问允许0——禁止1——允许8250中的通信线路控制寄存器D7D6D5D4D3D2D1D0D5D4D3D2442)通信中断服务程序首先读中断识别寄存器IIR,判断中断源,然后转向对应的处理子过程(程序)。判断中断源应该按照中断优先级别次序进行。
当中断识别寄存器D2D1=11时,表明接收出错中断,需要再读取线路状态寄存器,分析错误原因,再进行错误处理。
可能出现多个中断源同时引发中断。因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测D0是否为“0”,当D0=0时,表明还有未决中断,应该继续分析中断源并进行中断处理。
中断程序返回的条件是中断识别寄存器的D0=1。2)通信中断服务程序首先读中断识别寄存器IIR,判断中断45§4.4Intel8251A可编程通信接口4.4.18251的性能指标①可用于串行通讯的同步和异步传送。②同步传送:5~8位/字符,内部或外部同步,可自动插入同步字符。③异步传送:5~8位/字符,时钟速率为通信波特率的1、16或64倍。④可产生终止字符(BreakCharacter);可产生1、1.5或2个位的停止位。自动检测和处理终止字符。⑤可检查假的启动位。§4.4Intel8251A可编程通信接口4.4.46⑥波特率:异步传送的最大波特率为19.2K;同步传送的最大波特率64K。⑦完全双工,发送和接收双缓冲器。⑧出错检测——具有奇偶、溢出、帧错误等检测电路。⑥波特率:异步传送的最大波特率为19.2K;同步传送的最大波474.4.28251的功能结构4.4.28251的功能结构48大学《接口与通信》第4章2课件49⑶I/O控制⑶I/O控制504.4.38251的接口信号命令,状态/数据同步检测信号数据终端准备好数据装置准备好请求传送允许传送接收器时钟发送器时钟4.4.38251的接口信号命令,状态/514.4.48251的编程8251是一个可编程的多功能通信接口。使用时必须对它进行初始化编程,确定8251的具体工作方式。例如:规定工作于同步还是异步方式;传送的波特率;字符格式等等。初始化编程必须在系统复位以后,启动8251工作以前进行。正确写控制字的顺序如图所示。4.4.48251的编程8251是一个可编程的多功能通信接52大学《接口与通信》第4章2课件53工作方式字格式工作方式字格式54在同步方式时,紧跟在方式指令后面的是由程序输入的同步字符。同步字符用与方式指令类似的方法由CPU发送给8251的。在输入同步字符后,或在异步方式时,在方式选择指令后应由CPU发送工作命令指令。命令指令直接使8251处于规定的工作状态。以准备接收或发送数据。命令字格式如图4-29在同步方式时,紧跟在方式指令后面的是由程序输入的同步字符。55RXESBRKERRTSTXENDTRIREHRXESBRKERRTSTXENDTRIREH允许发送“1”允许“0”不允许数据终端就绪:“1”使DTR输出为低允许接收“1”允许“0”不允许送间隔字符“1”使TXD为低“0”正常工作出错标志复位:“1”使PE、OE、TE标志复位请求发送:“1”使RTS输出变低内部复位:“1”使芯片回到方式指令状态进入搜索态:“1”使开始搜索同步字符D7
D6D5D4D3D2D1D0RXESBRKERRTSTXENDTRIREHRXESBRK56对8251的工作状态,CPU可通过I/O读操作把8251的状态字读人CPU,用以控制CPU与8251之间的数据交换。在读状态字时,C/D端为“1”。状态字格式如图4-30所示。对8251的工作状态,CPU可通过I/O读操作把8251的状57它只要数据缓冲器空就置位;而引脚TxRDY只能当条件:数据缓冲器空·CTS·TxEN成立时,才置位。它只要数据缓冲器空就置位;而引脚TxRDY只能当条件:数据缓58§4.4.58251应用举例例4-2:8251工作在异步方式,波特率速度系数为64,字符长度为7位,偶校验。方式控制字为11111011B即0FBH。用命令字使8251发送允许,接收允许,使错误位复位,则命令字为00010101B即15H。设备端口号为0F1H(C/D=1)和0F0H(C/D=0),则在主程序的初始化程序为:§4.4.58251应用举例例4-2:59MOVAL,0FBH;方式控制字OUT0F1H,ALMOVAL,15H;工作命令字OUT0F1H,AL于是8251做好了准备,能接收和发送数据。如果由于发送或接收而产生中断请求,则引起CPU中断,于是CPU进人中断服务程序。其中断服务程序为:MOVAL,0FBH;方式控制字60INT:PUSHAXPUSHBXINAL,0FlHRCRAL,1;TxRDY=1转至发送JCSISPRCRAL,1JCRISP;RxRDY=1转至接收REN:POPBXMOVAL,20H;发EOI命令OUT20H,ALPOPAXSTIRETIINT:PUSHAX61RISP:;接收数据子程序INAL,0F1H;先检查有无错误ANDAL,38HJNZERRSPP;有错,转至出错处理于程序INAL,0F0HMOVCL,ALJMPRENSISP:;发送数据子程序MOVAL,BL;要输出的数据在BL中OUT0F0H,ALJMPRENRISP:62§4.5IEEE1394它支持不经集线器的点对点连接,最多允许63个相同速度的设备连接到同一总线上,最多允许1023条总线相互连接。支持点对点连接,所以各连接节点上设备都是在相同位点,也就相当局域网络拓扑结构中的“对等网”一样。是一种与平台无关的串行通信协议。§4.5IEEE1394它631987年Apple发布了第一个完整规范,IEEE(电气与电子工程师协会)于1995年正式制定该总线标准。IEEE1394的数据传输速率(支持100Mbps、200Mbps和400Mbps)相当快,因此又叫它“高速串行总线”、“火线”(FireWire)。与当时的USB1.0总线速度(传输速率为12Mbps)相比,IEEE1394的速度显然要高出很多。1987年Apple发布了第一个完整规范,IEEE(电气与电64§4.5.1概述IEEE1394标准的特点:①高速的数据传送。是目前主流总线中速度最快的串行总线。支持100Mbps、200Mbps和400Mbps的数据传输率。而目前主流的USB1.1规格的数据传输率仅为12Mbps。新的USB2.0标准的传输速率可达到480Mbps,但是IEEE1394新标准b版本中能够实现G位(最高为1.6Gbps)传输速率。§4.5.1概述IEEE1394标准的特点65②高度的实时性,支持异步传送和等时传送两种模式。而等时传送模式专用于实时地传送视频和音频数据。③高自由度连接/拓扑结构:允许接点菊花链(NodeDaisyChain)和接点分枝,实现混合连接。同时,通过协议时序优化(ProtocolTimingOptimization)还可实现更高效率的网络结构。用一线串珠方式的连接,最多连接16台设备;采取混合连接能实现额定的63台设备连接。②高度的实时性,支持异步传送和等时传送两种模式。而等时传送模66图4-34IEEE1394菊花链结构示意图图4-34IEEE1394菊花链结构示意图67④支持带电插拔/即插即用。⑤传输距离长:允许两结点间的距离最大为4.5米。新的标准可以实现100米范围内的设备互连。⑥对等支持:两台设备无需连接到个人计算机,即可实现共连。可以把配备IEEE1394端口的数字照相机直接连接到其它支持IEEE1394的设备上。⑦支持同、异步传输:互联网络中所传输的视频数据不间断,就必须保证数据带宽的稳定,异步传输方式是无法实现的。采取同步传输方式就可以保证在传输过程中带宽的稳定。④支持带电插拔/即插即用。68IEEE1394标准接口结构的所有资源都是以统一存储编址形式用存储变换(Memory-Maps)方式识别,实现资源配置和管理。它向系统各设备发送数据时,各设备就像内存的存储单元一样,进行从CPU到内存的直接传送。4.6.2IEEE1394的组成(自学)4.6.3IEEE1394的数据传输模式4.6.4USB和IEEE1394的异同IEEE1394标准接口结构的所有资源都是以统一存储编址形691、每一个成功者都有一个开始。勇于开始,才能找到成功的路。12月-2212月-22Sunday,December18,20222、成功源于不懈的努力,人生最大的敌人是自己怯懦。04:04:0704:04:0704:0412/18/20224:04:07AM3、每天只看目标,别老想障碍。12月-2204:04:0704:04Dec-2218-Dec-224、宁愿辛苦一阵子,不要辛苦一辈子。04:04:0704:04:0704:04Sunday,December18,20225、积极向上的心态,是成功者的最基本要素。12月-2212月-2204:04:0704:04:07December18,20226、生活总会给你另一个机会,这个机会叫明天。18十二月20224:04:07上午04:04:0712月-227、人生就像骑单车,想保持平衡就得往前走。十二月224:04上午12月-2204:04December18,20228、业余生活要有意义,不要越轨。2022/12/184:04:0704:04:0718December20229、我们必须在失败中寻找胜利,在绝望中寻求希望。4:04:07上午4:04上午04:04:0712月-2210、一个人的梦想也许不值钱,但一个人的努力很值钱。12/18/20224:04:07AM04:04:0718-12月-2211、在真实的生命里,每桩伟业都由信心开始,并由信心跨出第一步。12/18/20224:04AM12/18/20224:04AM12月-2212月-22谢谢大家1、每一个成功者都有一个开始。勇于开始,才能找到成功的路。170§4.3Intel8250
可编程异步通讯接口
§4.3Intel8250
可编程异步通讯接口
714.3.18250的基本性能指标①完全双工、双缓冲器发送和接收器的异步通信接口电路。②异步传送:5~8位字符,时钟频率为通讯波特率的16倍。③通信波特率:50~9,600。④停止位可编程选择为1、1.5和2位,可编程产生终止字符。⑤可编程选择奇偶校验方式:奇校验、偶校验。⑥出错检测——具有奇偶、溢出、帧错误等检测电路。⑦片内具有优先权中断控制逻辑,具有很强的中断控制能力。4.3.18250的基本性能指标①完全双工、双缓冲器发送和724.3.28250的功能结构4.3.28250的功能结构734.3.2.1发送与接收部分⑴发送器发送器接收到发送数据后,将发送数据保存在数据发送缓冲器(THR)中。当发送移位寄存器没有正在发送的数据时,8250把待发送数据由发送缓冲器传送到移位寄存器(TSR),按照编程指定的参数(包括数据格式和波特率等),加入起始位、奇偶校验位和停止位,从8250的串行数据输出端(SOUT)移位输出,输出的顺序为字符的低位在前、高位在后。4.3.2.1发送与接收部分⑴发送器74当将THR中的数据传送至TSR以后,THR“空”状态位置位或通过中断逻辑发出中断申请,要求CPU传送下一个字符。当CPU向THR写入一个字符后,THR“空”状态位复位并清除中断请求。当在TSR中的字符移位输出完后,8250再次把THR中的字符,传送至TSR,开始下一个字符的传送过程。另外,发送器的另一个功能是能发送终止符(BreakCharacter)。终止符是由在通信线上的连续的低电平组成,用来通知接收方终止完全双工通信中通信。当将THR中的数据传送至TSR以后,THR“空”状态位置位或75⑵接收器接收移位寄存器(RSR)对数据输入端(SIN)输入的串行数据进行移位接收。在接收时,首先要搜索起始位,使用16倍波特率的数据接收时钟(RCLK)采样传送电路上的输入信号。当输入信号由高电平变低后,连续测试8个RCLK时钟周期,若采样到的都是低电平,则确认为起始位,否则认为是传输线上的干扰。确认起始位后,每隔16个RCLK时钟周期对SIN输入的数据位进行采样,直到规定的数据格式结束。⑵接收器76RSR接收完一个字符后,接收控制电路按规定的数据格式进行奇偶校验,如果没有错误自动删除起始位、奇偶校验位和停止位,把串行输入的数据移位转换成并行数据送人接收缓冲寄存器(RBR),使接收数据“可用位”置位,并通过中断控制电路发出读取数据中断请求。对RBR的读取,使接收数据“可用位”复位,清除中断请求。在上述过程中接收器继续接收字符。接收时,如果发现接收数据出现奇偶校验错(PE)、数据格式错——帧错误(FE)、接收数据时发生溢出错(OE),即上一个保存在RBR中的数据尚未被读取,下一个接收的数据准备送至RBR中、接收到终止信号(BI),都置位状态寄存器中的相应位,并通过中断控制逻辑发出中断请求,要求处理。RSR接收完一个字符后,接收控制电路按规定的数据格式进行奇偶774.3.2.2通信控制和状态寄存器4.3.2.2通信控制和状态寄存器78通过对LCR写入控制信息,确定通信的字符格式(包括字符长度、停止位的个数、奇偶校验设置)。也可以使LCR的第6位置“1”迫使8250输出终止符。LCR的最高位是一种特殊用途,在8250内部有10个寄存器,但8250只有三条地址线(A2~A0)来寻址内部寄存器,最多只能寻址8个内部寄存器,所以,存在有两组寄存器要共用同一个地址,LCR的最高位DLAB作为另一个寻址依据,来区分是寻址哪一组寄存器。通过对LCR写入控制信息,确定通信的字符格式(包括字符长度、79LSR提供串行数据发送和接收时的状态,供CPU读取和处理。CPU不仅可以对LSR实行读出,也可以对其写入(除第6位以外),供系统自检时使用。LSR提供串行数据发送和接收时的状态,供CPU读取和处理。C804.3.2.3波特率发生控制电路8250使用频率1.8432MHz作为基准时钟输入信号。需用分频方法产生所需的波特率。8250传送或接收串行数据时,使用的时钟信号频率是数据传送波特率的16倍。当8250工作于不同的波特率时,所使用的分频系数也是不同的,在8250内部有两个保存分频系数的寄存器称为除数锁存器。4.3.2.3波特率发生控制电路8250使用频81波特率与除数寄存器的值之间的关系如表4-6示。
波特率与除数寄存器的值之间的关系如表4-6示。82大学《接口与通信》第4章2课件834.3.2.4调制解调控制部分D2/D3=1时,引脚OUT1/OUT2=04.3.2.4调制解调控制部分D2/D384大学《接口与通信》第4章2课件854.3.2.5中断控制1.中断识别寄存器(IIR)当接收数据错、接收缓冲寄存器满、发送缓冲器空以及应答联络的输入控制信号的状态变化等有一种或多种出现时,在允许中断的情况下,可通过读中断识别寄存器识别是何种事件引起中断。4.3.2.5中断控制1.中86大学《接口与通信》第4章2课件87有选择地设置中断允许位,可以改变8250内部的中断控制机构。有选择地设置中断允许位,可以改变8250内部的中断控制机构。884.3.2.68250内部寄存器的寻址8250内部有上述的10个可访问的寄存器,都是通过8250的引脚A2~A0来访问。存在有两个端口地址由两个寄存器共用的情况,这就要求引入另一个信号区别共用同一地址的寄存器。完成上述功能的选择信号是8250中的通信线路控制寄存器最高位,即除数锁存器访问位(DLAB)来识别。参见表4-8。4.3.2.68250内部寄存器的寻址82589表4-8用于8250内部寄存器选择地址表表4-8用于8250内部寄存器选择地址表904.3.38250的引脚4.3.38250的引脚914.3.3.1与系统相连接部分⑴数据线D0~D7(双向、三态、高电平有效,引脚1~8)CPU与8250之间的信息通过这些数据线传送。具体包括:对8250的编程信息;从8250的有关寄存器中读取的状态;通过8250发送的数据;8250接收的数据;4.3.3.1与系统相连接部分92数据输入选通脉冲DISTR、DISTR:两者中只要有一个有效,就允许从8250读取状态信息或数据。即只需用两个信号中的一个信号作为选通控制信号,另一个可以固定为无效。数据输出选通脉冲DOSTR、DOSTR:情况与数据输入选通脉冲相似。⑵数据选通线数据输入选通脉冲DISTR、DISTR:两者中只要有一个有93驱动器禁止信号DDIS(输出):每当CPU从8250读取信息时,DDIS变为低电平。输出高电平时,用来禁止外部的收发器继续往PC机发送数据。⑶地址线A0~A2(输入):这三条引线一般与系统地址总线相连,CPU用这三个信息来寻址8250内部不同的寄存器。⑷选片控制信号CS0、CS1、CS2:三个选片控制信号,必须三个信号都有效时8250才能正常工作。一般用CPU访问外设控制线和高位地址组成选片信号。驱动器禁止信号DDIS(输出):每当CPU从8250读取信息94⑸地址选通脉冲ADS(输入):其有效时,锁存地址(A0、Al、A2)和选片信号(CS0、CS1、CS2)。⑹主复位信号MR(输入):该信号连接到系统的复位信号。当其有效时,清除所有寄存器(除了接收缓冲器、发送缓冲器和除数锁存器外)和8250的控制逻辑以及有关的输出信号,如表4-9所示。⑸地址选通脉冲ADS(输入):其有效时,锁存地址(A0、Al95大学《接口与通信》第4章2课件964.3.3.2与通信设备相连部分⑴外部时钟输人/输出XTAL1、XTAL2(引脚16、17):这两个引脚把串行通信的主定时基准信号(晶体振荡器或时钟信号)接到8250。⑵接收时钟RCLK(输入、引脚9):从这个引脚向8250输人16×波特率的接收器时钟。⑶BOUNDOUT波特率输出(输出、引脚15):是8250输出的一个时钟信号,其频率是8250的主振频率除以除数锁存器的值,即为16×波特率。通常可用该信号作为接收器时钟,所以常把它连至RCLK输入端。4.3.3.2与通信设备相连部分⑴外部时钟输97⑷串行数据输入信号SIN(输入):由通信设备(外设或调制解调器)送来的串行的输人数据。⑸串行数据输出信号SOUT(输出):8250发送给通信设备(外设或调制解调器)的串行输出数据。⑹数据终端准备就绪DTR(输出):可由CPU使调制解调控制寄存器的位0(DTR位)置“1”而输出有效(低电平),主复位信号MR把它置为高电平。通常情况下,当8250已准备好通信,这有效信号用以通知通信设备或调制解调器。⑷串行数据输入信号SIN(输入):由通信设备(外设或调制解调98⑺发送请求RTS(输出):当8250已准备好通信,使RTS输出有效信号以通知通信设备。此信号可由CPU使调制解调控制寄存器的位1(RTS位)置“1”而输出有效(低电平),主复位信号把它置为高电平。⑻允许发送CTS(输入):当调制解调器作好了通信准备时,向8250输入有效的CTS信号,通知8250开始发送。它的状态可由读调制解调状态寄存器的第4位得到。调制解调器状态寄存器的位0,指示自最后一次读操作以来,CTS的输入状态是否发生变化。如果编程允许调制解调器状态中断,CTS状态的变化就产生中断请求。⑺发送请求RTS(输出):当8250已准备好通信,使RTS输99⑼数据设备准备就绪DSR(输入):当调制解调器或通信设备已准备好建立通信环路(链)准备与8250传送数据时,就向8250输送有效的DSR信号。它的状态可由读调制解调状态寄存器的第5位得到,此寄存器的第1位指示了自上次读操作后此信号是否发生了变化。若允许调制解调器状态中断的话,DSR状态的变化就产生中断请求。⑽接收线路检测RLSD和振铃指示RI(输入):它们为低电平(有效)时,表示通信设备已检测到数据串(RLSD)或收到了振铃信号(RI)。它们的状态可由读调制解调状态寄存器的第7、6位得到,此寄存器的第3、2位分别表示自上一次读操作以后这些信号是否发生了变化。若允许调制解调器状态中断,这两信号中的任意一个状态发生变化,都将产生中断请求。⑼数据设备准备就绪DSR(输入):当调制解调器或通信设备已准100⑾中断请求信号INTRPT(输出):8250内部的中断申请源任一个未被屏蔽源有请求时,INTRPT输出高电平。适当的中断服务和主复位信号使INTRPT处于低电平。⑿输出信号OUT1、OUT2(输出):是两个编程控制的输出。可对调制解调器控制寄存器的第2位和第3位编程使其输出有效信号。主复位信号使这两者处在高电平。⒀选片输出CSOUT(输出):当8250的三个选片输入端CS0、CS1和CS2都有效时,此引脚输出高电平,此时才能开始数据传送。⑾中断请求信号INTRPT(输出):8250内部的中断申请源101§4.3.48250的初始化编程编程主要步骤是:①确定波特率:设置除数锁存器的分频值。为了能对除数锁存器写入,要先使通信线路控制寄存器的D7=1。②设置通信的数据格式:通过对通信线路控制寄存器编程实现,而且要使它的D7=0,以便接下来对接收和发送缓冲器以及中断允许寄存器进行操作。③如果使用中断,则设置中断允许寄存器的状态。若不使用中断,这个寄存器可设置成0。§4.3.48250的初始化编程编程主102④设置调制解调器控制寄存器:通常,这寄存器设定的值为03H,使8250输出DTR和RTS这两个调制解调器控制信号。如果系统中不使用这两个信号,这样的设置也不会带来问题。如果使用中断,OUT2位应设置为“1”,这样8250产生的中断信号可以通过系统总线送给8259中断控制器。④设置调制解调器控制寄存器:通常,这寄存器设定的值为03H,103大学《接口与通信》第4章2课件104大学《接口与通信》第4章2课件105下面举一个例子:要求以9600波特率进行异步通信,每字符的数据位7位,2个停止位,奇校验,允许所有中断。下面给出了采用8086汇编编写的8250初始化部分程序。;BIOS分配异步通信的端口地址为3F8H~3FFH下面举一个例子:要求以9600波特率进行异步通信,每字符的数106MOVAL,80HMOVDX,3FBHOUTDX,AL ;使通信线控制寄存器最高位置1MOVAL,0CHMOVDX,3F8HOUTDX,ALMOVDX,3F9HMOVAL,0OUTDX,AL ;对除数锁存器置初值MOVAL,80H107MOVAL,00001110B;设置数据格式为7位/字符两个停止位,奇校验MOVDX,3FBHOUTDX,ALMOVAL,0FH ;允许所有中断MOVDX,3F9HOUTDX,ALMOVAL,OBH;OUT2、DTR、RTS信号有效MOVDX,3FCHOUTDX,ALMOVAL,00001110B;设置数据格式为7位/字符两108§4.3.5INS8250应用编程1、查询方式发送初始化8250读LSRD5=1?发送一个字符发完?结束YYNN2、查询方式接收初始化8250读LSRD0=1?接收一个字符收完?结束YYNN有错?NY错误处理发送寄存器接收数据就绪§4.3.5INS8250应用编程1、查询方式109大学《接口与通信》第4章2课件1103、中断方式通信程序设计1)中断通信方式初始化
修改中断向量:按使用的端口COM1或COM2,接管中断0CH或中断0BH(保存原中断向量,将新的中断向量替换上去,注意程序结束时恢复原中断向量)。确定通信协议:设置波特率及数据传输格式。
确定INS8250操作方式:设置中断允许寄存器相应位的允许或禁止,并设允许向量中断模式(置MCR的D3=1)。
开放通信中断:对8259A中断控制器的屏蔽寄存器编程(OCW1),允许中断IRQ4或IRQ3。中断通信方式有查询中断和向量中断两种方式。3、中断方式通信程序设计1)中断通信方式初始化修改中断向111DATA SEGMENT‘DATA’ INT_SEGDW? INT_OFFDW?DATA ENDS ……mov al,0ch ;取原OCH中断向量mov ah,35h int 21hmov INT_OFF,bx ;将返回的向量ES:BX保存在双字mov bx,es ;变量INT中mov INT_SEG,bx cli;修改中断向量前关中断mov al,0chmov ah,25h mov dx,SEGINSEV ;DS:DX指向中断向量,其中mov ds,dx ;DS指向段地址mov dx,OFFSETINSEV ;DX指向偏移量int 21hDATA SEGMENT‘DATA’cli112mov dx,3fbh ;线路控制寄存器LCR地址
out dx,80h ;置DLAB=1mov dx,3f8h ;低位除数寄存器DLL地址out dx,0ch ;写9600波特率的除数低8位inc dx ;高位除数寄存器DLH地址out dx,00h ;写9600波特率的除数高8位mov dx,3fbh ;线路控制寄存器LCR地址mov al,00011011b;偶校验、1位停止位、8位数据位out dx,al mov dx,3fch ;MODEM控制寄存器MCR地址out dx,08h ;OUT2位置1,打开COM1中断mov dx,3f9h ;中断允许寄存器地址out dx,03h ;允许收/发中断in al,21h ;读8259A的IMRand al,efh out 21h,al ;开放IRQ4中断sti……mov dx,3fbh ;线路控制寄存器LCR地址 mov 113
D5D4D3D2D1D0WLS0WLS1PENSTBEPSSPSBDLAB字符长度选择00——5位01——6位10——7位11——8位停止位选择0——1位1——1.5位(D1D0=00)2位(D1D0<>00)奇偶校验允许奇偶校验选择11——偶校验01——奇校验附加奇偶标志位选择0——不附加1——附加1位中止设置1—中止0—正常除数寄存器访问允许0——禁止1——允许8250中的通信线路控制寄存器D7D6D5D4D3D2D1D0D5D4D3D21142)通信中断服务程序首先读中断识别寄存器IIR,判断中断源,然后转向对应的处理子过程(程序)。判断中断源应该按照中断优先级别次序进行。
当中断识别寄存器D2D1=11时,表明接收出错中断,需要再读取线路状态寄存器,分析错误原因,再进行错误处理。
可能出现多个中断源同时引发中断。因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测D0是否为“0”,当D0=0时,表明还有未决中断,应该继续分析中断源并进行中断处理。
中断程序返回的条件是中断识别寄存器的D0=1。2)通信中断服务程序首先读中断识别寄存器IIR,判断中断115§4.4Intel8251A可编程通信接口4.4.18251的性能指标①可用于串行通讯的同步和异步传送。②同步传送:5~8位/字符,内部或外部同步,可自动插入同步字符。③异步传送:5~8位/字符,时钟速率为通信波特率的1、16或64倍。④可产生终止字符(BreakCharacter);可产生1、1.5或2个位的停止位。自动检测和处理终止字符。⑤可检查假的启动位。§4.4Intel8251A可编程通信接口4.4.116⑥波特率:异步传送的最大波特率为19.2K;同步传送的最大波特率64K。⑦完全双工,发送和接收双缓冲器。⑧出错检测——具有奇偶、溢出、帧错误等检测电路。⑥波特率:异步传送的最大波特率为19.2K;同步传送的最大波1174.4.28251的功能结构4.4.28251的功能结构118大学《接口与通信》第4章2课件119⑶I/O控制⑶I/O控制1204.4.38251的接口信号命令,状态/数据同步检测信号数据终端准备好数据装置准备好请求传送允许传送接收器时钟发送器时钟4.4.38251的接口信号命令,状态/1214.4.48251的编程8251是一个可编程的多功能通信接口。使用时必须对它进行初始化编程,确定8251的具体工作方式。例如:规定工作于同步还是异步方式;传送的波特率;字符格式等等。初始化编程必须在系统复位以后,启动8251工作以前进行。正确写控制字的顺序如图所示。4.4.48251的编程8251是一个可编程的多功能通信接122大学《接口与通信》第4章2课件123工作方式字格式工作方式字格式124在同步方式时,紧跟在方式指令后面的是由程序输入的同步字符。同步字符用与方式指令类似的方法由CPU发送给8251的。在输入同步字符后,或在异步方式时,在方式选择指令后应由CPU发送工作命令指令。命令指令直接使8251处于规定的工作状态。以准备接收或发送数据。命令字格式如图4-29在同步方式时,紧跟在方式指令后面的是由程序输入的同步字符。125RXESBRKERRTSTXENDTRIREHRXESBRKERRTSTXENDTRIREH允许发送“1”允许“0”不允许数据终端就绪:“1”使DTR输出为低允许接收“1”允许“0”不允许送间隔字符“1”使TXD为低“0”正常工作出错标志复位:“1”使PE、OE、TE标志复位请求发送:“1”使RTS输出变低内部复位:“1”使芯片回到方式指令状态进入搜索态:“1”使开始搜索同步字符D7
D6D5D4D3D2D1D0RXESBRKERRTSTXENDTRIREHRXESBRK126对8251的工作状态,CPU可通过I/O读操作把8251的状态字读人CPU,用以控制CPU与8251之间的数据交换。在读状态字时,C/D端为“1”。状态字格式如图4-30所示。对8251的工作状态,CPU可通过I/O读操作把8251的状127它只要数据缓冲器空就置位;而引脚TxRDY只能当条件:数据缓冲器空·CTS·TxEN成立时,才置位。它只要数据缓冲器空就置位;而引脚TxRDY只能当条件:数据缓128§4.4.58251应用举例例4-2:8251工作在异步方式,波特率速度系数为64,字符长度为7位,偶校验。方式控制字为11111011B即0FBH。用命令字使8251发送允许,接收允许,使错误位复位,则命令字为00010101B即15H。设备端口号为0F1H(C/D=1)和0F0H(C/D=0),则在主程序的初始化程序为:§4.4.58251应用举例例4-2:129MOVAL,0FBH;方式控制字OUT0F1H,ALMOVAL,15H;工作命令字OUT0F1H,AL于是8251做好了准备,能接收和发送数据。如果由于发送或接收而产生中断请求,则引起CPU中断,于是CPU进人中断服务程序。其中断服务程序为:MOVAL,0FBH;方式控制字130INT:PUSHAXPUSHBXINAL,0FlHRCRAL,1;TxRDY=1转至发送JCSISPRCRAL,1JCRISP;RxRDY=1转至接收REN:POPBXMOVAL,20H;发EOI命令OUT20H,ALPOPAXSTIRETIINT:PUSHAX131RISP:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国联通酒泉市分公司支撑服务团队招聘笔试备考试题及答案详解
- 2206北京大学计算机学院招聘劳动合同制人员1人笔试备考题库及答案详解
- 2026年中垦华山牧乳业有限公司招聘(3人)笔试备考试题及答案详解
- 2026广东韶关市始兴县统计局招聘统计人员1人笔试备考题库及答案详解
- 2026辽宁工业大学面向社会招聘高层次和急需紧缺人才17人(第二批)笔试备考题库及答案详解
- 2026贵州毕节市黔西市人力资源和社会保障局招聘城镇公益性岗位人员7人笔试参考题库及答案详解
- 2026年上海中医药大学附属曙光医院安徽医院公开招聘高层次人才30名笔试模拟试题及答案详解
- 2026阿勒泰职业技术学院招募“银龄教师”(10人)笔试参考题库及答案详解
- 2026甘肃临夏州积石山县禹源益民农业投资发展有限公司招聘1人笔试备考试题及答案详解
- 2026年中国农业银行(安徽分行)校园招聘笔试参考题库及答案详解
- 2025年湖南省高中学业水平合格考试英语试卷真题(含答案详解)
- 景观设计现场调查与分析
- 268个高考熟词生义高频词汇
- 西部计划考试题库及答案
- 2025年老年教育与培训课程考试试卷及答案
- 盐城海上风电公司成立可行性报告
- 口腔疾病与全身健康的关系
- 广东省肇庆地区2023-2024学年七年级下学期期末数学试题(含答案)
- 【作业设计】部编语文六年级下册作业
- AI技术对人类生活的改变与影响
- 售后服务管理制度汇编15篇
评论
0/150
提交评论