INS8250与外设的通信接口.PPT

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
INS8250与外设的通信接口

* (五)INS8250的初始化 在使用INS 8250进行串行异步通信之前,应按照通信的要求,初始化上述8250的各内部寄存器,给其设置相应的参数。 首先要设置波特率除数,8250内的波特率发生器将用这个除数值对INS8250的XTALl引脚输入的时钟脉冲分频,产生用来接收和发送数据的时钟脉冲。其实现方法是:先用OUT指令将通信线控制寄存器的最高位DLAB置成1,再用OUT指令将除数值写入除数锁存器中(分高、低字节两次写入)。上述设置完成后, 再将DLAB置成0,以便CPU以后可以将发送数据写入THR,或从RBR中读取数据。 接着设置通信线控制寄存 器,以便确定通信的格式:字符代码的长度、停止位的位数、是否进行奇偶校验以及奇偶校验的类型等。通常情况下,通信线控制寄存器的高3位应设定为0,这样,波特率除数寄存器的值设定好后,CPU就不要再改变它。 其次要设置调制解调器控制寄存器,通常情况下,这个寄存器设定的值为03H,它将使8250输出DTR、CTS调制解调器控制信号。若想对接口诊断测试,可将MCR的LOOP位置1。 再后要设置的寄存器是中断允许寄存器IER,以便确定用四种事件的哪一种来产生中断,若不采用中断,这个寄存器的值应设置成0。 经过了上述的寄存器初始化后,就可以用8250进行异步通信了,发送时用OUT指令将数据写到发送保持寄存器中,接收时则用IN指令将接收缓冲寄存器中的接收数据取走。数据通信过程中,可以用IN指令读取通信线状态寄存器LSR、调制解调器状态寄存器中的状态,以了解通信情况,并采取相应的措施,保证通信正常地进行。 二、INS8250的应用举例 下面,我们通过一个实例,说明如何用8250进行串行异步通信。 在IBM PC/XT及其兼容机中,使用异步通信适配器与外界进行串行异步通信,其采用的物理接口标准是EIA—RS—232C和20mA电流环。 IBM PC/XT的异步通信适配器中采用了INS8250异步通信控制器,由它来完成发送数据时的并一串转换和接收数据时的串一并转换。 (一)INS8250与CPU系统的接口 上图给出了异步通信适配器中INS8250同IBM PC系统总线的接口。 异步通信适配器就是一块串行接口卡,它起着微型计算机与外设串行通信的控制作用。该接口卡与微型计算机的连接是通过IBM PC总线来实现的。从图中可以看出,8250的CS0、CSl皆与+5V相接,故8250的口地址由CS2决定,当AEN = 0、A3 = A4 = A5 = A6 = A7 = A8 = A9 = l时CS2为有效的低电平,此时不论A0、A1、A2为何值,8250都被选中,故芯片的端口地址为3F8H~3FFH。 8250的A0、A1、A2引脚直接与地址总线的低三位A0、A1、A2相连,由它们来选择8250的内部寄存器。表9-9给出了8250内部各寄存器的端口地址。 从表中可以看出,接收缓冲寄存器、发送保持寄存器、除数锁存器(LSB)的口地址都是3F8H,它们之间是用通信线控制寄存器的最高位DLAB和读写信号来区分的;当要将除数写入除数锁存器的低位字节时,这之前必须将DLAB置成1;反之要对接收缓冲器读取或者向发送保持寄存器写入时,操作之前要将DLAB清 0,这样,当用IN指令从3F8H读时,自然从接收缓冲寄存器中读取了接收的字符,而用OUT指令向3F8H口写时,自然就将数据送到了发送保持寄存器中。另外,中断允许寄存器同除数锁存器的高位字节MSB都占用了同一个口地址3F9H,它们之间是DLAB区分的,对它们操作之前要将DLAB置成相应的0或1。 片选信号CS2只有AEN=0(CPU掌握总线控制权)才会有效,所以异步通信控制器不能进行DMA操作。DISTR,DOSTR分别接至总线的IOR、IOW,保证CPU对8250内部各寄存器的读写。 表9-9 8250内部寄存器的口地址 8250的数据线D0~D7通过LS245与系统的数据总线相连,LS245起着隔离作用,只有CPU要对8250进行操作时(此时CS2有效),LS245才打开数据通路,数据传输方向由IOR来控制。读时,数据从8250传到总线;写时,数据从总线传到8250。 8250采用中断方式发送或接收数据,进行异步通信。当发生接收数据错、接收缓冲寄存器满、传送保持寄存器空时和输入控制信号的状态变化时,8250将提出中断,并通过PC总线中的IRQ3向CPU申请。另外,本适配器的8250只有OUT2有效时,中断才?能向CPU提出,OUT2起着中断允许作用。

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档