首页 串口原理

串口原理

举报
开通vip

串口原理 第 11 章 串行通信接口及应用 教学提示:串行通信是指将数据在信号通路上一位一位地顺序传送,每一位数据占据 一个固定的时间长度。而串行接口就是完成串行通信传输任务的接口。串行通信速度不如 并行通信,但是串行通信具有抗干扰能力强、接口相对简单、成本低等诸多优点,所以在 远程计算机通信系统中,采用串行通信方式特别适合。 教学要求:本章主要让学生了解串行通信的基本知识和各种通信接口标准。重点掌握 可编程串行通信接口芯片 8250的结构、功能及编程应用。 11.1 串行通信基础 在并行通信中...

串口原理
第 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 位起始位、5~8 位数据位、1 位奇偶校验位、1~2 位停止位和若干个空闲位等组成,如图 11.4 所示。其中,起始位是 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示字符的开始,通知 接收方开始接收数据;停止位是表示字符传输的结束。 图 11.4 异步串行通信数据格式 在串行通信中,传输速率是指单位时间内传送的二进制数据的位数,也称波特率,单 位是位/秒(b/s,也称 bps)。常用的波特率有 110、300、600、1200、2400、4800、9600、19200、 38400 等。字符速率是指每秒钟传送的字符数,它与波特率是两个相关但表达的意义不相 同的概念。例如,若异步通信的数据格式由 1 位起始位、8 位数据位、1 位奇偶校验位、2 位 停止位组成,波特率为 2400b/s,则每秒钟能够最多传送 2400÷(1+8+1+2)=200 个字符。 采用异步通信格式的优点是,控制简单,不需收发双方时钟频率保持完全一致,可以 有偏差,纠错方便。其缺点是一旦传输出错,则需要重发,传输效率低,信息冗余大。 2. 同步通信协议 在异步通信中,每传送一个字符,需要增加大约 20%的附加信息位,即用起始位和停 止位作为每个字符的开始和结束标志,占用了一些时间,降低了传输效率。因此在大批量 数据传送时,为了提高速度,就要设法去掉这些标志,而采用同步传输。 在同步传输时,信息以数据块(由多个字符组成)为单位进行传送,不仅字符内部位与 位之间是同步的,而且字符之间的传送也是同步的,因此,收发双方对时钟同步要求严格, 所以设备也比较复杂,一般只用于需要高速大容量的通信场合。 微机原理与接口技术 ·308· ·308· 同步通信协议主要分为两种:一种是面向字符的同步通信协议,它的特点是把每个帧 看作由若干个字符组成的数据块,并规定了一些特殊字符作为同步字符以及传输过程的控 制信息;另一种是面向比特的同步通信协议,它的特点是把数据及控制信息看作为比特流 的组合,靠约定的比特组合模式来标志帧的开始和结束。常见的同步通信协议格式如图 11.5 所示,主要有单同步格式、双同步格式、SDLC 格式、HDLC 格式和外同步格式。 同步字符 CRC2 CRC1 数据信息 (a) 单同步格式 同步字符 1 CRC2 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 针接口排列图 …… 113 25 14 …… (b) 9 针接口排列图 9……6 1 5 …… 图 11.6 RS-232C 接口信号线排列图 11.2.2 RS-232C 的电气特性 RS-232C 中采用负逻辑规定逻辑电平,逻辑“1”电平规定为-3V~-15V,逻辑“0” 电平规定为+3V~+15V。在实际使用中,常采用±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 等,能够适应不同传输速率的设备。 微机原理与接口技术 ·310· ·310· 在远距离通信时,一般要加 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 引脚功能 引脚名称 功能特点 D7~D0 双向数据线,与系统数据总线相连,用于写入/读出状态字或者是发送/接收数据 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 外部时钟端,可接晶振或直接接外部时钟信号 微机原理与接口技术 ·312· ·312· 续表 引脚名称 功能特点 MR 主复位输入信号线,高电平有效 VCC 电源端,接+5V GND 接地端 NC 空闲,未使用 1 40 21 30 25 35 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 D0 D1 D2 D3 RCLK SIN SOUT DOSTR DOSTR CS0 CS1 CS2 BAUDOUT XTAL1 GND D4 D5 D6 D7 XTAL2 22 23 24 26 27 28 29 31 32 33 34 36 37 38 39 Vcc 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 SIN RCLK BAUDOUT SOUT 接收移位 寄存器 发送移位 寄存器 发送数据 寄存器 D0~D7 读 \ 写 控 制 逻 辑 DISTR DISTR DOSTR DDIS MR XTAL1.2 DOSTR CSOUT INTR ADS A0~A2 CS0~CS1 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、DTR MR 低电平 第 11章 串行通信接口及应用 ·313· ·313· INS8250 的主要功能特点是:传输速率可在 50b/s~9600b/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 位数据 除数锁存位: D7=1:允许写除数寄存器 D7=0:允许寻址接收、发 送数据寄存器及中断允许寄 存器。 停止位个数选择: D2=0:1 位停止位。 D2=1:5 位数据位时,1.5 位停止; 6~8 位数据位时,2 位停止。 设置间断: D6=0:禁止间断。 D6=1:强迫 SOUT送出空闲状态。 D7 D6 D5 D4 D3 D2 D1 D0 校验方式和校验位: ××0:无校验位;001:设置奇校验;011:设置偶校验; 101:校验位为 1;111:校验位为 0。 图 11.10 通信控制寄存器格式 值得注意的是,通信控制寄存器的 D7,需要读/写除数锁存时,必须使 D7=1,而在读 微机原理与接口技术 ·314· ·314· /写其他寄存器时,要使 D7=0。 2. 通信状态寄存器 通信状态寄存器是一个 8 位寄存器,用于为 CPU 提供 8250 芯片的内部状态信息,主 要是说明在通信过程中 8250 接收和发送数据的情况。其各位的功能含义如表 11-4 所示。 表 11-4 通信状态寄存器各位功能含义 位 状 态 意 义 D0=1 表示 8250 已接收到一个有效字符,CPU 可以从 8250 接收数据寄存器中读取。一旦读 取后,此位立即变为 0 D1=1 表示 CPU 未及时把接收数据寄存器中的输入字符取走,8250 又接收新的数据而将前 一个数据破坏 D2=1 表示在 8250 接收到一个完整的数据进行奇偶校验时,发现被接收的数据有奇偶错 D3=1 表示接收到的数据停止位不正确,也称格式错或帧出错 D4=1 表示线路信号间断,即在超过一个完整的字符传输时间内接收的均为空闲状态 D5=1 表示发送数据寄存器为空 D6=1 表示发送移位寄存器为空 D7=0 恒为 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 控制寄存器各位功能含义 位 状 态 意 义 D0=1 控制 8250 的 DTR 为低电平,表示数据终端准备好 D1=1 控制 8250 的 RTS为低电平 D2=1 控制 8250 的 1OUT 为低电平 D3=1 控制 8250 的 2OUT 为低电平 D4=1 提供了用于 8250 诊断测试的局部环路返回特性,实现 8250 自己对自己的自诊断测试 D5=0 恒为 0,不用 D6=0 恒为 0,不用 D7=0 恒为 0,不用 表 11-6 MODEM 状态寄存器各位功能含义 位 状 态 意 义 D0对应 CTS D1对应 DSR D2对应 RI D3对应 RLSD 当某位为 1 时,表示自上次读该寄存器之后,相应的 MODEM 来的控制线输入 信号已改变状态。当某位是 0 时,则说明相应的输入信号状态无改变。在读这些 寄存器时,使这 4 位同时清零。中断允许寄存器的 D3=1 时,则 MSR 的 D3~ D0的某一位为 1 时,都会使芯片产生一个 MODEM 状态中断 D4对应 CTS反相 在自测试时,为 MODEM 控制寄存器 RTS位的状态 D5对应 DSR 反相 在自测试时,为 MODEM 控制寄存器 DTR 位的状态 D6对应 RI 反相 在自测试时,为 MODEM 控制寄存器 1OUT 的状态 D7对应 RLSD 反相 在自测试时,为 MODEM 控制寄存器 2OUT 的状态 7. 除数锁存器 除数锁存器即波特率设置寄存器,该寄存器为 16 位,外部基准时钟被除数锁存器中的 除数相除,可以获得所需的波特率。如果外部基准时钟频率 f 已知,而 8250 所要求的波特 率 F 也已确定,则就可以求出除数锁存器中应该锁存的除数为:除数锁存器=f÷(16×F)。 8. 中断允许寄存器 8250 共有 4 种中断源,分别是接收器线路状态中断、接收数据寄存器“满”中断、发 送数据寄存器“空”中断和 MODEM 状态中断。 中断允许寄存器的高 4 位不用,只使用低 4 位,当某位置“1”时,表示允许相应的中 断请求;置“0”时,表示禁止相应的中断请求。其各位的功能含义如表 11-7 所示。中断 允许寄存器是可写可读的。 表 11-7 中断允许寄存器各位功能含义 位 状 态 意 义 D0=1 接收数据寄存器“满”中断,读接收数据寄存器可使此中断复位 D1=1 发送数据寄存器“空”中断,写发送数据寄存器可使此中断复位 微机原理与接口技术 ·316· ·316· 续表 位 状 态 意 义 D2=1 接收线路状态中断,包括越限、奇偶错、格式错、间断等引起的中断,读通信状态寄存 器可使此中断复位 D3=1 MODEM 状态中断,包括发送结束、MODEM 准备好、振铃指示、接收线路信号检测 等,读 MODEM 状态寄存器可使此中断复位 D7~D4 恒为 0,不用 9. 中断标志寄存器 8250 芯片中多个中断源共同使用同一个中断输出,所以各个中断需要按照事件的紧迫 性进行排序,即优先权排队。8250 共有 4 级中断,按优先权从高到低的中断源顺序是:接 收线路状态中断、接收数据寄存器“满”中断、发送数据寄存器“空”中断、MODEM 状 态中断。 中断标志寄存器为 8 位,高 5 位不用,只使用低 3 位来实现 8250 的中断标志。中断标 志寄存器可以指出有无待处理的中断发生及其类型,其中第 0 位是用来表示是否有中断发 生,第 2 位和第 3 位用来表示发生中断的类型。当 D0=1 时,表示无中断发生;当 D0=0 时,表示有中断发生。中断标志寄存器是只读的。其各位的功能含义如表 11-8 所示。 表 11-8 中断允许寄存器各位功能含义 位 状 态 意 义 位 状 态 意 义 D0=1 无中断 D0=0 有中断 D2、D1=00 MODEM 中断 D2、D1=01 发送数据寄存器“空”中断 D2、D1=10 接收数据寄存器“满”中断 D2、D1=11 接收线路状态中断 D7~D3 恒为 0,不用 11.3.3 8250 的编程及应用 8250 内部有许多与编程使用有关的寄存器,在片选信号 CS0、CS1 和 2CS 有效的情况 下,先选中 8250,再利用 A2、A1、A0 来确定被访问的寄存器。另外还可以采用两种方法 进行寻址。 (1) 利用通信控制寄存器的最高位(除数锁存位)置“1”,来选中除数锁存寄存器。 (2) 将发送数据寄存器和接收数据寄存器共享一个地址号,由于发送数据寄存器是“只 写”的,而接收数据寄存器是“只读”的,因此可以用“写入”访问发送数据寄存器,用 “读出”访问接收数据寄存器。具体地址分配如表 11-9 所示。 表 11-9 8250 的寻址(在片选信号有效的前提下) 除数锁存位 A2 A1 A0 RD WR 所选定的寄存器 COM1 0 0 0 0 只读 接收数据寄存器 3F8H 0 0 0 0 只写 发送数据寄存器 3F8H 第 11章 串行通信接口及应用 ·317· ·317· 续表 除数锁存位 A2 A1 A0 RD WR 所选定的寄存器 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 条地址线来决定,其地址范围为 3F8H~3FFH。 D0~D7 IOR IOW MRRESET DISTR DOSTR ADS DISTR DOSTR CS2 CS0 RCLK XTAL INTRINTR 1.8432MHz SOUT SIN DTR RTS RLSD DSR CTS RI XTAL1 DDIS CSOUT NC OUT1 译码 电路 高 位 地 址 A2 A0 A1 BAUDOUT 时钟 发生 器 +5V OUT2 +5V 空 TTL 转换 电路 RS-232C TTL 转换 电路 RS-232CCS1 D0~D7 8250 A2 A0 A1 图 11.11 8250 的连接图 利用 8250 进行通信时,首先要对其初始化,即设置波特率、数据格式、是否中断、是 否自测试操作等。初始化后,则可采用程序查询或中断方式进行串行通信。实现串行通信 的程序随着具体要求的不同,可能很简单,也可能十分复杂。 1. 8250的初始化 对 8250 初始化时,通常要对部分内部寄存器进行设置,主要有通信控制寄存器、除数 锁存器、MODEM 控制寄存器、中断允许寄存器等,8250 初始化流程如图 11.12 所示。 微机原理与接口技术 ·318· ·318· 通信控制寄存器的锁存位置 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 ;读取通信状态寄存器的内容 微机原理与接口技术 ·320· ·320· TEST12: 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 的结构、功能及编程应用。 异步通信在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数 据位的位数为 5~8 位。在传送时,按照低位在前、高位在后的顺序传送。奇偶校验位 用于校验数据传送的正确性,可以没有,也可以由程序来指定。最后传送的是高电平 的停止位,停止位可以是 1 位、1.5 位或 2 位,两个字符之间空闲的位要由高电平来 填充。 同步通信在传输信息时,信息是以数据块为单位进行传送,不仅字符内部位与位 之间是同步的,而且字符之间的传送也是同步的,因此,收发双方对时钟同步要求严 格,所以设备也比较复杂。同步通信主要有两种:一种是面向字符的,它的特点是把 每个帧看作由若干个字符组成的数据块,并规定了一些特殊字符作为同步字符以及传 输过程的控制信息;另一种是面向比特的,它的特点是把数据及控制信息看作比特流 的组合,靠约定的比特组合模式来标志帧的开始和结束。 微机原理与接口技术 ·322· ·322· 11.5 习 题 1. 选择题 (1) 异步通信协议规定的字符格式中,数据位一般是( )位。 A. 1~2 B. 5~8 C. 3~4 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. 50~9600b/s B. 100~10000b/s C. 20~2000b/s D. 30~3600b/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. 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 题 (1) 使用 8250 编程。假设要发送的字符数量存放在 CX 中,要发送的字符顺序地存放 在 DATA 开始的内存区中,请写出发送这组字符的程序段。 (2) 使用 8250 编程。用查询方式接收一个数据,写出该子程序段。
本文档为【串口原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_431129
暂无简介~
格式:pdf
大小:289KB
软件:PDF阅读器
页数:17
分类:工学
上传时间:2011-07-27
浏览量:17