第八章 串行输入 /输出接口
? 概述
? 串行通信的实现
? 串行通信的基本术语
? 可编程串行通讯接口芯片 8251A简介
? 串行通信 RS- 232C
? USB总线简介
8.1 概述
一、串行数据
计算机与外部信息交换方式有两种,
一种是并行通信,另一种是串行通信。
并行通信时,数据各位同时传送。而串
行通信时,数据和控制信息是一位接一
位串行地传送下去。这样,虽然速度会
慢一些,但传送距离比并行通信长,硬
件电路也相应简单些。
现在的台式 PC机一般至少有两个 RS- 232串
行口 COM1和 COM2,通常 COM1使用的是 9针 D形连
接器,而 COM2使用的是老式的 DB25针连接器。
二,串行通信的实现
1、并行通信和串行通
信的特点:
串行通信是逐位传送数据,
所以一个多位数据需要
多次传送。比如一个 8位
的字节型数据至少需要 8
次传送。它有如下特点:
? 速度较慢;
? 引线少;
? 距离长。
计算机 外设
TXD
RXD
TXD
RXD
2、串行通信的硬件条件
在硬件上,串行通信系统的核心部件
是移位寄存器,其中在发端要有一个
并入串出移位寄存器,在收端要有一
个串入并出移位寄存器。
D Q D Q
CLK
D Q
CLK
??
??
D 0D 6
并入串出移位寄存器
D Q D Q
CLK
D Q
CLK
??
??
D 7D 1
并出串入移位寄存器
3、串行通信的同步
为了可靠的串行通信,同步信号起到至关
重要的作用。在理想情况下,同步信号应
该在数据信号线上出现有效数据期间的中
心点有效,因为这时数据线上的数据是最
稳定的。 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
同步脉冲
但在典型的串行通信系统中,是不
存在同步信号线的!如何实现串行通信
的中数据传送的同步呢?系统从软件和
硬件两方面采取了如下三个措施:
( 1) 设置波特率波特率是指单位时间内传
送的位数,单位是比特 /秒。
( 2)设置数据的传送格式,一般地串行通信
在传送数据时,并不是单纯地传送数据位
信息。为了使数据传送可靠,还设定了其
他一些辅助位。
( 3) 设置波特率因子
在异步通信方式进行通信时, 发送端需
要用时钟来决定每 1位对应的时间长度, 接
收端也需要用一个时钟来测定每 1位的时间
长度, 前一个时钟叫发送时钟, 后一个时
钟叫接收时钟 。 这两个时钟的频率可以是
波特率的数倍, 一般取 16倍, 32倍或 64倍 。
这个倍数就称为波特率因子 。
8.2 串行通信的基本术语
一、串行通信方式
1,异步通讯
异步通信是指以字符为单位传送数据,
用起始位和停止位标识每个字符的开始和
结束字符,两次传送时间隔不固定。
2,同步通信
异步通讯为了可靠地传送数据,在每
次传送数据的同时,附加了一些标志位。
在大量数据传送时,为了提高速度,就去
掉这些标志,这就是同步通讯。采用同步
传送,在数据块开始处要用同步字符来指
示,并在发送端和接收端之间要用时钟来
实现同步。
二、串行通讯中的
数据传送方向
1,半双工
每次只能有一个
站发送。
2、完全双工
两个站都能同时
发送称完全双工。
三、异步接收 /发送器( UART)
串行接口的基本结构主要是异步接收 /
发送器( UART),它不仅包括并行数据
和串行数据之间的相互转换,还有检测
串行通信在传送过程中可能发生错误的
逻辑部件。
四、信号的调制和解调
由于模拟信号的传输比数字信号传
输更为有效,因而可将数字信号调制成
模拟信号进行传输,用解调器把接收的
模拟信号再转换成数字信号。
8.3 可编程串行通讯接口芯片 8251A简介
8251A芯片是 INTEL公司生产的大规模集成
电路芯片,是与 INTEL系列 CPU兼容的可编程的
串行通讯接口。虽然 8251A功能较强,但它需
要外部时钟电路。因此采用 8251A作为接口电
路时需要比较复杂的外围电路。而目前流行的
单片机如 MCS51系列,CPU内部就集成了串行接
口部件及定时器 /计数器,几乎不需要外围辅
助电路,使用起来非常简单,性能价格比很高,
因此现在越来越多的数字化仪器仪表电路中不
再采用 8251A而是使用单片机作为串行通信接
口了。
一、主要基本性能
1,可用于同步和异步传送
2,波特率,DC- 19.2K(异步 ); DC-
64K(同步 )。
3,完全双工,双缓冲发送和接收
4,与 8080/8085CPU完全兼容
二、内部结构
发送和接
收电路
调制解调
控制电路
总线接
口部分
8.4 串行通信接口 RS- 232C
一,RS- 232C电器特性及接口信号
1.电气特性
在数据线 TXD和 RXD上:
逻辑 1=- 3V~- 15V
逻辑 0=+ 3V~+ 15V
在控制线和状态线 RTS,CTS、
DSR,DTR和 DCD上:
信号有效=+ 3V~+ 15V
信号无效=- 3V~- 15V
2,RS- 232C与 TTL转换
RS- 232C是用正负电压来表示逻辑状态,
与 TTL以高低电平表示逻辑状态的规定不同。
因此,为了能够使计算机接口与终端的 TTL器
件连接,必须在 RS- 232C与 TTL电路之间进行
电平和逻辑关系变换。
3,RS-232C的接口信号
可以用电缆线直接连接标准 RS232端口,
但通信距离较近 (<12m)。若 距离较远,
可附加调制解调器( MODEM)。 RS- 232C
规标准接口有 25条线,最常用的信号线
有 9根。
二,RS- 232C应用举例
1,RS- 232C串口通信接线方法(三线制)
RS-232 MAX232 MCS51
TXD
RXD
TXD
RXD
2,BIOS串行通信口功能
IBM PC及其兼容机提供了比较灵活
的关于串行口的 BIOS中断调用方法,
即通过 INT 14H调用 ROM BIOS串行通
信口例行程序 。 该例行程序包括将
串行口初始化为指定的字节结构和
传输速率, 检查控制器的状态, 读
写字符等功能
3.举例
设通信双方有一台计算机为 PC机, 使用
COM1端口 。 在串行通信中, 必须首先设定通
信双方所使用字符串的数据结构, 才能进行
软件编程 。 这里我们设数据在接收和发送的
字符串中, 序号为 0的字节为数据长度, 其
后的字节为所接收的数据 。
接收数据子程序:
receive proc far ;这是接收数据子程序,;出口 AL,AH
rec_check,mov ah,3 ;读通讯口状态字
mov dx,0
int 14h
test ah,20H ;测试数据准备好位
jz rec_check ;数据未准备好, 再读状态字
mov ah,2 ;读通信端口数据
mov dx,0
int 14h
ret
receive endp
发送数据子程序:
send proc far ;这是发送数据子程序,;输入参数,AL,输出参数,AL,AH
push ax
send_check,mov ah,3 ;读通讯口状态字
mov dx,0
int 14h
test ah,20h ;测试, 发送保存寄存器空, 位
jz send_check ;发送保存寄存器满, 再读状态字
pop ax
mov ah,2 ;发送数据
mov dx,0
int 14h
ret
send endp
8,5 USB总线简介
一,USB的定义
USB是 Universal Serial Bus的缩写,
中文意思就是“通用串行总线”,是
连接有 USB接口的计算机外围设备到计
算机的一种计算机外部总线结构
二,USB的开发背景
制定了 USB的规范:
1,连接 PC与电话 。
2,Plug-and-Play ( 即插即用 ) 。
3.端口扩展。 USB提供双向低成本低速到中
速 (USB 2.0 可达 480Mb/s)的通用外设总线适
用于连接各种各样的外设并且易于扩展。
三,USB的变革
至目前为止,USB共经历以下几次重大变革:
0.7版本 于 1994年 11月 11日发布。是 USB的最早版本。
1.0版本 于 1995年 11月 13日制定发布了,规定 USB具有 2
种传输速度 Low-speed 1.5Mb/s,Full-speed
12Mb/s。
1.1版本 于 1998年 9月 23日制定了 1.1规格版本,速度不
变。
2.0 (草案 )版本 于 1999年 10月 5日发布。制定了 High-
speed的概念,规格 。
2.0版本 于 2000年 4月 27日发布。
四,USB系统拓扑结构
五,USB的特点
1,USB为所有的 USB外设提供了单一的、易于
操作的标准的连接类型。
2,USB整个的系统只有一个端口和一个中;
3,USB支持热插拔 (hot plug);
4,USB支持 PNP;
5,USB在设备供电方面提供了灵活性;
6,USB提供全速 12Mbps的速率和低速 1.5Mbps
的速率来适应各种不同类型的外设; USB2.0
还支持 480Mbps 的高速传输速率;
7,USB2.0的 High-speed模式支持音频和视频设
备, 可以保证其固定带宽;
8,为了适应各种不同类型外围设备的要求 USB
提供了四种不同的数据传输类型:控制传输,
Bulk数据传输, 中断数据传输, 同步数据传输 。
同步数据传输可为音频和视频等实时设备的实
时数据传输提供固定带宽 。
9,USB 的端口具有很灵活的扩展性 。 一个 USB
端口串接上一个 USB Hub 就可以扩展为多个
USB端口 。 规范中说, USB可以扩展到 127个外
设端口 。
六,USB工作原理
1,NRZI编码
2、分组传送
USB技术和 IP技术一样,都是基于分组传送
方式的。对 USB总线来讲,当要传送一个文件
时,程序按照 USB协议,首先把数据分成若干
块,然后在每块数据前面添上同步信号、包标
识,后面添上 CRC校验,就形成了 USB封包。一
个文件可能可能有多个封包。全速 USB总线把 1
毫秒作为一个时间帧,总线在一个帧内依次传
送不同文件的封包。因此从宏观上,就仿佛总
线同时对不同的 USB外设进行数据传送。
3,USB封包
根据信息包所实现的功能可分为 3种类型:
令牌包、数据包和握手包。
令牌包定义了数据传送的类型。比如图
所示。
七,USB传输方式
1,USB的四种传输方式
( 1) 同步 (isochronous)方式传输 同步传输
提供了确定的带宽和间隔时间, 以固定的传
输速率,连续不断地在主机与 USB 设备之间
传输数据,在传送数据发生错误时,USB并不
处理这些错误,而是继续传送新的数据, 它
被用于时间严格并具有较强容错性的流数据
传输或者用于要求恒定的数据传输率的即时
应用中 。
( 2) 中断传输方式 (Interrupt) 该方式传送的数
据量很小,但这些数据需要及时处理,以达到实
时效果 。 此方式主要用于定时查询设备是否有
中断数据要传输 。
( 3) 控制传输方式 (Control) 控制传输是双向传
输, 数据量通常较小, 用来处理主机到 USB设
备的数据传输 。 包括设备控制指令, 设备状态
查询及确认命令 。
( 4) 批 (Bulk)传输方式 主要应用在数据大量传
输和接受数据上, 同时又没有带宽和间隔时间要求的情况下, 要求保证传输正确无误的数据 。
2,USB设备类型
八,USB设备列举
在 USB规范中有一个非常重要的, 动
作, 或, 过程, 。这个动作将会让 PC机
知道何种 USB设备刚接上以及其所含的各
种信息。这样,PC机就可以与这个 USB设
备开始进行数据传输的工作了。这个动
作称之为设备列举 (enumeration)。
1,USB描述符
在设备列举过程中,USB设备向主机传
送了一个重要的信息,使主机知道了这
个设备是, 谁,,并启动了该设备的驱
动程序。这个信息就是 USB描述符
2、设备列举
设备列举包含两方面的功能,一是主
机搜集 USB设备的信息,也就是 USB描述
符。另一个是主机根据 USB描述符对设备
进行配置,比如 USB设备地址设置,USB
设备各端点数据传输方式设置。