1.串行通信
  计算机传输数据有并行和串行两种方式。在并行数据传输方式中,使用8条或更多的导线来传送数据,例如计算机通过电缆将字节并行地传送给打印机或硬盘。虽然并行传输方式的速度很快,但由于信号衰减或失真等原因,并行传输的距离不能太大,一般在几米的范围内。为了在相距几百米甚至几公里的两个系统之间传输数据,就要采用串行通信的方式。


  
2.通用异步收发器
  
串行通信可以采用两种方式:同步方式和异步方式。同步传输数据时,一次传送一个字节,但在每帧信息的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。而异步传输数据是一次传送一个数据(字符)块,字符之间传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔符。

  
3.RS 232串行通信接口
  由于制定串行接口标准早在制定TTL逻辑系列之前,因此输入输出电平不与TTL兼容。因为这个原因,连接RS232到微机系统必须经过电平转换。图9.11中使用了MC1488从TTL 转换到RS232电平,用MC1489从RS232转换到TTL电平。MC1488和MC1489集成电路芯片通常称为线路驱动器和线路接收器。  

 图 9.5 UART与RS232的连接  


  
  
4.计算机串行通信的连接方式动画演示)   
 
  在串行通信方式中,单条数据线代替了并行通信的8位数据线,这不仅使串行通信更为廉价,而且也使远距离的两台计算机可以通过电话线通信。

  串行通信时,数据字节从微机的8位数据总线上获取,并通过一个并行入串行出的移位寄存器转换成串行位,然后一位位地串行传送。同样在接收端也必须有一个串行入并行出的移位寄存器来接收串行数据,并组合(打包)成一个字节,并行地送至系统的接收端。如果通过电话线远距离传输信息,必须把表示0和1的数字信号转换为能在电话线上传输的音频信号,或者从音频信号转换为数字信号。这种转换的工作由一个叫调制解调器(MODEM)的装置来完成。对近距离的传输,就不需要经过调制解调器,可直接在数据线上传送信号。例如键盘和母板之间就是直接传送信号的。
  
 
5.串行通信的数据格式
  在同步通信方式中,每个字符都需要加上起始位和终止位,这个过程称为"组帧(framing)"。象ASCII字符这样的数据一般由1位起始位和1位终止位之间的一组位序列来表示。起始位总是1位,,而终止位可以是1位或2位。起始位由0(低电平)表示,终止位由1(高电平)表示。如图9.10是组帧后的ASCII字符a(01100001B),它有1位起始位和2位终止位。注意,传输由起始位开始,接着的字符从低位(D0)到高位(D7)的顺序送出,最后2位终止位表示字符a结束。在没有传输信号时,1(高电平)称为标记(Mark),0(低电平)称为间隔(space)。

 图 9.6 组帧后的ASCII“a”(61H)


  在某些系统中,为了保证传输数据的正确性,字符字节的校验位也包括在数据帧内。这就是说对每个字符(7位或8位)除起始位和终止位外,还有1位校验位。在奇校验的情况下,数据位(包括校验位)应有奇数个1,同样偶校验下的数据位(包括校验位)应有偶数个1。例如,ASCII"A"(01000001B)的偶校验位应是0。UART芯片允许在编程时设定校验方式为奇校验、偶校验或无校验。校验位在字符最高位(D7)之后,紧接着是终止位。

  6.串行通信的传输率
  一般来说,波特率和bps不一定相等,这是因为波特率是一种信号调制单位,它定义为每秒钟传输的离散信号的数目。所谓离散信号,就是指不均匀的、不连续的也不相关的信号。在调制解调器中,如果采用4种相位,而每种相位代表2个数位,这时按bps计算的传输率就是波特率的2倍。但在计算机里,因为只允许1(高电平)和0(低电平)两种信号,所以bps和波特率是完全相同的。
 
  计算机系统的数据传输率取决于系统配置的通信端口。例如,早期的IBM PC/XT采用100到9600 bps的速度来传输,近几年的PC、PS、80X86及兼容机,其传输率可高达19,200 bps。  

  例9.23 (1)计算串行传输5页、每页80×25个字符总共需要多少位?假设每个字符8位,1位起始位和1位终止位。
      (2)计算传输上述5页数据所化费的时间。(a)2400 bps (b) 9600 bps
  解答: (1)10位/字符,80×25字符/页×10位/字符×5页 = 100,000位
      (2)(a)100,000位 / 2400 位/秒= 41.67秒
        (b) 100,000位 / 9600 位/秒 = 10.4秒