| 
 | 
 
随着计算机系统的应用和微机网络的发展,通信功能越来越显的重要。这里所说的通信是只计算机与外界的信息交换。因此,通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。 
4 j+ \* o' C4 E5 e, t6 P4 @ 4 y4 {1 {* [9 v; Q# [% p: o
许多外设和计算机按串行方式进行通信,这里所说的串行方式,是指外设与接口电路之间的信息传送方式,实际上,CPU与接口之间仍按并行方式工作。 
  j  T* L2 x- k 
% D% R$ L& j" o5 w1 串行通信的概念 " _, P# G4 J8 q) ^; Q
 
4 T9 _: g5 n9 g5 P( K; g! R  3 W# \9 ~& y. X& g! M: y; P+ `
 6 t1 j; A% a) \$ @" J8 v
图1-1 
) h" e8 T' I0 F. l& _- _8 B 
/ y3 l+ K# y$ I6 @; _- S, K所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图1-1所示。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。 + T! X9 c5 t, `
 
1 I4 {! o& s' b9 m/ I  r1 H. }. L9 r由于CPU与接口之间按并行方式传输,接口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)。典型的串行接口的结构如1-2所示。 
4 X, E' f5 H2 K) z 9 ?" [1 t; r3 B& p
  
" D& J0 v' Z3 u; c& G4 R9 O5 V# L. k& n" X 4 c6 r. j) t  H8 ]
图1-2 2 t" j; U' d# y. U" ^
 
% y8 o8 w; J, S$ _在数据输入过程中,数据1位1位地从外设进入接口的“接收移位寄存器”,当“接收移位寄存器”中已接收完1个字符的各位后,数据就从“接收移位寄存器”进入“数据输入寄存器”。CPU从“数据输入寄存器”中读取接收到的字符。(并行读取,即D7~D0同时被读至累加器中)。“接收移位寄存器”的移位速度由“接收时钟”确定。 
4 z1 s! i# v8 D5 M1 Y9 A8 P. Z . ]  N9 U" L4 a7 _
在数据输出过程中,CPU把要输出的字符(并行地)送入“数据输出寄存器”,“数据输出寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位,把数据1位1位地送到外设。“发送移位寄存器”的移位速度由“发送时钟”确定。 9 o( z! [5 |6 k) Z5 Z; z
 
1 M5 B" Y3 Q' f! _2 R8 d接口中的“控制寄存器”用来容纳CPU送给此接口的各种控制信息,这些控制信息决定接口的工作方式。 
0 R. p2 ]$ ]! e0 J, ~' h 8 |7 i8 ]9 t  I1 h1 C
“状态寄存器”的各位称为“状态位”,每一个状态位都可以用来指示数据传输过程中的状态或某种错误。例如,用状态寄存器的D5位为“1”表示“数据输出寄存器”空,用D0位表示“数据输入寄存器满”,用D2位表示“奇偶检验错”等。 
8 W2 D. r1 J( d: V; k4 T 
- Z1 @. [' F, k3 J' l能够完成上述“串<- ->并”转换功能的电路,通常称为“通用异步收发器”(UART:Universal Asynchronous Receiver and Transmitter),典型的芯片有:Intel 8250/8251,16550。 : |" D8 W4 L: B' [9 f
 $ h" g2 z2 _. ^6 G$ d/ V; _
 |   
 
 
 
 |