1 / 31

第十章 串行通信和接口芯片 8251A

D0D1D2D3D4D5D6D7. D0D1D2D3D4D5D6D7. 外设或计算机. 外设或计算机. TXD. RXD. 计算机. 计算机. RXD. TXD. 状态. 控制. 并行通信 数据各 bit 同时传送. 串行通信 数据按 bit , 依次传送. 第十章 串行通信和接口芯片 8251A. 通信: CPU 与外部的信息交换. 串行通信特点: 逐位依次顺序传送,通信双方需严格同步。

zorina
Download Presentation

第十章 串行通信和接口芯片 8251A

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. D0D1D2D3D4D5D6D7 D0D1D2D3D4D5D6D7 外设或计算机 外设或计算机 TXD RXD 计算机 计算机 RXD TXD 状态 控制 并行通信 数据各bit同时传送 串行通信 数据按bit,依次传送 第十章 串行通信和接口芯片8251A 通信:CPU与外部的信息交换

  2. 串行通信特点: 逐位依次顺序传送,通信双方需严格同步。 每秒传送的bit数,称为传输速率,用波特率(bps)表示。 适于长距离通信,速度慢。 传送编码 通信的信息包括数、字符、控制信号等。以二进制代码形式表示。 国际标准规定:串行通信的信息编码以ASCII码为基础。

  3. 单工 TXD RXD 单线通信 发送 接收 单向数据流 半双工 发送 接收 单线通信 TXD / RXD 接收 发送 分时双向数据流 全双工 双线通信 RXD TXD 接收 发送 各线单向,双向数据流 接收 发送 RXD TXD 一、数据传送方向

  4. 异步通信字符格式 数据长度 5、6、7、8 停止位 起始位 D0 D7 校验位 二、串行通信的两种基本工作方式 异步通信 通信双方在规定的通信速率下,每一个字符(一组二进制脉冲信号)进行一次同步校正。

  5. 同步字符1 同步字符2 数据字符 同步通信 异步通信每一字符必须附加起始位和停止位,降低了传输效率。同步通信不需要附加起始位和停止位,属位同步,需采用比较复杂的同步措施。

  6. 常用的波特率为: 异步传送:110、300、600、1200、2400、4800、 9600、 12900bps 同步传送:64000bps 三、串行传送速率 传送速率:每秒串行传送的位数,即bit / s,bps,波特率。 波特率因子:串行接口内的时钟频率与波特率的比值,一般采用波特率的1倍、16倍或者64倍

  7. 四、串行接口芯片UART和USART UART:串行通用异步收发器。 USART:串行通用异步/同步收发器。

  8. UART的结构

  9. 信号的调制和解调 调制是用一个信号控制另一个信号的某个参数(例如:幅值,频率,相位)使之随之变化。这两个信号分别叫做调制信号和被调制信号 经调制后参数随调制信号变化的信号称为已调制信号。从已调制信号中还原出被调制信号的过程称为解调 完成调制、解调功能的设备称为调制解调器(Modem) 调制解调器常用的方式有: 幅移键控ASK(Amplitude Shift Keying) 频移键控FSK(Frequency Shift Keying) 相移键控PSK(Phase Shift Keying)

  10. 数据校验方式 串行通信一般要检测传输过程中是否有错误出现。在基本通信规程中常采用奇偶校验或校验和的块校验方法,在高级通信控制规程中一般采用循环冗余码(CRC)校验 奇偶校验是以字符为单位进行校验 在发送时,在每一个字符的最高位后都附加一个奇偶校验位,这个校验位可以为1或0,加上这个校验位之后使发送的字符和校验位合在一起“1”的个数为奇数(奇校验)或偶数(偶校验) 例:采用偶校验,发送字符为1101101,则校验位为1,保证发送的字符和校验位合在一起“1”的个数为偶数 在接收时,检查所接收的字符连同这个奇偶校验位,其为“1”的个数是不是符合规定,若不符合规定就发出奇偶出错信息,供CPU处理

  11. 校验和(BCC)是块校验方法,是一种较简单的在微型计算机领域中使用的校验方法校验和(BCC)是块校验方法,是一种较简单的在微型计算机领域中使用的校验方法 一块数据的校验和是一个8位的字节,它与该块数据一起传送到接收端,接收端重新计算接收到的数据块的校验和,若该校验和与发送端送来的校验和不一样,则表明该数据在传送过程中出错

  12. 数字信号 计算机 数字信号 远程计算机 MODEM MODEM RS232C RS232C 数据装置 数据通信终端 数据通信终端 通信网络 计算机远程通信

  13. 可编程串行通用接口芯片8251A 8251A是一种通用同步/异步数据收发器。 同步方式:数据位数5~8,最高传送速率64kbps。 异步方式:数据位数5~8,最高传送速率19.2kbps 波特率因子1、16、64 停止位1、1.5、2 检测功能:奇偶校验 溢出错 帧出错,在接收过程中无停止位 三个出错标志产生时都不会中止8251A工作

  14. 内部总线 数据 总线 缓冲器 发送 缓冲器 TXD D7~D0 TXRDY 发送 控制 电路 RESET TXE 读/写 控制 电路 CLK C/D TXC RD WR 接收 缓冲器 RXD CS DSR 调制解 调控制 电路 RXRDY 接收 控制 电路 DTR RXC CTS RTS SYNDET 8251的内部结构

  15. 内部总线 数据 总线 缓冲器 发送 缓冲器 TXD D7~D0 TXRDY 发送 控制 电路 RESET TXE 读/写 控制 电路 CLK 接收 缓冲器 RXD DSR 调制解 调控制 电路 RXRDY 接收 控制 电路 DTR C/D TXC RXC CTS C/D:控制/数据输入信号。C/D=1,数据总线传送的是控制命令或状态信号。 C/D=0,数据总线传送的是发送或接收的数据。 RD RTS SYNDET WR CS 1、数据总线缓冲器 2、接收缓冲器和接收控制电路 SYNDET/BRKDET:当RXD收到2个连续的全0数位(包括起始、停止、奇偶位)时,为高电平,表示线路空闲。是8251的状态信号。

  16. 内部总线 数据 总线 缓冲器 发送 缓冲器 TXD D7~D0 TXRDY 发送 控制 电路 RESET TXE 读/写 控制 电路 CLK 接收 缓冲器 RXD DSR 调制解 调控制 电路 RXRDY 接收 控制 电路 DTR C/D TXC RXC CTS 8251的读写操作表 RD RTS SYNDET WR C/D RD WR CS 操 作 CS 0 0 1 0 CPU从8251读接收的数据 C/D=1,选择控制端口 0 1 0 0 CPU向8251写发送的数据 1 0 1 0 CPU读取8251的状态字 C/D=0,选择数据端口 1 1 0 0 CPU向8251写控制命令 × 1 1 0 数据总线浮空 × × × 1 数据总线浮空

  17. 异步 MODEM DTR:数据终端准备好,当数据终端DTE电源接通,作好准备,向MODEM发低电平信号。 内部总线 电话线 接口 数据 总线 缓冲器 发送 缓冲器 TXD D7~D0 RXD DSR:数据通信设备准备好,当DCE电源接通,作好准备,向数据终端DTE发低电平信号。 TXD 8251A TXRDY 发送 控制 电路 RESET DSR TXE 读/写 控制 电路 波特率 产生器 CLK DTR C/D TXC CTS RXC RD RTS WR 接收 缓冲器 TXC RXD RTS:请求发送,DTE准备好发送数据,向MODEM请求发送。 CS DSR 调制解 调控制 电路 RXRDY 接收 控制 电路 DTR CTS:清除发送,MODEM收到RTS命令,并做好发送串行数据准备,向DTE发CTS低电平信号。CTS是RTS的握手应答。 RXC CTS RTS SYNDET DTE DCE 调制解调器控制电路

  18. D7~D0 D7~D0 G1 RS232C 接口 外 设 RXD C/D TXD RESET RD 8251A WR CS TXRDY C 波特率 产生器 TXE B RXC RXRDY A1 A TXC G2A RESET BRKDET Y0 G2B RD A7 A4 A6 WR M/IO A5 8086 A3 A2 A0 8251与CPU及外设的连接 CPU采用查询方式时使用输入缓冲器接口通过DB连接。采用中断方式时TXRDY、 RXRDY为中断申请 信号。

  19. 复位操作 写方式字 Y 同步方式 写第一同步字 N 双同步字 写第二同步字 写命令字 Y 复位 传送数据 读状态字 传送结束 N 8251的编程 1、编程流程图 2、复位和写方式字 在写方式字以前,先要系统复位或命令复位。 系统复位:系统RESET 命令复位:通过向8251命令/状态口写复位命令 命令复位后不能立即写8251工作方式字。需要等待16个时钟周期后才能写方式字。

  20. S2 S1 D7 EP D6 D5 PEN D4 L2 D3 L1 D2 B2 D1 B1 D0 00,无效 01,一个停止位 10,1.5个停止位 11,二个停止位 01,异步方式×1 10,异步方式×16 11,异步方式×64 *0,无奇偶校验位 01,奇校验 11,偶校验 00,字符长度5位 01,字符长度6位 10,字符长度7位 11,字符长度8位 异步方式的方式字

  21. EH IR D7 RTS D6 ER D5 D4 SBRK RXE D3 D2 DTR TXEN D1 D0 外部搜索方式 (内同步) 1,启动搜索 同步字符 1,允许从TXD 发送 复位以后才能写方式字 1,内部复位。 1,数据终端准备好 使引脚DTR为低电平 1,请求发送数据 使引脚RTS为低电平 1,允许从RXD接收 1,清除错误标志 1,发送空白字符 使TXD为低电平 命令字

  22. DSR SYN/B D7 FE D6 OE D5 D4 PE TXE D3 D2 RXRDY TXRDY D1 D0 1,发送数据准备好 1,接收数据准备好 1,奇偶错 1,发送器空 1,帧错 (异步通信) 1,溢出错 (数据丢失) 1,SYNDET/BRKDET同步检测/线路无数据 1,数据装置准备好 状态字

  23. MOV DX,3F2H MOV AL,00H OUT DX,AL ;向控制口写入0 REVTIME ;延时,等待写操作完成 OUT DX,AL ;向控制口写入第二个0 REVTIME ;延时,等待写操作完成 OUT DX,AL ;向控制口写入第三个0 REVTIME ;延时,等待写操作完成 MOV AL,40H OUT DX,AL ;向控制口写入复位字 REVTIME ;延时,等待写操作完成 MOV AL,01111010B OUT DX,AL ;向控制口写入方式字 REVTIME ;延时,等待写操作完成 MOV AL,00010101B OUT DX,AL ;向控制口写入命令字 REVTIME ;延时,等待写操作完成 异步方式初始化 初始化要求:波特率系数16,7个数据位,一个停止位,偶校验,控制口地址3F2H。 为确保8251已正确复位。在写方式字和命令字前,先向控制口连续写三个0。每写一次需要等待。 波特率系数16,7个数据位,一个停止位,偶校验, 允许接收发送数据,清错误标志。

  24. +15V 信号 0 电平区 (通常+12V) +3V 非法电平区 -3V 信号1 电平区 (通常-12V) -15V EIA RS-232C 串行口和8251应用 一、RS-232C 串行口 RS-232C 是一个串行口接口标准。指出串行口接口的要求,但并不是一个接口芯片。 1、信号电平定义: RS232C属负逻辑电平 TTL与EIA电平转换芯片使用MAX232、MAX233芯片

  25. 双排25芯 9个信号 (1)保护地,接机壳 (2)发送数据,TXD (3)接收数据,RXD (4)请求发送,RTS (5)准许发送,CTS (6)数据终端就绪,DTR (20)数据装置就绪,DSR (8)载波检测,CD (7)信号地,GND 双排9芯 8个信号 (1)载波检测,CD (2)接收数据,RXD (3)发送数据,TXD (4)数据终端就绪,DTR (5)信号地,GND (6)数据装置就绪,DSR (7)请求发送,RTS (8)准许发送,CTS 2、接插件规格 25芯D型接插件和9芯D型接插件二种。见P393 图11-17 3、信号定义

  26. 零MODEM方式的标准连接 零MODEM方式的最简连接

  27. MAX233 DB T11N T1O D7~D0 TXD 3 3 RD RD RXD R1O 2 2 R1IN WR WR RESET RESET 5 5 A1 C/D GND 8251 A9~A3 地址 译码 RS232C(9芯) CS 153.6KHz A0 RXC M/IO 8251系统地址:1F0H CLK TXC 8MHz 8253: n=13,输出频率为153.6KHz 8253 8251波特率系数16,波特率=9600bps CS 4 CLK0 OUT0 二台8086计算机使用RS232C通信

  28. BEG_T:MOV DX,1F2H ;向控制口写入方式字 MOV AL,01111010B ;波特率系数16,7个数据位,一个停止 OUT DX,AL ;位,偶校验 REVTIME ;延时 MOV AL,00010001B ;向控制口写入命令字 OUT DX,AL ;允许发送数据,清错误标志 REVTIME ;延时 LEA DI,BUFF_T ;发送数据首地址→DI MOV CX,COUNT_T ;发送数据个数→CX NEXT_T:IN AL,DX ;读入状态 TEST AL,01H ;检测TXDRY JZ NEXT_T ;TXDRY无效,则等待 MOV DX,1F0H ;数据口地址→DX MOV AL,[DI] ;取发送数据 OUT DX,AL ;向8251送出发送数据 INC DI ;调整数据指针 LOOP NEXT_T ;继续发送,直至发送结束 发送计算机程序 先向控制口写入三个0,再送复位字后继续

  29. BEG_R:MOV DX,1F2H ;向控制口写入方式字 MOV AL,01111010B ;波特率系数16,7个数据位,有个停止 OUT DX,AL ;位,偶校验 REVTIME ;延时 MOV AL,00010100B ;向控制口写入命令字 OUT DX,AL ;允许接收数据,清错误标志 REVTIME ;延时 LEA DI,BUFF_R ;接收数据首地址→DI MOV CX,COUNT_R ;接收数据个数→CX NEXT_R:IN AL,DX ;读入状态 TEST AL,02H ;检测RXDRY JZ NEXT_R ;RXDRY无效,则等待 TEST AL,38H ;检测错误标志 JNZ ERROR ;有错,则转出错处理程序 MOV DX,1F0H ;数据口地址→DX IN AL,DX ;由8251输入接收数据 MOV [DI],AL ;送接收数据至缓冲器 接收计算机程序 先向控制口写入三个0,再送复位字后继续

  30. INC DI ;调整数据指针 LOOP NEXT_R ;继续接收,直至接收结束 … ERROR:… ;出错处理 IN AL,DX ;由8251输入接收数据 MOV [DI],AL ;送接收数据至缓冲器

  31. 第十章作业 • 2,3,9,16

More Related