当前位置:文档之家› 异步串行通信接口实验

异步串行通信接口实验

异步串行通信接口实验
异步串行通信接口实验

计算机系统的通信实验

一.目的:了解计算机间的数据通信的基本技术;

了解RS─232C的结构及使用方法。RS----232C 9芯连接器插针定义如下:

二.使用设备:带有RS─232C通信接口的微型计算器及一根多芯电缆。

三.8250异步串行接口:

IBM PC系统可选的串行异步通信接口板上用的UART是一片INS8250,以它为核心,附加一些辅助电路,如I / O地址译码电路电平变换电路等,组成了RS232C接口,所以,对RS232C编程实际上是对8250的编程。8250的逻辑框图如下:

(一)8250的编程模型

8250异步串行接口是用于IBM PC串行通讯的接口芯片,8250内含比特率分频器,无须外接,所以用它构成接口非常简单。有两个串口,每个串口上有10个寄存器,IBM PC系统只为这10个寄存器分配了连续的7个端口地址,其端口地址分配如下:

分配的端口地址输入还是输出相应寄存器

3F8H/2F8H*输出发送数据寄存器

3F8H/2F8H*输入接收数据寄存器

3F8H/2F8H+输出波特率分频器L(数据传输速度)3F9H/2F9H+输出波特率分频器H

3F9H/2F9H*输出中断允许寄存器

3FAH/2FAH 输入中断标识寄存器

3FBH/2FBH 输出线控制寄存器

3FCH/2FCH 输出Modem控制寄存器

3FDH/2FDH 输入线狀态寄存器

3FEH/2FEH 输入Modem狀态寄存器

注:标有*寄存器地址是线控制存器7位为0时的寄存器地址,标有+寄存器地址是线控制存器7位为1时的寄存器地址。

从功能上分,这10个寄存器可分为两组:一组用于工作方式,通信参数的控置和设置。如数据格式有关参数的设置,是否允许中断方式的设置以及是否使用RTS,DTR等联络控制信号等,属于这一组的有5个寄存器:波特率分频器L(低位)和H(高位)

线控制寄存器,Moden控制寄存器,中断允许寄存器。这5个寄存器都是在8250初始化时用OUT指令向其中置入初值的。另一组寄存器用于实现通信传输,有5个寄存器,

它包括:输入和输出的缓冲寄存器——接收数据寄存器和发送保持寄存器,

记忆当前状态的寄存器——线状态寄存器,

Moden状态寄存器和中断标识寄存器。

(二)8250的初始化:

1.波特率的设置:(波特率分频器L和H)是用OUT指令向地址为3F8H和3F9H的两个波特率分频器置入合适的值实现的。

在初始化时,将线控寄存器最高为置1,然后写3F8H,3F9H便可对串行传送速率进行初始化。波特率分频器确定串行传送的速率(每秒传送的位数)如下:

波特率分频器H 分频器L

50 09H 00H

75 06H 00H

110 04H 17H

134.5 03H 59H

150 03H 00H

300 01H 80H

600 00H C0H

1200 00H 60H

1800 00H 40H

2000 00H 3AH

2400 00H 30H

3600 00H 20H

4800 00H 18H

7200 00H 10H

9600 00H 0CH

19200 00H 06H

2.对线控制寄存器初始化:(线控制寄存器: 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 D0≠00)

校验

X 0 无校验位

0 1 形成奇校验位

1 1 形成偶校验位

是否为不变校验位0

1 否

0 校验位永为1(D4 D3=01)

0 校验位永为0(D4 D3=11)

0 永无校验位(D3=0)

是否置段点电平0

0 否

1 是,强迫在送数据线上输出0

1 置波特率

0 其它

3. 对MODEM控制寄存器初始化:(MODEM控制寄存器: 3FCH/2FCH)

MODEM控制寄存器各位意义如下:

0 0 0 D4 D3 D2 D1 D0

1 使DTR输出有效准备好

1 使RTS输出有效

1 使OUT1输出有效(没利用)0

1使OUT2输出有效(用于开放和禁止中断)0(这节课)

1使SOUT与SIN内部接通0

4.中断允许寄存器初始化:(中断允许寄存器:3F9H/2F9H)

8250具有形成和发出中断请求信号的功能(见逻辑框图的INTRPT),在IBM PC的RS232C接口板上,这个信号从插头上输出,在接口板插入系统总线插槽时,这个信号接点与系统总线的IRQ4相接,是否利用中断功能,可以由编程设定。对IBM PC而言,只有在置MODEN控制寄存器第3位OUT2为1时,才能允许下图所示的各种中断,中断允许寄存器各位意义如下:

0 0 0 0 D3 D2 D1 D0

1 允许接收数据寄存器满发中断

1允许发送数据寄存器空发中断

1 允许接收字符出错或收到断点发中断

1 允许MODEM状态改变发中断

(三)收发通信编程:

在8250初始化之后就可以通信了。

接收的基本操作是对接收数据寄存器(地址为3F8H)执行IN指令:MOV DX,3F8H

IN AL,DX 发送的基本操作是对发送保持寄存器(地址为3F8H)执行OUT指令:MOV DX,3F8H

OUT DX,AL 为了在发送和接收过程中不丢失信息,除上述基本操作外,还有许多问题需要解决。在通信技术术语中,解决串行通信过程中在接口丢失信息的问题,称为流量控制(Flow Control)。流量控制有两种方法:一种是完全用程序控制,另一种是程序借助接口硬件实现。

1.完全用程序实现流量控制,如果计算机的RS232C接口与一个输出设备相接,这时要求设备具有向计算机发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 D0

1 接收数据寄存器满(接收准备好)

1 数据重迭错

1 奇偶出错

1 数据格式出错

1 检出断点

1 发送数据寄存器空(发送准备好)

1 发送移位寄存器空

发送数据寄存器空,表示CPU送给8250的数据已从发送数据寄存发送移位寄存器。此时8250又可以接收CPU的新数据,也就是发送准备好,写发送数据寄存器将使本位复位。

发送移位寄存器空,表示发送移位寄存器已将从发送数据寄存器收到的数据移位输出完备。此时又可从发送数据寄存器接收新数据。

接收数据寄存器满,表示已经接收完一个数据,放在接收数据寄存器中,此时CPU可已从8250读入数据,也就是接收准备好,读接收数据寄存器将使本位复位。

数据重迭错,表示接收数据寄存器满时,CPU尚未取走这个数据,又一个新接收到的串行数据又收完,

并送入接收数据寄存器。这样,原来的数据就被冲掉。这就称为重迭错,或溢出错。

数据格式出错,8250接收一个串行数据,经过起始位,数据位和奇偶校验位后应收到停止位“1”。如果此时仍收到“0”,则发生格式错。

检出断点,表示8250收到“0”电平的持续时间超过从起始位到停止位的总时间,注意检出断点和收到全0字节是完全不同的。

读线状态寄存器将使D1——D4位复位。

(b).MODEM状态寄存器: 3FEH/2FEH

MODEM状态寄存器各位意义如下:

D7 D6 D5 D4 D3 D2 D1 D0

1 CTS上的信号改变过

1 DSR上的信号改变过

1 RI上信号改变过

1 DCD上的信号改变过

CTS状态

DST状态

RI 状态

D CD状态

表示接口对方当前状态的信息有四位:位4—位7

CTS:对方通知本方可以向对方发送信息

DSR:对方通知本方对方已可以工作

RI:对方来的铃响信号指示

DCD:对方通知本方已检测到线路有载波

要正确进行通信操作,只有这4位状态信息是不够的,还要根据Moden状态寄存器低4位提供的信息来进行通信操作。每次对这个状态寄存器执行IN指令都将使低4位清0,只有相应的状态信号线上的有效信号重新到来,才能使低4位内相应位置1。

其中,低4位所谓信号改变过是指从上次读MODEM状态寄存器以来信号改变过。

(c).对上述两个状态寄存器状态的测试,可以决定是否用指令输入或输出字符代码。Moden控制寄存器的控制字节可以用来向对方提供状态信息。Moden控制寄存器的位0和位1分别控制发出DTR和RTS信号:DTR信号表示本方接口是否正常工作

RTS是向对方表示是否将向对方发送代码,对方可以判别这两个信号,决定自己的操作。

综上所述,借助硬件实现流量控制的过程就是,无论读入字符还是发送字符前,要先测试线路状态和对方(Moden)的状态,根据测试结果再决定下面操作,另一方面,向对方提供自己的状态,使对方也能根据对本方状态的测试决定如何操作。

3.发送数据寄存器:(3F8H/2F8H)

它寄存CPU送给8250的8位并行数据,8250内部电路再将它送到移位寄存器,变成串行数据输出。4.接收数据寄存器:( 3F8H/2F8H)

它寄存8250将要送给CPU的8位并行数据,8250收到串行数据通过移位寄存器变成并行数据,然后存入接收数据寄存器中。

(四).中断功能的实现

用编程的方法可以使8250具有发出中断请求的能力。IBM PC系统的串行接口板的中断请求信号是通过系统总线的IRQ4端加入的。中断服务程序的入口地址应该在中断向量地址表的0000:0030H开始的4个单元内。

8250内对中断起作用的是Moden控制寄存器位3(OUT2), 中断允许寄存器和中断标识寄存器。Moden 控制寄存器位3在初始化时必须设置为1,8250内的中断管理机构才起作用。

1.中断允许寄存器

中断允许寄存器的位0—位3分别管理4种中断源,初始化时,将中断允许寄存器的位0—位3的一位或几位置1,就能在对应的条件出现时发出中断请求。中断允许寄存器各位意义如下:

0 0 0 0 D3 D2 D1 D0

1允许接收数据寄存器满发中断

1允许发送数据寄存器空发中断

1允许接收字符出错或收到断点发中断

1允许MODEM状态改变发中断

2.中断标识寄存器

由于4种中断源中可能同时有一个以上的中断源满足条件,所以存在着识别中断源的问题,中断标识寄存器提供这种信息。读中断标识寄存器可以知道当前8250发生的最优中断是什么,以及是否还有其他8250中断发生。中断标识寄存器的含义如下:

0 0 0 0 0 D2 D1 D0

0 还有其他中断等待处理

1 无其他中断等待处理

0 0 MODEM状态改变

0 1 发生数据寄存器空

1 0 接收数据寄存器满

1 1 接收出错或检出断点

8250决定的中断优先级次序:

中断条件标识码(D1 D2) 优先级撤消标识码条件接收出错或有间断 1 1 0 对线状态数据寄存器读接收数据准备好 1 0 1 对接收数据寄存器读发送保持寄存器空0 1 2 向发送保持寄存器写Moden状态变0 0 3 对Moden状态寄存器读

四8250应用程序举例

(一). 查询方式

1.要求:

任何从键盘上输入的信息,一方面显示在CRT上,另一方面从串行接口输出;任何从串行接口输入的信息都将在CRT上显示出来;在键盘上输入“E sc”键时,则退出程序运行。

(1) 收发处理程序

测线路状态寄存器(3FDH)的值以判通信接口处于发送或接收就绪状态。举例如下:

REPEA T: MOV DX, 3FDH

IN AL, DX

TEST AL, 01H

JNZ RECEIV

TEST AL, 20H

JZ REPEA T

.

.

.

MOV DX, 3F8H ; 发送字符

OUT DX, AL

JMP REPEA T

RECEIV: MOV DX, 3F8H ; 接收字符

IN AL, DX

.

.

.

JMP REPEA T

(2) 键盘输入程序举例

MOV AH, 01H检测键盘是否有按键

INT 16H

JZ REPEA T

MOV AH, 00H键盘缓冲区有,从键盘取值

INT 16H

CMP AL,27

JZ RE

.

.

.

JMP REPEA T

RE: MOV AX,4C00H

INT 21H

(3) 显示通信字符举例

PUSH AX

PUSH BX

MOV BL, 00H

MOV AH, 0EH

INT 10H

POP BX

POP AX

2.程序的流程图如下:

3.程序清单:

略。(学生自编)

(二). 中断方式

1.要求:

使用IBM PC串口1,编制一个简易的仿终端程序,其功能如下:当按键时,将该键的ASCII码送串口输出,并将从串口1 收到的字符送显示器显示,假设接收用中断方式,发送用程序查询方式。

并设串口参数为:8 位数据位,无效验,2位停止位,波特率为9600BIT/S。

2.8259A中断控制器

在IBM PC 微机系统中,8088管理三类中断:

(1)内部中断,即软中断,包括由PSW的状态标志所产生的溢出中断,陷阱中断。

(2)非屏蔽中断NMI,外部中断产生。

(3)可屏蔽中断INTR,由8级外部中断产生。

8259A是一种可编程的中断控制器芯片,每片8259A可以管理8 级优先级中断。8259A的中断管理功能如下:

●记录各级中断源的中断请求;

●判优,确定是否应该响应和响应哪一级中断请求;

●响应中断时,向CPU传送中断类型号。

8259A所管理的8个中断源的类型号为8----0FH

中断优先级中断源中断类型码

IRQ0 电子钟时间基准08H

IRQ1 键盘09H

IRQ2 为用户保留的中断0AH

IRQ3 异步通信(COM2)0BH

IRQ4 异步通信(COM1)0CH

IRQ5 硬盘0DH

IRQ6 软磁盘0EH

IRQ7 并行打印机0FH

IBM PC系统板上的8259A占有两个端口地址:20H,21H。

3.可屏蔽中断传送数据的全过程:

(1)主程序为中断传送作准备

A.系统初始化中布置8259A以及其他接口

将IBM PC系统板上的8259A布置为单级,缓冲,普通非指定EOI方式。IBM PC系统板上的8259A的初始化程序段在ROM BIOS中。

B.应用程序进行的初始化

包括将中断服务程序首址的偏移和段值填入中断向量表相应类型号位置。开放8259A对应中断(IRQ4),有关编程接口的布置,等等。应强调,初始化布置必须在关中断条件下进行。

例:

开放IRQ4:

IN AL,21H

AND AL,0EFH

OUT 21H,AL

设置中断向量:

CLI ;关中断

MOV AX,00

MOV ES,AX

MOV DI,4*12

MOV AX,OFFSET RINT

CLD ;在串操作时,使地址增量

STOSW ;将AX的内容传送到由DI作为指针的目的串中

MOV AX,CS

STOSW

串操作指令:SI寻址源操作数,现行段在DS中

DI寻址目的操作数,现行段在ES中

或:用DOS系统功能调用(INT 21H)

DS:DX=中断向量

AL=中断类型号

AH=25H

MOV DX,OFFSET RINT

MOV AX,SEG RINT

MOV DS,AX

MOV AL,0CH ;COM1的中断类型码

MOV AH,25H

INT 21H

(2)中断申请

当外设准备好数据,则向8259A提出中断申请。8259A将新申请的中断和正在服务的中断进行比较判优。假设新的中断请求最优,则8259A就通过INTR引脚向CPU申请中断。

(3)响应中断

8088在执行当前指令的最后一时钟周期,检测INTR,如果为“1”,在标志寄存器中断使能位IF为1并且在没有NMI请求的条件下,下一个时钟周期进入INTR中断响应周期。

第一个中断响应周期,主8259A向从8259A送选择码。IBM PC为单级,无此操作。第二个中断响应周期,8088CPU接收8259A送来的向量号N,此外还做一系列内部操作:1.标志寄存器压栈保存。

2.将断点的段值和偏移值压栈保存。

3.将标志寄存器的中断允许位IF和单步标志位TF复位。

4.将存储器4N字单元内容送IP,4N+2字单元内容送CS。然后转到CS:IP去执行,即转到中断服务程序首址去执行。

应该强调的是上述中断响应的操作是直接由CPU硬件逻辑完成的,而不是由程序完成的。(4)中断服务程序的组成

A.开中断

开中断的目的是使在执行中断服务程序中能够响应更优先的中断请求,以构成多重中断系统。如果不开中断便成为单重中断系统。

B.保护现场

将本中断服务程序所要用到的现场(寄存器值)保存在堆栈中。

C.中断的具体处理

在此,也就是数据传送,通常还包括内存地址的修改,计数值的修改,等等。

D.向8259A发结束中断命令EOI

MOV AL,20H

OUT 20H,AL

E.恢复现场

凡是保存的现场都应恢复。

F.中断反回

恢复中断前的标志寄存器和CS:IP值,回到被中断的程序去,继续往下执行。中断返回由IRET指令完成。

4.程序框图如下:

串行通信技术-模拟信号转换接口

微机原理与应用实验报告6 实验9 串行通信技术 实验10A 模拟信号转换接口 实验报告

实验九串行通信技术 一、实验目的 1. 了解异步串行通信原理; 2. 掌握MSP430异步串行通信模块及其编程方法; 二、实验任务 1. 了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用 (1)利用PC机的串口助手程序控制串口,实现串口的自发自收功能 为实现PC串口的自发自收功能,须现将实验板上的扩展板去下,并将单片机板上的BRXD和BTXD用杜邦线进行短接,连接图如下所示: 由此可以实现PC串口的自收自发功能。 (2)思考题:异步串行通信接口的收/发双方是怎么建立起通信的 首先在异步通信中,要求接收方和发送方具有相同的通信参数,即起始位、停止位、波特率等等。在满足上面条件的情况下,发送方对于每一帧数据按照起始位数据位停止位的顺序进行发送,而接收方则一直处于接受状态,当检测到起始位低电平时,看是采集接下来发送方发送过来的数据,这样一帧数据(即一个字符)传送完毕,然后进行下一帧数据的接受。这样两者之间就建立起了通信。 2. 查询方式控制单片机通过板载USB转串口与PC机实现串行通信 (1)硬件连接图

(2)C语言程序 采用SMCLK=1.0MHz时,程序如下:

其中SMCLK=1MHz,波特率采用的是9600,采用低频波特方式,则N=1000000/9600=104.1666…,故UCA0BR1=0,UCA0BR0=104,UCBRS=1; 当采用外部晶振时,时钟采用默认设置即可,程序如下:

也是采用了低频波特率方式,所以关于波特率设置的相关计算和上面是一样的。 (3)思考:如果在两个单片机之间进行串行通信,应该如何设计连线和编程? 由于在上面的连线中将单片机上的P1.2和BRXD相连,P1.1和BTXD相连,所以若要在两个单片机之间进行通信,首先应该将两个单片机的P1.2和P1.1交叉相连,并根据上面的程序进行相同的关于端口和波特率相关的设置即可实现两个单片机之间的通信。 3. (提高)利用PC机RS232通信接口与单片机之间完成串行通信 (1)硬件连接图 在实验时,采用了将PC机的串口com1直接连接至MSP430F149的孔型D9连接器上,G2553单片机的输出引脚P1.1和P1.2分别与F149单片机上的URXD1和UTXD1相连接,连接图如下所示:

异步串行通信的工作方式

异步串行通信的工作方式,然后给出了VB MSComm控件下异步串行通信在电子衡器中的应用实例,包括硬件接口及软件设计。关键词:RS-232 异步串行通信Visual Basic 电子衡器控件计算机一般提供了2个25针或9针的RS-232标准串行口,简称为COM1和COM2。在某些应用中,我们还可以通过插通信卡来获得额外的RS-232标准串行口。利用这些串行口可以与其它数字设备进行一般的数据通信,计算机的串行接口主要用于远程通信和低速输入输出设备。由于串行数据通信传输线条数最少,而且有许多较便宜的专用芯片可实现它,发送和接受器也简单,因而对数据传输速度要求不高的计算机和数字设备间的近程通信,多采用串行通信实现。而目前各个厂家生产的电子衡器的称重仪表多配有与上位机通信的RS—232C串行接口,因而计算机与称重仪表之间的数据通信用串口很容易实现,只需要制作一条2芯或3芯的数据线编写相应的接口程序即可实现,不需要增加其他硬件设备。采用这种方式组成的微机电子衡器有许多优点:称重仪表经过多年的发展,在数据采集、抗干扰、可靠性等方面技术成熟,质量稳定;而计算机在存储容量、数据处理、查询、统计报表等数据管理方面有明显优势。正是两者的完美结合,才使计算机与称重仪表组成的在线式称重管理系统得到了广泛的应用。1串行通信的工作方式串行通信,可分为同步和异步两种方式。异步方式是指在约定的波特率下,传送和接受的数据不需要严格的保持同步,允许有相对的延迟,虽然速度较慢,但经济实用,所以异步串行通信现大量应用于计算机接口技术中。计算机与称重仪表就采用异步通信的方式传送数据。1.1异步串行通信的数据格式在这种通信方式中,一般以一个字符为一帧。一帧最少由三部分组成:起始位、数据位、停止位,开始是一位起始位以发送一个逻辑“0”表示,接着是表示这个数据的数据位,数据位可以是5位、6位、7位或8位,再加一位奇偶校验位,然后是一个、一个半或二个停止位,停止位以逻辑“1”表示。1.2波特率串行通信每秒传送的位数,传送时先低位后高位。常用的波特率有600、1200、2400、4800、9600等。1.3端口在计算机中,一般都配有两个标准串行口,用COM1和COM2表示。(通常采用2个9针D型阳性插头。)1.4信号线RS—232C标准规定有25根连线,使用21个信号线。在我们讨论的微机电子衡器中仅用到3根信号线,它们是:发送数据线TXD(输出信号),接受数据线RXD(输入信号线),信号地GND。其余信号线定义可参考相关书籍。2串行通信在电子衡器中的应用实例串行通信接口设计,包括硬件、软件设计两部分。在WINDOWS操作系统下,可选用VC++、VB等可视化开发工具。下面将以上海耀华称重系统公司的XK3190—A1+为例,以VB6.0编程语言,说明串行通信的软、硬件设计过程。 2.1称重仪表仪表选用上海耀华XK3190-A1+仪表,其串口通信格式如下:2.1.1连续方式发送:所传送的数据为仪表显示的当前称量(毛重或净重),每帧数据由12组数据组成。 第X组 内容及注释 1 02(XON)开始 2 +或- 符号位 3 称量数据高位 : 称量数据: : 称量数据: 8 称量数据低位 9

异步串行接口电路及通信系统设计设计报告

异步串行接口电路及通信系统设计 设计报告 2009级可编程逻辑课程名称: 实验题目:学生姓名: YC 开课学院: Bio开课时间: 2011课程设计可编程逻辑设计异步串行接口电路及通信系统设计、SXL、ZY、YLJ、WJ 学院至2012学年第二学期重庆大学本科学生课程设计指导教师评定成绩表学院年级学生姓名课程设计题目be学院2009级指导教师专业Zxm. Wxp. BME YC、SXL、ZY、YLJ、WJ 异步串行接口电路及通信系统设计指导教师评语课程设计成绩指导教师签名:年月日重庆大学本科学生课程设计任务书课程设计题目学院BE学院异步串行接口电路及通信系统设计专业BME 年级、班09 BME 01、02班

设计要求:设计一个能进行异步全双工串行通信的模块,该模块以固定的串行数据传送格式收发数据。1)每帧数据供10 位,其中1位启动位,8位数据位,1位停止位。2)波特率为:9600。3)收发误码率摘要摘要通用串口是远程通信接口,在数字系统使用很普遍,是一个很重要的部件。本论文使用VHDL语言描述硬件功能,并适当借助Verilog HDL 语言,利用在FPGA 芯片上的综合描述,采用模块化设计方法设计UART的各个模块。其中包括波特率发生器,程序控制器,UART数据接收器和UART数据发送器,采用的外部时钟为50MHZ,波特率为9600。在QuartusII 环境下进行设计、编译和仿真。最后的程序编译仿真结果及硬件测试结果表明系统设计完全正确。关键字:VHDL; Verilog HDL;UART; 帧格式; FPGA;异步通信I 摘要Abstract In this paper, the use of

微机原理 第11章 串行通信与串行接口8251A 习题及参考

第十一章串行通信与串行接口8251A 1.试从广义角度概括接口有哪些功能? 答:寻址、输入输出、数据转换、联络、中断管理、复位、可编程,及错误检测等八种功能。 2.设异步通信时标准数据格式中的8个字符位为10101110,若采用偶校验设置,则奇偶校验位应为几? 答:应为1。 因为偶校验要保证信息中(包括校验位)1的个数为偶数。 3.什么是覆盖错误?接口部件如何反映这种错误? 答:是指输入缓冲寄存器或输出缓冲寄存器中的数据在被CPU或外设取走之前,又被新到数据所覆盖而产生的错误。 在产生覆盖错误时,接口会通过在状态寄存器中设置相应的状态位来反映。4.从结构上看,可以把一个接口分为几部分?分别具有什么特点? 答:分为两部分。 (1) 第一部分用来与I/O设备相连。这部分的接口结构是和I/O设备的传输要求及数据格式有关的,所以,各接口之间互不相同。 (2) 第二部分用来与系统总线相连。由于各接口都要连在同一总线上,因此,所有接口的这部分结构都非常类似。 5.在实际使用时,为什么对串口中的四个内部寄存器一般使用1位低位地址来寻址?答:因为, 四个内部寄存器中有2个可读寄存器,为一组,另2个可写寄存器为一组。即控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的,所以,可以先用读、写信号来区分两组寄存器,再用1位低位地址就可区分一组中的两个寄存器了。 47

6.异步通信方式的特点是什么?适合应用在什么场合? 答:采用异步通信时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。 适于传输在不固定的时间间隔处出现字符所构成的信息流。 7.什么是波特率因子? 答:在用异步方式进行通信时,发送端需要用发送时钟来决定每一位对应的时间长度,接收端需要用接收时钟来测定每一个位的时间长度。发送时钟和接收时钟的频率可以是位传输率(波特率)的16倍、32倍、64倍,这个倍数称为波特率因子。 8.设在异步通信时,每个字符对应1个起始位,7个信息位,1个奇偶校验位,1个停止位,波特率为9600bps,则每秒钟能传输的最大字符数是多少? 答:因为, 1+7+1+1=10(位), 所以, 每秒钟能传输的最大字符数为9600/10=960(个)。 9.在8251A的编程结构中,有几个可读写的端口?给它们分配了几个端口地址?为什么? 答:共有7个可读写端口。 给它们分配了2个端口地址。其中,偶地址对应数据输入寄存器和数据输出寄存器;奇地址对应其他寄存器(模式寄存器,2个同步字符寄存器,控制寄存器,状态寄存器)。在这7个端口中,只读端口有2个(一个状态寄存器,一个数据输入寄存器),只写端口有5个(一个模式寄存器,一个控制寄存器,二个同步字符寄存器,一个数据输出寄存器)。 因为根据读写控制信号,再加上8251A的初始化流程按次序写入的约定是可以做到使用2个端口地址将7个端口区分开。 48

DSP与计算机的异步串行通信

1 绪论 1.1 设计背景 在DSP芯片出现之前,数字信号处理只能依靠通用微处理器来完成,由于微处理器芯片速度较低,难以满足高速实时处理的要求。1965年库利和图基发表了著名的快速傅立叶变换FFT,极大地降低了傅立叶变换的计算量,从而为数字信号的实时处理奠定了算法的基础。与此同时,伴随集成电路技术的发展,各大集成电路厂商为生产通用DSP芯片做了大量的工作。1978年AMI公司生产第一片DSP芯片S2811。1979年美国Intel公司发布了商用可编程DSP器件Intel2920,由于内部没有单周期的硬件乘法器,使芯片的运算速度,数据处理能力和运算精度受到了很大的限制。运算速度大哟为单指令周期200~250ns,应用范围仅局限于军事或航空领域。 随着时间的推移,许多国际上著名集成电路厂家都相继推出自己的DSP产品。这个时期的DSP器件在硬件结构上更适合数字信号处理的要求,能进行硬件乘法,硬件FFT变换和单指令滤波处理,其单指令周期为80~100ns,20实际80年代后期,以TI公司的TMS320C30为代表的第三代DSP芯片问世,伴随着运算速度的进一步提高,其应用范围逐步扩大到通信,计算机领域。 在2000年以后,DSP制造商不仅信号处理能力更加完善,而且是系统开发更加方便,程序编辑更加灵活,功耗进一步降低,成本不断下降。尤其是各种通用外设集成到片上,大大地提高了数字信号处理能力。这一时期的DSP运算速度可达到单指令周期10ms左右,可在Windows环境下直接应用C语言编程,使用方便灵活,使DSP芯片不仅在通信,计算机领域得到了广泛的应用,而且逐步渗透到了人们的日常消费领域。 目前DSP芯片的发展非常迅速。硬件结构方面主要是向多处理器的并行处理结构,便于外部数据交换的串行总线传输,大容量片上RAM和ROM,程序加密,增加IO驱动能力,外围电路内装化,低功耗等方面发展。软件方面主要是综合平台的完善,使DSP的应用开发更加灵活方便。

串行通信技术-模拟信号转换接口

微机原理与应用实验报告6 实验9串行通信技术 实验10A模拟信号转换接口 实验报告

实验九串行通信技术 一、实验目的 1. 了解异步串行通信原理; 2. 掌握MSP430异步串行通信模块及其编程方法; 二、实验任务 1. 了解MSP430G2553实验板USB转串口的通信功能,掌握串口助手的使用 (1)利用PC机的串口助手程序控制串口,实现串口的自发自收功能 为实现PC串口的自发自收功能,须现将实验板上的扩展板去下,并将单片机板上的BRXD和BTXD用杜邦线进行短接,连接图如下所示: 由此可以实现PC串口的自收自发功能。 (2)思考题:异步串行通信接口的收/发双方是怎么建立起通信的 首先在异步通信中,要求接收方和发送方具有相同的通信参数,即起始位、停止位、波特率等等。在满足上面条件的情况下,发送方对于每一帧数据按照起始位数据位停止位的顺序进行发送,而接收方则一直处于接受状态,当检测到起始位低电平时,看是采集接下来发送方发送过来的数据,这样一帧数据(即一个字符)传送完毕,然后进行下一帧数据的接受。这样两者之间就建立起了通信。 2. 查询方式控制单片机通过板载USB转串口与PC机实现串行通信 (1)硬件连接图

(2)C语言程序 采用SMCLK=1.0MHz时,程序如下:

其中SMCLK=1MHz,波特率采用的是9600,采用低频波特方式,则N=1000000/9600=104.1666…,故UCA0BR1=0,UCA0BR0=104,UCBRS=1; 当采用外部晶振时,时钟采用默认设置即可,程序如下:

也是采用了低频波特率方式,所以关于波特率设置的相关计算和上面是一样的。 (3)思考:如果在两个单片机之间进行串行通信,应该如何设计连线和编程? 由于在上面的连线中将单片机上的P1.2和BRXD相连,P1.1和BTXD相连,所以若要在两个单片机之间进行通信,首先应该将两个单片机的P1.2和P1.1交叉相连,并根据上面的程序进行相同的关于端口和波特率相关的设置即可实现两个单片机之间的通信。 3. (提高)利用PC机RS232通信接口与单片机之间完成串行通信 (1)硬件连接图 在实验时,采用了将PC机的串口com1直接连接至MSP430F149的孔型D9连接器上,G2553单片机的输出引脚P1.1和P1.2分别与F149单片机上的URXD1和UTXD1相连接,连接图如下所示:

北邮设计一:异步串行通信控制器

设计一:异步串行通信控制器 一、目的: ●掌握状态机的原理与设计方法; ●了解异步通信的原理和特点; ●掌握异步通信接口的设计方法。 二、异步通信原理简介: 我们主要以接收端为例来说明异步通信的工作原理,发送端可依此类推。异步通信的特点是数据在线路上的传输是不连续的,线路上数据是以一个字符为单位来传输的。异步传输时,各个字符可以是连续传输,也可以是间隔传输,这完全由发送方根据需要来决定。另外,在异步传输时,同步时钟信号并不传送到接收端,即收发双方各用自己的时钟来控制发送和接收。 由于字符的发送是随机进行的,因此,对于接收端来说就有一个判断何时有字符来,何时是新的一个字符开始的问题。因此,在异步通信时,对字符必须规定统一的格式。 异步信息传输格式 一个字符通常由四部分组成:起始位、数据位、奇偶校验位和停止位。一个字符由起始位开始,停止位结束。奇偶校验位只占一位,为了简化分析我们暂且规定不用奇偶校验位。 起始位为0信号,占用一位,来通知接收端一个新的字符开始来到。线路上不传输字符时,应保持为1。接收端不断检测线路的状态,若连续为1以后又开始测到一个0,就知道是发来一个新字符,马上应准备接收。字符的起始位还被用来同步接收端的时钟,以保证以后的接收能正确进行。接收时钟信号RXC的频率是数据率的N倍,一般N=8,16,32,64等。由于异步通信双方各用自己的时钟源,若是时钟频率等于波特率,则频率稍有偏差便会产生接收误差,因此,采用较高频率的时钟,就能保证正确地捕获到信号。 起始位后面紧接着的是数据位,它可以是5位、6位、7位和8位。我们这里规定采用8位的数据位。注意在发送时,总是低位先发送(最低位LSB,最

异步串行通信接口实验

计算机系统的通信实验 一.目的:了解计算机间的数据通信的基本技术; 了解RS─232C的结构及使用方法。RS----232C 9芯连接器插针定义如下: 二.使用设备:带有RS─232C通信接口的微型计算器及一根多芯电缆。 三.8250异步串行接口: IBM PC系统可选的串行异步通信接口板上用的UART是一片INS8250,以它为核心,附加一些辅助电路,如I / O地址译码电路电平变换电路等,组成了RS232C接口,所以,对RS232C编程实际上是对8250的编程。8250的逻辑框图如下:

(一)8250的编程模型 8250异步串行接口是用于IBM PC串行通讯的接口芯片,8250内含比特率分频器,无须外接,所以用它构成接口非常简单。有两个串口,每个串口上有10个寄存器,IBM PC系统只为这10个寄存器分配了连续的7个端口地址,其端口地址分配如下: 分配的端口地址输入还是输出相应寄存器 3F8H/2F8H*输出发送数据寄存器 3F8H/2F8H*输入接收数据寄存器 3F8H/2F8H+输出波特率分频器L(数据传输速度)3F9H/2F9H+输出波特率分频器H 3F9H/2F9H*输出中断允许寄存器 3FAH/2FAH 输入中断标识寄存器 3FBH/2FBH 输出线控制寄存器 3FCH/2FCH 输出Modem控制寄存器 3FDH/2FDH 输入线狀态寄存器 3FEH/2FEH 输入Modem狀态寄存器 注:标有*寄存器地址是线控制存器7位为0时的寄存器地址,标有+寄存器地址是线控制存器7位为1时的寄存器地址。 从功能上分,这10个寄存器可分为两组:一组用于工作方式,通信参数的控置和设置。如数据格式有关参数的设置,是否允许中断方式的设置以及是否使用RTS,DTR等联络控制信号等,属于这一组的有5个寄存器:波特率分频器L(低位)和H(高位) 线控制寄存器,Moden控制寄存器,中断允许寄存器。这5个寄存器都是在8250初始化时用OUT指令向其中置入初值的。另一组寄存器用于实现通信传输,有5个寄存器, 它包括:输入和输出的缓冲寄存器——接收数据寄存器和发送保持寄存器, 记忆当前状态的寄存器——线状态寄存器, Moden状态寄存器和中断标识寄存器。 (二)8250的初始化: 1.波特率的设置:(波特率分频器L和H)是用OUT指令向地址为3F8H和3F9H的两个波特率分频器置入合适的值实现的。 在初始化时,将线控寄存器最高为置1,然后写3F8H,3F9H便可对串行传送速率进行初始化。波特率分频器确定串行传送的速率(每秒传送的位数)如下: 波特率分频器H 分频器L 50 09H 00H 75 06H 00H 110 04H 17H 134.5 03H 59H 150 03H 00H 300 01H 80H 600 00H C0H 1200 00H 60H 1800 00H 40H 2000 00H 3AH 2400 00H 30H 3600 00H 20H

第九章I-O接口

第九章I/O接口 输入输出端口简介 串行端口 异步的串口是作为计算机到计算机的通信端口来设计的。异步意味着不存在同步的时钟信号,所以能够以任意时间间隔来发送字符。 串行是指发送一个字节字符的八位二进制位时是按顺序一位一位的发送了,而接收也是一位一位地接收,而不是八位同时传送。更形象地说,串行是数据通过一条单独的导线传送,并且当发送数据位时,每个数据位都按顺序被串接起来。串行传输的典型例子是我们日常生活中所用的电话系统,它在每个方向都提供了一条传送数据的导线。 串口的典型位置 计算机系统一般都有一个或两个串行端口,通常位于系统的后部。这些内置的串口可以通过主板上的Super I/O芯片控制,或通过South Bridge芯片控制。如果系统提供的串口数目不能满足需要,用户可以购买单口或多口串口卡。 串口可以连接多种设备,例如调制解调器、绘图仪、打印机、其他计算机、条形码阅读器、标尺(scale)和设备控制电路。 AT结构的9针串口连接器的规范说明 官方规范所建议的最大电缆长度为50英尺。其限制因素是电缆及接口输入电路的总负荷电容。最大电容值被指定为2500pF。有些特殊的低电容电缆实际上可以极大地增加电缆的最大长度,使之达到500英尺或更多。此外,线路驱动程序(放大器/中继器)还可以将电缆的长度扩展到更长。

表9-1、表9-2和表9-3中给出的是9针(AT结构)、25针、9转25针串行连接器引脚引出线的说明。 表9-1 9针(AT)串口连接器 引脚信号说明I/O 1 CD 载波检测输入 2 RD 接收数据输入 3 TD 发送数据输出 4 DTR 数据终端就绪输出 5 SG 信号地- 6 DSR 数据准备好输入 7 RTS 发送请求输出 8 CTS 消除发送输入 9 RI 振铃指示输入 表9-2 25针(PC、XT及PS/2)串口连接器 引脚信号说明I/O 1 - 机架接地- 2 TD 发送数据输出 3 RD 接收数据输入 4 RTS 发送请求输出 5 CTS 消除发送输入 6 DSR 数据准备好输入 7 SG 信号地- 8 CD 载波检测输入 9 - +发送当前循环返回输出 11 - -发送当前循环数据输出 18 - +接收当前循环数据输入 20 DTR 数据终端就绪输出 22 RI 振铃指示输入 25 - -接收当前循环返回输入

微机原理及接口第九章作业答案

“微机系统原理与接口技术”第九章习题解答(部分) 1. 什么是并行接口和串行接口?它们各有什么作用? 答:并行接口是指接口与外设之间按字长传送数据的接口,即4位、8位或16位二进制位同时传送;而串行接口是指接口与外设之间依时间先后逐位传送数据的接口,即一个时刻只传送一个二进制位。 并行接口传送速度较快,但在远距离传送数据时成本高,损耗大,且平行数据线之间干扰大,所以并行接口一般适用于近距离的高速传送,而串行接口则适用于远距离传送。 2. 试画出8255A与8086CPU连接图,并说明8255A的A0、A1地址线与8086CPU的A1、A2地址线连接的原因。 答:8255A与8086CPU的连线图如下图所示: 题9-2图 8086系统有16根数据线,而8255只有8根数据线,为了软件读写方便,一般将8255的8条数据线与8086的低8位数据线相连。8086在进行数据传送时总是将总线低8位对应偶地址端口,因此8086CPU要求8255的4个端口地址必须为偶地址,即8086在寻址8255时A0脚必须为低。实际使用时,我们总是将8255的A0、A1脚分别接8086的A1、A2脚,而将8086的A0脚空出不接,并使8086访问8255时总是使用偶地址。 4. 简述8255A工作在方式1时,A组端口和B组端口工作在不同状态(输入或输出)时,C端口各位的作用。 答:8255A 的A、B口工作在方式1时,C端口各位的使用情况如下表所示:

注:带*的各中断允许信号由C口内部置位/复位操作设置,非引脚电平。 5. 用8255A控制12位A/D转换器,电路连接如下图所示。设B口工作于方式1输入,C 口上半部输入,A口工作于方式0输入。试编写8255A的初始化程序段和中断服务程序(注:CPU采用中断方式从8255A中读取转换后的数据)。 题9-5图 答:设8255的A、B、C及控制端口的地址分别为PORTA、POA TB、PORTC和PCON,则一种可能的程序段实现如下: 主程序:; 初始化8255A …… MOV AL, 10011110B ; 设置8255A的工作方式控制字 OUT PCON, AL MOV AL, 00000101B ; 设置C口置位/复位控制字,使INTEA(PC2)为 OUT PCON, AL ; 高电平,允许B口中断 MOV AL, 00000010B ; 设置C口置位/复位控制字,使PC1(IBF B)输出 OUT PCON, AL ; 低电平,启动第一次A/D转换 …… 中断服务程序:; 取数,并自动启动下一次A/D转换 …… MOV AL, 00000011B ; PC1(IBF B)输出高电平,停止A/D转换 OUT PCON, AL IN AL, PORTC ; 先取高4位转换值 MOV AH, AL MOV CL, 4 SHR AH, CL ; 将高4位转换值放到AH的低端 IN AL, PORTB ; 取低8位转换值放到AL中 MOV AL, 00000010B ; PC1(IBF B)输出低电平,再次启动A/D转换 OUT PCON, AL …… IRET 6. 用8255A作为CPU与打印机接口,8255的A口工作于方式0,输出;C口工作于方式0。8255A与打印机及CPU的连线如下图所示。试编写一程序,用查询方式将100个数据送打印机打印(8255A的端口地址及100个数据的存放地址自行设定)。

串行接口及串行通信技术

第9章串行接口及串行通信技术 U 难点 ?串行通信的四种工作方式 @要求 掌握: ?串行通信的控制寄存器 ?串行通信的工作方式0和方式1 了解: ?串行通信的基础知识 ?串行通信的工作方式2和方式3 9.1 串行通信的基础知识 9.2 MCS-51单片机串行通信的控制寄存器 9.3 MCS-51单片机串行通信工作方式 9.1 串行通信的基础知识 串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。 9.1.1 数据传送 单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。 1. 字符帧的帧格式 字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。如图9.1所示: 1)起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。 2)数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。 3)奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。 4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。 图9.1 字符帧格式 异步串行通信的字符帧可以是连续的,也可以是断续的。连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。而断续的异步串行通信,则是在一帧结

第4章 异步串行通信

第4章 异步串行通信 本章导读:目前几乎所有的台式电脑都带有9芯的异步串行通信口,简称串行口或COM 口.由于历史的原因,通常所说的串行通信就是指异步串行通信。USB、以太网等也用串行方式通信,但与这里所说的异步串行通信物理机制不同。 有的台式电脑带有两个串行口: COM1 口和COM2 口,部分笔记本电脑也带有串行口。随着 USB接口的普及,串行口的地位逐渐降低,但是作为设备间简便的通信方式,在相当长的时间内,串行口还不会消失,在市场上也可很容易购买到USB到串行口的转接器因为简单且常用的串行通信只需要三根线(发送线、接收线和地线),所以串行通信仍然是MCU与外界通信的简便方式之一。 实现异步串行通信功能的模块在一部分MCU中被称为通用异步收发器(Universal Asynch?ronous Receiver/Transmitters, UART ),在另一些 MCU 中被称为串行通信接口( Serial Communication Interface, SCI)。串行通信接口可以将终端或个人计算机连接到MCU,也可将几个分散的 MCU连接成通信网络, 本章的主要知识点有①阐述了串口相关的基础知识;②描述了K60串口糢块的功能概要; ③介绍了串口模块驱动构件编程时涉及的相关寄存器;④设计并封装了串行通信的驱动构件; ⑤给出第一个中断例程的执行过程和设计流程。 本章介绍的K60UART模块的工作原理以及编程实例,这些编程实例都使用了基于构件的编程思想,读者在阅读时可以仔细体会,以求得对编程方法有更深刻的理解本章所出现的UART 字眼,在没有其他说明的情况下,都是特指K60的UART模块,本章串口驱动编程涉及的寄存器全部给出其详细介绍,目的是让读者对嵌入式底层驱动编程设计的寄存器有个直观的了解,以后各章节将不再给出相关寄存器的详细介绍。 4.1异步串行通信的基础知识 本节简要概括了串行通信中常用的基本概念,为学习MCU的串行接口编程做准备。对于己经了解这方面知识的读者,可以略读本节。 4.1.1基本概念 “位”(bit)是单个二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0” 和“1”表示。在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(Byte)。串行通信的特点是:数据以字节为单位,按位的顺序(例如最高位优先)从一条传输线上发送出去。这里至少涉及以下几个问题:第一,每个字节之间是如何区分开的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?这些问题属于串行通信的基本概念。串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。正确理解这些概念,对串行通信编程是有益的。

RS485串行通信电路设计

RS485串行通信接口电路的总体设计 在电参数仪的设计中,数据采集由单片机AT89C52负责,上位PC机主要负责通信(包括与单片机之间的串行通信和数据的远程通信),以及数据处理等工作。在工作中,单片机需要定时向上位PC机传送大批量的采样数据。通常,主控PC机和由单片机构成的现场数据采集系统相距较远,近则几十米,远则上百米,并且数据传输通道环境比较恶劣,经常有大容量的电器(如电动机,电焊机等)启动或切断。为了保证下位机的数据能高速及时、安全地传送至上位PC机,单片机和PC机之间采用RS485协议的串行通信方式较为合理。 实际应用中,由于大多数普通PC机只有常用的RS232串行通信口,而不具备RS485通信接口。因此,为了实现RS485协议的串行通信,必须在PC机侧配置RS485/RS232转换器,或者购买适合PC机的RS485卡。这些附加设备的价格一般较贵,尤其是一些RS485卡具有自己独特的驱动程序,上位PC机的通信一般不能直接采用WINDOW95/98环境下有关串口的WIN32通信API函数,程序员还必须熟悉RS485卡的应用函数。为了避开采用RS485通信协议的上述问题,我们决定自制RS485/RS232转换器来实现单片机和PC机之间的通信。 单片机和PC机之间的RS485通信硬件接口电路的框图,如下图1所示。 从图1可看出,单片机的通信信号首先通过光隔,然后经过RS485接口芯片,将电平信号转换成电流环信号。经过长距离传输后,再通过另一个RS485接口芯片,将电流环信号转换成电平信号。 图1单片机与PC机之间的RS485通信硬件接口电路的框图(略) 该电平信号再经过光电隔离,最后由SR232接口芯片,将该电平信号转换成与PC机RS232端口相兼容的RS232电平。由于整个传输通道的两端均有光电隔离,故无论是PC机还是单片机都不会因数据传输线上可能遭受到的高压静电等的干扰而出现“死机”现象。 2接口电路的具体设计 2-1单片机侧RS485接口电路的设计 单片机侧RS485接口电路如图2所示。 AT89C52单片机的串行通信口P3 0(RXD)和P3 1(TXD)的电平符合TTL/CMOS标准(逻辑“0”的电平范围为0V~0.8V,逻辑“1”的电平为2 4V~VCC),它们首先通过光电隔离器件6N137隔离,以保护单片机不受传输通道的干扰影响,其中T01和?T02是为了增加光隔输入端的驱动能力。光隔6N137的左侧电源与单片机相同,右侧必须采用另一组独立的+5V电源,且两组电源不能供电。 图2单片机侧RS485接口电路

(第9章)VFD-V串行口RS485通讯协议

第九章串行口RS485通讯协议 9.1通讯概述 本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。以实现变频器的多机联动。通过该通讯口也可以接远控键盘。实现用户对变频器的远程操作。 本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。下文是该变频器通讯协议的详细说明。 9.2通讯协议说明 9.2.1通讯组网方式 (1) 变频器作为从机组网方式: 图9-1 从机组网方式示意图(2) 多机联动组网方式:单主机单从机 单主机多从机

图9-2 多机联动组网示意图 9.2.2通信协议方式 该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。具体通讯方式如下: (1)变频器为从机,主从式点对点通信。主机使用广播地址发送命令时,从机不应答。 (2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。 (3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。 (4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。 9.2.3通讯接口方式 通讯为RS485接口,异步串行,半双工传输。默认通讯协议方式采用ASCII 方式。 默认数据格式为:1位起始位,7位数据位,2位停止位。 默认速率为9600bps,通讯参数设置参见P3.09~P3.12功能码。 9.3 ASCII与RTU通讯协议 字符结构: 10位字符框(For ASCII) (1-7-2格式,无校验) (1-7-1格式,奇校验)

接口考试试题第5章(串行通信和8251)汇编

一、选择题 1.若用8251A进行同步串行通信,速率为9600波特,问在8251A时钟引脚TXC#和RXC#上的信号频率应取()。 A.2400Hz B.4800Hz C.9600Hz D.19200Hz 答案应选:C 2.串行接口器件8251A()。 A、只能作异步传送 B、只能作同步传送 C、A和B均可 D、可作并行传送 C 5.在异步串行的通信中若要传送扩展ACCII码,则异步串行码字符格式的第8位数据()。 A、不传送 B 恒为0 C 恒为1 D 为有用数据 D 7.在串行数据通信接收端安装modem是为了()。 A、把并行数据转换成串行数据 B、把串行数据转换成并行数据 C、把数据信号转换成模拟信号 D、把模拟信号转换成数据信号 D 10.在异步通信中,传送最高位为奇校验位的标准ASCII码,采用1位起始位和1位停止位。当该ASCII码为5AH时,有串行口发送的帧格式为()。 A 0010110111 B 0010110101 C 0110110101 D 1010110100 A 15.RS-232标准规定其逻辑1电平为()。 A.-5~0V B.0V~+5V C -3V~-15V D.+3V~+15V C 17.8251A用作异步串行通信接口,如果设定波特率因子为16,而发送器与接收器时钟频率为19200Hz,则波特率为()。 A、1200波特 B 2400波特 C 9600波特 D 19200波特 A 18.异步串行接口电路在接受时,如果接收时钟频率为波特率的16倍,一旦确定串行接受线上出现起始位的电平后,对串行接受线进行检测的时间间隔为()。 A、1个时钟周期 B、4个时钟周期 C、8个时钟周期 D、16个时钟周期 D 21.在有关串行通信的叙述中,正确的是()。 A、串行通信最少只需要一条导线 B、所谓半双工是指在一半工作时间内工作 C、异步串行通信是以字符为单位逐个发送和接收 D、同步串行通信的收、发双方可使用各自独立的本地时钟 C 23.为了防止在计算机远程通信中的信号畸变,必须采用一种辅助的外设调制解调器,在接

微机原理与接口技术 第九章 课后答案

第九章参考答案 1.串行通信有什么特点?它适合于什么应用场合?若你的计算机要接入Internet网,应该采用并行传输还是串行传输? 答:串行通信的特点:数据位依次传送。传送相同字节数信息时,串行传送的时间远大于并行传送的时间;但数据线的根数较少。串行传送有固定的传输格式。 适合于远距离传输。 计算机要接入Internet网时,应采用串行传输。 2. 设异步传送数据时,每个字符对应1位起始位,1位停止位,7位数据位和1位校验位,如果波特率是9600b/s,则每秒最多能传输多少字符? 答:根据给定条件知:每个字符包含10位,因此每秒最多能传输的字符个数是: 9600÷10=960 3.叙述单工、半双工和全双工通信方式以及波特率含义。 答:单工:联系通信双方只有一根数据线,数据只能朝一个方向发送。 半双工:联系通信双方只有一根数据线,但允许数据分时在两个方向传送。 全双工:联系通信双方有两根数据线,允许数据同时进行双向传送。 波特率:每秒钟内传送二进制数据的位数。 4.简要说明RS-232C、RS-422、RS-485的特点。 答:RS-232C的特点:信号线少;多种波特率可选择;传送的距离一般可达30米,采用光电隔离的20mA的电流环传送时可达1000m;采用负逻辑电平,“1”电平为:-5V~-15V,“0”电平为+5V~+15V。 RS-422、RS-485的特点:采用平衡输出的发送器和差分输入的接收器;可在1200m范围内传输;发送端与接收端之间没有直接的地线连接。 5.假定8251A工作于异步方式,波特率因子为16,数据位7位,奇校验,允许发送和接收数据,其端口地址为E0H(C/D=0),E1H(C/D=1)。试编写初始化程序。 略去软复位的初始化程序: MOV DX, 00E1H MOV AL, 01011010B OUT DX, AL MOV AL, 01010101B OUT DX, AL 6.设一数据传输率为4800波特的串行打印机通过8251A与8086CPU组成的微机系统相连,打印机只有一串行数据通道,编写一个将起始地址为DATA的80个字符输出到打印机去的发送程序。已知波特率因子为64,8位数据位,偶校验,2位停止位,8251A的数据口和控制口分别为70H和71H。 解:MOV DX,0071H MOV AL,11111111B OUT DX,AL MOV AL,00010001B OUT DX,AL LEA SI,DATA MOV CX,80 AA:MOV DX,0071H IN AL,DX TEST AL,01H JZ AA MOV DX,0070 MOV AL,[SI]

异步通信控制器_2010

第一.实验要求 1.这是用理论知识解决实际问题的重要环节,一定要严肃,认真,抓紧时间,尽可能多做一些实验。 2.每个同学要做两个题目,作出完整的结果。 3.根据题目要求,结合学过的有关知识,设计实现方案,思考应该达到的效果。4.认真搞懂工作原理,写好设计方案和验证方法。 5.当有多种方案可选时,要仔细比较各种方案的优缺点,选择一种你认为最好的方案来实现。 6.当实验结果出来时,要认真检查设计可能隐含的问题和毛病,并加以改进解决。有限的性能仿真,不可能仿真出实际上千差万别的情况,要从理论上考虑可能存在问题的地方,并加以预防。 7.本实验只进行‘功能仿真’,至于性能仿真(定时仿真)则不予考虑。但可以选定一种器件进行适配和管脚定义。 8.认真作好实验记录,记录出现的问题和解决方法,并仔细分析其中的原因。任何现象的解释,都要有理有据。 9.实验结束,要认真书写实验报告。除了原始输入文件外,任何原理和性能的解释都应由仿真波形来支持。 10.实验体会只写自己体会最深,收获最大的部分。不要照抄别人和指导书中的内容。11.要有实事求是的科学态度,不能伪造实验结果。 12.实验过程中,可以和同学讨论,但最终结果必须是自己独立完成的。 13.实验中,遵守机房纪律,不准做与实验无关的事情。 14.请同学抓紧时间,利用这有限的机会,争取尽可能大的收获。 第二.上机注意事项 1.上机前应作好实验准备,包括: ●了解实验的目的,实验内容及要求; ●准备好实验电路或逻辑输入原文件; ●认真思考如何验证设计及仿真波形; ●思考实验步骤,及每步应得到的结果。

2.实验中要细致、认真,并作好实验记录。 ●实验中要独立思考,有问题可以讨论,但要独立完成实验任务; ●记录中间结果,及时作好原文件拷贝; ●实验结果要以仿真波形来说明。 3.实验报告要求 ●实验目的; ●实验电路图(或输入原文件); ●仿真结果(波形图应能体现你的结论或论点); ●对思考题的理解或验证; ●实验收获和体会(只写体会最深的)。 注意: ●除了熟悉MAXPLUS2外,在上机实验时,应作好实验准备(实验内容,电路/或 原文件,及实验目的),否则,教师有权停止其上机实验。待作好准备时自己再上 机。 ●凡互相抄袭的(抄袭别人的和被抄袭的),按0分记。 ●遵守实验室纪律,在包机期间,不准玩游戏,不准做与本课程无关的事情。违规 一次,给予警告,两次,严重警告,三次,取消上机资格,本课程成绩为0分。 设计一:异步串行通信控制器 1. 目的 ●掌握状态机的原理与设计方法; ●了解异步通信的原理和特点; ●掌握异步通信接口的设计方法。 2. 异步通信原理简介 我们主要以接收端为例来说明异步通信的工作原理,发送端可依此类推。异步通信的特点是数据在线路上的传输是不连续的,线路上数据是以一个字符为单位来传输的。异步传输时,各个字符可以是连续传输,也可以是间隔传输,这完全由发送方根据需要来决定。另外,在异步传输时,同步时钟信号并不传送到接收端,即收发双方各用自己的时钟来控制发送和接收。 由于字符的发送是随机进行的,因此,对于接收端来说就有一个判断何时有字符来,何时是新的一个字符开始的问题。因此,在异步通信时,对字符必须规定统一的格式。

第11章 串行通信接口

第11章串行通信接口 串行通信是微机和外部设备交换信息的方式之一。所谓串行通信是通过一位一位地进行数据传输来实现通信。与并行通信相比,串行通信具有传输线少,成本低等优点,适合远距离传送。缺点是速度慢,若并行传送n位数据需时间T,则串行传送的时间最少为nT。在实际传输中,是通过一对导线传送信息。在传输中每一位数据都占据一个固定的时间长度。 §11.1 串行通信基础 串行通信分为2种类型:一种是同步通信方式,另一种是异步通信方式。 1、异步通信 异步通信的特点是:字符是一帧一帧的传送,每一帧字符的传送靠起始位来同步。在数据传输过程中,传输线上允许有空字符。所谓异步通信,是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的通信。异步通信中发送方和接收方的时钟频率也不要求完全一样,但不能超过一定的允许范围,异步传输时的数据格式如图所示。 异步通信字符格式 字符的前面是一位起始位(低电平),之后跟着5~8位的数据位,低位在前、高位在后。数据位后是奇、偶校验位,最后是停止位(高电平)。是否要奇、偶校验位,以及停止位设定的位数是1,1.5位或2位都由初始化时设置异步方式字来决定。 2、同步通信 278

同步通信方式的特点是:由一个统一的时钟控制发送方和接收方,若干字符组成一个信息组,字符要一个接着一个传送;没有字符时,也要发送专用的“空闲”字符或者是同步字符,因为同步传输时,要求必须连续传送字符,每个字符的位数要相同,中间不允许有间隔。同步传输的特征是:在每组信息的开始(常称为帧头)要加上l-2个同步字符,后面跟着8位的字符数据。同步通信的数据格式如图所示。 同步字符1 同步 字符2 数据结束标志 同步通信字符格式 传送时每个字符的后面是否要奇、偶校验,由初始化时设同步方式字决定。 3、传输制式 串行通信中的工作方式分为:单工通信方式、半双工通信方式和全双工通信方式。 (1) 单工工作方式 在这种方式下,传输的线路用一根线连接,通信的一端连接发送器,另一端连接接收器,即形成单向连接,只允许数据按照一个固定的方向传送,如下图(a)所示。即数据只能从A站点传送到B站点,而不能由B站点传送到A站点。单工通信类似无线电广播,电台发送信号,收音机接收信号。收音机永远不能发送信号。 (2) 半双工工作方式 如果在传输的过程中依然用一根线连接,这样在某一个时刻,只能进行发送,或只能进行接收。由于是一根线连接,发送和接收不可能同时进行,这种传输方式称为半双工工作方式,如下图(b)所示。半双工通信工方式类似对讲机,某时刻A方发送B方接收,另一时刻B方发送A方接收,双方不能同时进行发送和接收。 279

相关主题
文本预览
相关文档 最新文档