串行通讯
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。串行通讯的距离可以从几米到几千米。 根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。 串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。
串行通讯中,两个设备之间通过一对信号线进行通讯,其中一根为信号线,另外一根为信号地线,信号电流通过信号线到达目标设备,再经过信号地线返回,构成一个信号回路。
初级读者会产生疑问:为何不让信号电流从电源地线返回?答案:公共地线上存在各种杂乱的电流,可以轻而易举地把信号淹没。因此所有的信号线都使用信号地线而不是电源地线,以避免干扰。
这一对信号线每次只传送1bit(比特)的信号,比如1Byte(字节)的信号需要8次才能发完。传输的信号可以是数据、指令或者控制信号,这取决于采用的是何种通讯协议以及传输状态。串行信号本身也可以带有时钟信息,并且可以通过算法校正时钟。因此不需要额外的时钟信号进行控制。
并行通讯中,基本原理与串行通讯没有区别。只不过使用了成倍的信号线路,从而一次可以传送更多bit的信号。
并行通讯通常可以一次传送8bit、16bit、32bit甚至更高的位数,相应地就需要8根、16根、32根信号线,同时需要加入更多的信号地线。比如传统的PATA线路有40根线,其中有16根信号线和7根信号地线,其他为各种控制线,一次可以传送2Byte的数据。并行通讯中,数据信号中无法携带时钟信息,为了保证各对信号线上的信号时序一致,并行设备需要严格同步时钟信号,或者采用额外的时钟信号线。
通过串行通讯与并行通讯的对比,可以看出:串行通讯很简单,但是相对速度低;并行通讯比较复杂,但是相对速度高。更重要的是,串行线路仅使用一对信号线,线路成本低并且抗干扰能力强,因此可以用在长距离通讯上;而并行线路使用多对信号线(还不包括额外的控制线路),线路成本高并且抗干扰能力差,因此对通讯距离有非常严格的限制。
历史
最早的计算机设备之间全部采用串行接口,比如硬盘接口、打印机接口、通讯端口等等。那时候都是分立元件的电路设计,如果采用并行接口,元件的数量和占用的空间将成倍增长。比如一个8bit并行线路的接口元件数量将是串行线路的8倍(你得为每根信号线配置一套接收电路)。这个时期的数据通讯只能是非常简单而低速的。
但是集成电路技术的出现带来了一个转变,当大量元件可以集成到一个小小的芯片上时,并行通讯变得廉价而方便了。不论是8bit、16bit还是更高位数的并行线路,只需要一个并行接口芯片就可以处理,这比一个处理串行通讯的芯片成本高不到哪里去。与串行通讯相比,并行通讯在同样的工作频率下,通讯速度就可以整倍提高。因此适应了当时计算机设备发展的需要,硬盘、打印机等速度较快的设备开始使用并行通讯,PATA、SCSI、Parallel Port成为最为流行的并行通讯接口,被大众所熟知。不过并行线路固有的一些缺点仍然限制了并行通讯的应用范围,至于超高速通讯和长距离通讯方面,由于线路成本比接口成本要重要得多,因此一直都是串行通讯的应用领域。
除了并行通讯具有速度优势以外,串行通讯自身也有一个问题。在计算机内部,数据往往都是并行方式传送的,当采用串行方式与外界通讯时必须经过串/并转换处理。在早期集成电路规模较小的时代,串/并转换电路的处理能力十分有限,因此串行通讯的速度无法提高。随着如今集成技术的发展,逻辑电路的集成能力大大提高,甚至超过了IO连接单元的集成水平,从而逐步解决了串/并转换速度的限制。另一方面,现在集成逻辑处理电路的成本也比IO连接单元更便宜,因此串行通讯再次显示出它的优势。如果说集成电路技术一度帮助并行通讯流行起来,那么现在的高度集成水平则帮助串行通讯重返主流应用领域。