1 / 38

微机原理

在此幻灯片插入公司的徽标 从“插入”菜单 选择图片 找到徽标文件 单击“确定” 重新设置徽标大小 单击徽标内任意位置。徽标外部出现的方框是“调整控点” 使用这些重新设置对象大小 如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维持原比例。. 微机原理. 制作者: 张幸. 外设或计算机. TXD. RXD. D0D1D2D3D4D5D6D7. D0D1D2D3D4D5D6D7. 计算机. 外设或计算机. RXD. TXD. 计算机. 状态. 控制. 第十章 串口通信.

colby
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. 在此幻灯片插入公司的徽标 • 从“插入”菜单 • 选择图片 • 找到徽标文件 • 单击“确定” • 重新设置徽标大小 • 单击徽标内任意位置。徽标外部出现的方框是“调整控点” • 使用这些重新设置对象大小 • 如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维持原比例。 微机原理 制作者: 张幸

  2. 外设或计算机 TXD RXD D0D1D2D3D4D5D6D7 D0D1D2D3D4D5D6D7 计算机 外设或计算机 RXD TXD 计算机 状态 控制 第十章 串口通信 通信:计算机与外部的信息交换 并行通信:数据各位同时传送 串行通信:数据逐位按一定顺序传送 特点:速度快,效率高,成本高,适用于近距离 特点:成本低,速度慢,适用于远距离

  3. 发送 单向通道 接收 发送 接收 双向通道 接收 发送 发送 接收 双向通道 接收 发送 第一节 串行通信的基本概念 一、数据传送的方式 单工:数据线仅能在一个方向上传送 半双工:数据虽可在两个设备上向任何一个方向传送,但不能同时进行 全双工:数据可在两个设备上向任何一个方向传送,且可同时进行

  4. 数据长度 5、6、7、8 同步字符1 同步字符2 数据字符 停止位 起始位 D0 … D7 校验位 二、串行传送工作方式 异步方式:通信双方按一定协议进行数据传送,数据是一帧一帧传送 同步传送: 发送数据前,先发一到两个同步字符,表示数据开始,同步后,开始进行批量数据传送 同步传送需要一个同步时钟 同步传送比异步传送速度快 异步通信传送效率在70%左右

  5. 三、串行传送速率 波特率:每秒种内数据传送的位数 单位bit / s,bps 如一个串行字符由1个起始位,7个数据位,1个校验位,1个停止位组成,假如每秒传送120个字符,则其波特率为120*10=1200bps 常用的波特率为110,300,600,1200,2400,4800,9600,19200

  6. 四、信号的调制和解调 1.将发送端数字数据信号变换成模拟数据信号的过程称为调制,将调制设备称为调制器(modulator) 2.将接收端模拟数据信号还原成数字数据信号的过程称为解调,将解调设备称为解调器(demodulator) 3.同时具备调制与解调功能的设备称为调制解调器(modem) 4.调制器的类型:振辐键控(ASK) 频移键控(FSK) 相移键控(PSK)

  7. 在调制过程中,选择音频范围内的某一角频率ω的正(余)弦信号作为载波,该正(余)弦信号可以写为: 在调制过程中,选择音频范围内的某一角频率ω的正(余)弦信号作为载波,该正(余)弦信号可以写为: u(t)= Um·sin(ωt+φ0) 3个可以改变的电参量: —振 幅 um 振辐键控(ASK) —角频率 ω 频移键控(FSK) —相 位 φ 相移键控(PSK) 可以通过变化3个电参量,来实现模拟数据信号编码的目的。

  8. 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 0 0 1 五、信息的检错和纠错 串行通信一般要检测传输过程中是否有错误出现。在基本通信规程中常采用奇偶校验或校验和的块校验方法,在高级通信控制规程中一般采用循环冗余码(CRC)校验 奇偶校验:即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。 校验和的块校验:奇偶校验与“检验和”的综合 • 奇校验:所有传送的数位(包含字符的各个数位和校验位)中,1的个数为奇数 • 偶校验:所有传送的数位(包含字符的各个数位和校验位)中,1的个数为偶数

  9. 六、串行接口芯片UART和USART 异步收发器(URTA) INTEL 8250 同步异步收发器(USART)INTEL 8251

  10. 第二节 可编程串行通信接口芯片8251A 一、基本功能 ① 可用于串行异步通信,也可用于串行同步通信。 ② 对于异步通信,可设定停止位为1位、1位半或2位。 ③ 对于同步通信,可设为单同步、双同步或外同步等。同步字符可由用户自己设定。 ④ 可以设定奇偶校验的方式,也可以不校验。校验位的插入、检出及检错都由芯片本身完成 ⑤ 异步通信的时钟频率可设为波特率的1倍、16倍或64倍。 ⑥ 在异步通信时,波特率的可选范围为019.2千波特;在同步通信时,波特率的可选范围为064千波特。 ⑦ 提供与外部设备特别是调制解调器的联络信号,便于直接和通信线路相连接。 ⑧ 接收、发送数据分别有各自的缓冲器,可进行全双工通信。

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

  12. 1、接收器 检测 RxD ÷ 内部CLK 异或门 奇偶检验结果 DB 作用:接收器接收在RxD上的串行数据并按规定的格式转换为并行数据,存放在接收数据缓冲器中。 停止位 1 奇偶位 接收移位寄存器 波 特 率 接收缓冲寄存器

  13. 在异步方式中,当接收器接收到有效的起始位后,便开始接收数据位、奇偶校验位和停止位。然后将数据送入寄存器,此时,RXRDY输出高电平,表示已收到一个字符,CPU可以来读取。在异步方式中,当接收器接收到有效的起始位后,便开始接收数据位、奇偶校验位和停止位。然后将数据送入寄存器,此时,RXRDY输出高电平,表示已收到一个字符,CPU可以来读取。 接收器的工作过程 在同步方式中,若程序设定8251A为外同步方式,则引脚SYNDET用于输入外同步信号,该引脚上电平正跳变启动接收数据。若设定为内同步接收,则8251A先搜索同步字(同步字事先由程序装在同步字符寄存器中)。RXD线上收到一位信息就移入接收寄存器并和同步字符寄存器内容比较,若不同则再接收一位再比较,直到两者相等。此时SYNDET输出高电平,表示已搜索到同步字符,接下来便把接收到的数据逐个地装入接收数据寄存器

  14. 与接收有关的信号 RxD(Receiver Data)接收数据:从RxD端 串行数据输入 RxRDY(Receiver Ready)接收数据准备好 RxRDY=1表示接收数据缓冲器已收到一个字符数据,CPU可采用中断或查询方式读取数据 SYNDET/BRKDET同步检测/断点检测 同步方式(同步检测):在内同步方式,当8251检测到同步字符, SYNDET输出为高电平,表明8251A已处于同步状态。外同步方式: 当SYNDET引脚有一个正跳变脉冲,8251在下一个接收时钟的上升沿开始接收字符,一旦达到同步, SYNDET引脚的高电平即可撤除。 异步方式(断点检测):当8251从RxD端连续收到两个由全“0”组成的字符时,该引脚输出为高电平 RxC( Receiver Clock)接收时钟

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

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

  17. C/ D:控制/数据信号输入端 C/ D=1,表示当前通过数据总线传送的是控制信息或状态字 C/ D=0,传送的是数据信息 3、数据总线缓冲器: 与CPU相互交换的数据和控制字 4、读/写控制电路

  18. 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与调制解调器相连,经电话线传输数据

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

  20. 三、8251A的编程 1.方式字:确定8251A的工作方式(同异步,数据格式)

  21. 在某异步通信中,数据格式采用8位数据位,1位起始位,2位停止位,奇校验,波特率因子是16,命令口地址为309H在某异步通信中,数据格式采用8位数据位,1位起始位,2位停止位,奇校验,波特率因子是16,命令口地址为309H MOV DX,309H MOV AL,0DEH OUT DX,AL 同步通信中,若帧格式为:字符长度8位,双同步字符,内同步方式,奇校验 MOV DX,309H MOV AL,1C H OUT DX,AL

  22. 2.工作命令

  23. 8251的方式命令和工作命令的使用 8251的方式命令和工作命令地址相同,无特 征位,故向8251写命令时必须按一定的顺序, 复位->方式命令->工作命令1->工作命令2---- 电源上电,8251自动进入复位状态,为了确保在送方式字和命令字之前8251正确复位,应向8251的控制口连续写入3个“0”,然后再写入一个复位控制字(40H),用软件使8251可靠复位。

  24. 硬件复位(RESET)或软件复位(D6=1) 单同步方式字 双同步方式字 异步方式字 送同步字符 送同步字符1 送同步字符2 命令字1(D6‡1) 命令字1(D6‡1) 命令字1(D6=1)

  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逻辑电平定义 +12V +15V +5V TTL IN EIA OUT 信号 0 电平区 (通常+12V) 1488 TTL OUT EIA IN 1489 +3V -12V 非法电平区 -3V 信号1 电平区 (通常-12V) -15V RS232C属负逻辑电平 TTL与EIA电平的转换

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

  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. 二、RS232C串行通信系统的连接 1、使用MODEM的连接(距离大于15M) 采用Modem(DCE)和电话网通信时的信号连接

  31. 采用专用线通讯时的信号连接

  32. 2、无MODEM的连接 无Modem 的最简连接 无Modem的标准连接

  33. 乙机 CPU 甲机 CPU TXD TXD EIA/TTL交换 EIA/TTL交换 RXD RXD SG SG TXC TXC 波特率 发生器 波特率 发生器 RXC RXC 三、8251A应用举例

  34. 置方式字 置命令字 置发送缓冲区首址 置发送数据数 读入8251状态 N Y TxRDY=1 发送完 从发送缓冲区取数送8251 修改指针 N Y BEG-T: MOV DX,1F2H MOV AL,7AH OUT DX,AL 波特率因子16,7为数据位。偶校验。1位停止位 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 D0位为发送就绪位

  35. 置方式字置命令字 置接收缓冲区首址 置接收数据数 读入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 D1位为接受就绪位 检查3个出错标志

  36. 解:如下图所示: 接口电路 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,试画出地址译码电路、数据总线和控制总线的连接图。

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