1 / 116

计算机硬件技术基础

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

Download Presentation

计算机硬件技术基础

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机硬件技术基础 hardwarebasic@163.com

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

  3. 并行接口的特点 并行通信接口 • 并行接口最基本的特点是在多根数据线上以数据字节(字)为单位与I/O设备或被控对象传送信息。 • 如: 打印机接口,A/D、D/A转换器接口,IEEE-488接口,开关量接口,控制设备接口等。 • 在并行接口中,除了少数场合之外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两根握手(联络)信号线,以便进行互锁异步握手方式(即查询方式)的通信。 • 在并行接口中,8位或16位是一起行动的,因此,当采用并行接口与外设交换数据时,即使是只用到其中的一位,也是一次输入/输出8位或16位。 • 并行传送信息,不要求固定的格式,这与串行传送的数据格式的要求不同。

  4. 并行通信接口 8255A的基本特性 • 具有三个8位(PA口、PB口、PC口)并行I/O端口的接口芯片。 • 能适应CPU与I/O接口之间的多种数据传送方式的要求。 • 可执行功能很强,内容丰富的命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,组成微机应用系统提供了灵活方便的编程环境。

  5. 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的外部引线

  6. 并行通信接口 8255A的外部引线 • ①与系统总线的连接信号 • 面向数据总线的有: • D0~D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据和8255A向CPU回送状态、数据。 • 面向地址总线的有: • A1、A0 • 面向控制总线的有: • RD:读信号,低电平有效。 • WR:写信号,低电平有效。 • RESET:复位信号,高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。

  7. 并行通信接口 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的状态口读入的。

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

  9. 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 并行通信接口 内部结构

  10. 并行通信接口 内部结构 8255芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成。 ① 数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。 ② 读/写控制逻辑。读/写控制逻辑由读信号RD、写信号WR、片选信号CS以及端口选择信号A1A0等组成。 ③ 输入/输出端口A、B、C。8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。 ④ A组和B组控制电路。控制A、B和C三个端口的工作方式。

  11. 并行通信接口 8255A基本操作与端口地址

  12. 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。

  13. 并行通信接口 8255A的编程命令 例1: 要把A口指定为方式1 ,输入,C口上半部为输出;B组指定为0方式,输出,C口下半部定为输入,则工作方式命令代码是:10110001B或B1H。 若将此命令代码写到8255A的命令寄存器,即实现了对8255A工作方式及端口功能的指定,或者说完成了对8255A的初始化。初始化的程序段为(假设命令口地址203H) MOV DX,203H ;8255A命令口地址 MOV AL,0B1H ;初始化命令 OUT DX,AL ;送到命令口

  14. 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.

  15. 并行通信接口 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 ;送到命令口

  16. 并行通信接口 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

  17. 并行通信接口 8255A的编程命令 3.关于两个命令的讨论 ① 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始工作要在使用8255A之前做。 ② 按位置位/复位命令只是对PC口的输出进行控制,使用它产不破坏已经建立的3种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。 ③ 两个命令的最高位(D7)都分配作了特征位,之所以要设置特征位,是为了识别两个不同的命令。 ④ 按位置位/复位的命令代码只能写入命令口。

  18. 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,然后再送到同一端口,即可使该位置位。

  19. 并行通信接口 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

  20. 并行通信接口 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

  21. 并行通信接口 8255A的工作方式 • 三种基本工作方式: • 1.方式0——基本输入/输出方式 • 2.方式1——选通输入/输出方式 • 3.方式2——双向传送方式

  22. 并行通信接口 8255A的工作方式 • 在这种工作方式下,A、B和C口都可以在程序规定下进行输入或输出。通常不用联络信号,或不使用固定的联络信号。 • 特点: • 通常使用于无条件输入输出方式或查询式输入输出; • 在0方式下,彼此独立的两个8位和两个4位并行口,都能被指定作为输入或者输出用,共有16种不同的使用状态。 • 是单向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或输出,不能指定端口同时既作输入又作输出。 1、工作方式0是一种基本输入或输出方式

  23. 4ms 1ms 并行通信接口 8255A的工作方式 例1:用8255A产生波形。8255A在方式0下工作,令其在PB1、PB2引脚产生图所示波形,编写相应程序。电路连接设定8255A各端口地址分别为90H、 91H、 92H和93H,波形延时时间可调用延时1毫秒(D1ms)子程序实现。 8255A 分析:根据要求可确定端口B应工作在方式0下输出,其余端口无具体要求,也都定为方式0输出,则方式选择控制字为80H,程序如下: PB1 2ms PB2

  24. 并行通信接口 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

  25. 并行通信接口 8255A的工作方式 • 特点 • 需设置专用的联络信号线或应答信号线,以便对I/O设备和CPU两侧 进行联络。这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。 • PA和PB为数据口,而PC口的大部分引脚分配作专用(固定)的联络信号的C口引脚,用户不能再指定作其他作用。 • 各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。 • 单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。 2、工作方式1也称选通的输入/输出方式

  26. 并行通信接口 8255A的工作方式 • 方式1下输入的联络信号线定义 • 因为输入是从I/O设备向8255A送数据进来,所以I/O设备应先把数据准备好,并送到8255A,然后CPU再从8255A读取数据。这个传递过程中需要使用一些联络信号线。所以当A口和B口为输入时,各指定了C口的3根线作为8255A与外设及CPU之间应答信号。 • STB:外设给8255A的“输入选通”信号,低电平有效。 • IBF:8255A给外设的回答信号“输入缓冲器满”,高电平有效。 • INTR:8255A给CPU的“中断请求”信号,高电平有效。

  27. 方式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输入时联络信号线定义

  28. 并行通信接口 8255A的工作方式 • 方式1下输出的联络信号线定义 • ACK:外设应答信号,低电平有效。当它有效时,表示CPU输出到8255A的数据已被外设取走。 • OBF:输出缓冲器满信号,输出信号,低电平有效。当它有效时,表示CPU已把数据写入A口或B口的输出缓冲器等待输出。 • INTR:中断请求信号,高电平有效。当外设向8255A发回的应答信号(ACK)结束,8255A便向CPU发中断请求信号INTR,表示CPU可以对8255A写入一个新的数据。

  29. 方式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输出时联络信号线定义

  30. 并行通信接口 8255A的工作方式 • 这种工作方式仅适用于端口A, 这时A口的8位数据线为双向数据线, 端口C的5个引脚配合A提供控制信号和状态信号,而端口B和端口C余下的3位仍可工作于方式0或1。 • 例如,磁盘驱动器,CPU既可以向磁盘写数据,也可以读磁盘数据,所以,可以将磁盘驱动器的数据线与8255A的PA7~PA0相连,再使PC7~PC3和磁盘驱动器的控制线和状态线相连即可 3、工作方式2也称选通的双向输入/输出方式

  31. 并行通信接口 8255A的工作方式 • 特点 • PA口为双向选通输入/输出或叫双向应答式输入/输出。一次初始化可指定PA口既作输入口又作输出口。 • 设置专用的联络信号线和中断请求号信线,因此,方式2下可采用中断方式和查询方式与CPU交换数据。 • 各联络线的定义及其时序关系和壮态基本上是在方式1下输入和输出两种操作的组合。

  32. ≥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的联络信号线定义

  33. 的 0 1 1 0 1 0 1 0 RD 源 TD 串行通信接口 串行通信基础 将数据的各位按时间顺序依次在一根传输线上传输。 • 数据的各位依次由源到达目的地 → 慢 • 数据线少 → 远程(费用低) 串行通信适于长距离、中低速通信

  34. 1.数据传输速率----波特率 串行通信接口 串行通信基础 • 数据传输速率也称比特率(Bit Rate) • 每秒传输的二进制位数bps • 字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数 • 当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate) • 过去,串行通信(异步)的数据传输速率限制在50 bps到9600 bps之间。现在,串行通信可以达到115200 bps或更高

  35. 2.数据传输方式 串行通信接口 串行通信基础 全双工 单工 站A 站B 半双工 站A 站B 站A 站B

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

  37. (1)奇偶校验 这种校验方法主要用于对一个字符的传送过程进行校验。在发送时,在每一个字符的最后1位之后都附加一个奇偶校验位,这个校验位本身有可能是“1”或“0”,加上这个校验位后,使所发送的字符中“1”的个数始终为奇数(奇校验),或偶数(偶校验)。 接收时,检查所接收的字符连同这个奇偶校验位,其为“1”的个数是否符合规定,若不符合规定就置出错标志。供CPU查询及处理。 (2)循环冗余校验CRC 这是另一种常用的校验方法,它可对一个数据块进行校验。 串行通信接口 串行通信基础

  38. 串行通信接口 串行通信基础 4.串行通信的基本传送方式 串行通信有异步和同步两种方式: • 异步:按字符传输,字符可以不连续发送,每个字符的前后用一些数位来作为分隔位 (两个字符之间的传输间隔任意) 。收发时钟不要求严格同步。 • 同步:许多字符组成一个信息组,在每组信息的开始加上同步字符 (不允许字符间有间隔)。收发双方时钟(频率和相位)严格同步。 • 自同步:发送时将传送数据与时钟进行编码,接收时解码 • 单同步 • 双同步 • 外同步:另用一根时钟线专门用来传送时钟信号

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

  40. 空闲位 5~8位 数据位 空闲位 1位 起始位 1~2位 停止位 0~1位 校验位 串行通信接口 串行通信基础 异步串行通信以字符为单位,称为一个信息帧。一帧包括起始位、数据位、校验位、停止位四部分。字符间间隔不固定,但在字符中相邻位间的时间间隔固定。收发双方速率和帧格式要完全相同。 帧格式: 校验位:可以奇校验、偶校验或没有校验位。 异步传输信息冗余较大,例如:1+8+1+2中有效位数只有8位。

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

  42. 单同步 同步字符 数据1 数据2 …… 数据n 校验字符 校验字符 一 帧 双同步 同步字符 同步字符 数据1 数据2 …… 数据n 校验字符 校验字符 一 帧 外同步 数据1 数据2 …… 数据n 校验字符 校验字符 一 帧 串行通信接口 串行通信基础 同步串行通信

  43. 异步通信与同步通信的主要区别 串行通信接口 串行通信基础 时钟要求:同步通信要求发送与接收时钟频率精确相等,异步通信要求发送与接收时钟频率基本相等即可 控制信息:同步通信要求对整个数据块附加帧信息用于高速数据链路。异步通信要求对每个数据字符均附加帧信息,用于低速设备,低速传送。 校验方式:同步通信采用16位循环冗余校验码,可靠性高。异步通信采用1位奇偶校验,可靠性相对较低

  44. 串行通信接口 串行通信基础 串行通信的基本问题 • 在串行通信时,数据和联络信号使用同一条信号线来传送,所以收发双方必须考虑解决如下问题: • 波特率---双方约定以何种速率进行数据的发送和接收 • 帧格式---双方约定采用何种数据格式 • 帧同步---接收方如何得知一批数据的开始和结束 • 位同步---接收方如何从位流中正确地采样到位数据 • 数据校验---接收方如何判断收到数据的正确性 • 差错处理---收发出错时如何处理 收发双方必须遵守一些共同的通信协议才能解决上述问题。

  45. 串行通信接口 8251接口芯片 接口特性: 可以工作在同步或异步方式。 在同步方式时, 能用5、6、7或8位代表字符 能自动检测同步字符 允许奇偶校验。 在异步方式下 能用5、6、7或8位代表字符,用1位作为奇偶校验。 能增加1个启动位 能增加1个、1.5个或2个停止位。

  46. 串行通信接口 8251的外部连接

  47. 串行通信接口 8251的外部连接 和CPU之间的连接 (1)片选信号 CS#为低电平时,8251A被选中 (2)数据信号 D7~D0与系统的数据总线相连 (3)读写控制信号 RD#为读信号。 WR#为写信号。 C/D#为控制/数据信号。 (4) 收发联络信号 TXRDY为发送器准备好信号 TXE 发送器空信号 RXRDY 接收器准备好信号 SYNDET 同步检测信号

  48. 串行通信接口 和外部设备之间的连接 (1) 收发联络信号 DTR# 数据终端准备好信号 DSR# 数据设备准备好信号 RTS# 请求发送信号 CTS# 清除请求发送信号 (2) 数据信号 TXD 发送器数据信号端 RXD 接收器数据信号端

  49. 串行通信接口 8251A的内部工作原理

  50. 串行通信接口 接收控制电路的功能: 复位后寻找启动位。 消除假启动干扰。 对接收到的信息进行奇偶校验。 检测停止位。 发送控制电路的功能: 在异步方式下,为数据加上起始位、校验位和停止位。 在同步方式下,插入同步字符和校验位。

More Related