双机串行通信的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双机串行通信的设计与实现

一、设计要求

1.单机自发自收串行通信。接收键入字符,从8251A的发送端发送,与同一个8251A的接收端接收,然后在屏幕上显示出来。

2.双机串行通信,在一台PC机键入字符,从8251A的发送端发送给另一台PC机,另一台PC机的8251A的接收端接收,然后在屏幕上显示出来。

二、所用设备

IBM-PC机两台(串行通信接口8251A两片,串行发送器MC1488和串行接收器MC1489各两片,定时器/计数器8253,终端控制器8259等),串口线一根

串行直连电缆用于两台台电脑通过串行口直接相连,电缆两

端的插头都是9 针的母插头:

三、硬件方案

1.设计思想

计算机传输数据有并行和串行两种模式。在并行数据传输方式中,使用8条或更多的导线来传送数据,虽然并行传送方式的速度很快,但由于信号的衰减或失真等原因,并行传输的距离不能太长,在串行通信方式中,通信接口每次由CPU得到8位的数据,然后串行的通过一条线路,每次发送一位将该数据放送出去。

串行通信采用两种方式:同步方式和异步方式。同步传输数据时,一次传送一个字节,而异步传输数据是一次传送一个数据块。

串口是计算机上一种非常通用设备串行通信的协议。大多数计算机包含两个基于RS232的串口。串口按位(bit)发送和接收字节。尽管比按字节(byte)

的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,RS-232只限于PC串口和设备间点对点的通信。

IBM PC及其兼容机提供了一种有较强的硬件依赖性,但却比较灵活的串行口I/O的方法,即通过INT 14调用ROM BIOS串行通信口的例行程序。该例行程序。该例行程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读写字符等功能。

14号中断的功能总结如下:

串行口服务(Serial Port Service——INT 14H)

00H —初始化通信口03H —读取通信口状态

01H —向通信口输出字符04H —扩充初始化通信口

02H —从通信口读入字符

(1)、功能00H:初始化通信口

入口参数:AH=00H

DX=初始化通信口号(0=COM1,1=COM2,……)

AL=初始化参数,参数的说明如下:波特率奇偶位停止位字的位数

000 = 110X0 = None0 = 1 bit10 = 7 bits

001 = 15001 = Odd1 = 2 bits11 = 8 bits

010 = 30011 = Even

011 = 600

100 = 1200

101 = 2400

110 = 4800

111 = 9600

(2)、功能01H :向通信口输出字符

入口参数:AH=01H

AL=字符

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AL的值不变

AH的位7=0——操作成功,通信口状态,AH的位6~0是其状态位(3)、功能02H :从通信口读入字符

入口参数:AH=02H

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AL=接受的字符

AH的位7=0——操作成功,通信口状态,AH的位6~0是其状态位(4)、功能03H

功能描述:读取通信口状态

入口参数:AH=03H

DX=初始化通信口号(0=COM1,1=COM2,……)

出口参数:AH=通信口状态,AL=Modem状态,参见功能号00H中的说明

(5)、功能04H

功能描述:扩充初始化通信口,仅在PS/2中有效

本设计正是利用14号配置串口,实现双机的双工通信及单机的自发自收通信。并画出了比较完整的原理图与写出了比较详细的程序 2.原理框图

3.工作原理

IBM PC 及其兼容机间经过RS -232-C 口串行通信是在实际系统中用的最广泛的。

上述框图只是串口通信的的一个内部的原理图,由于,本次设计是直接配置的PC 机中的RS232适配卡,上述过程并不能看到,不过在,原理图的分析中会做详尽的解释

本次实验的外部来看实际的电路图

CPU

总线

定时器8253

8251

1488

1489 9

针串口

PC机上的串行口是9 针公插座,引脚定义为:

Pin Name Dir Description

1CD Carrier Detect

2RXD Receive Data

3TXD Transmit Data

4DTR Data Terminal Ready

5GND System Ground

6DSR Data Set Ready

7RTS Request to Send

8CTS Clear to Send

9RI Ring Indicator

所以本设计所采用的串口为双端母插头。

串口为交叉线,2,3号针脚交叉相连,5号针接公共地。

EIA RS-232-C接口(9针)插头连线方法:

发送RXD 2 ←→ 3 TXD 接收

接收TXD 3 ←→ 2 RXD 发送

信号地GND 5 ←→ 5 GND 信号地4.电路原理图

4.1顶层的模块图,top.pri

相关文档
最新文档