1 / 36

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

第十章 串行通信和可编程接口芯片 8251A. 习题: 10 - 6 , 10 - 9 , 10 - 14 , 10 - 15. 第一节 串 行 通 信的基本概念. 一、概述. 二、串行通信中的几个问题. 第二节 可编程串行通信接口芯片 8251A. 一、基本功能. 二、 内部结构. 三、 8251 的初始化编程. 第三节 RS-232C 串行口和 8251A 的应用. 一、 EIA RS232C 通信接口标准. 二、 RS232C 串行通信系统的连接. 三、二台计算机之间串行通信的连接. 四、 8251A 应用举例. 1 、基本通信方式

chiara
Télécharger la présentation

第十章 串行通信和可编程接口芯片 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. 第十章 串行通信和可编程接口芯片8251A 习题:10-6,10-9,10-14,10-15 第一节 串 行 通 信的基本概念 一、概述 二、串行通信中的几个问题 第二节 可编程串行通信接口芯片8251A 一、基本功能 二、 内部结构 三、8251的初始化编程 第三节 RS-232C串行口和8251A的应用 一、EIA RS232C 通信接口标准 二、RS232C串行通信系统的连接 三、二台计算机之间串行通信的连接 四、8251A应用举例

  2. 1、基本通信方式 通信:CPU与外部的信息交换 D0D1D2D3D4D5D6D7 D0D1D2D3D4D5D6D7 外设或计算机 外设或计算机 TXD RXD 计算机 计算机 RXD TXD 状态 控制 并行通信:数据各bit同时传送 串行通信:数据按bit,依次传送 第一节 串行通信的基本概念 一、概述

  3. 2、传送信息的编码 通信的信息包括数、字符、控制信号等。它们都以二进制代码形式表示。 国际标准规定:串行通信的信息编码以ASCII码为基础。 3、串行传送的两种基本工作方式 同步通信:位同步的串行通信方式。 异步通信:字符同步(群同步) 的串行通信方式。 串行通信特点: 逐位依次顺序传送,通信双方需严格同步; 每秒传送的bit数,称为传输速率,用波特率(bps)表示; 适于长距离(>30M)通信,传送线路少,投资低,但速度慢。

  4. 异步通信字符格式 停止位 起始位 D0 D1 D2 D3 D4 D5 D6 校验位 空闲位 空闲位 数据长度 5、6、7、8 ①异步通信 通信双方在规定的通信速率下,每一个字符(一组二进制脉冲信号)进行一次同步校正。 起始位:1位“0 ” 起始位下降沿是异步通信中字符同步的同步脉冲。 校验位(奇偶校验位):1位 。奇校验:数据位和校验位共有奇数个“1 ”。偶校验:数据位和校验位共有偶数个“1”。 停止位:1或1.5位、2位 “1”

  5. 同步通信数据格式 SYN字符1 SYN字符2 数 据 ②同步通信 异步通信每一字符必须附加起始位和停止位,降低了传输效率。同步通信不需要附加起始位和停止位,为了表示数据传输的开始,发送方先发送一个或两个特殊字符,该字符称为同步字符。当发送方与接收方达到同步后,就可以一个字符接一个字符地发送大块数据,而不需要起始位和停止位了,这样可明显提高数据的传输速率。采用同步方式传输数据时,收发双方还必须用同一个时钟进行同步,需采用比较复杂的同步措施。

  6. ①单工 TXD RXD 发送 接收 ②半双工 接收 发送 TXD / RXD 发送 接收 ③全双工 RXD TXD 接收 发送 接收 发送 RXD TXD 二、串行通信中的几个问题 1、数据传送方向 单线通信 单向数据流 单线通信 分时双向数据流(对讲机工作方式) 双线通信 各线单向,双向数据流(电话工作方式)

  7. 高频正弦信号 模拟 电子开关 频带信号输出 低频正弦信号 模拟 电子开关 1 0 1 合成 数字信号10101010 2、信号的调制和解调 调制:将数字信号转换为适合通信介质传输的信号波形。 解调:调制的逆过程。 对于模拟电话信道,每话路的带宽为300~3400Hz的音频,而数字信号的带宽很宽,故需将数字信号调制为一定带宽的模拟信号进行传输,接收时再解调为数字信号。调制是通过数字信号对二个不同频率的正弦载波信号的键控和信号的合成实现。

  8. 第二节 可编程串行通信接口芯片8251A 一、基本功能 1、具有独立的发送和接收器,可以单工、半双工或全双工的方式进行通信; 2、能够以同步方式或异步方式进行通信; 3、在同步方式中,每个字符可定义为5~8个数据位,数据通信波特率:0~64K bps,可选择内同步或外同步字符; 4、在异步方式中,每个字符可定义为5~8个数据位,波特率系数为1、16、64,停止位的位数为1、1.5、或2位,数据通信波特率:0~19.2K bps; 5、可进行奇偶校验,并可编程选择奇检验或偶检验。 6、出错检测--具有奇偶、溢出和帧错误等检测电路。

  9. 发送 缓冲器 数据总线缓冲器 TxD DB 发送 控制 电路 TxRDY TxE TxC RESET CLK RD WR C/D 读 / 写逻辑 接收 缓冲器 CS RxD DSR DTR CTS RTS 调制解调控制电路 接收 控制 电路 RxRDY RxC SYNDET 二、内部结构 状态缓冲器、接收数据缓冲器、发送数据/命令缓冲器

  10. 1、接收器 检测 ÷ 内部CLK 异或门 RxD 奇偶检验结果 DB 作用:接收器接收在RxD上的串行数据并按规定的格式转换为并行数据,存放在接收数据缓冲器中。 工作过程:(异步方式)当8251允许接收并准备好接收数据时,监测RxD端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8个0确认。然后按波特率移位、检测RXD,直至停止位。内部删除起始、奇偶、停止位后送到接收缓冲寄存器后,使RxRDY为高,向CPU提出中断申请。 停止位 1 奇偶位 接收移位寄存器 波 特 率 接收缓冲寄存器

  11. 16T DATA 启动位 CLOCK 16T 确定已检测到启动位 采样数据检测 启动检测 (内同步方式)在CPU发出允许接收命令后,8251一直检测RxD,把接收到的每一位数据送入移位寄存器,与同步字符寄存器的内容进行比较。若两者不相同,则继续接收数据和进行移位比较操作;若相等,则8251将SYNDET置‘1’,表示已找到同步字符。 (外同步方式)由外部电路检测同步字符 找到同步字符后,利用时钟采样和移位RxD线上的数据位,按规定的位数送接收数据缓冲器,同时RxRDY引脚输出高电平。

  12. 与接收有关的信号 RxD(Receiver Data)接收数据:从RxD端 串行数据输入 RxRDY(Receiver Ready)接收数据准备好: RxRDY=1表示接收数据缓冲器已收到一个字符数据,CPU可采用中断或查询方式读取数据( RxRDY=0)。 SYNDET/BRKDET(Sync Detecte/Break Detece)同步检测/断点检测 同步方式(同步检测):在内同步方式,当8251检测到同步字符, SYNDET输出为高电平,表明8251A已处于同步状态。CPU执行一次读操作后, SYNDET自动复位;

  13. RxC( Receiver Clock)接收时钟 外同步方式: 当SYNDET引脚有一个正跳变脉冲,8251在下一个接收时钟的上升沿开始接收字符,一旦达到同步, SYNDET引脚的高电平即可撤除。 异步方式(断点检测):当8251从RxD端连续收到两个由全“0”组成的字符时,该引脚输出为高电平,表示当前线路上无数据可读,只有当RxD端收到1个“1”信号或8251复位时, BRKDET变为低电平。

  14. 2、发送器 DB 内部CLK 异或门 ÷ 0 TXD SOUT 工作过程 CPU执行输出指令,并行数据→发送缓冲器。 数据发送缓冲器 发送缓冲器→发送移位寄存器,并行数据转换为串行数据 波 特 率 对于异步方式,给发送数据加上起始、奇偶检验、停止位,按约定的波特率从TxD输出。 对于同步方式,先送出1个或2个同步字符,然后逐位输出串行数据。 停止位 1 奇偶位 发送移位寄存器 起始位

  15. 与发送有关的信号 TxC( Transmitter Clock)发送时钟 TxD(Transmitter Data)发送数据:将CPU送入的并行数据转换成串行格式后,从TxD端输出 TxRDY( Transmitter Ready)发送数据准备好: TxRDY=1表示发送数据缓冲器已准备好从CPU接收一个字符数据,CPU可采用中断或查询方式输出一个数据( RxRDY=0)。 TxE( Transmitter Empty)发送器空: TxE=1表示发送移位寄存器中已无数据可以向外部发送。此时,由TxD输出空闲位(同步字符)。当8251从CPU接收到一个数据后,TxE=“0”。

  16. 4、8251读写操作表 C/ D:控制/数据信号输入端。 C/ D=1,表示当前通过数据总线传送的是控制信息或状态字; C/ D=0,传送的是数据信息

  17. DTR(Data Terminal Read y)数据终端准备好(通知数据装置) DSR(Data Set Ready)数据装置准备好(回应DTR信号) CTS(Clear to Send) MODEM回应终端,若TxEN有效8251可以发送数据,发送结束CTS=“1”。 RTS(Request to Send)数据终端向MODEM发出请求表示数据已准备好需要发送 AB 数据通信设备DCE M O D E M 电话线接口 RxD TxD DSR DTR CTS RTS 5、调制解调器控制电路 DB 电话线 CB 8251A 波特率 发生器 RxC TxC 数据终端设备DTE 在远程通信时,可用8251与调制解调器相连,经电话线传输数据

  18. D7~D0 RD WR C/D RESET RS- 232 接口 外 设 D7~D0 RD WR A1 RESET RxD 8086 8 2 5 1 A 6、8251A与CPU的连接 系统总线 TxD A0 A2 A3 Y0 Y1 Y2 O O O A B C G2A G1 波特率 发生器 RxC CS TxC TxRDY TxE RxRDY BRKDET M/IO A4 A5 A6 & LS138 A7 G2B

  19. 复位操作 输出方式字 Y 同步方式 输出第一个同步字符 N N 双同步 Y 输出命令字 输出第二个同步字符 Y 复位 N 传送数据 输入状态字 N 传送完 Y 三、8251A的编程 状态字:了解8251A的工作状态。 方式字:确定8251A的工作方式;(异步,波特率,字符长度,奇偶校验) 命令字:控制8251A按方式字所规定的方式工作;(允许,禁止收发数据,启动搜索同步字符,使8251复位)

  20. 1、8251复位 电源上电,8251自动进入复位状态,为了确保在送方式字和命令字之前8251正确复位,应向8251的控制口连续写入3个“0”,然后再写入一个复位控制字(40H),用软件使8251可靠复位。 注:对8251的控制口进行一次写入操作,需有写恢复时间。(写恢复时间一般为16个时钟周期) DELAY1: MOV CX,02H D0: LOOP D0 RET

  21. S2 S1 EP PEN L2 L1 B2 B1 异步方式 01 异步1 10 异步16 11 异步64 无效 00 1个停止位 01 1.5个停止位 10 2个停止位 11 00 字符长度为5位 01 字符长度为6位 10 字符长度为7位 11 字符长度为8位  0 无奇偶校验位 01 奇校验 11 偶校验 2、方式字 用于CPU对8251编程,决定8251的通信的格式。如数据长度、奇偶检验、停止位等。

  22. 同步方式 SCS ESD EP PEN L2 L1 0 0 与异步方式相同 1 SYND为输入(外同步) 0 SYND为输出(内同步) 1 单字符同步 0 双字符同步

  23. 3. 命令字 EH IR RTS ER SBRK RxE DTR TxEN 1 允许发送 0 禁止发送 1 使DTR引脚为低电平 1 使TxD线变低,发送空白字符 0 正常工作 1 允许接收 0 禁止接收 1 使错误标志PE,OE,FE复位 1使RTS引脚输出低电平 1 内部复位,使8251回到方式选择格式 1 启动搜索同步字符

  24. DSR SYNDET/BRKDET FE OE PE TxE RxRDY TxRDY 发送器准备好 数据装置准备好 帧错误(异步) 溢出错误 奇偶错误 同引脚含义 4、状态字

  25. 例:8251工作于异步方式,波特率系数为16,7位数据位,1个停止位,偶校验,控制口地址3F2H。例:8251工作于异步方式,波特率系数为16,7位数据位,1个停止位,偶校验,控制口地址3F2H。 MOV DX,3F2H MOV AL,00H OUT DX,AL CALL DELAY1 OUT DX,AL CALL DELAY1 OUT DX,AL CALL DELAY1 MOV AL,40H ;复位字 OUT DX,AL CALL DELAY1 MOV AL,01111010B ;方式字 OUT DX,AL CALL DELAY1 MOV AL,00010101B ;命令字 OUT DX,AL

  26. 计算机远程通信 数字信号 计算机 数字信号 远程计算机 MODEM MODEM RS232C RS232C 数据装置 数据通信终端 数据通信终端 通信网络 第三节 RS-232C串行口和8251A的应用 一、EIA RS-232C 通信接口标准 RS232C是最常用的串行通信接口标准之一,是PC机的标准配置。 通过RS232C接口可实现计算机与其他数字设备(包括计算机)的通信。

  27. 1、RS-232C逻辑电平定义 RS232C属负逻辑电平 +12V +15V +5V TTL IN EIA OUT 信号 0 电平区 (通常+12V) 1488 TTL OUT EIA IN 1489 +3V -12V 非法电平区 -3V 信号1 电平区 (通常-12V) -15V TTL与EIA电平的转换

  28. +5V + + +5V 1µ 1µ 7 Vcc +10V C1+ C1- 2 T1IN T2IN T1OUT T2OUT 5 + 1 2 V+ V- 1µ 3 18 6 -10V 1 C2+ C2- TTL + 4 + 1µ R1OUT R2OUT 3 R1IN R2IN 4 RS- 232C 1µ 5 19 T1OUT T2OUT 20 11 T1IN T2IN 14 8 11 C1+ C1- C2+ C2+ RS- 232C 13 15 TTL 10 7 12 16 V- V-V+ C2- C2- 12 R1OUT R2OUT R1IN R2IN 13 17 10 14 GND 9 8 MAX232 MAX233 6 9

  29. 2、RS232C的电气接插件标准 双排25芯 9个信号 (1)保护地,接机壳 (2)发送数据,TXD 串行数据输出 (3)接收数据,RXD 串行数据输入 (4)请求发送,RTS,联络信号;发送方待发送数据准备好,向接收方请求。 (5)准许发送,CTS,联络信号;接收方准备好接收数据,向发送方应答。 (6)数据终端就绪,DTR,联络信号;接收方装置就绪,向发送方请求。 (20)数据装置就绪,DSR,联络信号;发送方装置就绪,向接收方应答。 (8)载波检测,CD (7)信号地,GND 数据信号、联络信号和电源的公共地。 双排9芯 9个信号 (1)CD (2) RXD (3) TXD (4) DTR (5) GND (6) DSR (7) RTS (8) CTS (9) RI(振铃指示)

  30. 1、与MODEM的连接 TXD 微机RS232C RXD MODEM RTS CTS DSR GND CD DTR 2、小型终端连接 TXD TXD 2 3 7 2 3 7 微机 RS232C 小型 终端 RXD RXD GND 二、RS232C串行通信系统的连接

  31. TXD 2 2 TXD RXD 3 3 RXD RTS 4 4 RTS CTS 5 5 CTS DSR 6 6 DSR GND GND CD 8 8 CD DTR 20 20 DTR 计算机A RS232C 计算机B RS232C 三、二台计算机之间串行通信的连接 1、数据发送TXD与数据接收RXD交叉连接。 2、数据装置就绪DTR与数据终端就绪DSR交叉连接。 3、数据发送请求RTS与本方数据准许发送自连接,也与对方载波检测CD交叉连接。

  32. +5V 7 D7~D0 D7~D0 RD WR C/D RESET 2 5 MAX 233 2 3 2 3 RD WR A1 RESET 3 4 RxD 8086 8 2 5 1 A 系统总线 TxD 9 1,7 6 A0 A2 A9 LS 138 RxC CS CS TxC CLK CLK 8MHz 8253 4分频 M/IO OUT0 CLK0 2MHz 四、8251A应用举例

  33. 置方式字 置命令字 置发送缓冲区首址 置发送数据数 读入8251状态 N Y TxRDY=1 发送完 从发送缓冲区取数送8251 修改指针 N Y BEG-T: MOV DX,1F2H MOV AL,7AH OUT DX,AL MOV CX,02H D1: LOOP D1 MOV AL,11H OUT DX,AL MOV CX,02H D2: LOOP D2 LEA DI,BUFF-T MOV CX,COUNT-T NEXT-T: IN AL,DX TEST AL,01H JZ NEXT-T PUSH DX MOV DX,1F0H MOV AL,[DI] OUT DX,AL INC DI POP DX LOOP NEXT-T

  34. 置方式字置命令字 置接收缓冲区首址 置接收数据数 读入8251状态 N Y Y RxRDY=1 发送完 传送出错 N 从8251接收数据送缓冲区 修改指针 N Y BEG-R: MOV DX,1F2H MOV AL,7AH OUT DX,AL MOV CX,02H D3: LOOP D3 MOV AL,14H OUT DX,AL MOV CX,02H D4: LOOP D4 LEA DI,BUFF-R MOV CX,COUNT-R NEXT-R: IN AL,DX TEST AL,02H JZ NEXT-R TEST AL,38H JNZ ERROR MOV DX,1F0H IN AL,DX MOV [DI],AL INC DI MOV DX, 1F2H LOOP NEXT-R

  35. 解:如下图所示: 接口电路 D7~D0 RD WR C/D RESET RS- 232 接口 外 设 D7~D0 RxD 8086 系统总线 TxD RD WR A1 RESET 8 2 5 1 A A0 A2 A3 Y0 Y1 Y2 O O O A B C G2A G2B 波特率 发生器 RxC CS TxC TxRDY TxE RxRDY BRKDET M/IO A4 A5 A6 或 G1 LS138 A7 10-12 在一个以8086的系统中,8251的数据口地址为84H,控制口和状态口的地址为86H,试画出地址译码电路、数据总线和控制总线的连接图。

  36. 10-14 若8251的端口地址为FF0、FF2H,要求8251工作于异步方式,波特率因子为16,7位数据位,1位奇校验位,1位停止位,试对8251进行初始化编程。 MOV DX,0FF2H MOV AL,00H OUT DX,AL ;向控制口写入第一个“0” CALL DELAY1 ;延时 OUT DX,AL ;向控制口写入第二个“0” CALL DELAY1 ;延时 OUT DX,AL ;向控制口写入第二个“0” CALL DELAY1 ;延时 MOV AL,40H ;向控制口写入复位字 OUT DX,AL CALL DELAY1 ;延时 MOV AL,01011010B ;写入方式字 OUT DX,AL CALL DELAY1 MOV AL,00010101B ;命令字,允许接收发送,清除错误标志 OUT DX,AL ;写入命令字

More Related