9.7 采用 rs-485 的异步串行通讯接口 9.7.1 rs-232 的局限

34
1 http://www.cs.hbnu.edu.cn 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖 9.7 湖湖 RS-485 湖湖湖湖湖湖湖湖湖 9.7.1 RS-232 湖湖湖 RS-232C RS-232C 湖湖 湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖 湖湖 湖湖湖湖 一传 湖湖湖 湖湖 湖湖湖湖 一传 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖“ 一, 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖“ 一, 1 1 湖“ 湖“ 0” 0” 湖湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖湖湖 湖湖湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖 ,, ,。 湖湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖湖湖 湖湖湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖 ,, ,。 湖湖湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖 湖 湖湖湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖 湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖 湖 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖“ 湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖湖“ 0 0 湖湖“ 湖湖“ 1 1 湖“ 湖“ 1 1 湖湖“ 湖湖“ 0 0 湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖 。, 湖湖湖湖湖湖湖湖湖湖湖湖 湖湖湖 。, 20Kb/s 20Kb/s 湖湖 湖湖 湖湖湖湖湖湖 湖湖湖湖湖湖 15m 15m

Upload: ford

Post on 11-Jan-2016

153 views

Category:

Documents


0 download

DESCRIPTION

9.7 采用 RS-485 的异步串行通讯接口 9.7.1 RS-232 的局限. RS-232C 采用 单端驱动、单端接收的单端双极性电路 标准。仅用一条线路传输一种信号,根据该信号线上电平相对于公共的信号地电平的大小来决定逻辑的 “ 1 ” 和 “ 0 ” 。 对于多条信号线来讲,它们的地线是公共的,这种共地传输方式,抗干扰能力很差。 尽管采用电平转换器来提高信号传输电平,但在较长距离时,由于电压损失,仍不可避免错误。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

1 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.7 采用 RS-485 的异步串行通讯接口9.7.1 RS-232 的局限• RS-232CRS-232C 采用采用单端驱动、单端接收的单端双极性电路单端驱动、单端接收的单端双极性电路

标准。仅用一条线路传输一种信号,根据该信号线上标准。仅用一条线路传输一种信号,根据该信号线上电平相对于公共的信号地电平的大小来决定逻辑的“电平相对于公共的信号地电平的大小来决定逻辑的“1”1” 和“和“ 0” 0” 。。

• 对于多条信号线来讲,它们的地线是公共的,这种共对于多条信号线来讲,它们的地线是公共的,这种共地传输方式,抗干扰能力很差。地传输方式,抗干扰能力很差。

• 尽管采用电平转换器来提高信号传输电平,但在较长尽管采用电平转换器来提高信号传输电平,但在较长距离时,由于电压损失,仍不可避免错误。距离时,由于电压损失,仍不可避免错误。

• 当信号穿过电磁干扰环境时,也可能因附加的干扰信当信号穿过电磁干扰环境时,也可能因附加的干扰信号电平使发送的“号电平使发送的“ 00”” 变为“变为“ 11”” 或“或“ 11”” 变为“变为“ 00”” 。故其信号波特率不能过高,仅限在。故其信号波特率不能过高,仅限在 20Kb/s20Kb/s 以下以下,且距离不大于,且距离不大于 15m15m 。。

Page 2: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

2 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.7.2 RS-485 总线

1. RS-485 接口标准是一种平衡传输方式平衡传输方式的串行接口标准,这个标准的电气特性对逻辑电平的定义是根据两对逻辑电平的定义是根据两条传输线之间的电位差值来决定的条传输线之间的电位差值来决定的,当 AA' 线的电平比 BB' 线的电平高 200mⅤ 时表示逻辑“ 1” ,当AA' 线的电平比 BB' 线的电平低 200mV 时表示逻辑“ 0” 。

Page 3: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

3 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

2. RS-485 标准允许在电路中可有 3232 个发送器个发送器,和 3232 个个接收器接收器。允许一个发送器驱动多个负载设备一个发送器驱动多个负载设备,负载设备可以是驱动发送器、接收器或收发器组合单元 。

3. RS-485 的共线电路结构是在一对平衡传输线的两端都一对平衡传输线的两端都配置终端电阻配置终端电阻,其发送器、接收器和组合收发器可挂在平衡传输线上的任何位置,实现在数据传输中多个驱动器和接收器共用同一传输线的多点应用。

4. 由于 RS-485 标准采用差动发送 / 接收,因此共模抑制共模抑制比高、抗干扰能力强比高、抗干扰能力强;是多点对多点的全双工传输是多点对多点的全双工传输。

5.5. 传输速率高传输速率高,最大传输速率可达 10Mb/s (传送 15m),传输信号的摆幅小传输信号的摆幅小( 200mV );

6.6. 传送距离远传送距离远,采用双绞线,在不用 MODEM 的情况下,当 100Kb/s 的传输速率时,可传送的距离为 2km。

Page 4: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

4 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

9.7.3、采用 RS-485的异步串行通信接口:

一、接收发送芯片MAX485/491 简介:MAX485用于半双工,MAX491用于全双工 其引脚功能见 P240表 9.6

二、在网络中的连接: 见 P242图 9.30

三、设计: 见 P243图 9.31

Page 5: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

5 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.8 、异步通信适配器的分析与使用 PC 微机异步通信适配器是微机与微机、微机与 MODEM 及微机与外设之间进行异步通信的接口。其核心是 UART (通用异步收 / 发器)。

常见的 UART 主要有 INS8250INS8250 、 PC16450PC16450 和 PC16550PC16550 。此外, PC16PC16650650 和 PC16750PC16750 带更大缓冲的 UART ,它们在功能上与 INS8250INS8250 相同,但提供了更高的传输速度,而 PIC16550PIC16550 还使用了 FIFO 数据缓冲方式,大大增加了数据的吞吐量。UART 的寄存器及其编程方法: INS8250 和 PC16450 有 10 个寄存器,而 PC16550 有 11 个寄存器,但 PC 机只分配了 7 个 I/O 口地址供访问,故必须有两个端口地址被两个寄存器所共用:

1 、发送保持寄存器( THR )和接收数据寄存器( RDR )共用一个端口,并 且是 UART 的最低地址号,以“写”访问 THR ,以“读”访问 RDR 。

2 、波特率除数锁存器( BRD )的除数值为 16 位,分高、低两字节,其低字节 BRDL 寄存器用的端口与 THR (或 RDR )的端口相重,为了区别,在通信线路控制器( LCR )中设置了除数寄存器访问允许位 DLAB ( D7 位),当要访问 BRD 时,置 DLAB 位( D7 )为 1 ,为 0 时则访问 THR 或 RDR。见 P244 表 9.8

Page 6: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

6 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.8.1 、 INS8250 外部引脚

Page 7: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

7 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用1. 并行数据 I/O 及其控制线

• D7~D0 8 位双向三态数据线。• CS0, CS1 和 CS2 片选线。• ADS 地址选通线 (锁存片选和内部寄存器选择锁存片选和内部寄存器选择 )• DISTR 和 DISTR 数据输入选通。 (读寄存器允许读寄存器允许 ) • DOSTR 和 DOSTR 数据输出选通。 ( 写寄存器允许写寄存器允许 ) • A0, A1 和 A2 内部寄存器选择。 • CSOUT 片选输出。(为高表示该片被选中为高表示该片被选中)) • DDIS 驱动器禁止。 ( 禁止处理器和禁止处理器和 82508250 在在

数据线上的收发器动作数据线上的收发器动作 )

Page 8: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

8 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用2. 串行数据 I/O线• SOUT 串行数据输出。 • SIN 串行数据输入。 • XTAL1 外部时钟输入端。 • XTAL2 基准时钟信号输出端。 • BAUDOUT 工作时钟输出。

FF 工作时钟工作时钟 ==FF 基准时钟基准时钟 ÷÷ 除数寄存器除数寄存器 == 传送波特率传送波特率 ×16×16

• RCLK 接收时钟输入。可和 BAUDOUT 相接

Page 9: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

9 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用3. 和 MODEM 的握手信号线

• RTS请求发送,输出线。

• DSR 数据设备就绪,输入线 • DTR 数据终端就绪,输出线。 • RI振铃指示,输入线。 • RLSD 接收线路信号检测,输入线。

• CTS清除发送,输入线。

Page 10: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

10 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

4. 中断请求,复位输入及其他信号线

• INTPRT 中断请求输出。 • MR 主复位输入。

• OUT1 和 OUT2 由用户指定的输出端。 MODEM 控制寄存器的第二、第三位决定。

Page 11: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

11 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.8.2 、 UART内部结构

Page 12: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

12 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

DLAB A2A1A0 被访问的寄存器0 000 接收缓冲寄存器 (读 ),发送保持寄存器

(写 )0 001 中断允许寄存器1 000 波特率除数寄存器 (低字节 ) 1 001 波特率除数寄存器 (高字节 )X 010 中断识别寄存器 (读 ), FIFO 控制器 (写 ) X 011 线路控制寄存器 X 100 MODEM 控制寄存器X 101 线路状态寄存器X 110 MODEM状态寄存器X 111 Scratch 寄存器

DLAB 是线路控制寄存器的 D7 位。

Page 13: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

13 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用1. 线路控制寄存器 LCR

D7 D6 D5 D4 D3 D2 D1 D0

WLS0WLS1PEN STBEPSSPSBDLAB

字符长度选择字符长度选择00——500——5 位位01——601——6 位位10——710——7 位位11——811——8 位位停止位选择停止位选择

0——10——1 位位1——1.51——1.5 位位 (D1D0=00(D1D0=00 )) 22 位位 (D1D0<>00)(D1D0<>00)

奇偶校奇偶校验允许验允许

奇偶校奇偶校验选择验选择

11——11——偶校验偶校验01——01——奇校验奇校验

附加奇偶标志附加奇偶标志位选择位选择0——0—— 不附加不附加1——1—— 附加附加 11位位

中止设置中止设置1—1— 中止中止0—0—正常正常

除数寄存器除数寄存器访问允许访问允许0——0——禁止禁止1——1—— 允许允许

A2A1A0=011 用于指定异步通信的数据格式,其最高位用于指定允许访问除数锁存器。

Page 14: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

14 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用2. 线路状态寄存器 LSR

D7 D6 D5 D4 D3 D2 D1 D0

DROEFE PEBITHRETSRE

接收接收缓冲缓冲区满区满

接收接收重叠重叠错错

接收接收奇偶奇偶错错

接收接收格式格式错(错(无正无正确的确的停止停止位)位)

中止中止识别识别标志标志

发送发送保持保持器空器空

发送发送移位移位器空器空

FIFOFIFO 中中接收数据接收数据错误错误 ((1616550550))

A2A1A0=101 用来向 CPU 提供数据接收和发送过程中产生的状态,可读可写。

Page 15: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

15 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用3. 发送保持寄存器 THR 和接收缓冲寄存器 RDR

D7 D0

CPU 来的 8 位数据并行进 THR

发送保持寄存器 THR低位到低位到高位串高位串行移位行移位到到 SOUSOUTT引脚引脚输出输出

……D7 D0

接收移位寄存器 RSR发送移位寄存器 TSR

接收数据寄存器 RDR低位到低位到高位从高位从 SSININ引脚引脚串行移串行移位进来位进来

8 位数据并行进CPU

发送方 接收方

DLAB=0 , A2A1A0=000

Page 16: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

16 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用4. 波特率除数锁存器 ( BRDL 和 BRDH) 这是一个软件控制的分频器,输出的工作时钟频率为 16倍的波特率。

除数寄存器值 除数寄存器值 = = 基准时钟频率基准时钟频率÷÷(( 16×16× 波特率)波特率) INS8250INS8250 芯片输入的基准时钟频率为芯片输入的基准时钟频率为 1.8432MHz1.8432MHz ,若,若波特率为波特率为 4800b/s4800b/s ,则波特率除数为,则波特率除数为 0018H0018H ,, DLHDLH 中中应填应填 00H00H ,, DLLDLL 中应填中应填 18H 18H 。。

思考题: 使用 INS8250 异步传输 7 位 ASCII码,如果需要数据传输速率为 2400 字符 /秒,使用 1 位奇偶校验位和 1 位停止位,波特率除数锁存器的值是多少?

注意:注意: PC16550PC16550 的基准时钟一般为的基准时钟一般为 18.432MHz18.432MHz 。。

DLAB=1, A2A1A0=001( 高高 ) 或 000( 低低 )

Page 17: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

17 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

5. 中断识别寄存器 IIR

D7 D6 D5 D4 D3 D2 D1 D0

IPID1ID20

未决未决中断中断指示指示0-0- 有有1-1-无无

中断中断类型类型标识标识

超时中断超时中断0-0- 不超时不超时1-1-超时超时

允许允许 6464 字节字节FIFO(FIFO(1675016750))0-0-禁止禁止1-1- 允许允许

FIFOFIFO 使使用指示用指示((1655016550))01-01- 允许允许 FIFOFIFO 但不可但不可用用11-11- 允许允许 FIFOFIFO

A2A1A0=010 (读) IIR 是只读存储器。高 5 位对 INS8250 和 PC16450 全为 0 ,以下是对 PC16550

Page 18: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

18 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

ID2 ID1 中断类型 优先权1 1 接收出错 ( 重叠、奇偶错、格式错和

中止 )最高

1 0 接收缓冲器满 次高0 1 发送保持器空 低0 0 MODEM状态 (CTS 、 DSR 、 RI

和 RLSD)改变最低

Page 19: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

19 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

6. 中断允许寄存器 IER

D7 D6 D5 D4 D3 D2 D1 D0

I2EI1EI3E0

类型类型 22中断中断 ((接收缓接收缓冲器满冲器满 ))1-1- 允许允许0-0-屏蔽屏蔽

类型类型 11中断中断 ((发送保发送保持器空持器空))1-1- 允许允许0-0-屏蔽屏蔽

类型类型 33中断中断 ((接收出接收出错)错)1-1- 允许允许0-0-屏蔽屏蔽

进入低进入低功耗模功耗模式式 ((1651655050))

进入睡进入睡眠模式眠模式((1675016750))

DLAB=0 , A2A1A0=001

I0E0

类型类型 00中断中断 ((MODMODEMEM状状态改变态改变))1-1-运运行行0-0-屏屏蔽蔽

Page 20: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

20 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用7.MODEM 控制寄存器 MCR

A2A1A0=100

D7 D6 D5 D4 D3 D2 D1 D0

DTRRTSOUT10

数据数据终端终端就绪就绪

请求请求发送发送

辅助辅助输出输出11

自动流自动流量控制量控制((1675016750))

环路环路检测检测((内内部自部自循环循环))

OUT20

辅助辅助输出输出22 ,, PPCC 用用做中做中断断

LOOP

注意这里的注意这里的 OUTiOUTi 位极性和位极性和 OUTiOUTi引脚相反。引脚相反。

用于设置对 MODEM 的联络控制信号和芯片自检。

Page 21: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

21 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用8.MODEM状态寄存器 MSR

A2A1A0=110

D7 D6 D5 D4 D3 D2 D1 D0

CTSDSRTERIRLSD

CTSCTS位发位发生改生改变变

DSRDSR位发位发生改生改变变

收到收到“振“振铃指铃指示”示”后沿后沿(下(下降沿降沿))

收到“收到“数传机数传机就绪”就绪”

收到收到“清“清除发除发送”送”

RLSDRI

RLSRLSDD 位位发生发生改变改变

CTSDSR

收到收到“振“振铃指铃指示”示”

收到收到“接“接收线收线载波载波检测检测””

用于检测和记录来自 MODEM的联络控制信号及其状态的改变的。

Page 22: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

22 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.FIFO 控制寄存器 (FCR)

A2A1A0=010 (写) PPC16550C16550 后才有后才有D7 D6 D5 D4 D3 D2 D1 D0

允许允许FIFFIFOO 缓缓冲器冲器工作工作

清除清除接收接收FIFFIFOO 缓缓冲器冲器

清除清除发送发送FIFFIFOO 缓缓冲器冲器

允许允许 6644 字节字节FIFOFIFO((1675016750))

保留保留 DMDMAA 方方式选式选择择

接收接收端中端中断触断触发器发器水平水平(LS(LSB)B)

接收接收端中端中断触断触发器发器水平水平(MS(MSB)B)

Page 23: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

23 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

触发器水平即是指示在中断产生之前,接收缓冲器应该装满多少个字节。

D7D6 触发器水平00 1 字节01 4 字节10 8 字节11 12 字节

Page 24: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

24 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用常用 UART 比较:

8250 16450 16550 16650 16750

FIFO - - 16 字节

32 字节

64 字节

超时检测 - -- √√ √√ √√

低功耗模式 - -- √√ √√ √√

睡眠模式 - -- -- -- √√

自动流量控制 - -- -- -- √√

临时寄存器 - √√ √√ √√ √√

Page 25: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

25 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

9.8.3 采用 UART 的异步通信适配器硬件逻辑1.PC 机的串行口

串口号 COM1 COM2 COM3 COM4

基地址 3F8 2F8 3E8 2E8

中断号 IRQ4 IRQ3 IRQ4 IRQ3

Page 26: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

26 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用2.PC 机的串行口电路

Page 27: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

27 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.8.4 INS8250初始化

• 通过写除数寄存器(端口 0 和端口 1 )设置波特率

•通过写线路控制寄存器(端口 3 )设置通信数据格式。

•通过写 MODEM 控制寄存器 MCR (端口4 )设置 MODEM 控制字。

•通过写中断允许寄存器(端口 1 )设置中断允许控制字。

Page 28: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

28 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

mov dx,3fbh ;线路控制寄存器地址线路控制寄存器地址mov al,80hout dx,al ;使使 DLAB=1DLAB=1 ,以便下面写除,以便下面写除数数

;寄存器寄存器mov dx,3f8h ;低位除数寄存器低位除数寄存器mov al,0ch ; 96009600 波特率的除数低波特率的除数低 88 位位out dx,almov al,00inc dx ;高位除数寄存器高位除数寄存器out dx,al

Page 29: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

29 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

mov al, 00011011b ;偶校验、偶校验、 11 位停止位停止位位

;; 88 位数据位位数据位mov dx,3fbh ;线路控制寄存器地址线路控制寄存器地址out dx,almov al,03h ;mov dx,3fch ; MODEMMODEM 控制寄存器地址控制寄存器地址out dx,almov al,0 ;禁止中断禁止中断mov dx,3f9h ;中断允许寄存器地址中断允许寄存器地址out dx,al

Page 30: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

30 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用9.8.5 查询方式串行通信程序设计1. 查询方式发送 初始化 8250

读 LSR

D5=1?

发送一个字符

发完?

结束

Y

Y

N

N

Page 31: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

31 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用2. 查询方式接收 初始化 8250

读 LSR

D0=1?

接收一个字符

收完?

结束

Y

Y

N

N

有错?N

Y

错误处理

Page 32: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

32 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用

1. 通信中断初始化9.8.6 中断方式串行通信程序设计• 修改中断向量,修改中断向量,按使用的端口 COM1 或 COM2

,接管中断 0CH 或中断 0BH 。• 确定确定 INS8250INS8250 操作方式,操作方式,设置中断允许寄存器相

应位的允许或禁止,并允许中断操作(置 MCR的 D3=1 )。

• 确定起止式通信协议确定起止式通信协议,设置通信波特率及数据帧传输格式。

• 开放通信中断开放通信中断,对 8259A 中断控制器的屏蔽寄存器编程( OCW1 ),允许中断 IRQ4 或 IRQ3 。

Page 33: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

33 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用2. 通信中断服务程序

•首先读取中断识别寄存器首先读取中断识别寄存器,判断中断源,然后转向对应的处理子程序。判断中断源,应该按照中断优先级别次序进行。•当中断识别寄存器 D2D1=11 时,表明接收出错中断接收出错中断,需要再读取线路状态寄存器,需要再读取线路状态寄存器,分析错误原因,再进行错误处理。•可能出现多个中断源同时引发中断。因此,每处理完因此,每处理完一种中断源后,应继续读取中断识别寄存器,检测一种中断源后,应继续读取中断识别寄存器,检测 DD00 是否为“是否为“ 0”0” ,,当 D0=0 时,表明还有未决中断,应该继续分析中断源并进行中断处理。•从中断程序返回的条件是中断识别寄存器的从中断程序返回的条件是中断识别寄存器的 D0=1D0=1 。

Page 34: 9.7  采用 RS-485 的异步串行通讯接口 9.7.1    RS-232  的局限

34 http://www.cs.hbnu.edu.cn 湖北师范学院计算机科学与技术学院

微机接口技术用本章要点

串行通信的特点,调制解调器及其作用串行通信的基本方式及其特点异步起止式数据格式、各部分的规定、起 /止位的作用数据透明, BSC及 HDLC实现数据透明的方法RS-232C接口标准各信号线的作用RS-232C接口近程通信的连接及其原理EIA电平的逻辑定义串行通信接口的主要任务8251A两个命令字的写入方式 ( 如何区分 )8251A的编程应用

作业: P257.T1 、 T3、 T13、 T15