1k likes | 1.17k Views
第 章 串并行通信与接口技术. 内容 串行通信 8251A 并行通信 8255. 串行通信与接口技术. 串行接口与通信的基本概念 串行通信控制器8251 A 原理和编程 16550、16450 及兼容接口. 计算机中的串行接口. CPU. 总线 (AB, DB, CB). 串行通信控制器(8251 A). 存储器. 收发器. 机械接口(插座). 串行通信与并行通信. 什么是串行通信 串行端口、 SATA 硬盘 什么是并行通信 打印机、 PATA 硬盘 问题? 串行通信和并行通信的速度比较. 5.1 串行通信的基本概念. 串行通信的特点:
E N D
第 章 串并行通信与接口技术 • 内容 • 串行通信 8251A • 并行通信 8255 97
串行通信与接口技术 • 串行接口与通信的基本概念 • 串行通信控制器8251A原理和编程 • 16550、16450 及兼容接口 97
计算机中的串行接口 CPU 总线(AB, DB, CB) 串行通信控制器(8251A) 存储器 收发器 机械接口(插座) 97
串行通信与并行通信 • 什么是串行通信 • 串行端口、SATA硬盘 • 什么是并行通信 • 打印机、PATA硬盘 • 问题? • 串行通信和并行通信的速度比较 97
5.1 串行通信的基本概念 • 串行通信的特点: 数据在单条1位宽的传输线上按时间先后一位一位地传送; • 优点:节省传输线;主要适用于长距离的通信中。 • 缺点:同等条件下(位速率相同时)数据传输率较低。 97
2.串行通信设计的常用术语 设备A 发送器 设备B 接收器 Data flow • 单工、半双工和全双工 (1)单工(Simplex) 特点:仅能进行一个方向的数据传送 例子:电台、mouse 97
设备A 发送器/ 接收器 设备B 接收器/ 发送器 Data flow (2)半双工(Half Duplex) 特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行。【双向,但不同时】 例子:对讲机 97
设备A 发送器/ 接收器 设备B 接收器/ 发送器 (3)全双工(Full Duplex) 特点:能够在两个方向同时进行数据传送。 例子:电话,RS232 97
2.概念:数据传输率 • 每秒传输的二进制位数,单位为bps(bit per second )也称比特率。 • 波特率―――每秒传输的“符号”(也称离散状态)的个数。 • 【例如,每秒传送1个符号,则波特率为1波特】 • 标准 波特率系列:50,75,110,150,300,600,1200,…… • 在计算机中,一个“符号”的含义为高、低两种电平,分别代表逻辑值“1”和“0”,所以每个符号的信息量为1比特,此时波特率与比特率刚好一致。 • 但在其他一些场合(例如通信中采用的“相一幅”复合调制技术一个“符号”的信息含量就不是一个比特,此时,波特率就不等于比特率。 • 本书-二进制传输 97
3.发送时钟和接收时钟 CLK(主时钟) 数据输入寄存器 系统总线 (串行数据输入) 输入移位寄存器 输入移位脉冲 ÷1,÷16,÷32 接收时钟 数据输出寄存器 输出移位寄存器 (串行数据输出) ÷1,÷16,÷32 输出移位脉冲 发送时钟 97
输入移位寄存器 并行数据 移位寄存器(8bit) 串行数据输入 移位时钟 串入-并出 97
输出移位寄存器 并行数据输出 移位寄存器(8bit) 串行数据输出 移位时钟 并入-串出 97
4.概念:波特率因子 • F(时钟频率)=波特率因子*波特率 • 波特率因子:数据传输率(波特率)与时钟频率之间的比例系数 • 给定时钟频率,选择不同的波特率因子可得到不同的波特率。 • 例如:f = 19.2 kHz,若选波特率因子为16,则波特率为1200 bps。 • 若选定波特率因子和波特率,则相应的确定了对时钟频率的要求。 • 1200*16=19200(时钟频率)→若外部时钟电路的频率F=1Mhz,需用8253分频,试计算分频系数(8253的计数初值)=? • 计数初值=时钟频率/(波特率*波特率因子) 97
一种串行通信时钟方案 8251 外部的 时钟电路 CLK 8253 OUT 1MHz 19.2KHz ÷1,÷16,… N分频 移位脉冲 97
6.同步方式和异步方式 第n+1个字符 停止位或空闲位 第n个字符 空闲位 低位 高位 11…1 1/0 0 1/0 0 1… 1 5-8位数据位 起始位 奇偶校验 • (1)异步方式(Asynchronous):也称“起止同步式”。 • 串行异步传输数据格式: • 工作特点:1-5 97
异步通信的效率 • 假设传输2048位,8位数据位,1个起始位,1个停止位 • 共传输2048/8×10=2560bit • 传输效率=2048/2560=80%(最大) 97
(2)同步方式(Synchronous) • 串行同步通信信息格式 • 同步方式的工作特点:(1)-(5), 同步字符(SYN1) 同步字符(SYN2) 数据(DATA) … 8251A的同步方式 97
*同步通信的效率(协议开销) • 例:SDLC/HDLC帧格式: • 假定数据长度为2048位, • 通信效率为:2048/(2048+48)=97% • 协议开销仅为3% • 一般公式:SDLC/HDLC协议开销=1.0-N/(N+48),其中N为发送数据的比特数。 标志 01111110 地址 8位 控制 8位 数据场 CRC 8位 CRC 8位 标志 01111110 97
同步通信与异步通信效率比较 • 同步通信高于异步通信 • 计算机网络使用同步通信 97
7.差错校验 奇偶校验(Parity Check ) CRC校验(Cyclic Redundancy Check ) 97
5.2 串行通信接口标准 • EIA RS—232C,1969年,适合于DTE和DCE之间相互连接与通信的串行通信规程。(1987年11月,经修改正式命名为RS—232D) • DTE-Data Terminal Equipment • DCE-Data Communication Equipment。 • 【Data Circuit-terminating Equipment】 • PSTN-Public Switched Telephone Network 97
机械接口 • DB-25连接器 国际标准ISO 2113 【EIA RS-232D为ISO 2110】 • EIA规定:插座(female)应装在DCE上;插头(male)应插在DTE上。 97
电路功能特性 • 25个功能引脚仅定义了22个,22个信号分成两个信道组——主信道组(第一信道)和辅信道组(第二信道) • 常用的RS-232C接口信号(表8-2) • 信号定时关系 97
电气信号特性 +15V +15V “0” “0” +5V +3V 转换区 转换区 -5V -3V “1” “1” 2V噪声容限 -15V -15V • 采用负逻辑:+5V~+15V——逻辑0 • -5V~-15V——逻辑1 • RS-232C电平与TTL电平之间的转换(图8.8) • TTL电平→RS-232C电平:MC1488 • RS-232C电平→TTL电平:MC1489 电平转换电路 97
RS232-C 97
常见的几种RS-232C电缆连接方式 全双向标准电缆 三线经济方式 具有多种“自环”的三线方式 零调制解调器(Null Modem) *DB-9连接器 97
DB-9 and DB-25 RS-232 Pin Designations • The 9- and 25-Pin Connectors used by the PC’s serial ports are male connectors; the printer and video cards use female connectors. • 参见“Modem连线大全”P81 97
插脚号 CCITT 信号名 机壳地 101 103 104 105 106 107 102 109 108 125 1 2 3 4 5 6 7 8 20 22 发送数据 载波检测 接收数据 本 地 Modem 远 程 Modem 计 算 机 请求发送 终 端 允许发送 Modem就绪 信号地 电话线 呼叫指示 载波检测 终端就绪 呼叫指示 图3-5 V.24/RS-232C 信号连接与定时关系 a)信号线连接 97
5.3 8251A通信控制器 • 基本串行接口概述 • 基本性能 • 基本工作原理 • 对外信号 • 编程 • 应用 97
5.3.0串行接口的基本结构与功能 第三节串行接口的基本结构与功能 典型的串行异步接口的基本结构如图8.10所示。 97
5.3.1 8251A的基本性能 • 同步0-64kbps,数据位5、6、7、8,内部自动检测同步字符 • 异步方式0-19.2kbps,数据位5、6、7、8,奇偶校验。 • 不提供全部RS232-C信号 97
5.3.2 8251A基本工作原理 1 编程结构 97
2.功能结构 97
3. 8251A的发送和接收 • 同步方式 • (遵守RS232C的同步规范) • 异步方式 • (与HDLC/SDLC不同) 97
同步方式 97
5.3.3 8251A对外信号 • 8251A与CPU之间的连接 • 8251A与外设之间的连接 97
1.8251A与CPU之间的连接 • CS* • D7-D0 • RD* • WR* • C/D* • TxRDY • TxE • SYNDET 97
2. 8251A与外设之间的信号 • DTR* • DSR* • RTS* • CTS* • TXD • RXD 97
5.3.4 8251A的编程 • 内容 • 8位接口芯片与16位数据总线的连接 • 8251A的初始化 • 8251A的寄存器 • 模式寄存器 • 控制寄存器 • 状态寄存器 97
2、8251A的初始化 • 复位 • 设置模式寄存器 • 通信速率 • 工作方式 • 同步(同步字符及个数) • 异步(起始位、停止位、数据位等) • 设置控制寄存器 • 控制收发 97
初始化约定 • 可写的寄存器(4个) • 模式寄存器 • 同步字符寄存器2个 • 控制寄存器 • C/D*=1时选中模式/控制端口 97
3. 模式寄存器格式 97
4. 控制寄存器格式 操作命令控制字直接让8251A实现某种操作或进入规定的工作状态,它只有在设定了方式选择控制字后,才能由CPU写入。 97
5.状态寄存器 CPU可在8251A工作过程中利用输入指令(IN指令)读取当前8251A的状态字,从而可以检测接口和数据传输的工作状态。 97
5.3.5 8251A应用编程举例 图6.11 8251A和调制解调器的连接 (a) 异步模式; (b) 同步模式 97
1.异步方式初始化 MOV DX,52H MOV AL,0FAH OUT DX,AL MOV AL,37H OUT DX,AL 异步方式;波特率因子16;7个数据位;偶校验;2个停止位 设置控制字,发送启动。接收启动,并设置有关信号 97
异步方式发送字符 mov dx,52h ;状态端口 abc: in al,dx test al,01h; 测试输出缓冲区是否空 jnz abc mov dx,50h; 数据端口 mov al, xxh out dx,al ;发送字节 97