第8章 常用接口芯片_第1页
第8章 常用接口芯片_第2页
第8章 常用接口芯片_第3页
第8章 常用接口芯片_第4页
第8章 常用接口芯片_第5页
已阅读5页,还剩188页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章常用I/O接口芯片

..1、并行通信技术基础知识

息据传输方式

■以计算机的字长,通常是8位、16位或32位为传

输单位,一次传送一个字长的数据

■适合于外部设备与微机之间进行近距离、大量和

快速的信息交换

■例如:微机与并行接口打印机、磁盘驱动器

-微机系统中最基本的信息交换方法

■例如:系统板上各部件之间,接口电路板上

各部件之间

并行接口与并行通信

■在多条物理数据线上同时传输多位二进

制数据,那么这种传输就是并行传输、

这种接口就是并行接口。

■信息交换是通过并行接口来完成的话,

这种通信就是并行通信。

并行接口的特点

■Jbr厂并行接口最基本的特点是在多条数据线上以数据字节

(字)为单位与I/O设备或被控对象交换信息。如打印机接

口,A/D、D/A箱换器接口等。

■(2)在并行接口中,除了少数场合(无条件传送)外,一

般都要求在接口与外设之间设置并行数据线的同时,至少还

要设置两条联络(握手)信号线,以便进行互锁异步握手方

式(即查询方式)的通信。

■(3)在并行接口中,并行的多位二进制(8位、16位或32

位)是一起动作的,因此,当采用并行接口与外设交换数据

时,即便是只用到其中的一位,也是一次输入/输出所有的

并行位(8位、16位或32位)。

■(4)并行传输的信息,从时间顺序来讲一般不需要固定的

格式,由于并行通信的双方往往是控制与被控制方式连接的。

-(5)并行接口可直接设置成用硬布线方式连接的接口,也

可用可编程接口芯片组成可编程接口。

并行接口电路8255A

-具有多种功能的可编程并行接口电路芯片

■最基本的接口电路:三态缓冲器和锁存器

■与CPU间、与外设间的接口电路:状态寄存器

和控制寄存器

■还有端口的译码和控制电路、中断控制电路

■分3个端口,共24个外设引脚

■共三种输入输出工作方式

口【肚n

8255A的内泊吉福和A组

A组

端口A

控制G

A组

数据

内部数据线端口C

Do〜D7O总线C上部

缓冲器

B组

B组

端口B

RD-“控制uAPB0-PB7

WR一写

A。.制

-辑B组

A内部控制线

cs—端口C

RESET一下部

哥森那鲁‘具也鲁理哥■易由。■

母由V■

口紫中哥吆翠¥k'解球"巨■洋军解■

Od03d。口颗■:3口颗.

□题辟麻沙米■,航■

Z8d〜08d:fldB■汨口聊■

¥甄鲁翡监'口假家麻沙案,'W■

ZVdOVdV口颗.W口颗.

口需来麻祺物•1

)2,与处理器接口

CS*AlA0I/O地址读操作RD*写操作WR*

00060H读端口A写端口A

00161H读端口B写端口B

01062H读端口C写端口C

01163H非法写控制字

A内部端PC系

A。内容

csRDWRi口偏移统地址

读操作

、1"一Lr"t

0_1ft——-EA■口数据总线(一CPU)数据060H

00101PB口—数据总线(-CPU)数据161H

数据或状

00110PC口—数据总线(一CPU)262H

写操作

01000PA口一数据总线(-CPU)数据060H

01001PB口一数据总线(.CPU)数据161H

01010PC口一数据总线(-CPU)数据262H

01011控制寄存器一数据总线控制字363H

无操作情况

011XX总线悬浮

1XXXX总线悬浮

8255A的控制字和工作方式

■1.控制字

■8255A的控制字就是从CPU写到控制寄存器中的命令,

由8位组成。控制字的最高位为1时,控制字是工作方

式命令字;控制字最高位为。时,控制字是PC口按位置

/复位命令字。

■8255A的编程命令包括工作方式命令字和按位操作命

令两条,使用同一个端口地址。

■8255A的编程命令控制字就是从CPU写到控制寄存器中

的命令,由8位组成。控制字的最高位为1时,控制字

是工作方式命令字;控制字最高位为。时,控制字是PC

口按位置/复位命令字。

■(1)方式命令字

■8255A有三种不同的工作方式:方式0、方式1、

方式2。方式字指定A组、B组的各种方式以及

在不同的方式下PA、PB的数据输入/输出方向。

方式命令字的格式:

■*数据输入/输出方向:0—输出,1—输入。

DDDDDDiDo

765D432

特征位A组PA口PC高4B组PB口PC低4

值为工方式方向位方向方式方向位方向

■DO位控制PC口低4位的传送方向:D0=0时是输出,

D0=l时是输入。

■D1位控制PB口的传送方向:Dl=0时是输出,Dl=l时

是输入。

■D2位指定B组工作方式:D2=0时为方式0,D2=l时为

方式1。因此,B组只有方式0、方式1这两种工作方式。

■D3位控制PC口高4位的传送方向:D3=0时是输出,

D3=l时是输入。

■D4位控制PA口的传送方向:D4=0时是输出,D4=l时

是输入。

■D6D5指定A组工作方式:D6D5=00指定

方式0,D6D5=01指定方式1,D6D5=1X

(10或11)指定方式2。因此,A组有方

式0、方式1、方式2这三种工作方式。

■D7位为特征位,本命令字处D7=l。

■例如,要把PA口指定为0方式输出,输入PC口上半部定

为输入;PB口指定为1方式输入,PC口下半部定为输

出,则工作方式字是:10001110BBP8EHo

■将此命令字写到8255A的控制寄存器中称为初始化,

程序段为:

■MOVDX,8255A+3;8255A表示该芯片

PA口地址。

■MOVAL,8EH

■OUTDX,AL;送至U控制寄存器

■要把PA口指定为方式2;PB口指定为1方

式输出,PC口下半部定为输出。工作方

式字为11000100B即0C4H,则程序段为:

■MOVDX,8255A+3

■MOVAL,0C4H

■OUTDX,AL

■又例:某系统要求8255A工作在方式0,PA

口输出、PB口输入、PC输出,则初始化程

[■段为:

■MOVAL,1000001OB

■MOVDX,8255A+3

■OUTDX,AL

■某系统要求A组工作在方式0输入,B组工作

在方式1输出,PC口余下的用于输入,则初

始化程序段为:

■MOVAL,1001110IB

■MOVDX,8255A+3

■OUTDX,AL

■某系统要求A组工作在方式2,B组工作在方式0输出,

PC口余下的用于输入,则初始化程序段为:

■MOVAL,11000001B

■MOVDX,8255A+3

■OUTDX,AL

■某系统要求A组工作在方式2,B组工作在方式1输入,

则初始化程序段为:

■MOVAL,11000110B

■MOVDX,8255A+3

■OUTDX,AL

■(2)PC口按位置位/复位命令字

■该命令字用于某个PC引脚输出高/低电平

控制或软件设定8255A的相应状态。

-PC口按位置/复位命令字格式:

■D。置/复位选择:0—对应位清0,1—对应位置

lo

D7D6D5D4D3DzDiDo

特征位

未用PC口位号选择置/复位选择

值为0

D3D2D1选择被置/复位的位号:

口3口2口1=000选择PC口第0位;

口3口2口1=001选择PC口第1位;

口3口2口1=010选择PC口第2位;

D3D2D1RI1选择PC口第3位;

D3D2D1=100选择PC口第4位;

口3口2口1=101选择PC口第5位;

口3口2口1=110选择PC口第6位;

口3口2口1=111,选择PC口第7位。

D6D5D4没有使用,一般让口6口5口4=000。

D7位为特征位,该命令字处口7=0。

■例如,若要把PC口的PC5引脚置成低电平时,则命令

字应该为00001010B即OAH。

■将该命令写入8255A的控制寄存器,就会使得从PC口

的PC5引脚输出低电平,其程序段为:

■MOVDX,8255A+3

■MOVAL,OAH

■OUTDX,AL

■若要使引脚PC5输出高电平,则程序段为:

■MOVDX,8255A+3

■MOVAL,OBH

■OUTDX,AL

■⑶关于控制字的几点说明:

■使用8255之前必须初始化。方式命令是对

8255A的3个端口的工作方式及功能进行指定,

即进行初始化,初始化工作要在使用8255A之

前做;

■按位置位/复位命令只是对PC口的输出进行控

制,使用它并不破坏已经建立的3种工作方式,

而是对它们实现动态控制的一种支持。它可放

在初始化程序以后的任何地方;

■控制字的最高位(D7)是特征位用以区别8255A的工作

方式命令和按位置/复位命令字。D7=l时,为工作方

式命令;D7=0时,为按位置位/复位命令。因此,可

以判断,命令代码的值等于、大于80H的,是工作方式

命令;小于80H的,是按位置位/复位命令,可以判断,

并且奇数值是置位命令,而偶数值是复位命令;

■按位置位/复位命令代码只能写入命令口。PAD、PB口

也可以按位输出高/低电平,但是,这与按位置位/复位

命令有本质的区别,并且实现的方法也不同。PC口按

位输出是以命令的形式送到控制寄存器存器去执行的,

而PAD、PB口的按位输出是以送数据至(JPA口、PB口来

实现的。

■A口和B口的一个有趣的使用方法:也可

以按位输出高/低电平!

■P143

48255A的工作方式

■方式o:基本输入输出方式

■适用于无条件传送和查询方式的接口电路

■方式1:选通输入输出方式

■适用于查询和中断方式的接口电路

-方式2:双向选通传送方式

■适用于与双向传送数据的外设

■适用于查询和中断方式的接口电路

方式1

-方式1是一种选通输入/输出方式或称为

应答方式,因此,需要置专用的联络信

号线或叫应答信号线,以便对I/O设备

和CPU两侧进行联络。这种方式通常用

于查询(条件)传送或中断传送。PA、

PB口的数据输入输出都有锁存能力。

①方式1输入

■输入是从I/O设备向8255A送数据进来,

所以,1/0设备应先把数据准备好,并

送到8255A端口上,然后CPU再从

8255A读取数据。这个传送过程中需要

使用一些联信号线。所以当PA口和PB口

作为输入时,各指定了PC口的3条线作

为8255A与外设联络信号及向CPU的请

求信号。

A组方式1输入B组方式1输入

方式。输入时序

RD-------------

”精体金迳蜜8255A的"

翁据俊冲行用

Do~D?

I②方式1输出

】'式工输出是CPU通过8255A把数据送到

1/0设备去,所以,数据要由CPU准备好,

并且先写到8255A,然后,再从8255A把数

据输出去。这个传送过程中需使用一些联络

信号,当PA口和PB口输出时,各指定了PC

口的3条线作为8255A与外设联络信号及向

CPU的请求信号。

姑且方式1输出B组方式1输出

方式。输出时序

WR

“8255A对CPU通色归”

输出给外役的散据色/初存

Do~D?data~^>

4

中断允许触发器中断请求信号

请求CPU接收数据

方式1

方式1输入引脚:B端口

数据选通信号

表示外设已经准备好数据

PB7-PB

方式1需倦用练OC用做您修再考

阎财名奥命中断外求彳。腐寂功能

pco

中断允许触发器

方式I

方式1输入联络信号

■STB*——选通信号,低电平有效

-由外设提供的输入信号,当其有效时,将输入设备送

来的数据锁存至8255A的输入锁存器

■IBF——输入缓冲器满信号,高电平有效

■8255A输出的联络信号。当其有效时,表示数据已锁

存在输入锁存器

■INTR一中断请求信号,高电平有效

-8255A输出的信号,可用于向CPU提出中断请求,要

求CPU读取外设数据

方式1

方式1输入时序

STB

STB*如IBF蛊外役"8255A向

的一对应答联得备考,

处的遥可■他输入敢据

输入端口--V~^ata〉

00~。7data>

方式1

方式工中断控制

■8255A的中断由中断允许触发器INTE控制

■置位允许中断,复位禁止中断

■对INTE的操作通过写入端口C的对应位实

现,INTE触发器对应端口C的位是作应答

联络信号的输入信号的哪一位,只要对那

一位置位/复位就可以控制INTE触发器

■选通输入方式下

■端口A的INTEA对应PC4

■端口B的INTEB对应PC2

中断允许触发器

请求CPU再次输出数据

方式1

方式工输出联络信号

■OBF*——输出缓冲器满信号,低有效

R2KKA输中绘外设的一小控制信号.当苴右效时.表

取走

■AC集。A的INTEA对应PC6

练的同启

OBINTEBPG2外设接

■INTR一中断请求信号,高有效

-当输出设备已接受数据后,8255A输出止匕信号向CPU

提出中断请求,要求CPU继续提供数据

方式1

4方式i输出时序

WR[匚

OBF*"ACK*蛊夕卜役"8255A向

的一对应答够得备考,

处的遥可■他输出散据

输出端口____?XCdata

D0~D7-----data:----------------------

《方式2双向方式

■方式2将方式1的选通输入输出功能组合成一个双

向数据端口,可以发送数据和接收数据

■只有端口A可以工作于方式2,需要利用端口C的

5个信号线,其作用与方式1相同

■方式2的数据输入过程与方式1的输入方式一样

■方式2的数据输出过程与方式1的输出方式有一点

不同:数据输出时8255A不是在OBF*有效时向

外设输出数据,而是在外设提供响应信号ACK*

时才送出数据

方式2双向引脚

PA7-PA0

INTEPC用PC6设置INTEi(输出)

16ACKA

OBF;用PC4设置ZTE2(输入)

输入和输出中断通过

PC

INTE24STBA

或门输出INTRA信号

PC5旧FA

PC3INTRA

方式2双向时序

IWR|J

LOBF

INTR

ACK

STB

IBF

RD

__Jf_______Jf____________

Viata-iRA^^^iata-ou〉

D0-D7-<Cdata-ou}>

48255A的编程

-初始化编程:一个方式控制字

■采用控制I/O地址:AiAo=ll

■工作过程中:通过数据端口对外设数据

进行读写

■数据读写利用端口A、B和C的I/O地址,

A1A0依次等于00、01、10

■IBMPC/XT机上,端口A、B、C和控制

端口的I/O地址为60H、61H、62H和63H

■写入方式控制字:控制字格式

1D61)5»4D3021)1D0

CB^TZ>

端口CCT丰瓯

00方式01=输八

010=输出

10年立端口白

端口A-1=输入

1=陆入0=输出

0=稿汨3

湍口c[上半部)0^xto

1=输.入.17^31

O=^tB

⑶关于控制字的几点说明

■控制字的最高位(D7)是特征位用以区别8255A的工作方

式命令和按位置/复位命令字。D7=10t,为工作方式命令;

D7=0时,为按位置位/复位命令。因此,可以判断,命令

代码的值等于、大于80H的,是工作方式命令;小于80H的,

是按位置位/复位命令,可以判断,并且奇数值是置位命令,

而偶数值是复位命令。

■方式命令是对8255A的3个端口的工作方式及功能进行指定,

即进行初始化,初始化工作要在使用8255A之前做。也就

是说,凡是用到8255A,就一定要行初始化。

-按位置位/复位命令只是对PC口的输出进行控制,使用它并

不破坏已经建立的3种工作方式,而是对它们实现动态控制

的一种支持。它可放在初始化程序以后的任何地方。

⑶关于控制字的几点说明

■按位置位/复位命令代码只能写入命令口。

-PAD、PB口也可以按位输出高/低电平,但是,这与前面的按位置位/

复位命令有本质的区别,并且实现的方法也不同。PC口按位输出是以命

令的形式送到控制寄存器存器去执行的,而PAD、PB口的按位输出是

以送数据到PAD、PB口来实现的。其具体作法是:若要使某一位置高

电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,

字节中使该位为1,其他位为0,然后再回送到同一端口,即可使该位置

位;若要使某一位置低电平,则先读入原输出值字节,再将它“与”上

一个字节,字节中使该位为0,其他位为1,然后再回送到同一端口,即

可实现对该位的复位而不影响其他位的状况。当然,能够这样作的条件

是8255A的输出有锁存能力,若定义数据口为输出而对其执行IN指令

时,所读到的内容就是上次输出时锁存的数据,而不是读入外设送来的

数据。

地址总线

控制总统

■**..•*>

数据总线

12It

RD*WRDy-DoA^Ai

8255ACS

,PB7~PB»PCs~PCoPC7~PC*PA7-EALO

BC,L*.」j

wWw>

PB?~PBo控制或控制或P%~PAo

1/0

r^»1/oc〜

方式2।।।AI

I/OKHOIIK-

匕~JQ二--IQ

PB0/i----PA7-FA

控制

q.L写入方式控制字:示例

■A端口:方式1输入

-C端口上半部:输出,C口下半部:输入

-B端口:方式0输出

方式控制字:10110001B或B1H

■初始化的程序段:

movdx,Offfeh;假设控制端口为FFFEH

moval,Oblh;方式控制字

outdx,al;送到控制端口

02.读写数据端口

■初始化编程后:

■当数据端口作为输入接口时,执行输入IN指

令将从输入设备得到外设数据

■当数据端口作为输出接口时,执行输出OUT指

令将把CPU的数据送给输出设备

■8255A具有锁存输出数据的能力

■对输出方式的端口同样可以输入

■不是读取外设数据

■读取的是上次CPU给外设的数据

.2,读写数据端口:示例

■利用8255A的输出锁存能力,可实现按位

输出控制

■对输出端口B的PB7位置位的程序段:

movdx,Offfah;B端口假设为FFFAH

inal,dx;读出B端口原输出内容

oral,80h;使「87=1

outdx,al;输出新的内容

03.读写端口C:归纳]

■C端口被分成两

个4位端口,两

个端口只能以方

式0工作,可分

别选择输入或输

■在控制上,C端口上半部和A端口编为A

组,C端口下半部和B端口编为B组

03.读写端口C:归纳2

■当A和B端口工

作在方式1或方

式2时,C端口的

部分或全部引脚

将被征用

■其余引脚仍可设定工作在方式0

土3,读写端口C:归纳3

-对端口C的数据输出有两种办法

■通过端口C的I/O地址:向C端口直接写入

字节数据。这一数据被写进C端口的输出

锁存器,并从输出引脚输出,但对设置为

输入的引脚无效

■通过控制端口:向C端口写入位控字,使C

端口的某个引脚输出1或0,或置位复位内

部的中断允许触发器

端口C的位控制字

03.读写端口C:归纳4

-读取的C端口数据有两种情况

■未被A和B端口征用的引脚:将从定义为输

入的端口读到引脚输入信息;将从定义为

输出的端口读到输出锁存器中的信息

■被A和B端口征用作为联络线的引脚:将读

到反映8255A状态的状态字

端口C的状态字

*AHB组

________________________人________________________,A

A

D7D6D5D4D3D2DIDo

方式1输入

I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB

方式1输出

OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB

方式2双向

OBFAINTEIIBFAINTE2INTRAXXX

8255A的应用

作为通用的并行接口电路芯片,

825A具有广泛的应用

■应用在IBMPC/XT微机上

■应用于打印机接口电路

-连接简易键盘

-驱动LED数码管

8255A在IBMPC/XT上的应用

■工作在基本输入/输出方式0

■端口A为方式0输入,用来读取键盘扫描码

■端口B工作于方式0输出,例如控制扬声器等

■端口C为方式0输入,读取系统状态和配置

-系统的初始化编程:

moval,10011001b;方式控制字99H

out63h,al

打印机接口的信号与时序

D公■主机把数据送给引脚DATAO〜DATA7

■同时送出数据选通信号STROBE*

STE■打印机在BUSY信号线上发出忙信号

-打印机处理好输入的数据时

■撤消忙信号

■同时又送出一个响应信号ACK*

用8255A方式0与打印机接口

8255A打印机

8255A的初野区.

movdx,Offfeh

;控制端口地址:FFFEH

moval,10000001B

;方式控制字:91H

outdx,al

/端口方式0输出,C端口上输出、下输入

moval,00001111B

;端口C的复位置位控制字,使PC7=1

outdx,al

例1

打印子程臣:查承Lj

printcproc

pushax

pushdx

prn:movdx,Offfch;读取端口C

inal,dx;查询打印机状态

andal,04h;PC2=BUSY=0?

jnzprn

;PC2=1,打印机忙,则循环等待

例1

》______

movdx,0fff8h

;PC2=0,打印机不忙,则输出数据

moval,ah

outdx5al;将打印数据从端口A输出

打印子程更:■工Egj

movdx,Offfeh;从PC7送出控制低脉冲

moval,00001110B;gSTROBE*=0

outdx,al

nop;产生一定宽度的低电平

nop

moval,00001111B;g=l

outdx,al

撮终,STROBE*产生低脉冲信号

打印子程臣:鸣

popdx

popax

ret

printcendp

用8255A方式1与打印机接口

-8255A~」打印机

lOOOpf2K

8255A方式1与打印机接口时序配合

PA0-PA7

(DATAO〜7)

OBF

STROBE

ACK

方式1◎寸序I加印机◎寸序

8255A的初始1.

V___

movdx,Offfeh

moval,OaOh

outdx,al

moval,0ch

;使1?0114(PC6)为0,禁止中断

outdx,al

movex,counter;打印字节数送CX

movbx,offsetbuffer;取字符串首地址

callprints;调用打印子程序

8255A的初j

movdx,Offfeh

moval90a0h

outdx,al

moval,Och

(PC6)为0,禁止中断

outdx,al

movex,counter;打印字节数送CX

movbx,offsetbuffer;取字符串首地址

callprints;调用打印子程序

打印子程序:查"

>-------

movdx,0fffch

print!:inal9dx

testal980h

;检测(PC7)为1否?

jzprint!

;为0,说明打印机没有响应,继续检测

打印子程序:返

incbx

;为1,说明打印机已接受数据

loopprintl

;准备取下一个数据输出

popdx;打印结束,恢复寄存器

popax

ret;返回

printsendp

双机并行通信接口

已方(接收)甲方(发送)

8255A8255A

PA0-PA7♦PA0-PA7

PC4PC7

PCo一.PC6

甲机的初始1J

*movdx,Offfeh

moval90a0h

outdx,al

;工作方式字:端口A方式1输出

moval,Odh

;®PC6(INTEA)=1,允许中断

outdx,al

例3

甲机发送程

trsmt:movdx,Offfch

inal9dx

;查询PC3(INTRA)=1?

andal,08h

jztrsmt

movdx,0fff8h;发送数据

moval9ah

outdx,al

乙机的初始1

movdx,Offfeh

moval,98h

outdx,al

;工作方式字:端口A方式0输入

moval,01h

HtPCO(ACK*)=1,因尚未收到数据

outdx,al

乙机:查理趣区J

receive:movdx,Offfch

inal9dx

;查询PC4(OBF*)=0?

andal,10h

jnzreceive

movdx,0fff8h;接收数据

inal9dx

movah,al

乙机:接哓啜

movdx,Offfeh

moval900hHtPCO(ACK*)=0

outdx9al

nop

;适当延时,产生一定宽度的低脉冲

nop

moval901hHtPCO(ACK*)=1

outdx,al;产生低脉冲ACK*信号

例3

■8255A用于PC微机与从机之间的并行通

信。

■主机一侧的程序段:

1MOVDX,303H

jMOVAirimnnOOOB

■OUTDX,AL

■MOVAL,0000100IB;INTEi有效

■OUTDX,AL

■MOVAL,0000110IBRNTE2有效

■OUTDX,AL

■MOVSI,300H

■MOVDI,410H

■MOVCX,0FFH

-...;进行输入或者输出

■T_RPROCFAR

■ASSUMECS:CODE,DS:DATA,SS:STACK

■PUSH...

■MOVDX,303H

■MOVAL,0000100OB

■OUTDX,AL

■MOVAL,00001100B

■OUTDX,AL

■CLI

■MOVDX,302H

■INAL,DX

■MOVAH,AL

■ANDAL,00100000B;IBF=1?

■JZOUTP

INP:MOVDX,300H

■INAL,DX

■MOV[DI],AL

■INCDI

■JMPRETURN

■OUTP:MOVDX,300H

■MOVAL,[SI]

JOUTDX,AL

^INCSI____________

于RETURN:MOVDX,303H

■MOVAL,0000110IB

■OUTDX,AL

■MOVAL,0000100IB

■OUTDX,AL

■MOVAL,62H

■OUT20H,AL

■POP…

■IRET

■T_RENDP

4工、串行通信基础知识

■1.异步通信

■串行通信时的数据、控制和状态信息都使

用同一根信号线传送

■收发双方必须遵守共同的通信协议(通信

规程),才能解决传送速率、信息格式、

位同步、字符同步、数据校验等问题

■串行异步通信以字符为单位进行传输,其

通信协议是起止式异步通信协议

1.波特率和比特率

-比特率是指二进制数码流的信息传输速率,单位是:bit/s简写b/s或

bps,它表示每秒传输多少个二进制位,有些情况下,也可以用字/

秒为单位;

-波特又称调制速率,是针对模拟数据信号传输过程中,从调制解调

器输出的调制信号每秒钟载波调制状态改变的数值,单位是S/S,称

为波特(baud)率。因此,调制速率也称为波特率。发送设备和接收

设备必须工作在相同的波特率,否则会产生帧错误.

-在无调制的情况下,波特率精确等于比特率,采用调相技术时,波特

率不等于比特率.

■例:56K的调制解调器可以工作在36.6K,192K和9.6K等波特率下,因

此购买调制解调器时其波特率(传输速率)应该超前,才不会被很快淘

汰.

3.波特因子

定义:发送/接收1位数据所需要的时钟脉冲个数,单位

是个/位。

在波特率指定后,输入移位寄存器/输出移位寄存器在

接收时钟/发送时钟控制下,按指定的波特率速度进行

移位。一般几个时钟脉冲移位一次。要求:接收时钟/

发送时钟是波特率的16、32或64倍。波特率因子就是

发送/接收1个数据(1个数据位)所需要的时钟脉冲

个数,其单位是个/位。

-在实际应用中,可以根据要求的传输波特率和波特因

子来确定发送/接收时钟的频率。

-对于同步通信,波特因子取1。

■4,传输距离与传输速率的关系

■串行数据传送的最大距离与传输速率和

传输线的电气特性有关。

-传输距离随着传输速率的增加而减小。

■在实际应用中,利用电话网进行远距离

传送,一般都需要使用调制解调器。

1.单工、半双工和全双工

①单工(Simplex)

特点:仅能进行一个方向的数据传送

①半双工(HalfDuplex)

特点:数据可以在两个方向上进行传送,但

是这种传送绝不能同时进行。【双向,但

不同时】

①全双工(FullDuplex)

特点:能够在两个方向同时进行数据传送。

起止式异步通信协议

低位高位

•空闲位——传送字符之间的逻辑1电平,

表示没有进行传送

同步通信

■以一个数据块(帧)为传输单位,每个数据

块附加1个或2个同步字符,最后以校验字符

结束

■同步通信的数据传输效率和传输速率较高,

但硬件电路比较复杂

■串行同步通信主要应用在网络当中

■最常使用高级数据链路控制协议HDLC

同步字符数据数据数据校验字符

—串行接口标准RS-232c

■美国电子工业协会EIA制定的通用标准串行接口

.1962年公布,1969年修订

-1987年1月正式改名为EIA-232D

■设计目的是用于连接调制解调器

■现已成为数据终端设备DTE(例如计算机)与数

据通信设备DCE(例如调制解调器)的标准接口

■可实现远距离通信,也可近距离连接两台微机

■属于网络层次结构中的最低层:物理层

RS-232C的弓I脚定义

■232c接口标准使用一个25针连接器

■绝大多数设备只使用其中9个信号,所以就

有了9针连接器

-232c包括两个信道:主信道和次信道

■次信道为辅助串行通道提供数据控制和通

道,但其传输速率比主信道要低得多,其

他跟主信道相同,通常较少使用

RS-232C的连接

■微机利用232c接口连接调制解调器,用于

实现通过电话线路的远距离通信

■微机利用232c接口直接连接进行短距离通

信。这种连接不使用调制解调器,所以被

称为零调制解调器(NullModem)连接

连接调制解调器

MODEMMODEM微机

发送数据TxD

2222

接收数据RxD

3333

请求发送RTS

4444

允许发送CTS

55电话线55

数据装置准备好DSR

66/66

7信号地GND777

8载波检测CD888

20数据终端准备好DTR202020

22振铃指KRI222222

RS-232c的电气特性

■232c接口采用EIA电平

■高电平为+3V〜+15V

■低电平为一3V〜-15V

■实际常用±12V或±15V

■标准TTL电平

■高电平:+2.4V〜+5V

■低电平:0V〜0.4V

■RS-232定义了计算机和调制解调器之间

的接口标准:

■*传输距离小于50米.

■*+5〜+15V的电压表示0,-5〜-15V的

电压表示1

■*每次用9个bit传输一个字符.其中第一

个bit标志开始位,第九个bit标志结束位.

2、通用异步接收发送器8251

■串行传输,需要并行到串行和串行到并行

的转换,并按照传输协议发送和接收每个

字符(或数据块)

■这些工作可由软件实现,也可用硬件实现

■通用异步接收发送器UART是串行异步通

信的接口电路芯片

■IBMPC/XT机的UART芯片是INS8251

■后来使用NS16550

1.串行数据的发送

CPU并行数据

发送保持寄存器串行数据

发送移位寄存器

WFiXlE她仙、「/板1

校验位、停止位

同在姑生H

双缓冲寄存器结构

保证数据的连续发送

2.起始位的检测

I------------16T——

数据线[起始位:

(SIN)T-----------------?-----------------T

时钟

(RCLK)।।।

------8T-b-------------16T--------------

[总口\Hflil本【I±口//A/-TI^T土田

数据接收时钟频率是数据传输频率的16倍

正确识别起始位,防止因干扰引起的误识别

3.串行数据的接收

CPU并行数据

接收缓冲寄存器

串行数据

TT

接收移位寄存器SIN0/10/1

nlll0/10/1

检测接收错误

同步控制删除起始位、

校验位、停止位

双缓冲寄存器结构

保证数据的连续接收,

*-----------------

■8251实现了起止式串行异步通信协议,支

持全双工通信

■通信字符可选择数据位为5〜8位

■停止位1、1.5或2位

■可进行奇偶校验

■具有奇偶、帧和溢出错误检测电路

■8251支持的数据传输速率为50〜9600bps

8251的工作原理

■1、异步接收方式串---并

-2、异步发送方式并---串

・3、同步接收方式搜索同步字符

・4、同步发送方式插入同步字符

8251A的命令字

■1、方式选择命令字:同步方式和异步方

式控制

■2、工作命令字:确定8251A的实际操作,

迫使8251A处于某种工作状态,以便接收

或发送数据

■3、状态字IN

工、p251A方式选择控制字

00

o1:同步方式

i0-ixK,(*1)

11:异步方式C*16)

:异步方式(*64)

005位

016位

107位

118位

xo•禺

O1:奇,曲

11:1.禹校班

00

01无意必

101个停止位

1115个停止位

2个停止住:

xo:内同步

X1:夕卜同步

OX:两个同步字招

1X:单个同步字符

-例如,在某异步通信中,数据格式采用8位数据位,1位起始位,

2位停止位,奇校验,波特率因子是16,则其方式命令字为

11011110B=0DEHo若将方式命令写入命令口,则程序段为:

■bjlOVDX,8251A-C;8251A命令口地址

■、0VAL,ODEH;异步方式命令字

■TKJTDXTAL

■某同步通信中,若帧数据格式为:字符长度8位,双同步字符,

内同步方式,奇校验,则方式命令字是00011100B=lCH。若将

方式命令写入命令口,则程序段为:

■MOVDX,8251A-C;8251A命令口地址

■MOVAL,1CH;同步方式命令字

■OUTDX,AL

-某同步通信中,若帧数据格式为:字符长度8位,外同步方式,

偶校验,则方式命令字是01111100B=7CH。若将方式命令写入

命令口,则程序段为:

■MOVDX,8251A-C;8251A命令口地址

■MOVAL,7CH;同步方式命令字

■OUTDX,AL

2、操作命令控制字

操作命令控制字直接让8251A实现某种操

■进入规定的工作状态,它只有在设定了方

选择控制字后,才能由CPU写入,8251A的

3操作命令控制字格式如图8.17所示。

DTD6D5D4D302DIDO

EHLRRTSERSBRKR^EDTRTXEN

---------------------------------------------------------------------------------------------------1]1:空法需允4

1=徒DTR领出方盛

1一接3需允4

-中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论