本章主要教学内容
串行通信的基本概念和基本技术
串行通信接口标准 RS-232-C的引脚特性及其应用
串行通信接口芯片 INS8250的结构,功能及应用
通用串行总线接口 USB的总线规范,体系结构和技术应用第 10章 串行通信接口
10.1 串行通信概述
10.1.1
串行通信是指将数据按照一位一位地顺序进行传送,
它只占用一条传输线 。 可以采用两种方式来实现:一种是将 8位数据通道中的一位通过软件来实现串行数据传送;另一种是通过专用的通信接口,将并行数据转换为串行数据进行传送 。
10.1.2
通常情况下,串行通信可分为异步传送和同步传送两种方式,下面我们分别对这两种方式进行说明。
1,异步传送方式异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的 。 异步通信规定字符由起始位 ( start bit),数据位 ( data bit),奇偶校验位 ( parity) 和停止位
( stop bit) 组成 。 起始位表示一个字符的开始,接收方可以用起始位使自已的接收时钟与数据同步,
停止位则表示一个字符的结束 。 这种用起始位开始,
停止位结束所构成的一串信息称为一帧 ( frame) 。
在异步传送中,CPU与外部设备之间的通信遵循以下两项规定:
( 1)对字符格式的规定:字符格式是指字符的编码形式及其规定。例如,规定每个串行字符由 4个部分组成,1个起始位,5~ 8个数据位,1个奇偶校验位以及 1~ 2个停止位。
这种串行字符编码格式如图 10-1所示。
( 2) 对波特率 ( Boud Rate) 的规定:波特率是指每秒传输字符的位数 。 国际上规定了标准波特率系列,最常用的标准波特率是,110波特,300波特,600波特,1200波特,l800波特,2400波持,4800波特,9600波特和 19200波特 。
1 0 0 / 1 0 / 1 0 / 1 0 / 1 0 / 1 0 / 1 0 / 1 0 / 1
低位 高位
1 1 1
起始位 数据位 校验位 停止位字符
1 0 0 / 1 0 / 1
空闲位字符图 10-1 异步串行通信格式
2,同步传送所谓同步通信是指在约定的数据通信速率下,发送方和接收方的时钟信号频率和相位始终保持一致 ( 同步 ),这就保证了通信双方在发送数据和接收数据时具有完全一致的定时关系 。 在有效数据传送之前首先发送一串特殊的字符进行标识或联络,这串字符称为同步字符或标识符 。
此时,在数据块开始处,要用同步字符来指明,同步字符通常由用户自己设定,可用一个 ( 或相同两个 ) 8位二进制码作为同步字符 。
同步传送速度高于异步传送速度,但它要求由时钟来实现发送端及接收端之间的同步,所以,硬件电路比较复杂 。 通常用于计算机之间的通讯,或计算机到 CRT等外设之间的通讯 。
10.1.3 串行通信中的基本技术
1,数据传送方式串行通信是一位接一位地按顺序通过一条信号线进行传输的方式 。 它的通路可以只有一条,此时发送信息和接收信息不能同时进行,只能采用分时使用线路的方法 。 在串行通信中,数据通常在两个站 ( 如 A和 B) 之间进行双向传送 。 这种传送根据需要又可分为单工,半双工和全双工传送 。 如图 10-
2所示 。
发送器 接收器
A B
单工通信
( a )
发送器 发送器
A B
半双工通信接收器 接收器
( b )
发送器 接收器
A B
全双工通信接收器 发送器
( c )
图 10-2 数据传送方式
2,信号的调制和解调调制解调器( Modem)是计算机在远程通讯中必须采用的一种辅助的外部设备。由于计算机通讯是一种数字信号的通讯,数字信号通讯要求传送的频带是很宽的,而计算机在远程通讯时,通常通过电话线传送,电话线不可能有这样宽的频带。如果用数字信号直接通讯,那么经过电话线传送,信号便会产生畸变。
因此,在发送端必须采用调制器把数字信号转换为模拟信号;而在接收端又必须用解调器检测从发送端送来的模拟信号,再把它转换成为数字信号。由此可知,调制解调器在发送端相当于 D/A转换器,而在接收端则相当于 A/D
转换器。
10.2 串行通信接口标准 RS-232C
RS-232C是美国电子工业协会 EIA于 1962年公布,并于 1969
年修订的串行接口标准,已成为国际上通用的标准 。 RS是英文,推荐标准,的缩写,232为标识号,C表示修改次数 。
RS-232-C总线标准设有 25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道 。 串行接口目前最普遍的用途是连接鼠标和调制解调器,常被称为异步通信适配器接口,串行端口插座分为 9针或 25针两种 。 串行接口被赋予专门的设备名 COMl和 COM2。
目前 RS-232C已成为数据终端设备 DTE与数据通信设备
DCE的接口标准 。 不仅在远距离通信中要经常用到它,就是两台计算机或设备之间的近距离串行连接也普遍采用 RS-
232C接口 。
10.2.1 RS-232C的引脚串行通信 RS-232是一种总线标准,这个标准仅保证硬件兼容而没有软件兼容 。 通常 RS-232C接口有 9针,25针等规格,
RS-232C标准接口的引脚排列如图 10-3所示 。
( a) 25脚排列图 ( b) 9脚排列图图 10-3 RS-232C引脚排列
10.2.2 RS-232C的连接通过 PC机的串行接口可以连接串行传输数据的外围设备,如调制解调器、鼠标等。 RS-232C
广泛用于数字终端设备,如计算机与调制解调器之间的接口,以实现通过电话线路进行远距离通信,如图 10-4 所示。
发送数据 TxD
接收数据 Rx D
请求发送 RT S
允许发送 CT S
数据装置准备好 DS R
信号地 GND
载波检测 CD
数据终端准备好 DT R
振铃指示 RI
2
3
4
5
6
7
8
20
22
2
3
4
5
6
7
8
20
22
计算机 MODEM
2
3
4
5
6
7
8
20
22
2
3
4
5
6
7
8
20
22
MODEM 计算机电话线图 10-4 使用 Modem的 RS-232C接口尽管 RS-232C使用 20个信号线,但在绝大多数情况下,微型计算机,计算机终端和一些外部设备都配有 RS-232C串行接口 。 在它们之间进行短距离通信时,
无需电话线和调制解调器就可以直接相连,如图 10-5所示 。
图 10-5( a)是最简单的只用三线实现相连的通信方式。从中可见,为了交换信息,TXD和 RXD应当交叉连接。因为不使用联络信号,所以程序中不必使 RTS和
DTR有效,也不应检测 CTS和 DSR是否有效。
T x D
R x D
R T S
C T S
G N D
D S R
D T R
2
3
4
5
7
6
20
2
3
4
5
7
6
20
计算机 计算机
( c )
T x D
R x D
R T S
C T S
G N D
D S R
D T R
2
3
4
5
7
6
20
2
3
4
5
7
6
20
计算机 计算机
( b )
T x D
R x D
G N D
2
3
7
2
3
4
计算机 计算机
( a )
图 10-5 不用 Modem的 RS-232C接口图 10-5( b) 中 RTS和 CTS互接,这是用请求发送 RTS
信号来产生允许发送 CTS信号,以满足全双工通信的联络控制要求 。 异步串行通信若采用图 10-5( a) 或图 10-5( b)
所示的三线连接方式,应注意传输的可靠性 。 因为发送方根本无法知道接收方什么时候可以接收数据,所以在软件设计时应发送一个字符,等待接收方确认之后 ( 如回送一个响应字符 ) 再发送下一个字符 。
图 10-5( b) 虽然使用了联络信号,但实际上通信双方并未真正相连 。 图 10-5( c) 是另一种利用 RS-232C直接互连的通信方式,这种方式下的通信更加可靠,但所用连线较多 。 由于上述连接不使用调制解调器,所以也称为零调制解调器连接 ( Null Modem) 。
10.2.3 RS-232C的电气特性为了保证数据正确地传送,设备控制能准确地完成,有必要使所用的信号电平保持一致。为满足此要求,RS-232C标准规定了数据和控制信号的电压范围。由于 RS-232C是在 TTL
集成电路之前制定的,所以它的电平不是 +5 V和地。它规定:
高电平为 +3~ +15 V,低电平为 -15~ -3 V。
在实际应用中,常采用 ± 12 V或 ± 15V。 RS-232C可承受
± 25 V的信号电压。另外,要注意 RS-232C数据线 TXD和
RXD使用负逻辑,即高电平表示逻辑 0,用符号 SPACE(空号)表示;低电平表示逻辑 1,用符号 MARK(传号)表示。
其它控制线均为正逻辑,高电平有效,为 ON状态;低电平无效,为 OFF状态。
由于发送器 /接收器芯片使用 TTL电平,但 RS-232C却使用上述 EIA电平,所以为满足 EIA电气特性,必须在发送器 / 接收器与 RS-232C接口之间使用转换器件 。 如
SN75150,MC1488等芯片完成 TTL电平到 EIA电平的转换,而 SN75154,MCI489等芯片可完成 EIA电平到
TTL电平的转换 。
RS-232C既是一种协议标准,又是一种电气标准,它采用单端,双极性电源供电电路,可用于最远距离为 15 m、
最高速率达 20 kb/s的串行异步通信 。 但是,RS-232C仍有一些不足之处,主要表现在:
( 1) 传输速率不够快,RS-232C标准规定最高速率为 20
kb/s,尽管能满足异步通信要求,但不能适应高速的同步通信 。
( 2) 传输距离不够远,RS-232C标准规定各装置之间电缆长度不超过 50英尺 ( 约 15 m) 。 实际上,RS-232C能够实现 100英尺或 200英尺的传输,但在使用前,一定要先测试信号的质量,以保证数据的正确传输 。
( 3) RS-232C接口采用不平衡的发送器和接收器,每个信号只有一根导线,两个传输方向仅有一个信号线地线,因而电气性能不佳,容易在信号间产生串扰 。
10.3可编程串行通信接口芯片 INS8250
在进行微机数据的串行通信时,需要并行到串行或串行到并行的转换,还要按照传输协议发送和接收每个字符或数据块,这些工作可以由软件实现,也可以由硬件电路实现 。
通用异步接收发送器 UART,就是串行异步通信的接口电路芯片,典型的可编程 UART芯片有 INS8250,MC6850-ACIA、
MC6852-SSDA等 。 能够完成通信的硬件电路称为 USRT。
既可完成异步通信,又可完成同步通信的的硬件电路称为
USART,如 Intel的 8251A,AMD9551都是较简单的 USART
器件 。
10.3.1 异步通信接口 ( INS8250) 的功能及内外结构
1.INS8250的功能
INS8250是使用单一 +5V电源的 40引脚 LSI芯片,
是由国家半导体公司 ( National Semiconductor
Inc) 在 1978年首先推出专用于支持异步通信的串行接口芯片 。 它主要完成的功能是把计算机输出的并行数据转换成异步通信所需的串行码输出,以及将收到的串行输入码转换成计算机所需的并行数据 。
INS8250的主要功能有:
( 1) 传输速率可在 50~ 9600bps范围内编程选择;
( 2) 传输的数据格式可以有 3种选择,5,6,7或 8位字符;
奇校验,偶校验或无校验位; 1,1+1/2或 2位停止位;
( 3) 具有完整的 Modem控制功能;
( 4) 具有线路隔离,故障模拟等内部诊断功能;
( 5) 具有中断控制和优先权判决能力;
( 6) 无论是发送器还是接收器,都对数据实行两级缓存;
( 7) 可以支持半双工或全双工工作 。
2,INS 8250的内部结构和工作原理
INS8250的内部结构框图如图 10-7所示 。
INS 8250的内部具有双缓冲结构的接收器(接收缓冲寄存器、
接收移位寄存器)和发送器(发送保持寄存器、发送移位寄存器),波特率发生器为发送器和接收器提供所需的同步控制时钟信号;还有实现与调制解调器连接的调制解调器控制逻辑,
以及实现中断控制和优先权判断的中断控制逻辑,另外还有与
CPU连接必不可少的数据缓冲器和选择控制逻辑。
接 受 缓 冲寄 存 器发 送 保 持寄 存 器通 信 线 路控 制 寄 存 器通 信 线 路状 态 寄 存 器除 数寄 存 器调 制 解 调 器控 制 寄 存 器调 制 解 调 器状 态 寄 存 器中 断 允 许寄 存 器中 断 识 别寄 存 器数 据总 线缓 冲 器读 写控 制逻 辑接 收 移 位寄 存 器发 送 移 位寄 存 器同 步控 制波 特 率发 生 器调 制解 调控 制逻 辑中 断控 制逻 辑
A
0
D
0
D
7
~
A
1
A
2
C S 0
C S 1
C S 2
A D S
C S O U T
D I S T R
D I S T R
D O S T R
D O S T R
D D I S
X T A L 1
X T A L 2
S I N
S O U T
R C L K
B A U D O U T
R T S
D T R
C T S
D S R
R S L D
R I
O U T 1
O U T 2
I N T R P T
8250的工作原理简要分析如下:
当发送数据时,8250接受自 CPU送来的并行数据,保存于发送保持寄存器 THR中,只要发送移位寄存器 TSR没有正在发送数据,
8250就把发送保持寄存器的数据送到移位寄存器,并按照编程规定的格式和波特率,加入起始位,奇偶校验位和停止位,从串行数据输出端 SOUT逐位输出 。
当接收数据时,8250的接收移位寄存器 RSR对数据输入端
SIN输入的串行数据进行移位接收 。 接收时首先要搜索起始位,
8250的数据接收时钟 RCLK使用 16倍波特率的时钟信号 。 接收器用 RCLK检测到 SIN输入信号由高电平变低后,连续测试 8个 RCLE
时钟周期,若采样到的都是低电平,则确认为起始位;若低电平的保持时间不是 8个 RCLE时钟周期,则认为是传输线上的干扰 。
为了使传递过程更可靠,8250在接收端设立了 3种出错标志:
( 1) 奇偶错误:若接收到的字符的,1”的个数不符合奇偶校验要求,则置这个标志,发出奇偶校验出错信息 。
( 2) 帧错误:若接收到的字符格式不符合规定 ( 如缺少停止位 ),则置这个标志,发出帧错误信息 。
( 3)溢出错误,8250是一种双缓冲器结构,在接收时,接收的数据先由移位寄存器移位,把串行的变为并行的,然后送到数据输入缓冲器,由 CPU的输入指令读至 CPU中。
3,INS8250的外部引脚如图 10-9所示,INS8250的 40引脚中 29号引脚未使用,40号引脚为 VCC接 +5V,20号引脚为 VSS接地,
其余的 37个引脚分成 4组。
( 1)数据输入 /输出组
( 2)串行数据输入 /输出组
( 3)与通信设备握手联络的信号组
( 4)中断请求、复位输入及其它信号组
8250
A 0
D 0
D 7
A 1
A 2
CS 0
CS 1
CS 2
ADS
CSOUT
DIS TR
DIS TR
DOSTR
DOSTR
DDIS
MR
XTAL 2
D 1
D 2
D 3
D 4
D 5
D 6
XTAL 1
28
1
8
12
13
14
2
3
4
5
6
7
27
26
25
22
21
19
18
23
24
35
16
17
32
11
10
9
15
36
33
37
38
39
34
31
30
40
20
SIN
SOUT
RCLK
BAUDOUT
RTS
DTR
CTS
DSR
RSLD
RI
OUT 1
OUT 2
INTRPT
+ 5 V
GND
图 10-9 INS8250的外部引脚
4,INS8250内部寄存器
8250内部有 9种可访问的寄存器,用引脚 A2~ A0来寻址,同时还要利用通信线路控制寄存器的最高位,
以区别共用两个端口地址的不同寄存器 。
( 1) 通信控制寄存器 ( LCR)
这是一个可读写的寄存器,主要用于指定串行异步通信的数据格式,例如数据位数,奇偶校验的选择,
停止位的多少 。
( 2) 通信状态寄存器 ( LSR)
通信状态寄存器是一个 8位寄存器,用于为 CPU提供
8250芯片的内部状态信息,主要是说明在通信过程中 8250接收和发送数据情况 。
( 3) 发送数据寄存器 ( THR)
这是一个 8位的寄存器,发送数据时处理器将数据写入该寄存器,只要发送移位寄存器空,该发送数据寄存器的数据便会由 8250硬件自动并行送到发送移位寄存器中,以便串行移出 。
( 4) 接收数据寄存器 ( RBR)
是一个 8位的寄存器,当 8250接收到一个完整的字符时,
会将该字符由接收移位寄存器传送到接收数据寄存器 。 处理器可直接由此经寄存器读取数据 。
( 5) 除数锁存器该锁存器为 16位,外部时钟被除数锁存器中的除数相除,
可以获得所需的波特率 。 如果外部时钟频率 f已知,而 8250所要求的波特率 F也已规定 。 那么,就可以由下式求出除数锁存器应锁存的除数:除数寄存器 =基准时钟频率 f÷ ( 16× 波特率 F)
( 6) Modem控制寄存器 ( MCR)
这是一个 8位的寄存器,控制芯片的 4个引脚的输出和芯片的环路检测,以控制 MODEM或其它数字设备 。
( 7) Modem状态寄存器 ( MSR)
Modem状态寄存器检测 Modem或其它设备加到 8250上的 4个控制引脚的输入状态以及这些控制线的状态变化 。
( 8) 中断允许寄存器 ( IER)
8250共有以下 4种中断源:
接收器线路状态中断
接收数据寄存器,满,中断
发送数据寄存器,空,中断 。
Modem状态中断
( 9)中断标志寄存器( IIR)
10.3.2 8250的编程及应用
1,8250的寻址及连接
8250内部有 10个与编程使用有关的寄存器,利用片选信号可以选中该片 8250,由芯片的寄存器选择输入脚 A2、
A1,A0来确定被访问的寄存器,还采用了以下两种方法进行寻址:
( 1)将发送数据寄存器( THR)和接收数据寄存器
( RBR)共享一个低端地址号,THR是只写的,RBR是只读的,因此,可以用“写入”访问 THR,“读出”访问 RBR加以区分。
( 2)利用通信控制寄存器( LCR)的最高位 DLAB位
(除数锁定位)置,1”,来选中除数锁定寄存器。一个
8250芯片占用 7个接口地址。
下图为 8250与总线的连接示意 。
D
0
D
7
~
D
0
D
7
~
A
0
A
1
A
2
A
2
A
2
A
2
A
2
时 钟发 生 器
A
0
A
1
A
2
C S 0
C S 1
C S 2
D I S T R
D I S T R
D O S T R
D O S T R
M R
X T A L 2
X T A L 1
I N T R
R E S E T
R C L K + 5 V
I O R
空脚
O U T 1
O U T 2
A D S
A
0
A
1
A
2
B A U D O U T
1,8 4 3 2 M H Z
I N T R
2 K?
I O W
A E N
D D I S
C S O U T
N C
R T S
D T R
C T S
D S R
R S L D
R I
S I N
S O U T
R T S
D T R
T X D
R S - 2 3 2 C
T T L
转 换 电 路
R S - 2 3 2 C
T T L
转 换 电 路
C T S
D S R
R S L D
R I
R X D
2,8250的编程利用 8250进行通信时,首先要对其初始化,即设置波特率,
通信采用的数据格式,是否使用中断,是否自测试操作等 。
初始化后,则可采用程序查询或中断方式进行通信 。
8250初始化的顺序如图 10-11所示 。
开始通信控制寄存器的 DLAB=1
设置中断允许字写除数锁存器低 8位写除数锁存器高 8位设置数据格式 (通信字 )
设置 MODEM控制字图 10-11 8250初始化
10.4 USB通用串行总线
10.4.1 USB总线概述传统的接口电路每增加一种设备,就需要为它准备一种接口或插座,还要为它们准备各自的驱动程序 。 这些接口,插座,驱动程序各 不相同,给使用和维护带来了困难 。 由 Intel 等 公 司 开 发 的 USB 总线
( Universal Serial BUS,通用串行总线 ) 采用通用的连接器,采用热插拔技术以及相应的软件,使得外设的连接和使用大大地简化,受到了普遍欢迎,目前已经成为流行的外设接口 。
1,USB总线的特点
USB的全称是通用印行总线 ( Universal Serial Bus),
它是一种支持即插即用的新型串行接口 。 USB总线具有以下特点:
( 1) USB为所有的 USB外设提供了单一的,易于操作的连接类型,简化了用户在判断哪个插头对应哪个插槽的任务 。
( 2) USB排除了对鼠标,调制解调器,键盘和打印机不同接口的需求,采用四线电缆,两根作为数据传输线,其余两根用来为设备提供电源,从而减少了硬件设计的复杂性 。
( 3) USB支持热插拔,也就是说在不关 PC机的情况下可以安全地插上和断开 USB设备 。 热插拔能力 USB的安全,可靠和智能 。
其它普通的外部设备连接标准,如 SCSI等必须在关掉主机的情况下才能增加或移走外围设备 。
( 4) USB支持 PNP( Plag and Play),也就是即插即用 。 当插入 USB设备的时候,主计算机设备检测该外设并巳通过加载相关的驱动程序对该设备进行配置 。
( 5) USB在设备供电方面提供了灵活性 。 USB直接连接的设备可以通过 USB电缆供电,USB传输线中的两条电源线可以提供 5V电源供 USB设备使用 。
( 6) USB传输线能够提供 100mA的电流,而带电源的 USB Hub使得每个接口可以提供 500 mA的电流 。
( 7) USB V1.1规范提供全速 12Mbps的模式和低速 1.5Mbps的模式,USB V2.0规范提供高达 480Mbps的数据传输速率,可以适应各种不同类型的外设 。
( 8) 针对突然发生的非连续传输设备,如音频和视频设备,
USB在满足带宽的情况下才进行该类型的数据传输 。
( 9) 为了适应各种不同类型外围设备的要求,USB根供了四种不同的数据传输类型 。
( 10) USB使得多个外围设备可以跟主机通信,最多支持 127个设备 。 电脑的 USB接口有限,必须使用 USB Hub增加分支,根据 USB规范,USB Hub最多提供 7个分支 。
2,数据传输类型
USB总线上的每个设备都有一个由主机分配的惟一地址,由主机通过集线器在一个自动识别过程中分配 。 USB总线上的数据传输是一种,主 — 从式,的传输,所有的传输都由 USB主机发起,
USB设备仅仅在主机对它提出要求时才进行传输 。 根据 USB设备自身的使用特点和系统资源的不同要求,在 USB规范中规定了四种不同的数据传输方式 。
( 1) 控制 ( Control) 传输方式:是双向传输,传输的不是数据,而是控制信号,主要被 USB系统软件用来进行查询,配置和给 USB设备发送通用的命令 。
( 2) 同步 ( Isochronous) 传输方式:提供了确定的带宽和时间间隔 。 该方式用来连接需要连续传输的外围设备,
对数据的正确性要求不高,但对时间较为敏感 。
( 3) 中断 ( Interrupt) 传输方式:主要用于定时查询设备是否有中断数据要传输 。 设备端点模式器的结构决定了它的查询频率,从 1~ 255ms之间
( 4) 批量 ( Bulk) 传输方式:主要应用在大量传输和接收数据上,同时又没有带宽和时间间隔的要求,保证传输数据正确无误,但对数据的实效性要求不高 。
3,USB总线的电气特性和机械特性
( 1)电气特性
USB总线通过一条四芯电缆传送电源和数据,电缆以点到点方式在设备之间连接。 USB接口的四条连接线是 VBUS,GND,
D+和 D- 。
VBUS和 GND这一对线用来向设备提供电源。在源端,VBUS通常为 +5V。 USB主机和 USB设备中通常包含电源管理部件。
D+和 D- 是发送和接收数据的半双工差分信号线,时钟信号也被编码在这对数据线中传输。每个分组中都包含同步字段,
以便接收端能够同步于比特时钟。
( 2)机械特性
USB连接器分为 A系列和 B系列两种:
A系列用于和主机连接,B系列用于和 USB设备的连接。这两种连接器有不同的结构,不会造成误连接。
10.4.2 USB总线的拓朴结构总线拓扑结构如图 10-12所示。主要有以下几个部件:
( 1) USB主机:在整个 USB系统中只允许有一个主机。主计算机系统的 USB接口称之为 USB主控制器。这里 USB主控制器可以是硬件、固件或软件的联合体。而根集线器是集成在主机系统中的,
它可以提供一个或更多的接入端口。
( 2) USB设备,USB设备是 USB协议的具体实现,这里从协议的角度再来讲述一下 USB设备。
主要包括集线器:提供用以访问 USB总线的更多的接入点;功能部件:向系统提供特定的功能,如 ISDN连接设备、鼠标、显示器等。
设备 设备主机根 HUB
HUB
HUB
设备设备设备设备设备复合设备图 10-12 USB的拓扑结构
10.4.3 USB总线的 构成
1,USB系统的构成
USB规范将 USB分为 5个部分,各部分的主要功能如下:
( 1) 控制器:主要负责执行由控制器驱动程序发出的命令 。
( 2) 控制器驱动程序:在控制器与 USB设备之间建立通信信道 。
( 3) USB芯片驱动程序:提供对 USB的支持 。
( 4) USB设备:包括与 PC相连的 USB外围设备,分为两类:
一类设备本身可再接其他 USB外围设备,另一类设备本身不可再连接其他外围设备;前者称为集线器 ( Hub),后者称为设备 。
或者说,集线器带有连接其他外围设备的 USB端口,而设备则是连接在计算机上用来完成特定功能并符合 USB规范的设备单元,如鼠标和键盘等 。
( 5) USB设备驱动程序,就是用来驱动 USB设备的程序 。 通常由操作系统或 USB设备制造商提供,如平常所说的 Modem驱动程序和打印机驱动程序等 。
2,USB主控制器 /根集线器
USB主控制器和根集线器合称为 USB主机 ( HOST) 。 USB主控制器是硬件,固件和软件的联合体 。 主控制器负责 USB总线上的数据传输,它把并行数据转换成串行数据以便在总线上传输,
把收到的数据翻译成操作系统可以理解的格式 。
根集线器集成在主系统中,可以提供一个或更多的接入端口 。 根集线器检测外设的连接和断开,执行主控制器发出的请求并在设备和主控制器之间传递数据 。 根集线器由一个控制器和中继器组成 。
USB主机的主要作用是:
检测 USB设备的加入或去除状态;
管理主机与 USB设备之间的数据流;
管理主机与 USB设备之间的控制流;
收集 USB设备的状态与活动属性 。
除了根集线器,USB总线上还可以连接附加的集线器 。 每个集线器可以提供 2个,4个或 7个接入点,
连接更多的 USB设备 。 可以把集线器与外部设备集成在一起,更方便地扩充系统 。
3,USB设备 ( Device)
为主机提供单个功能的设备称为“功能件”( FUNCTION)。
“功能件”和 Hub都称为 USB设备。复合的设备有一个 Hub和一个或多个“功能件”。每个集线器和“功能件”都有惟一的地址。允许最多连接 5层集线器,总共 127个外设和集线器
(包括根集线器)。
10.4.4 USB设备的接入和开发
1,操作系统对 USB的支持支持 USB的操作系统应该满足以下三个要求:
( 1) 当一个设备连接到 USB上或从 USB中撤除,要能自动检测出来;
( 2) 与新连接的设备通信,找到如何与它们通信的方法;
( 3)提供一种机制,使得软件驱动能与计算机的 USB硬件以及访问 USB的外设的应用程序通信。
2,用,设备管理器,确认主机对 USB的支持使用 USB 设备必须激活主机板 BIOS 中的 USB 功能 。 在
Windows 2000下可以先打开它的,设备管理器,,具体步骤为:
( 1) 打开计算机,进入 Windows 2000环境;
( 2) 在桌面上的,我的电脑,的图标上点击鼠标右键,在弹出的菜单中选择,属性,选项,在,系统,窗口的菜单栏内选择,设备管理器,选项,提示框会出现,通用串行总线控制器,的选项 。 如果未出现该选项,则说明计算机不支持
USB功能,这可能要重新设置或升级 BIOS,或更换支持 USB
功能的主板 。
( 3)在选中“通用串行总线控制器”的选项后,可以看到主机系统中至少存在两个 USB设备:一个是,USB Universal
Host Controller”;另一个设备是,USB Root Hub”,它用来提供主机箱上的两个 USB端口。
3,USB设备的热插拔
USB总线协议支持热插拔功能 。 在运行 Windows的过程中,
可以接入任何符合 USB规范的 USB设备 。
4,USB设备的开发
USB不象 PCI协议,任何人开发 USB产品都不需要注册。 USB
规范和相关文挡可以在网上在线获得,尽管协议很复杂,但开发商提供了各种处理 USB通信细节的控制芯片。一些控制器是完整的微机,包括 CPU和内存,内存中保存着在外设运行的代码。在一些芯片中,一些功能是以代码的形式固化在硬件上的,不需要编程。
本章小结串行通信方式是计算机中的一种非常重要的,广泛应用的通信方式,通过本章的学习,读者应了解串行通信的原理,协议,接口标准,掌握可编程串行接口 INS8250的结构,功能以及应用编程 。 异步通信在传送一个字符时,由一位低电平的起始位开始,接着传送数据位,数据位的位数为 5~ 8位 。 在传送时,按低位在前,高位在后的顺序传送 。 奇偶校验位用于检验数据传送的正确性,也可以没有,
可由程序来指定 。
最后传送的是高电平的停止位,停止位可以是 1
位,1.5位或 2位,两个字符之间的空闲位要由高电平 1来填充 。
USB是一种支持即插即用的新型串行接口 。 USB
采用热插拔技术以及相应的软件,使得外设的连接和使用大大地简化,受到了普遍欢迎,目前已经成为流行的外设接口 。
本章小结第 10章内容到此结束谢谢各位 !