欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    串行通信接口及应用.pdf

    • 资源ID:46695711       资源大小:290.26KB        全文页数:17页
    • 资源格式: PDF        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    串行通信接口及应用.pdf

    第 11 章 串行通信接口及应用 教学提示:串行通信是指将数据在信号通路上一位一位地顺序传送,每一位数据占据一个固定的时间长度。而串行接口就是完成串行通信传输任务的接口。串行通信速度不如并行通信,但是串行通信具有抗干扰能力强、接口相对简单、成本低等诸多优点,所以在远程计算机通信系统中,采用串行通信方式特别适合。教学要求:本章主要让学生了解串行通信的基本知识和各种通信接口标准。重点掌握可编程串行通信接口芯片 8250 的结构、功能及编程应用。11.1 串行通信基础 在并行通信中,所用的数据传输线较多,因此不适合长距离传输。而串行通信所需的传输线较少,所以采用串行通信方式可以节省传输线。在数据位数较多,传输距离较长的情况下,这个优点更为突出,可以降低成本。11.1.1 串行通信数据传送方式 在串行通信中,按照数据在通信线路上的传输方向,可以分为单工通信、半双工通信和全双工通信。1.单工通信 单工通信是指数据信号仅允许沿一个方向传输,即由一方发送数据,另一方接收数据,如图 11.1 所示。无线电广播就是单工通信方式。2.半双工通信 半双工通信是指通信双方都能接收或发送,但不能同时接收和发送的通信方式。在这种传送方式中,通信双方只能轮流地进行发送和接收,即 A 站发送,B 站接收;或 B 站发送,A 站接收,如图 11.2 所示。对讲机系统就是采用半双工通信方式的。A B 发送器 接收器 A B 接收器 发送器接收器发送器 图 11.1 单工通信 图 11.2 半双工通信 3.全双工通信 全双工通信是指通信双方在同一时刻可以同时进行发送和接收数据,如图 11.3 所示。双工需要两条传输线。目前,在计算机网络通信系统中就是采用全双工通信的。第 11 章 串行通信接口及应用 307 307 A B 发送器发送器接收器接收器 图 11.3 全双工通信 11.1.2 串行通信协议 在串行通信中,为了正确地传输每一个字符和字符中的每一位信息,必须要保证发送端和接收端同步工作。根据数据的收发方式,串行通信协议可分为异步通信协议和同步通信协议两种。1.异步通信协议 异步通信协议采用的数据格式是每个字符都按照一个独立的整体进行发送,字符的间隔时间可以任意变化,即每个字符作为独立的信息单位(帧),可以随机地出现在数据流中。所谓“异步”,就是指通信时两个字符之间的间隔事先不能确定,也没有严格的定时要求。异步通信协议规定的传输格式由 1 位起始位、58 位数据位、1 位奇偶校验位、12位停止位和若干个空闲位等组成,如图 11.4 所示。其中,起始位是表示字符的开始,通知接收方开始接收数据;停止位是表示字符传输的结束。图 11.4 异步串行通信数据格式 在串行通信中,传输速率是指单位时间内传送的二进制数据的位数,也称波特率,单位是位/秒(b/s,也称 bps)。常用的波特率有 110、300、600、1200、2400、4800、9600、19200、38400 等。字符速率是指每秒钟传送的字符数,它与波特率是两个相关但表达的意义不相同的概念。例如,若异步通信的数据格式由 1 位起始位、8 位数据位、1 位奇偶校验位、2 位停止位组成,波特率为 2400b/s,则每秒钟能够最多传送 2400(1812)200 个字符。采用异步通信格式的优点是,控制简单,不需收发双方时钟频率保持完全一致,可以有偏差,纠错方便。其缺点是一旦传输出错,则需要重发,传输效率低,信息冗余大。2.同步通信协议 在异步通信中,每传送一个字符,需要增加大约 20%的附加信息位,即用起始位和停止位作为每个字符的开始和结束标志,占用了一些时间,降低了传输效率。因此在大批量数据传送时,为了提高速度,就要设法去掉这些标志,而采用同步传输。在同步传输时,信息以数据块(由多个字符组成)为单位进行传送,不仅字符内部位与位之间是同步的,而且字符之间的传送也是同步的,因此,收发双方对时钟同步要求严格,所以设备也比较复杂,一般只用于需要高速大容量的通信场合。微机原理与接口技术 308308同步通信协议主要分为两种:一种是面向字符的同步通信协议,它的特点是把每个帧看作由若干个字符组成的数据块,并规定了一些特殊字符作为同步字符以及传输过程的控制信息;另一种是面向比特的同步通信协议,它的特点是把数据及控制信息看作为比特流的组合,靠约定的比特组合模式来标志帧的开始和结束。常见的同步通信协议格式如图 11.5所示,主要有单同步格式、双同步格式、SDLC 格式、HDLC 格式和外同步格式。同步字符 CRC2 CRC1 数据信息(a)单同步格式 同步字符 1CRC2 CRC1(b)双同步格式 同步字符 2 数据信息 标志符01111110 CRC2 CRC1(c)SDLC 格式 地址符 8 位 数据信息 标志符01111110 标志符01111110 地址符8 位 CRC2CRC1(d)HDLC 格式 数据信息 标志符01111110 控制符8 位 CRC2 CRC1(e)外同步格式数据信息 图 11.5 常见的几种同步通信格式 同步通信中需要注意的是,传输的数据都是成批连续的,两个字符之间不允许有空格,在没有字符要传输时要填上空字符,以此来保证数据传输的准确性。采用同步通信协议的优点是传输效率高、传输速度快,适合要求快速、连续地传输大量数据的场合,但其技术比异步通信协议复杂、硬件开销大、成本高。因此,在一般应用中,采用异步通信的比较多。11.2 串行通信的接口标准 为了实现不同厂商生产的计算机和各种外部设备之间进行串行通信,国际上制定了一些串行接口标准,常见的有 RS-232C 接口、RS-422A 接口、RS-485 接口。目前最普遍使用的是美国电子工业协会颁布的 RS-232C 接口标准。RS-232C 接口标准规定了机械、电气、功能等方面的参数。11.2.1 RS-232C 的机械特性 RS-232C 是一种总线标准,可以保证硬件兼容。通常 RS-232C 接口有 9 针和 25 针等规格,各信号线的功能见表 11-1,其接口信号线排列如图 11.6 所示。表 11-1 RS-232C 接口 25 针(9 针)信号线功能定义 25 针(9 针)引脚号 缩写名称 信号名称 功能特点 1 GND 保护地 作为设备接地端 2(3)TXD 发送数据 将数据送调制解调器 3(2)RXD 接收数据 从调制解调器接收数据 4(7)RTS 请求发送 终端请求通信设备切换到发送方式 第 11 章 串行通信接口及应用 309 309 续表 25 针(9 针)引脚号 缩写名称 信号名称 功能特点 5(8)CTS 允许发送 指出调制解调器准备好发送 6(6)DSR 通信设备准备好 指出调制解调器进入工作状态 7(5)SG 信号地 作为公用的信号地 8(1)DCD 载波信号检测 指出调制解调器正在接收远程载波 9 空 10 空 11 空 12 辅助信道接收信号检测 指出在第二通道上检测到信号 13 辅助信道允许发送 指出在第二通道准备好发送 14 辅助信道发送数据 往调制解调器以较低速率输出 15 发送器时钟(DCE)为调制解调器提供发送器定时信号 16 辅助信道接收数据 从调制解调器以较低速率输入 17 接收器时钟 为接口和终端接收器提供信号定时 18 空 19 辅助信道请求发送 闭合第二通道的发送器 20(4)DTR 数据终端准备好 数据终端准备就绪,可以接收 21 信号质量检测 通信设备通知端,线路已经连通 22(9)RI 振铃指示 指出在链路上检测到声音信号 23 数据率选择 可以选择数据信号速率 24 发送器时钟(DTE)为接口和终端提供发送器定时信号 25 空 (a)25 针接口排列图 1132514(b)9 针接口排列图 961 5 图 11.6 RS-232C 接口信号线排列图 11.2.2 RS-232C 的电气特性 RS-232C 中采用负逻辑规定逻辑电平,逻辑“1”电平规定为3V15V,逻辑“0”电平规定为3V15V。在实际使用中,常采用12V 或15V。由此可见,RS-232C标准中的信号电平标准与计算机中广泛采用的 TTL 电平标准不相容,在使用时,必须有电平转换电路。RS-232C 既是一种协议标准,又是一种电气标准,它采用单端、双极性电源供电电路。RS-232C 规定的传输速率有:50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19.2Kb/s、33.6Kb/s、56Kb/s 等,能够适应不同传输速率的设备。微机原理与接口技术 310310在远距离通信时,一般要加 MODEM(调制解调器),当计算机与 MODEM 连接时,只要将编号相同的引脚连接起来即可,如图 11.7 所示。CTS RTS DSR TXD DTR SG RI RXD DCD 1 6 3 4 8 7 2 9 5 1 6 3 4 8 7 2 9 5 RS-232C 接口 调制解调器 电话网 调制解调器 RS-232C 接口 CTS RTS DSR TXD DTR SG RI RXD DCD 图 11.7 RS-232C(9 针)与调制解调器的连接图 在距离较近(小于15m)的情况下进行通信时,不需要使用MODEM,两个计算机的RS-232C接口可以直接互连,如图 11.8 所示。计算机或终端 2 5 4 6 8 7 3 3 5 4 6 8 7 2 终端或计算机 2 5 4 6 8 7 3 1 9 3 5 6 9 7 1 2 8 4 计算机或终端 终端或计算机(a)两个终端设备的最简单连接(b)两个终端设备的直接连接 图 11.8 两个 RS-232C(9 针)终端设备的连接图 图 11.8(a)给出的是最简单的互连方式,只需 3 条线就可以实现相互之间的全双工通信,但是其许多功能(如流控)就没有了。图 11.8(b)给出的是常用信号引脚的连接,为了交换信息,TXD 和 RXD 是交叉连接的,即一个发送数据,另一个接收数据;RTS 和 CTS 与 DCD 互接,即用请求发送 RTS 信号来产生清除发送 CTS 和载波检测 DCD 信号,以满足全双工通信的逻辑控制;用类似的方法可将 DTR、DSR 和 RI 互连,以满足 RS-232C 通信控制逻辑的要求。这种方法连线较多,但能够检测通信双方是否已准备就绪,故通信可靠性高。11.3 可编程串行通信接口芯片 8250 在计算机进行的串行数据通信时,一方面需要实现并行到串行或串行到并行的转换,另一方面还需要按照传输协议发送和接收每个字符或数据块,这些工作可由软件实现,也可由硬件来实现。能完成异步通信的硬件电路被称为 UART,典型的芯片有 INS8250、MC6850-ACIA、第 11 章 串行通信接口及应用 311 311 MC6852-SSDA 等。既可以完成异步通信又可以完成同步通信的硬件电路被称为 UART,如 Intel 的 8251A、AMD9951 等。1981 年,在 IBM PC 机主板上用 8250UART 与 MODEM 或串行打印机进行通信,由于 8250 的应用包含对 PC 机中 BIOS 的支持,因而确定了它的结构和特性。几年后,产生了 16450,它是 8250 的直接扩展,如增加了速率,可支持 115K 和 230K 的速率。在后来的 16550 芯片上,其功能比 8250 多 16 个字节的接收和发送 FIFO,而 16C650 则把 FIFO增加到 32 个字节,现在的 16C750 则把 FIFO 增加到 64 个字节。大容量的 FIFO 减少了中断返回次数,提高了速度。这里,仅介绍 INS8250 的结构及应用。11.3.1 概述 INS8250 是使用5V 电源的具有 40 个引脚的芯片,各个引脚的功能特点如表 11-2 所示,其内部结构及引脚信号如图 11.9 所示。其中,主复位信号有效时,对 8250 内部寄存器和部分外部信号线有影响,具体情况如表 11-3 所示。表 11-2 8250 引脚功能 引脚名称 功能特点 D7D0 双向数据线,与系统数据总线相连,用于写入/读出状态字或者是发送/接收数据 CS0、CS1、2CS 片选信号线,有效时,选中8250芯片 A2、A1、A0 内部寄存器地址信号线,用于选择8250芯片内部寄存器 ADS 地址选通信号线,低电平有效 DISTR、DISTR 数据输入选通信号线 DOSTR、DOSTR 数据输出选通信号线 RCLK 接收时钟信号线 CTS 清除发送信号线 RTS 请求发送信号线 DTR 数据终端准备好信号线,输出 DSR 数据装置准备好信号线,输入 RLSD 接收线路信号检测信号线,输入 RI 振铃指示信号线,输入 1OUT 用户编程指定的输出端1 2OUT 用户编程指定的输出端2 CSOUT 片选输出信号线,输出 DDIS 驱动器禁止信号线,输出 BAUDOUT 波特率信号输出端 INTR 中断请求输出信号线 SOUT 串行数据输出信号线 SIN 串行数据输入信号线 XTAL1、XTAL2 外部时钟端,可接晶振或直接接外部时钟信号 微机原理与接口技术 312312续表 引脚名称 功能特点 MR 主复位输入信号线,高电平有效 VCC 电源端,接5V GND 接地端 NC 空闲,未使用 14021302535234567891011121314151617181920D0D1D2D3RCLKSIN SOUT DOSTR DOSTR CS0CS1CS2BAUDOUT XTAL1 GNDD4D5D6D7XTAL2 222324262728293132333436373839Vcc RI RLSD DSR CTS MR OUT1 DTR OUT2 INTR NC A0 ADS CSOUT A1 A2 DDIS DISTR DISTR RTS INS8250数据 缓冲器调制解调控制逻辑片内总线接收数据 寄存器 OUT1.2 DSR CTS RTS DTR RLSD RI SINRCLKBAUDOUTSOUT 接收移位 寄存器 发送移位 寄存器 发送数据 寄存器 D0D7 读写 控 制 逻 辑 DISTR DISTR DOSTR DDIS MR XTAL1.2 DOSTR CSOUT INTR ADS A0A2 CS0CS1 CS2 接收控 制逻辑 发送控 制逻辑 其他内部 寄存器 图 11.9 INS8250 内部结构及引脚图 表 11-3 MR功能 寄存器或信号线 复位控制 复位后状态 通信控制寄存器、中断允许寄存器 MR 各位均为低电平 中断标志寄存器 MR 除第0位外、其余为低电平 MODEM控制寄存器 MR 各位均为低电平 通信状态寄存器 MR 除5、6位外、其余为高电平 INTR(线路状态错)读通信状态寄存器或MR 低电平 INTR(发送寄存器空)读中断标志寄存器,写发送数据寄存器或MR 低电平 INTR(接收寄存器满)读接收数据寄存器或MR 低电平 INTR(MODEM状态改变)读MODEM状态寄存器或MR 低电平 SOUT、OUT1、OUT2、RTS、DTRMR 低电平 第 11 章 串行通信接口及应用 313 313 INS8250 的主要功能特点是:传输速率可在 50b/s9600b/s 范围内编程选择;具有完整的 MODEM 控制功能;具有线路隔离、故障模拟等内部诊断功能;具有中断控制和优先权判决能力;可以支持半双工或全双工等。当发送数据时,8250 接收从 CPU 送来的并行数据,并保存于发送数据寄存器中。只要发送移位寄存器没有正在发送数据,8250 就把发送数据寄存器中的数据送到发送移位寄存器中,并按照程序中所规定的格式和波特率,加入起始位、奇偶校验位和停止位,然后从串行数据输出端 SOUT逐位输出。当接收数据时,8250 的接收移位寄存器对输入端 SIN输入的串行数据进行移位接收,并按照规定格式和波特率,自动删除起始位、奇偶校验位和停止位。然后将这些数据并行地传送到接收数据寄存器中,CPU 从接收数据寄存器中就可读出收到的数据了。由此可见,发送移位寄存器和接收移位寄存器是 8250 的核心部件。发送移位寄存器完成“并串转换”功能,即把计算机输出的并行数据转换成异步通信所需的串行码输出;接收移位寄存器完成“串并转换”功能,即将收到的串行输入码转换成计算机所需的并行数据。11.3.2 8250 的寄存器 8250 内部有 9 种可访问的寄存器,分别为:发送数据寄存器 THR,接收数据寄存器RBR,通信控制寄存器 LCR,通信状态寄存器 LSR,波特率设置寄存器 DLR(也称除数锁存器),MODEM 控制寄存器 MCR,MODEM 状态寄存器 MSR,中断允许寄存器 IER 和中断标志寄存器 IIR。这些寄存器主要用来设置其工作参数或者获得其工作状态。1.通信控制寄存器 这是一个可读/写寄存器,主要用于指定串行异步通信的数据格式。例如数据位数,奇偶校验的选择、停止位的多少。其各位意义如图 11.10 所示。数据位个数选择:00:5 位数据,01:6 位数据 10:7 位数据,11:8 位数据 除数锁存位:D71:允许写除数寄存器 D70:允许寻址接收、发送数据寄存器及中断允许寄存器。停止位个数选择:D20:1 位停止位。D21:5 位数据位时,1.5 位停止;68 位数据位时,2 位停止。设置间断:D60:禁止间断。D61:强迫 SOUT送出空闲状态。D7D6D5 D4 D3D2 D1D0 校验方式和校验位:0:无校验位;001:设置奇校验;011:设置偶校验;101:校验位为 1;111:校验位为 0。图 11.10 通信控制寄存器格式 值得注意的是,通信控制寄存器的 D7,需要读/写除数锁存时,必须使 D71,而在读微机原理与接口技术 314314/写其他寄存器时,要使 D70。2.通信状态寄存器 通信状态寄存器是一个 8 位寄存器,用于为 CPU 提供 8250 芯片的内部状态信息,主要是说明在通信过程中 8250 接收和发送数据的情况。其各位的功能含义如表 11-4 所示。表 11-4 通信状态寄存器各位功能含义 位 状 态 意 义 D01 表示8250已接收到一个有效字符,CPU可以从8250接收数据寄存器中读取。一旦读取后,此位立即变为0 D11 表示CPU未及时把接收数据寄存器中的输入字符取走,8250又接收新的数据而将前一个数据破坏 D21 表示在8250接收到一个完整的数据进行奇偶校验时,发现被接收的数据有奇偶错 D31 表示接收到的数据停止位不正确,也称格式错或帧出错 D41 表示线路信号间断,即在超过一个完整的字符传输时间内接收的均为空闲状态 D51 表示发送数据寄存器为空 D61 表示发送移位寄存器为空 D70 恒为0,不用 在 8250 串行发送数据时,一旦发送移位寄存器已将其数据的各位串行移出,则发送数据寄存器的数据会自动传送给发送移位寄存器,然后数据从发送移位寄存器串行输出,同时,发送数据寄存器变为空状态。当发现发送数据寄存器为空后,可立即向它写入下一个要传送的数据。3.发送数据寄存器 发送数据寄存器是一个 8 位寄存器,发送数据时,CPU 将数据写入该发送数据寄存器。若发送移位寄存器为空,则该发送数据寄存器中的数据便会由 8250 的硬件并行送入到发送移位寄存器中,以便串行输出。4.接收数据寄存器 接收数据寄存器是一个 8 位寄存器,当 8250 接收到一个完整的字符时,会将该字符由接收移位寄存器传送到接收数据寄存器,CPU 可以直接到接收数据寄存器中读取数据。5.MODEM 控制寄存器 MODEM 控制寄存器是一个 8 位的寄存器,控制芯片的 4 个引脚的输出和芯片的环路检测,以控制 MODEM 或其他数字设备。其各位的功能含义如表 11-5 所示。6.MODEM 状态寄存器 MODEM 状态寄存器检测 MODEM 或其他设备加到 8250 上的 4 个控制引脚的输入状态以及这些控制线的状态变化。其各位的功能含义如表 11-6 所示。第 11 章 串行通信接口及应用 315 315 表 11-5 MODEM 控制寄存器各位功能含义 位 状 态 意 义 D01 控制8250的DTR为低电平,表示数据终端准备好 D11 控制8250的RTS为低电平 D21 控制8250的1OUT为低电平 D31 控制8250的2OUT为低电平 D41 提供了用于8250诊断测试的局部环路返回特性,实现8250自己对自己的自诊断测试 D50 恒为0,不用 D60 恒为0,不用 D70 恒为0,不用 表 11-6 MODEM 状态寄存器各位功能含义 位 状 态 意 义 D0对应CTS D1对应DSR D2对应RI D3对应RLSD 当某位为1时,表示自上次读该寄存器之后,相应的MODEM来的控制线输入信号已改变状态。当某位是0时,则说明相应的输入信号状态无改变。在读这些寄存器时,使这4位同时清零。中断允许寄存器的D31时,则MSR的D3D0的某一位为1时,都会使芯片产生一个MODEM状态中断 D4对应CTS反相 在自测试时,为MODEM控制寄存器RTS位的状态 D5对应DSR反相 在自测试时,为MODEM控制寄存器DTR位的状态 D6对应RI反相 在自测试时,为MODEM控制寄存器1OUT的状态 D7对应RLSD反相 在自测试时,为MODEM控制寄存器2OUT的状态 7.除数锁存器 除数锁存器即波特率设置寄存器,该寄存器为 16 位,外部基准时钟被除数锁存器中的除数相除,可以获得所需的波特率。如果外部基准时钟频率 f 已知,而 8250 所要求的波特率 F 也已确定,则就可以求出除数锁存器中应该锁存的除数为:除数锁存器f(16F)。8.中断允许寄存器 8250 共有 4 种中断源,分别是接收器线路状态中断、接收数据寄存器“满”中断、发送数据寄存器“空”中断和 MODEM 状态中断。中断允许寄存器的高 4 位不用,只使用低 4 位,当某位置“1”时,表示允许相应的中断请求;置“0”时,表示禁止相应的中断请求。其各位的功能含义如表 11-7 所示。中断允许寄存器是可写可读的。表 11-7 中断允许寄存器各位功能含义 位 状 态 意 义 D01 接收数据寄存器“满”中断,读接收数据寄存器可使此中断复位 D11 发送数据寄存器“空”中断,写发送数据寄存器可使此中断复位 微机原理与接口技术 316316续表 位 状 态 意 义 D21 接收线路状态中断,包括越限、奇偶错、格式错、间断等引起的中断,读通信状态寄存器可使此中断复位 D31 MODEM状态中断,包括发送结束、MODEM准备好、振铃指示、接收线路信号检测等,读MODEM状态寄存器可使此中断复位 D7D4 恒为0,不用 9.中断标志寄存器 8250 芯片中多个中断源共同使用同一个中断输出,所以各个中断需要按照事件的紧迫性进行排序,即优先权排队。8250 共有 4 级中断,按优先权从高到低的中断源顺序是:接收线路状态中断、接收数据寄存器“满”中断、发送数据寄存器“空”中断、MODEM 状态中断。中断标志寄存器为 8 位,高 5 位不用,只使用低 3 位来实现 8250 的中断标志。中断标志寄存器可以指出有无待处理的中断发生及其类型,其中第 0 位是用来表示是否有中断发生,第 2 位和第 3 位用来表示发生中断的类型。当 D01 时,表示无中断发生;当 D00时,表示有中断发生。中断标志寄存器是只读的。其各位的功能含义如表 11-8 所示。表 11-8 中断允许寄存器各位功能含义 位 状 态 意 义 位 状 态 意 义 D01 无中断 D00 有中断 D2、D100 MODEM中断 D2、D101 发送数据寄存器“空”中断 D2、D110 接收数据寄存器“满”中断 D2、D111 接收线路状态中断 D7D3 恒为0,不用 11.3.3 8250 的编程及应用 8250 内部有许多与编程使用有关的寄存器,在片选信号 CS0、CS1和2CS 有效的情况下,先选中 8250,再利用 A2、A1、A0来确定被访问的寄存器。另外还可以采用两种方法进行寻址。(1)利用通信控制寄存器的最高位(除数锁存位)置“1”,来选中除数锁存寄存器。(2)将发送数据寄存器和接收数据寄存器共享一个地址号,由于发送数据寄存器是“只写”的,而接收数据寄存器是“只读”的,因此可以用“写入”访问发送数据寄存器,用“读出”访问接收数据寄存器。具体地址分配如表 11-9 所示。表 11-9 8250 的寻址(在片选信号有效的前提下)除数锁存位 A2 A1 A0 RDWR 所选定的寄存器 COM1 0 0 0 0 只读 接收数据寄存器 3F8H 0 0 0 0 只写 发送数据寄存器 3F8H 第 11 章 串行通信接口及应用 317 317 续表 除数锁存位 A2 A1 A0 RDWR 所选定的寄存器 COM1 0 0 0 1 可读/写 中断允许寄存器 3F9H 0 1 0 只读 中断标志寄存器 3FAH 0 1 1 可读/写 通信控制寄存器 3FBH 1 0 0 可读/写 MODEM控制寄存器 3FCH 1 0 1 只读 通信状态寄存器 3FDH 1 1 0 只读 MODEM状态寄存器 3FEH 1 0 0 0 可读/写 除数(低8位)锁存器 3F8H 1 0 0 1 可读/写 除数(高8位)锁存器 3F9H 1 1 1 不用 3FFH 在 PC 机中,串行通信接口大都由 8250 来实现。如图 11.11 所示,在这种连接的情况下,8250 的地址由 10 条地址线来决定,其地址范围为 3F8H3FFH。D0D7 IORIOWMRRESETDISTRDOSTRADSDISTRDOSTRCS2CS0 RCLKXTALINTRINTR 1.8432MHzSOUT SIN DTRRTSRLSDDSRCTSRIXTAL1DDISCSOUT NCOUT1译码电路高位地址A2 A0 A1 BAUDOUT 时钟发生器+5V OUT2+5V空 TTL 转换 电路 RS-232C TTL 转换 电路 RS-232CCS1D0D7 8250 A2 A0 A1 图 11.11 8250 的连接图 利用 8250 进行通信时,首先要对其初始化,即设置波特率、数据格式、是否中断、是否自测试操作等。初始化后,则可采用程序查询或中断方式进行串行通信。实现串行通信的程序随着具体要求的不同,可能很简单,也可能十分复杂。1.8250 的初始化 对 8250 初始化时,通常要对部分内部寄存器进行设置,主要有通信控制寄存器、除数锁存器、MODEM 控制寄存器、中断允许寄存器等,8250 初始化流程如图 11.12 所示。微机原理与接口技术 318318通信控制寄存器的锁存位置 1通信控制寄存器的锁存位置 0设置除数锁存器低 8 位 设置 MODEM 控制寄存器 设置中断允许寄存器 设置除数锁存器高 8 位 设置中断服务程序入口 图 11.12 8250 初始化流程图(1)设置波特率。假设设置波特率的值为 1200b/s,由于加在 XTAL1上的时钟频率为1.8432 MHz,所以除数为 0060H。为了写除数锁存器,应该先使通信控制寄存器的最高位(除数锁存位)的值为 1。该程序段如下:MOV AL,10000000B ;置通信控制寄存器的除数锁存位的值为 1 MOV DX,3FBH OUT DX,AL MOV AL,60H ;置 1200b/s 的除数低位 MOV DX,3F8H OUT DX,AL MOV AL,00 ;置 1200b/s 的除数高位 MOV DX,3F9H OUT DX,AL (2)设置字符数据格式。假设 7 个数据位,1 个停止位,设置奇校验。则该程序段如下:MOV AL,00001010B ;设置数据格式 MOV DX,3F8H OUT DX,AL ;写入通信控制寄存器 (3)设置 MODEM 控制字。MODEM 控制字有不允许中断输出、允许中断输出和自测试共计三种工作方式。不允许中断输出。该方式的程序段如下:MOV AL,03H MOV DX,3FCH OUT DX,AL 第 11 章 串行通信接口及应用 319 319 允许中断输出。该方式的程序段如下:MOV DX,3FCH MOV AL,0BH OUT DX,AL 自测试工作方式。该方式的程序段如下:MOV AL,13H ;自测试工作方式若允许中断则应该为 1BH MOV DX,3FCH OUT DX,AL (4)设置中断允许寄存器。分为禁止全部中断和允许中断两种情况。允许中断。若允许中断或仅允许四种类型中的某几类中断,则应写入相应的控制字,如允许除 MODEM 状态中断外的其余三种中断,则写入中断允许寄存器值为 07H,则该程序段如下:MOV AL,07H MOV DX,3F9H OUT DX,AL 禁止全部中断。如果禁止全部中断,则该程序段如下:MOV AL,0 MOV DX,3F9H OUT DX,AL 2.查询方式通信 在初始化程序之后,若采用查询方式发送数据,CPU 可以读取通信状态寄存器的内容来判断发送数据寄存器是否为空,并以此来发送数据;也可以采用查询方式接收数据,CPU首先读取通信状态寄存器的内容来判断线路是否有错,若无错,再来判断是否已收到一个完整的数据,若是,则从接收数据寄存器中读取接收到的数据。(1)查询方式发送数据。假设要发送的字符存放在 SBUF 为首地址的内存中,字符个数存放在 BX 中,则发送这组字符的子程序段如下:SEND_DATA:LEA SI,SBUF MOV DX,3FDH TEST11:IN AL,DX ;读取通信状态寄存器的内容 TEST AL,20H ;判断发送数据寄存器是否为空 JZ TEST11 PUSH DX MOV DX,3F8H ;发送一个字节到发送数据寄存器 MOV AL,SI OUT DX,AL POP DX INC SI DEC BX JNZ TEST11 RET (2)查询方式接收数据。下面是 8250 接收一个数据的子程序段:REVDATA:MOV DX,3FDH ;读取通信状态寄存器的内容 微机原理与接口技术 320320TEST12:IN AL,DX TEST AL,1EH ;判断线路状态是否有错 JNZ ERROR TEST AL,01H ;判断是否接收到一个完整的数据 JZ TEST12 MOV DX,3F8H IN AL,DX RET ERROR:.RET 3.中断方式通信 在串行通信中,可以采用查询方式来发送和接收数据,也可以利用 8250 的中断方式实现串行异步通信。仍然以图 11.11 所示的连接形式为例,假设系统在工作过程中,以查询方式发送数据,而以中断方式接收数据。(1)8250 的初始化。该程序段如下:INITIAL:MOV DX,3FBH MOV AL,80H OUT DX,AL MOV DX,3F8H MOV AL,0CH ;置除数的低位 OUT DX,AL MOV DX,3F9H MOV AL,0 ;置除数的高位 OUT DX,AL MOV DX,3FBH MOV AL,0AH OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,0BH OUT DX,AL ;初始化 MODEM 寄存器 MOV DX,3F9H ;初始化中断允许寄存器 MOV AL,01H OUT DX,AL STI 当 8250 从通信线路上接收了数据并将它存入接收数据寄存器后,就会发出接收数据寄存器满的中断请求信号,此中断请求经过中断控制器 8259 加到 CPU 上,CPU 响应中断后,便转入接收中断服务程序 REE 去执行。中断服务程序 REE 首先应进行断点现场保护,然后检查线路状态寄存器,看是否有差错,若有错,则转向错误处理;若无错,则读入接收的一个字符,并将其存入指定的存储单元 REVBUF 中,并发出中断结束命令给 8259,然后返回中断。(2)接收一个字符的中断服务程序段如下:REE:PUSH AX ;现场保护 PUSH BX PUSH DX 第 11 章 串行通信接口及应用 321 321 PUSH DS MOV DX,3FDH IN AL,DX TEST AL,DX TEST AL,1EH JNZ ERR ;有错,则转向错误处理 MOV DX,3F8H IN AL,DX AND AL,7FH MOV BX,OFFSET REVBUF MOV BX,AL MOV DX,INTRR MOV AL,20H ;发出中断命令给 8259 OUT 0A0H,AL OUT 20H,AL JMP ENP ERR:.ENP:POP DS POP DX POP BX POP AX STI IRET 11.4 小 结 本章主要介绍了串行通信的基本概念、协议、串行接口标准及可编程串行通信接口芯片 8250 的应用。由于串行通信方式是计算机中一种非常重要的、广泛应用的通信方式,所以,通过本章的学习,读者应该了解串行通信的基本原理、通信协议、通信方式和各种接口标准,掌握可编程串行通信接口芯片 8250 的结构、功能及编程应用。异步通信在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为 58 位。在传送时,按照低位在前、高位在后的顺序传送。奇偶校验位用于校验数据传送的正确性,可以没有,也可以由程序来指定。最后传送的是高电平的停止位,停止位可以是 1 位、1.5 位或 2 位,两个字符之间空闲的位要由高电平来 填充。同步通信在传输信息时,信息是以数据块为单位进行传送,不仅字符内部位与位之间是同步的,而且字符之间的传送也是同步的,因此,收发双方对时钟同步要求严格,所以设备也比较复杂。同步通信主要有两种:一种是面向字符的,它的特点是把每个帧看作由若干个字符组成的数据块,并规定了一些特殊字符作为同步字符以及传输过程的控制信息;另一种是面向比特的,它的特点是把数据及控制信息看作比特流的组合,靠约定的比特组合模式来标志帧的开始和结束。微机原理与接口技术 32232211.5 习 题 1.选择题(1)异步通信协议规定的字符格式中,数据位一般是()位。A.12 B.58 C.34 D.8(2)在 RS-232C 接口中,CTS 是()。A.发送数据线 B.接收数据线 C.允许发送 D.清除发送(3)不属于串行异步通信协议规定的常用波特率是()。A.300b/s B.400b/s C.600b/s D.1200b/s(4)INS8250 传输速率选择范围是()。A.509600b/s B.10010000b/s C.202000b/s D.303600b/s(5)在串行通信中,根据数据传送的方向不同,可将串行通信分为三种方式,以下哪种方式不属于串行通信的方式()。A.单工方式 B.半双工方式 C.全双工方式 D.半单工方式(6)能够完成串行异步通信的硬件电路称为()。A.UART B.USART C.USRT D.UASRT(7)既能完成异步通信,又能完成同步通信的硬件电路称为()。A.UART B.USART C.USRT D.UASRT(8)既能完成异步通信,又能完成同步通信的典型芯片是()。A.8251A B.INS8250 C.MC6852-SSDA D.MC6850-ACIA 2.简答题(1)什么是串行通信和串行接口?(2)串行异步通信的优、缺点是什么?(3)串行同步通信的优、缺点是什么?(4)8250 共有哪些中断源?(5)什么是 UART?典型的 UART 有哪些?3.设计题(1)使用 8250 编程。假设要发送的字符数量存放在 CX 中,要发送的字符顺序地存放在 DATA 开始的内存区中,请写出发送这组字符的程序段。(2)使用 8250 编程。用查询方式接收一个数据,写出该子程序段。

    注意事项

    本文(串行通信接口及应用.pdf)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开