异步串行通信接口实验

上传人:第*** 文档编号:34207180 上传时间:2018-02-21 格式:DOC 页数:11 大小:143KB
返回 下载 相关 举报
异步串行通信接口实验_第1页
第1页 / 共11页
异步串行通信接口实验_第2页
第2页 / 共11页
异步串行通信接口实验_第3页
第3页 / 共11页
异步串行通信接口实验_第4页
第4页 / 共11页
异步串行通信接口实验_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《异步串行通信接口实验》由会员分享,可在线阅读,更多相关《异步串行通信接口实验(11页珍藏版)》请在金锄头文库上搜索。

1、计算机系统的通信实验一目的:了解计算机间的数据通信的基本技术;了解 RS232C 的结构及使用方法。RS-232C 9 芯连接器插针定义如下:1 保护地 12 发送数据 TXD 2 3 接收数据 RXD 34 请求发送 RTS 45 准允发送 CTS 56 数据装置准备好 DSR 620 数据终端准备好 DTR 208 载波检测 CD 87 信号地 7二使用设备:带有 RS232C 通信接口的微型计算器及一根多芯电缆。三8250 异步串行接口:IBM PC 系统可选的串行异步通信接口板上用的 UART 是一片 INS8250,以它为核心,附加一些辅助电路,如 I / O 地址译码电路电平变换电

2、路等,组成了 RS232C 接口,所以,对 RS232C 编程实际上是对8250 的编程。8250 的逻辑框图如下:内部总线路 SIN接收数据寄存器 移位寄存器数据总线线控制寄存器 接收定时 CLK 和控制分频寄存器(L) 波特率地址 分频寄存器(H) 产生器总线地址 发送定时选 线状态寄存器 和控制择 SOUT控制线 等 发送保持寄存器 移位寄存器控制 Moden 控制寄存器 Moden RTS CTS逻 控 制 DTR DSR辑 逻 辑 RI OUT1Moden 状态寄存器 OUT2 RLSD中断允许寄存器 中断控 INTRPT制逻辑中断标识寄存器(一)8250 的编程模型8250 异步串

3、行接口是用于 IBMPC 串行通讯的接口芯片,8250 内含比特率分频器,无须外接,所以用它构成接口非常简单。有两个串口,每个串口上有 10 个寄存器,IBM PC 系统只为这 10 个寄存器分配了连续的个端口地址,其端口地址分配如下:分配的端口地址 输入还是输出相应寄存器3F8H2F8H 输出发送数据寄存器3F8H2F8H 输入接收数据寄存器3F8H2F8H 输出波特率分频器(数据传输速度)3F9H2F9H 输出波特率分频器3F9H2F9H 输出中断允许寄存器3FAH2FAH 输入中断标识寄存器3FBH2FBH 输出线控制寄存器3FCH2FCH 输出Modem 控制寄存器3FDH2FDH 输

4、入线狀态寄存器3FEH2FEH 输入Modem 狀态寄存器注:标有寄存器地址是线控制存器位为时的寄存器地址,标有寄存器地址是线控制存器位为时的寄存器地址。从功能上分,这 10 个寄存器可分为两组:一组用于工作方式,通信参数的控置和设置。如数据格式有关参数的设置,是否允许中断方式的设置以及是否使用 RTS,DTR 等联络控制信号等,属于这一组的有 5个寄存器:波特率分频器 L(低位)和 H(高位)线控制寄存器,Moden 控制寄存器,中断允许寄存器。这 5 个寄存器都是在 8250 初始化时用 OUT 指令向其中置入初值的。 另一组寄存器用于实现通信传输,有 5 个寄存器,它包括:输入和输出的缓

5、冲寄存器接收数据寄存器和发送保持寄存器,记忆当前状态的寄存器线状态寄存器,Moden 状态寄存器和中断标识寄存器。 (二)8250 的初始化:波特率的设置:(波特率分频器 L 和 H)是用 OUT 指令向地址为 3F8H 和 3F9H 的两个波特率分频器置入合适的值实现的。在初始化时,将线控寄存器最高为置,然后写 3F8H,3F9H 便可对串行传送速率进行初始化。波特率分频器确定串行传送的速率(每秒传送的位数)如下:波特率 分频器 H 分频器 L50 09H 00H75 06H 00H110 04H 17H1345 03H 59H150 03H 00H300 01H 80H600 00H C0

6、H1200 00H 60H1800 00H 40H2000 00H 3AH2400 00H 30H3600 00H 20H4800 00H 18H7200 00H 10H9600 00H 0CH19200 00H 06H2对线控制寄存器初始化:(线控制寄存器: 3FBH/2FBH )写线控制寄存器可以设置串行数据的格式和选择是否设置波特率,其各位定义如下:D7 D6 D5 D4 D3 D2 D1 D0数据定位0 0 5 位0 1 6 位1 0 7 位1 1 8 位停止位0 1 位1 1. 5 位(D1 D0=00)1 2 位(D1 D000) 校验X 0 无校验位0 1 形成奇校验位1 1 形

7、成偶校验位是否为不变校验位 01 否0 校验位永为 1(D4 D3=01)0 校验位永为 0(D4 D3=11)0 永无校验位(D3=0)是否置段点电平 00 否1 是,强迫在送数据线上输出 01 置波特率0 其它3. 对 MODEM 控制寄存器初始化:(MODEM 控制寄存器: 3FCH/2FCH)MODEM 控制寄存器各位意义如下:0 0 0 D4 D3 D2 D1 D01 使 DTR 输出有效 准备好1 使 RTS 输出有效1 使 OUT1 输出有效(没利用)01 使 OUT2 输出有效(用于开放和禁止中断)0(这节课)1 使 SOUT 与 SIN 内部接通 04.中断允许寄存器初始化:

8、(中断允许寄存器:3F9H/2F9H)8250 具有形成和发出中断请求信号的功能(见逻辑框图的 INTRPT) ,在 IBM PC 的 RS232C 接口板上,这个信号从插头上输出,在接口板插入系统总线插槽时,这个信号接点与系统总线的 IRQ4 相接,是否利用中断功能,可以由编程设定。对 IBM PC 而言,只有在置 MODEN 控制寄存器第 3 位 OUT2 为 1时,才能允许下图所示的各种中断,中断允许寄存器各位意义如下: 0 0 0 0 D3 D2 D1 D01 允许接收数据寄存器满发中断1 允许发送数据寄存器空发中断1 允许接收字符出错或收到断点发中断1 允许 MODEM 状态改变发中

9、断(三)收发通信编程:在 8250 初始化之后就可以通信了。接收的基本操作是对接收数据寄存器(地址为 3F8H)执行 IN 指令: MOV DX,3F8H IN AL,DX发送的基本操作是对发送保持寄存器(地址为 3F8H)执行 OUT 指令: MOV DX,3F8HOUT DX,AL为了在发送和接收过程中不丢失信息,除上述基本操作外,还有许多问题需要解决。在通信技术术语中,解决串行通信过程中在接口丢失信息的问题,称为流量控制 (Flow Control)。流量控制有两种方法:一种是完全用程序控制,另一种是程序借助接口硬件实现。1 完全用程序实现流量控制,如果计算机的 RS232C 接口与一个

10、输出设备相接,这时要求设备具有向计算机发 XOFF 和 XON 代码的功能,而计算机用程序与之相配合实现流量控制。同样,如果与计算机的RS232C 接口相接的是输入设备,要求它具有对 XOFF 和 XON 代码有合适的响应能力:当计算机来不及处理接收的数据时,向输入设备发 XOFF 代码,输入设备的响应应该是暂停向计算机发字符代码;计算机希望输入设备恢复发来代码时,向输入设备发 XON 代码,输入设备的响应应该是恢复向计算机发送数据,有些外部设备与计算机之间是双向传送的,这要根据这种外设是否有发出和响应 XOFF 和 XON 的功能,来决定是否能用程序进行流量控制。2 借助接口硬件实现流量控制。借助接口硬件实现流量控制,必须依靠接口中的状态信息和控制功能。这实际上是把 Moden 状态寄存器,线状态寄存器提供的信息利用起来,并通过 Moden 控制寄存器实施控制。在用 IN 指令输入代码前,必须先测试状态信息的位 0 是否已经为 1,在对接收数据寄存器执行 IN 指令时,将使线状态寄存器的位 0 置 0,表示数据已取走。在发送数据时,要先测试位 5 是否为 1。向发送保持寄存器发送新的代码后,使状态位 5 置 0。(a).线状态寄存器: 3FDH/2FDH 读线状态寄存器可以了解线路传输状态,其各位定义如下:0 D6 D5 D4 D3 D2 D1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号