计算机硬件技术基础
Download
1 / 116

????????? - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

计算机硬件技术基础. hardwarebasic@163.com. 并行通信接口. 概念. CPU 与外设之间的信息传送都是通过接口电路来进行的。 计算机与外部设备、计算机与计算机之间交换信息称之为计算机通信 , 计算机通信可分为两大类: 并行通信 :多位(如 8 位 /16 位 /32 位)数据通过多条数据线同时传送。数据的各位同时由源到达目的地。适合近距离、高速通信。 串行通信 :一位一位数据传送 ( 在一条线上顺序传送 ) ,成本低多位数据通过同一条数据线按位依次传送。串行通信适于长距离、中低速通信。 实现并行通信的接口就是并行接口。. 并行接口的特点.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ?????????' - flavia-hancock


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
7101139

计算机硬件技术基础

hardwarebasic@163.com


7101139
并行通信接口

概念

  • CPU与外设之间的信息传送都是通过接口电路来进行的。

  • 计算机与外部设备、计算机与计算机之间交换信息称之为计算机通信,计算机通信可分为两大类:

    • 并行通信:多位(如8位/16位/32位)数据通过多条数据线同时传送。数据的各位同时由源到达目的地。适合近距离、高速通信。

    • 串行通信:一位一位数据传送(在一条线上顺序传送),成本低多位数据通过同一条数据线按位依次传送。串行通信适于长距离、中低速通信。

  • 实现并行通信的接口就是并行接口。


7101139
并行接口的特点

并行通信接口

  • 并行接口最基本的特点是在多根数据线上以数据字节(字)为单位与I/O设备或被控对象传送信息。

  • 如: 打印机接口,A/D、D/A转换器接口,IEEE-488接口,开关量接口,控制设备接口等。

  • 在并行接口中,除了少数场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根握手(联络)信号线,以便进行互锁异步握手方式(即查询方式)的通信。

  • 在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。

  • 并行传送信息,不要求固定的格式,这与串行传送的数据格式的要求不同。


7101139

并行通信接口

8255A的基本特性

  • 具有三个8位(PA口、PB口、PC口)并行I/O端口的接口芯片。

  • 能适应CPU与I/O接口之间的多种数据传送方式的要求。

  • 可执行功能很强,内容丰富的命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,组成微机应用系统提供了灵活方便的编程环境。


7101139

PA3

1

40

PA4

PA2

2

39

PA5

PA1

3

38

PA6

PA0

4

37

PA7

RD

5

36

WR

6

35

CS

RESET

7

34

D0

GND

A1

8

33

D1

8255A

D7~D0

A0

9

32

D2

8255A

PA7~PA0

PC7

10

31

D3

A1A0

PC6

11

30

D4

PC5

12

29

D5

RD

PC4

13

28

D6

CS

WR

PB7~PB0

PC0

14

27

D7

PC1

15

26

VCC

RESET

PC2

16

25

PB7

VCC

PC3

17

24

PB6

PC7~PC0

PB0

18

23

PB5

GND

19

22

PB4

PB1

PB2

20

21

PB3

并行通信接口

8255A的外部引线


7101139

并行通信接口

8255A的外部引线

  • ①与系统总线的连接信号

    • 面向数据总线的有:

      • D0~D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据和8255A向CPU回送状态、数据。

    • 面向地址总线的有:

      • A1、A0

    • 面向控制总线的有:

      • RD:读信号,低电平有效。

      • WR:写信号,低电平有效。

      • RESET:复位信号,高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。


7101139
并行通信接口

8255A的外部引线

  • ②与外部设备的连接信号

    • PA0~PA7:端口A的输入/输出线。

    • PB0~PB7:端口B的输入/输出线。

    • PC0~PC7:端口C的输入/输出线。

  • 这24根信号线均可用来连接I/O设备和传送信息。其中,A口和B口只作输入/输出的数据口用,尽管有时也利用它们从I/O设备读取一些状态信号,如打印机的“忙”(Busy)状态信号、A/D转换器的“转换结束”(EOC)状态信号,但对A口和B口来说,都是作8255A的数据口读入,而不是作8255A的状态口读入的。


7101139
并行通信接口

8255A的外部引线

  • PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的大部分引脚被分配作专用联络信号;PC口可以进行按位控制;在CPU读取8255A状态时,PC口又作1,2方式的状态口用,等等。


7101139

A

A口

(8位)

A组控制

PA0~PA7

数据总线

缓冲器

A组

C口高位

(4位)

D0~D7

PC4~PC7

CS

WR

读/写

控制逻辑

A1

B组

C口低位

(4位)

A0

RD

PC0~PC3

RESET

B组控制

B组

B口

(8位)

PB0~PB7

并行通信接口

内部结构


7101139

并行通信接口

内部结构

8255芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成。

① 数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。

② 读/写控制逻辑。读/写控制逻辑由读信号RD、写信号WR、片选信号CS以及端口选择信号A1A0等组成。

③ 输入/输出端口A、B、C。8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。

④ A组和B组控制电路。控制A、B和C三个端口的工作方式。


7101139

并行通信接口

8255A基本操作与端口地址


7101139

1

D6

D5

D4

D3

D2

D1

D0

特征位

A组方式

00=0方式

01=1方式

10=2方式

11=不用

PA

0=输出

1=输入

PC4~7

0=输出

1=输入

B组方式

0=0方式

1=1方式

PB

0=输出

1=输入

PC0~3

0=输出

1=输入

并行通信接口

8255A的编程命令

1.方式命令

作用:指定8255A的工作方式及其方式下3个并行端口(PA、PB、PC)的功能,是作输入还是作输出。

格式:8位,其中最高位是特征位,一定要写1,其余各位定义如下,应根据用户的设计要求填写1或0。


7101139

并行通信接口

8255A的编程命令

例1:

要把A口指定为方式1 ,输入,C口上半部为输出;B组指定为0方式,输出,C口下半部定为输入,则工作方式命令代码是:10110001B或B1H。

若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为(假设命令口地址203H)

MOV DX,203H ;8255A命令口地址

MOV AL,0B1H ;初始化命令

OUT DX,AL ;送到命令口


7101139

0

D6

D5

D4

D3

D2

D1

D0

特征位

不 用

(写0)

位 选 择

000=C口0位

001=C口1位

111=C口7位

1=置位

(高电平)

0=复位

(低电平)

并行通信接口

8255A的编程命令

2.按位置位/复位命令

作用:指定PC口的某一位(某一个引脚)输出高平或低电平。

格式:8位,其中最高位是特征位,一定要写0,其余各位的定义如下,应根据用户的设计要求填写1或0.


7101139

并行通信接口

8255A的编程命令

例2:若要把C口的PC2引脚置成高电平输出,则命令字应该为00000101B或05H。

将该命令的代码写入8255A的命令寄存器,就会使得从PC口的PC2引脚输出高电平,其程序段为: (假设命令口地址203H)

MOV DX,203H ;8255A命令口地址

MOV AL,05H ;使PC2=1的命令字

OUT DX,AL ;送到命令口

如果要使引脚PC2输出低电位,则程序段为:

MOV DX,203H ;8255A命令口地址

MOV AL,04H ;使PC2=0的命令字

OUT DX,AL ;送到命令口


7101139

并行通信接口

8255A的编程命令

利用C口的按位控制特性还可以产生、负脉冲或方波输出,对外设进行控制。

例3:利用8255A的PC7产生负脉冲,作打印机接口电路的数据选通信号,其程序段为: (假设命令口地址203H)

MOV DX,203H ;8255A命令口

MOV AL,00001110B ;置PC7=0

OUT DX,AL

NOP ;维持低电平

NOP

MOV AL,00001111B ;置PC7=1

OUT DX,AL


7101139

并行通信接口

8255A的编程命令

3.关于两个命令的讨论

① 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用8255A之前做。

② 按位置位/复位命令只是对PC口的输出进行控制,使用它产不破坏已经建立的3种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。

③ 两个命令的最高位(D7)都分配作了特征位,之所以要设置特征位,是为了识别两个不同的命令。

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


7101139

1 0 1 0 1 0 1 0

OR0 0 0 0 0 0 0 1

1 0 1 0 1 0 1 1

1 0 1 0 1 0 1 1

AND 1 1 1 1 1 1 1 0

1 0 1 0 1 0 1 0

并行通信接口

8255A的编程命令

4. A口和B口另一个使用方法

A口、B口也可以按位输出高低电平,但是,它与前面的按位置位/复位命令有本质的差别,并且实现的方法也不同,。C口按位输出是以送数据到A口、B口来实现的。其具体作法是:若要使某一位置高电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,字节中使该位为1,其他位为0,然后再送到同一端口,即可使该位为0,然后再送到同一端口,即可使该位置位。


7101139

并行通信接口

8255A的编程命令

例4:若要使PA7位输出高/低电平,则用下列程序段:使PA7输出高电平。 (假设PA口地址200H)

MOV DX,200H ;PA数据口地址

IN AL,DX ;读入A口原输出内容

MOV AH,AL ;保存原输出内容

OR AL,80H ;使PA7=1

OUT DX,AL ;输出PA7

MOV AL,AH ;恢复原输出内容

OUT DX,AL


7101139

并行通信接口

8255A的编程命令

使PA7输出低电平

MOV DX,200H ; A口地址

IN AL,DX ;读入端口原输出值

MOV AH,AL ;保存原输出值

AND AL,7FH ;使PA7=0

OUT DX,AL ;输出PA7

MOV AL,AH ;恢复原输出内容

OUT DX,AL


7101139

并行通信接口

8255A的工作方式

  • 三种基本工作方式:

    • 1.方式0——基本输入/输出方式

    • 2.方式1——选通输入/输出方式

    • 3.方式2——双向传送方式


7101139
并行通信接口

8255A的工作方式

  • 在这种工作方式下,A、B和C口都可以在程序规定下进行输入或输出。通常不用联络信号,或不使用固定的联络信号。

  • 特点:

    • 通常使用于无条件输入输出方式或查询式输入输出;

    • 在0方式下,彼此独立的两个8位和两个4位并行口,都能被指定作为输入或者输出用,共有16种不同的使用状态。

    • 是单向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或输出,不能指定端口同时既作输入又作输出。

1、工作方式0是一种基本输入或输出方式


7101139

4ms

1ms

并行通信接口

8255A的工作方式

例1:用8255A产生波形。8255A在方式0下工作,令其在PB1、PB2引脚产生图所示波形,编写相应程序。电路连接设定8255A各端口地址分别为90H、 91H、 92H和93H,波形延时时间可调用延时1毫秒(D1ms)子程序实现。

8255A

分析:根据要求可确定端口B应工作在方式0下输出,其余端口无具体要求,也都定为方式0输出,则方式选择控制字为80H,程序如下:

PB1

2ms

PB2


7101139

并行通信接口

8255A的工作方式

MOV AL,80H ;8255A的初始化OUT 93H,AL START: MOV AL,02H ;00000010B OUT 91H,AL CALL D1ms MOV AL,06H ;00000110B OUT 91H,AL CALL D1ms MOV AL,00H ;00000000B OUT 91H,AL CALL D1ms MOV AL,04H ;00000100B OUT 91H,AL CALL D1ms JMP START


7101139
并行通信接口

8255A的工作方式

  • 特点

    • 需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧 进行联络。这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。

    • PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联络信号的C口引脚,用户不能再指定作其他作用。

    • 各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。

    • 单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。

2、工作方式1也称选通的输入/输出方式


7101139
并行通信接口

8255A的工作方式

  • 方式1下输入的联络信号线定义

  • 因为输入是从I/O设备向8255A送数据进来,所以I/O设备应先把数据准备好,并送到8255A,然后CPU再从8255A读取数据。这个传递过程中需要使用一些联络信号线。所以当A口和B口为输入时,各指定了C口的3根线作为8255A与外设及CPU之间应答信号。

    • STB:外设给8255A的“输入选通”信号,低电平有效。

    • IBF:8255A给外设的回答信号“输入缓冲器满”,高电平有效。

    • INTR:8255A给CPU的“中断请求”信号,高电平有效。


7101139

方式1输入(端口B)

PB7~0

8

INTE

B

PC2

STBB

PC1

IBFB

RD

RD

&

INTRB

PC0

2

并行通信接口

8255A的工作方式

方式1输入(端口A)

PA7~0

8

INTE

A

PC4

STBA

PC5

IBFA

&

INTRA

PC3

2

PC6,7

I/O

方式1输入时联络信号线定义


7101139
并行通信接口

8255A的工作方式

  • 方式1下输出的联络信号线定义

    • ACK:外设应答信号,低电平有效。当它有效时,表示CPU输出到8255A的数据已被外设取走。

    • OBF:输出缓冲器满信号,输出信号,低电平有效。当它有效时,表示CPU已把数据写入A口或B口的输出缓冲器等待输出。

    • INTR:中断请求信号,高电平有效。当外设向8255A发回的应答信号(ACK)结束,8255A便向CPU发中断请求信号INTR,表示CPU可以对8255A写入一个新的数据。


7101139

方式1输出(端口A)

方式1输出(端口B)

PA7~0

8

PA7~0

8

PC7

PC1

WR

WR

OBFA

OBFB

INTE

A

PC6

ACKA

INTE

A

PC2

ACKB

INTRA

INTRB

&

PC3

&

PC0

2

PC4,5

I/O

并行通信接口

8255A的工作方式

方式1输出时联络信号线定义


7101139
并行通信接口

8255A的工作方式

  • 这种工作方式仅适用于端口A, 这时A口的8位数据线为双向数据线, 端口C的5个引脚配合A提供控制信号和状态信号,而端口B和端口C余下的3位仍可工作于方式0或1。

    • 例如,磁盘驱动器,CPU既可以向磁盘写数据,也可以读磁盘数据,所以,可以将磁盘驱动器的数据线与8255A的PA7~PA0相连,再使PC7~PC3和磁盘驱动器的控制线和状态线相连即可

3、工作方式2也称选通的双向输入/输出方式


7101139
并行通信接口

8255A的工作方式

  • 特点

    • PA口为双向选通输入/输出或叫双向应答式输入/输出。一次初始化可指定PA口既作输入口又作输出口。

    • 设置专用的联络信号线和中断请求号信线,因此,方式2下可采用中断方式和查询方式与CPU交换数据。

    • 各联络线的定义及其时序关系和壮态基本上是在方式1下输入和输出两种操作的组合。


7101139

≥1

PC3

INTRA

8

PA7~0

&

PC7

OBFA

PC6

ACKA

INTE

1

&

PC4

STBA

INTE

2

PC5

WR

IBFA

RD

PC2~0

I/O

3

并行通信接口

8255A的工作方式

方式2下联络信号线的定义

方式2是一种双向选通输入输出方式,它把A口作为双向输入/输出口,把C口的5根线(PC3~PC7)作为专用应答线,所以,8255A只有A口才有方式2 。其引脚定义如图所示。

方式2的联络信号线定义


7101139

0 1 1 0 1 0 1 0

RD

TD

串行通信接口

串行通信基础

将数据的各位按时间顺序依次在一根传输线上传输。

  • 数据的各位依次由源到达目的地 → 慢

  • 数据线少 → 远程(费用低)

串行通信适于长距离、中低速通信


7101139
1.数据传输速率----波特率

串行通信接口

串行通信基础

  • 数据传输速率也称比特率(Bit Rate)

    • 每秒传输的二进制位数bps

    • 字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数

  • 当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate)

  • 过去,串行通信(异步)的数据传输速率限制在50 bps到9600 bps之间。现在,串行通信可以达到115200 bps或更高


7101139
2.数据传输方式

串行通信接口

串行通信基础

全双工

单工

站A

站B

半双工

站A

站B

站A

站B


7101139

串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验CRC(Cyclic Redundancy Check)等。

串行通信接口

串行通信基础

3.串行通信的校验方法


7101139

串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验1)奇偶校验

这种校验方法主要用于对一个字符的传送过程进行校验。在发送时,在每一个字符的最后1位之后都附加一个奇偶校验位,这个校验位本身有可能是“1”或“0”,加上这个校验位后,使所发送的字符中“1”的个数始终为奇数(奇校验),或偶数(偶校验)。

接收时,检查所接收的字符连同这个奇偶校验位,其为“1”的个数是否符合规定,若不符合规定就置出错标志。供CPU查询及处理。

(2)循环冗余校验CRC

这是另一种常用的校验方法,它可对一个数据块进行校验。

串行通信接口

串行通信基础


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信基础

4.串行通信的基本传送方式

串行通信有异步和同步两种方式:

  • 异步:按字符传输,字符可以不连续发送,每个字符的前后用一些数位来作为分隔位 (两个字符之间的传输间隔任意) 。收发时钟不要求严格同步。

  • 同步:许多字符组成一个信息组,在每组信息的开始加上同步字符 (不允许字符间有间隔)。收发双方时钟(频率和相位)严格同步。

    • 自同步:发送时将传送数据与时钟进行编码,接收时解码

      • 单同步

      • 双同步

    • 外同步:另用一根时钟线专门用来传送时钟信号


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信基础

(1)异步通信方式

异步通信的数据链路控制是面向字符的,即传送的每一组数据构成一个字符,或者把每个字符看作一个独立的信息进行传送,并且每个字符出现在数据流中的相对时间是任意的,而每一个字符中每一位占用的时间是固定的,它由传送率确定。因此,异步通信是字符内的同步,字符间的同步。


7101139

空闲位串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

5~8位 数据位

空闲位

1位 起始位

1~2位 停止位

0~1位 校验位

串行通信接口

串行通信基础

异步串行通信以字符为单位,称为一个信息帧。一帧包括起始位、数据位、校验位、停止位四部分。字符间间隔不固定,但在字符中相邻位间的时间间隔固定。收发双方速率和帧格式要完全相同。

帧格式:

校验位:可以奇校验、偶校验或没有校验位。

异步传输信息冗余较大,例如:1+8+1+2中有效位数只有8位。


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信基础

同步串行通信中,要求发送端总是在正式发送数据之前,先发送一个同步字符通知接收端;接收端在收到同步字符后,便开始按照双方约定的格式和速率接收数据,也就是用同步字符作为信息开始传送的标志和启动信号,接收端没有收到同步字符,便不接收数据,以此速率传送,因此适用于高速串行传送。


7101139

单同步串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

同步字符

数据1

数据2

……

数据n

校验字符

校验字符

一 帧

双同步

同步字符

同步字符

数据1

数据2

……

数据n

校验字符

校验字符

一 帧

外同步

数据1

数据2

……

数据n

校验字符

校验字符

一 帧

串行通信接口

串行通信基础

同步串行通信


7101139
异步通信与同步通信的主要区别串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口

串行通信基础

时钟要求:同步通信要求发送与接收时钟频率精确相等,异步通信要求发送与接收时钟频率基本相等即可

控制信息:同步通信要求对整个数据块附加帧信息用于高速数据链路。异步通信要求对每个数据字符均附加帧信息,用于低速设备,低速传送。

校验方式:同步通信采用16位循环冗余校验码,可靠性高。异步通信采用1位奇偶校验,可靠性相对较低


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信基础

串行通信的基本问题

  • 在串行通信时,数据和联络信号使用同一条信号线来传送,所以收发双方必须考虑解决如下问题:

  • 波特率---双方约定以何种速率进行数据的发送和接收

  • 帧格式---双方约定采用何种数据格式

  • 帧同步---接收方如何得知一批数据的开始和结束

  • 位同步---接收方如何从位流中正确地采样到位数据

  • 数据校验---接收方如何判断收到数据的正确性

  • 差错处理---收发出错时如何处理

    收发双方必须遵守一些共同的通信协议才能解决上述问题。


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251接口芯片

接口特性:

可以工作在同步或异步方式。

在同步方式时,

能用5、6、7或8位代表字符

能自动检测同步字符

允许奇偶校验。

在异步方式下

能用5、6、7或8位代表字符,用1位作为奇偶校验。

能增加1个启动位

能增加1个、1.5个或2个停止位。


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251的外部连接


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251的外部连接

和CPU之间的连接

(1)片选信号

CS#为低电平时,8251A被选中

(2)数据信号

D7~D0与系统的数据总线相连

(3)读写控制信号

RD#为读信号。

WR#为写信号。

C/D#为控制/数据信号。

(4) 收发联络信号

TXRDY为发送器准备好信号

TXE 发送器空信号

RXRDY 接收器准备好信号

SYNDET 同步检测信号


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

和外部设备之间的连接

(1) 收发联络信号

DTR# 数据终端准备好信号

DSR# 数据设备准备好信号

RTS# 请求发送信号

CTS# 清除请求发送信号

(2) 数据信号

TXD 发送器数据信号端

RXD 接收器数据信号端


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251A的内部工作原理


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

接收控制电路的功能:

复位后寻找启动位。

消除假启动干扰。

对接收到的信息进行奇偶校验。

检测停止位。

发送控制电路的功能:

在异步方式下,为数据加上起始位、校验位和停止位。

在同步方式下,插入同步字符和校验位。


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

读写控制逻辑电路的功能:

接收WR#,写入数据和控制字

接收RD#,读取数据或状态字

接收C/D#。

接收CLK,完成内部定时。

接收RESET。


7101139
8251串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的发送和接收

串行通信接口

(1) 异步收发方式

下图为8251A工作在异步方式时的数据传输格式


7101139
串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251的发送和接收

(2) 同步收发方式

下图为8251A工作在同步方式时的数据传输格式


8251a
8251A串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的初始化编程

串行通信接口

8251A初始化的约定 :

复位后,用奇地址写入的值送模式寄存器。

若为同步模式,接着往奇地址端口输出的字节为同步字符。

此后,除复位命令,往奇地址写入的值将送到控制寄存器,往偶地址端口写入的值送到数据输出寄存器。


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

8251A的初始化流程图


7101139
模式寄存器的格式 串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口

下图为8251A模式寄存器的格式(异步模式)


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

模式寄存器的格式

下图为8251A模式寄存器的格式(同步模式)


7101139
控制寄存器的格式 串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口


7101139
状态寄存器的格式 串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口


7101139
异步模式下的初始化程序举例 串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口

MOV AL,0FAH

OUT 42H,AL ;设置模式字,为异步模式;

波特率因子为16;用7个数

据位,偶校验,2个停止位

MOV AL,37H

OUT 42H,AL ;设置控制字,使发送启动、

接收启动,并设置有关信号


7101139
同步模式下的初始化程序举例 串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口

MOV AL,38H

OUT 42H,AL ;设置模式字为同步模式,2

个同步字符,7个数据位,

偶校验

MOV AL,16H

OUT 42H,AL

OUT 42H,AL ;两个同步字符均为16H

MOV AL,97H

OUT 42H,AL ;设置控制字,并启动


7101139
远距离传输和调制解调器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

串行通信接口

  • 串行数据的远传

    • 提高电平摆幅——RS232-C标准

    • 采用平衡式传输——RS422/RS485

    • 采用电流信号——20mA电流环

    • 利用电话线和声频信号——调制/解调

  • 调制(Modulating)和解调(Demodulating)

    • 把数字信号转换为电话线路上可传送的模拟信号

    • 将电话线路上的模拟信号转换为数字信号

  • 调制解调器(MODEM)

    • 具有调制和解调功能的联合装置


Rs 232c
串行接口标准串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验RS-232C

串行通信接口

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

    • 1962年公布,1969年修订

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

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

  • 现已成为数据终端设备DTE与数据通信设备DCE的标准接口

    • DTE——数据终端设备,例如计算机

    • DCE——数据通信设备(数传机),例如调制解调器

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

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


7101139

串行通信接口串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

RS-232C接口的使用场合

DTE

DCE

DCE

DTE

电话线

RS-232C

接口

RS-232C

接口

计算机

调制解调器

调制解调器

计算机


Rs 232c1
RS-232C串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的引脚定义

串行通信接口

  • 232C接口标准使用一个25针连接器

  • 绝大多数设备只使用其中9个信号,所以就有了9针连接器

  • 232C接口信号面向使用调制解调器的串行异步通信,可支持两个通信信道:

    • 主信道:用于数据传送

    • 次信道:次信道为辅助串行通道,主要提供通道控制,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用


Rs 232c2
RS-232C串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的引脚

串行通信接口

  • TxD:发送数据(终端→数传机)

    • 串行数据的发送端

  • RxD:接收数据(终端←数传机)

    • 串行数据的接收端

  • RTS:请求发送(终端→数传机)

    • 当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据

  • CTS:清除发送(允许发送) (终端←数传机)

    • 当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号

      RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号


Rs 232c3
RS-232C串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的引脚

串行通信接口

  • DTR:数据终端准备好(终端→数传机)

    • 通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪

  • DSR:数据装置准备好(终端←数传机)

    • 通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式

      DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收

  • GND:信号地

    • 为所有的信号提供一个公共的参考电平

  • CD:载波检测(DCD) (终端←数传机)

    • 当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号

  • RI:振铃指示(终端←数传机)

    • 当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效


Rs 232c4
RS-232C串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的引脚

串行通信接口

  • 保护地(机壳地)

    • 起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地

  • TxC:发送器时钟

    • 控制数据终端发送串行数据的时钟信号

  • RxC:接收器时钟

    • 控制数据终端接收串行数据的时钟信号


Rs 232c5
RS-232C串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的电气特性

串行通信接口

  • 232C接口采用EIA电平(负逻辑)

    • “0” 电平为+3V~+15V

    • “1”电平为-3V~-15V

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

相互转换

  • 标准TTL电平(正逻辑)

    • “1”电平:+2.4V~+5V

    • “0”电平:0V~0.8V


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 计算机中定时信号的作用

    • 动态存储器的定时刷新

    • 系统时钟计时

    • 喇叭声源

    • 计算机实时控制和处理

    • 多任务的分时系统中作为中断信号实现程序的切换

    • 输出精确的定时信号

    • 作为波特率发生器

    • 实现延迟


7101139
可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 定时信号的产生办法

    • 软件方法:

      • 设计延迟子程序,按指令执行的延迟时间进行定时。延迟期间,CPU一直被占用。

    • 硬件方法:

      • 使用计数/定时器8253,由简单软件控制,产生准确的时间延迟,计数时不占用CPU。(设置定时常数;启动计数/定时器)


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 可编程计数器/定时器8253的功能

    • 计数器:设置好计数初值,开始减1计数,减为0时,输出一个信号。

    • 定时器:设置好定时常数,进行减1计数,并按定时常数,不断输出为时钟周期整数倍的定时间隔信号。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 可编程计数器和定时器的原理

  • 四个寄存器:

    • 初值寄存器

    • 计数输出寄存器

    • 控制寄存器

    • 状态寄存器

  • 都对应一个端口,均可以被CPU访问


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • CLK:时钟信号输入

    • 决定计数速率

  • GATE:门控信号输入

    • GATE=0 禁止计数

    • GATE=1 允许工作;

  • OUT:输出端

    • 可以连接中断请求线,也可以连接其他输入/输出设备,来启动设备的操作。


7101139
可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 任何时候都可以将计数器的值直接传输到计数输出寄存器而被读出,读出过程不影响计数。

  • 当计数结果为0时,一方面会通过OUT引脚产生输出,为中断工作方式提供条件;另一方面会设置状态寄存器的对应位,为查询工作方式提供条件。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 8253的内部有三个计数器,每个计数器内部都包括:

    • 一个16位的计数初值寄存器CR

    • 一个计数执行部件CE

    • 一个输出锁存器OL

    • 每个计数器按二/十进制方式减法计数

  • 每个计数器的输入输出都决定于计数器本身控制寄存器的控制字,互相之间的工作完全独立。


7101139

数据总线串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

缓冲器

CLK1

CLK0

CLK2

计数器0

D7~D0

GATE1

GATE0

GATE2

OUT1

OUT0

OUT2

RD

读/写

逻辑电路

计数器1

WR

A0

A1

CS

控制

寄存器

计数器2

可编程定时器/计数器


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 数据总线缓冲器(传送信息)

    • 往计数器设置计数初值

    • 从计数器读取计数值

    • 往控制寄存器设置控制字


7101139
可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 读/写逻辑电路,从系统控制总线接收输入信号,用来控制8253

    • A0 、A1用来对3个计数器和控制寄存器进行寻址(选择当前要操作的对象)

    • RD为读信号,低电平有效,表示CPU正在读取一个计数器的值

    • WR为写信号,低电平有效,表示CPU正在对一个计数器写入计数初值或对控制寄存器写入控制字

    • CS为片选信号,低电平有效,表示RD/WR被确认,否则被忽略


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 控制寄存器(存放控制字),用来控制计数器/定时器的工作模式:


7101139

V串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验CC

+5V

控制寄存器

GND

CLK1

CLK2

CLK0

GATE0

GATE1

GATE2

数据总线

计数初值寄存器

(CR)

D0 ~D7

OUT2

OUT1

OUT0

高8位

高8位

高8位

低8位

低8位

低8位

执行部件(CE)

RD

RD

输出锁存器(OL)

WR

WR

计数器1

READY

IO / M

地址

译码

计数器2

CS

A1A0

可编程定时器/计数器


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 说明:

  • 除了这几种组合,其他组合,数据总线为高阻状态


7101139

D串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验6

D5

D4

D2

D1

D0

D3

D7

通道选择

读/写格式

工作方式

计数方式

D0(BCD)

0 二进制计数

1 BCD码计数

D7D6(SC1 SC0 )

0 0 通道0

0 1 通道1

1 0 通道2

1 1 回读命令

D5D4(RW1 RW0 )

0 0 锁存命令

0 1 只读/写低8位

1 0 只读/写高8位

1 1 先低后高

D3D2D1(M2M1M0)

0 0 0 方式0

0 0 1 方式1

× 1 0 方式2

× 1 1 方式3

1 0 0 方式4

1 0 1 方式5

可编程定时器/计数器

控制命令(方式字)

SC1SC0=11对于8253没有意义,对8254是回读命令


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253的工作模式

  • (1)模式0—计数结束产生中断

  • 当写入控制字后,输出端OUT为低电平(初始状态),直到计数为0时,OUT输出高电平,直到再次写入初始值

  • 因为要在写入初始值后经过一个时钟周期才能开始计数,所以当计数条件满足时,如果计数初值为n,则需要经过n+1个时钟, OUT端才升为高

  • 如果GATE=1,则CE获得初值后开始计数,如果此时GATE变为低电平,则计数停止,此时OUT持续维持低电平

  • 如果计数过程中,有新的计数初值被写入,则原计数值作废,待下一个时钟脉冲时,新的初值送到计数执行部件

  • 如果在GATE=0时写入计数初值,仍会在下一个时钟脉冲时,将初值送入计数执行部件,但此时不会开始计数,直到GATE=1时,计数开始,此时,计数次数为n, OUT端经过n个时钟脉冲后升为高电平


7101139

CLK串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

WR

n=4

GATE

4

3

2

1

0

OUT

INTR

可编程定时器/计数器

(1)模式0—计数结束产生中断

  • CW写入,OUT=0;

  • 写入初值,通道开始计数;

  • 计数到零,OUT=1;

  • 计数器只计数一遍;

  • OUT是N+1个CLK后变高;

  • 计数过程中,如果GATE=0, 计数暂停;

  • 计数过程中可改变计数值;

  • 可用OUT信号作为中断请求。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

(2)模式1—可重复触发的单稳态触发器

  • 当写入控制字后,输出端OUT为高电平(初始状态),计数初值经一个时钟周期后,送计数执行部件;GATE信号的上升沿到来时,边沿触发器受到触发,下一个时钟脉冲时,OUT变为低电平,直到计数为0。

  • 计数器为0后,输出端OUT为高电平,直到下一次被触发。

  • 如果计数初值为N,则OUT输出N个时钟周期的负脉冲。

  • 可以不重新写入计数初值,只要GATE上升沿到来又可再次计数。

  • 如果在计数过程中再次有GATE上升沿到来,则在下一个时钟脉冲后,又从计数初值开始重新计数,使输出的负脉冲延长。

  • 如果计数过程有新的计数初值写入计数器,不会影响当前输出,即仍然输出宽度为原计数值的负脉冲,直到GATE上升沿再次到来,按新的计数值开始计数。


7101139

CLK串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

WR

n=5

GATE

5

4

3

5

4

3

2

1

OUT

可编程定时器/计数器

(2)模式1—可重复触发的单稳态触发器

  • 写入控制字OUT=1,写入常数不计数;

  • GATE启动计数,OUT=0;

  • 计数到,OUT=1。

  • 单拍脉冲宽度为N;

  • 由GATE重新启动;

  • 计数中,可重新启动;

  • 计数中,可改变计数值,再次启动有效。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

(3)模式2—分频器

  • 当写入控制字后,输出端OUT为高电平(初始状态),计数初值经一个时钟周期后,送计数执行部件开始计数,减到1时,输出端OUT变为低电平。

  • 完成一次计数后,输出端OUT变为高电平,开始新的计数,可以周而复始的进行下去。

  • 如果计数初值为N,输出端在N个时钟期间经历一个输出周期,其中N-1个时钟周期为高电平,1个时钟周期为低电平。

  • GATE=1时计数进行,GATE=0时计数结束。如果在输出脉冲期间,GATE变为低电平,输出端仍保持高电平,但在下一个时钟周期时,从计数初值重新开始计数。

  • 当写入控制字和初值后,如果GATE=1,则在下一个时钟周期时开始计数,经过N-1个时钟周期OUT输出低电平。

  • 在计数期间送入新的计数值,如果GATE=1,则OUT不变,当前计数完毕后,按新值进行计数

  • 如果计数到1之前,写入新值,而GATE出现上升沿,一个时钟后新的计数值被送入计数器。


7101139

CLK串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

WR

n=3

GATE

3

2

1

0

OUT

3

2

1

0

重复周期

可编程定时器/计数器

(3)模式2—分频器

  • 写入控制字OUT=1;

  • 写入常数立即对CLK计数;

  • 计数到1,OUT=0;

  • 一个CLK周期后,OUT=1,重新计数。

  • 通道连续工作不需重置时常;

  • 计数过程中,GATE=0,计数暂停,GATE变高后重新计数;

  • 计数过程中可改变计数值;新的计数值在下一次有效。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • (4)模式3—方波发生器

  • 当写入控制字后,输出端OUT为高电平(初始状态),写入初值后下一个时钟开始计数,计数到一半时,OUT变为低电平,计数为0时再变为高电平,从而完成一个输出周期,马上开始下一次计数,下一个输出周期。

  • 当初值为偶数,则正负脉冲个数相等,否则,高电平比低电平多一个时钟。

  • GATE=1时进行计数,GATE=0时计数停止。如果OUT为低电平,GATE变为0时OUT会立即变为高电平,且计数停止,直到GATE又变为高电平后的下一个时钟周期时,计数重新开始。

  • GATE=1时,在写入控制字及初值后的下一个时钟开始计数。

  • 计数时,如果写入新值,不会影响当前的输出周期,但如果遇到GATE的上升沿,就会结束当前输出周期,在一个时钟周期后,计数按新值重新开始。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

* 与方式2的区别在于:输出为周期是N个CLK脉冲的方波。

* 若计数值为偶数,每个CLK使计数值减2,计到0,OUT改变状态,重装计数值开始新的计数。

*若计数值为奇数,第一个脉冲先减1,以后,每个CLK使计数值减2,计到0 时,OUT改变状态,重装计数值后,第一个脉冲减3,以后,每个CLK使计数值减2,计到0时,OUT改变状态。

*GATE信号控制计数过程;

*计数过程中写入新的计数值将在半周期结束时装入计数器。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • (5)模式4—软件触发的选通信号发生器

  • 当写入控制字后,输出端OUT为高电平,写入初值后的下一个时钟开始计数,计数为0后,输出变为低电平,此低电平持续一个时钟周期后自动变为高电平,并一直保持。

  • 当初值N写入后经过一个时钟周期,开始计数,经过N个时钟产生一个时钟周期的负脉冲选通信号。

  • GATE=1时进行计数,GATE=0计数停止,但输出电平不变,直到再次启动计数器重新计数并且计数值为0时输出负脉冲。

  • 如果计数过程中写入新值,则经过一个时钟周期,从新的初值开始计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

* 写入控制字OUT=1;

* 写入常数立即对CLK计数;

* 计数到0,OUT=0;

* 一个CLK周期后,OUT=1,计数器停止计数。

* 计数器只计数一遍;

* OUT是N+1个CLK后变低;

* 计数过程中,GATE=0, 计数暂停;

* 若在计数过程中,改变计数值,则按新的计数值重新开始计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • (6)模式5—硬件触发的选通信号发生器

  • 当写入控制字后,输出端OUT为高电平,写入初值后,必须等待GATE的上升沿到来时,再经过一个时钟周期后,开始计数,计数为0时,OUT输出一个时钟周期的负脉冲,然后又自动变为高电平,而且保持不变。

  • 写入初值N后,只有遇到GATE的上升沿,一个时钟后才开始计数,经过N个时钟后,OUT端产生选通脉冲。

  • 如果在计数过程中,GATE端又出现一个上升沿,则经过一个时钟周期后,计数器重新获得初值,再次进行计数。

  • 如果计数过程中写入新值,但GATE没有出现触发信号,则不会影响当前输出周期,只有再次触发后,才按新值开始计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

* 写入控制字OUT=1;

* 写入常数后,由GATE的上升沿启动计数;

* 计数到0,OUT=0;

* 一个CLK周期后,OUT=1,计数器停止计数。

* 计数器只计数一次;

* OUT是N+1个CLK后变低;

* 在 计数过程中出现的GATE脉冲, 将使 计数器重新开始计数,对输出状态没有影响;

* 若在计数过程中改变计数值,只要没有GATE信号触发,不影响计数过程。有新的GATE信号触发则按新的计数值开始计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253工作方式小结

1. 输出端OUT的初始状态

只有方式0是在写入控制字后输出为低,其它均为高;

2. 计数值的设置

任一种方式,只有在写入计数值后才能开始计数,方式0、2、3、4在写入计数值后,计数自动开始,方式1、5需外部触发,才开始计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

计数值N与输出波形的关系


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

3. 门控信号的作用-----GATE输入总是在CLK输入时钟的上升沿被采样。在方式0,2,3,4中,GATE输入是电平起作用。在方式1,2,3,5中 GATE输入是上升沿起作用的。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

4. 在计数过程中改变计数值

立即有效是写入计数值后的下一个CLK脉冲后,新的计数值开始起作用。

5.计数到0后计数器的状态

计数器减到0后并不停止,在方式0,1,4,5,计数器减到0后从FFFF/9999继续计数。方式2,3是连续计数,计数器自动装入计数值后,继续计数。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

5、说明

  • 时钟周期指输入时钟CLK的周期

  • 输出周期指OUT端输出的波形周期

  • 8253的OUT端的信号变化都是在时钟的下降沿发生变化

  • 8253计数器只计数一次(4,5,1,0)

  • 8253定时器可循环重复计数(3,2)


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253的编程命令

  • 8253的三个计数器是相互独立的,其地址也相互独立,而且控制字的内容又确定了所控制的计数器的序号,所以对8253的编程要求不严,但有两条原则:

    • 对计数器设置初始值前,必须先写控制字

    • 初始值的设置,要符合控制寄存器的格式规定

  • 编程命令:

    • 读出命令:用来读取计数器当前的值(要先锁定)

    • 写入命令:设置控制字,设置初始值和计数值锁存命令


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253初始化编程的步骤:

1.写入通道控制字,规定通道的工作方式;(A1A0=11)

2. 写入计数值(由控制字的D7D6确定通道号)。

①若规定只写入低8位,则写入的为计数值的低8位,高8位自动置0;

②若规定只写入高8位,则写入的为计数值的高8位,低8位自动置0;

③若是16位计数值,则分两次写入,先写入低8位,再写入高8位。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

  • 工作原则:

    • 控制字写入后,所有控制逻辑电路复位

    • 计数初始值写入后,必须要经过一个时钟上升沿和一个下降沿,计数执行部件CE才开始进行计数

    • 在时钟脉冲CLK上升沿时采样GATE信号

      • 模式0、4,GATE为电平触发

      • 模式1、5,GATE为上升沿触发

      • 模式2、3,二者皆可

    • 在时钟脉冲的下降沿,计数器作减1计数


7101139

D串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验7

D6

D5

D4

D3

D2

D1

D0

0

0

1

1

0

0

1

1

可编程定时器/计数器

8253的编程实例

用8253实现初始化编程步骤:

1.初始化每一个通道的控制字;

2.控制字写入8253的控制字端口地址;

3.初始化通道的计数初值;

4.计数初值写入8253的通道端口地址。

例1 用8253实现初始化编程,要求:

使用通道0,工作在方式1,按二—十进制计数,计数值为5080H,其中端口地址给定范围0F8~0FBH.

分析:

(1)确定通道控制字。

如图示为00110011B

工作方式1

通道0

BCD

计数

先写低8位

再写高8位


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253的编程实例

用8253实现初始化编程步骤:

1.初始化每一个通道的控制字;

2.控制字写入8253的控制字端口地址;

3.初始化通道的计数初值;

4.计数初值写入8253的通道端口地址。

分析:

(2)选择控制字端口地址:A1A0组合11为控制字端口地址的低二位,故选择0FBH。

(3)计数值的低8位为80H.

(4)计数值的高8位为50H.

(5)选择写入计数值的端口地址:计数值写入通道0,故A1A0组合为00,选择0F8H。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

8253的编程实例

用8253实现初始化编程步骤:

1.初始化每一个通道的控制字;

2.控制字写入8253的控制字端口地址;

3.初始化通道的计数初值;

4.计数初值写入8253的通道端口地址。

初始化程序如下:

MOV AL ,33H

OUT 0FBH,AL ;写入方式控制字到端口地址中

MOV AL ,80H

OUT 0F8H,AL ;写入计数初值低8位到端口地址中

MOV AL ,50H

OUT 0F8H,AL ;写入计数初值高8位到端口地址中


7101139

3. 8253串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验的方式控制字为:

00

11

011

1

可编程定时器/计数器

8253的编程实例

例2:要求计数器0工作于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。

1. 8253的端口地址为:80H,81H,82H,83H。

2. 常数计算:TC = 2.5MHz/2KHz=1250

4. 初始化程序段:

MOV AL,37H

OUT 83H,AL

MOV AL,50H

OUT 80H,AL

MOV AL,12H

OUT 80H,AL


7101139

0串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

0

1

1

0

0

1

1

可编程定时器/计数器

8253的编程实例

例3:某8253端口地址为F8H~FBH,欲用通道0以方式1,按BCD计数,计数值为5080。

1.确定通道控制字;

2.计数值的低8位为80;

3.计数值的高8位为50。

在计数过程中,8253读计数器现行值的方法:(将计数值存入内部锁存器)

初始化程序为:

MOV AL,33H

OUT 0FBH,AL

MOV AL,80H

OUT 0F8H,AL

MOV AL,50H

OUT 0F8H,AL

MOV AL,03H ;计数器0的锁存命令

OUT 0FBH,AL;写入控制寄存器

IN AL,0F8H ;读低8位

MOV CL,AL ;存入CL中

IN AL,0F8H ;读高8位

MOV CH,AL ;存入CH中


7101139

串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验4:用8253产生各种定时波形。

74LS138

CLK0

CLK1

CLK2

A9

A8

1MHz方波

G1

A7

A6

GATE0

OUT0

5V

A4

A3

A0

C

BA

2KHz方波

GATE1

OUT1

8086

CPU

A5

M/IO

1ms的负脉冲

GATE2

OUT2

A1

A0

RD

WR

A2

A1

RD

WR

Y4

G2A

G2B

D7—D0

D7—D0

单脉冲

CS

可编程定时器/计数器

8253的编程实例


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

例4:用8253产生各种定时波形。要求:

(1)通道0输出频率为2KHz的方波;

(2)通道1产生宽度为1ms的负脉冲;

(3)通道2以硬件方式触发,输出单脉冲时常为26。

已知:8253基地址为310H,3通道所用时钟脉冲频率为1MHz。

分析:通道0工作于方式3,控制端GATE0接+5V,时间常数N0=1MHz/2KHz=500;

通道1工作于方式1,由控制端GATE1的正跳变触发,OUT1的宽度为时常,单次触发,时间常数N1=1ms/0.001ms=1000;

通道2工作于方式5,由控制端GATE2的正跳变触发,可连续触发,时间常数N2=26。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

;通道1初始化程序

MOV DX,316H

MOV AL, 01110011B

OUT DX,AL

MOV DX,312H

MOV AL,00H

OUT DX,AL

MOV AL,10H

OUT DX,AL

;通道0初始化程序

MOV DX,316H

MOV AL, 00110111B

OUT DX,AL

MOV DX,310H

MOV AL,00H

OUT DX,AL

MOV AL,05H

OUT DX,AL

;通道2初始化程序

MOV DX,316H

MOV AL, 10011011B

OUT DX,AL

MOV DX,314H

MOV AL,26H

OUT DX,AL


7101139

+5V串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

GATE0

GATE1

D7-D0

WR

RD

A1

A0

CS

WR

RD

A2

A1

D8-D15

2MHz

CLK0

OUT0

CLK1

OUT1

M/ IO

译码

A0-A7

可编程定时器/计数器

例5:8253控制LED。要求:LED点亮10秒,熄灭10秒

分析: 8253的地址线与CPU高8位数据线D8——D15相连,8253的各端口的地址为81H、83H、85H、87H。

OUT1输出占空比为1:1的方波, 8253端口1工作在方式3。

时钟频率为2MHz时,16位计数通道的最大定时时间为:

0 .5s65536=32.768ms

级连:通道0输出400Hz脉冲(时常5000),通道1输出0.05Hz方波(时常8000)。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

;通道1初始化程序

MOV AL, 01110111B

OUT 87,AL

MOV AL,00H

OUT 83,AL

MOV AL,80H

OUT 83,AL

;通道0初始化程序

MOV AL, 00110101B

OUT 87,AL

MOV AL,00H

OUT 81,AL

MOV AL,50H

OUT 81,AL


7101139

+5V串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验

+5V

D7-D0

OUT0

WR

RD

A1

A0

CS

+5V

INTR

WR

RD

A2

A1

GATE1

CLK1

M/IO

译码

AB

可编程定时器/计数器

例6:用8253设计一个自动计数系统(计数500向CPU提出中断申请)。

8253端口地址: F0H, F2H, F4H, F6H,

8253工作方式:计数器1工作于方式0,按BCD计数,先读写低字节,后读写高字节。


7101139

可编程定时器串行通信主要适用于远距离通信,因而噪声和干扰较大,为了保证高效而无差错地传送数据,对传送的数据进行校验就成了串行通信中必不可少的重要环节。常用的校验方法有:奇偶校验和循环冗余校验/计数器

;通道1初始化程序

MOV AL, 01110001B

OUT 0F6H, AL

MOV AL, 99H

OUT 0F2H, AL

MOV AL, 04H

OUT 0F2H, AL

;读通道1计数值程序

MOV AL, 01000000B

OUT 0F6H, AL

IN AL, 0F2H

MOV AH, AL

IN AL, 0F2H

XCHG AH, AL

当前计数值的读取

(1)利用GATE控制信号,使计数器停止计数。故干扰了计数过程,需要硬件电路配合。

(2)利用计数器锁存命令锁存现行计数值,就可从相应的计数器通道中读取计数值。


ad