现在大家是否有一种很奇怪的感觉,越来越多的设备采用串口通讯了,并且还说串口就这么简单的几根线比十几根线的并口速度还快,这个无论如何都觉得有些莫名其妙。若你是这种感觉的,建议继续看下去,若觉得很正常的,请绕道。
先说大家最熟悉的接口,那莫过于UART接口,RS232类型的DB9接口,以前老式的电脑都带的,可以接modem,大家做MCU51单片机项目,一般都用这个UART接口,串口速率115200bps、57600bps等,后来出来USB转串口的PL2302和FT232,速率可以到921600bps,这个就算最高了。因为各种单片机都带有UART接口,无论MCU51还是ARM,所以这个是大家最熟悉的。
同步串口有SPI,IIC等,尤其SPI速度相对高一些,可以到几M,几十M。UART之类的属于异步串口,因为需要考虑数据同步信号恢复,所以速度不高。
大家都知道硬盘IDE接口、打印机接口,还有单片机、ARM等的并口,这些速度相对于串口来说,要快很多,但线也多很多,可以理解简单的理解为是多路串口的并联。也就是说,并口就是各路串口同时发数据而已。
但是大家也会发现这么一个现象,就是并口有分两种,比如大家接SDRAM的时候,就比较明显,SDRAM相对于普通的并口,速度高了很多,SDRAM速度很轻松到100MHz,而普通并口速度只能在几十M附近,尤其做过普通手机的,都知道flash的接口速度上不去。这个其实主要不是接口速度导致的,而是总线方式不同。最早intel80接口,读取信号为Data、Adrr、nCS、nRD、nWR,这个每次都需要送出地址,芯片译码选择后,才能获取数据,所以速度较慢,一般的MCU51都是这类总线,叫intel80,此外很多黑白液晶屏用68K接口,nRD、nWR换成了R/W,E。而新式的接口一般采用Data、Addr、CLK、RAS、CAS、WE等,这个一般叫burst模式并口,而intel80、68K这类的一般叫normal模式并口。burst模式最大的好处就是,配置好后,地址只送一次,之后通过CLK不停的读取数据,地址连续的读取回来,这样就不再需要送地址,选择译码过程,内部默认了连续读、写,可以流水线操作,所以速度快很多,当然这类针对的CPU一般都有高速RAM的,或者就是需要整屏读写的,比如大一些的彩色LCD屏,3.5inch~10inch的都是这类接口,LCD屏上,有些人把这个叫做RGB接口。在ARM9处理器上最常见,如R、G、B各8根数据线,但往往不用全,去掉一些低位数据,组成565形式,之后带CLK、VS(帧同步信号)、HS(行同步信号)、IIC配置信号。
以上所讨论的有一个共同点,就是信息的传播,都是基于电信号,一般以高于多少V或者低于多少V为1或者0来判断的。电信号的载体是电场、电压,所以以上的讨论都是基于常规的电路回路来讨论的,信号的载体介质比较随便,只要能成回路即可。大家都知道,常规的电路是电磁场理论在低速下的一种近似,是电磁场传播多次折叠反射之后的稳态。当信号频率更高的时候,这种折叠反射就会导致信号的清晰度下降,也就是大家所说的信号完整性下降,方波变成了正弦波而导致无法识别。所以要想进一步提高通讯速度,必须要改变传输的载体,从电场转变为电磁场,所以传输介质改成了专用的传输线,如微带线、同轴线等,对传输线的整个阻抗均匀等都有要求。
有些朋友一想到高速传输,就想着差分信号,但理解上只是对外界的抗干扰能力,它没有解决信号能量传输过程中自己的畸形,只要当差分信号进一步约束满足电磁场阻抗要求的时候,才能进一步的解决自身的信号畸形问题,所以这个时候单纯的理解差分,只能说对了一部分,并且高可靠的信号传输,很多都是用同轴线、微带线的,这个里面就不存在差分概念了。
基于这个理论,当前的高速串行接口就出来了,比如USB、1394、网口、SATA、LVDS等都是基于电磁场理论发展起来的,他们都有一个共同的特征,要求阻抗匹配,而这个就是电磁场理论最基础的东西。
因为基于电磁场为载体的技术,速率上远远超过了基于电场理论的速率,这个等价于1、2个数量级的飞跃,所以现在的高速串口就比普通的低速并口速率还高了,这个就不奇怪了。
那么大家要问,再进一步提高速率,是不是现有的高速串口的并行化呢,这个是一方面,比如DDR2之类的,已经是如此了,但还有一种趋势,比如SATA 1X、2X、4X这类的,不是简单的并联化,而应该讲是网络化。也就是说从1X、2X到4X,由一个通道,变成了4个网络通道了。数据的通讯方式已经跟现在的互联网一样,实现了网络化,因为考虑到这些接口,有可能会有一个接触不良,那个通道就不通了,但也不影响数据通讯,只是速率慢了而已,若还是常规的并联方式,就完全失效了。
以上只是本人浅陋的观点,欢迎指正
很感谢大家的讨论,有读者发现错误之处已经修改,也有读者如T.T.指出一些用词上的错误,确实,其实想写一篇严谨的文章,很难,也没有这个精力,请大家理解我的用意即可。
本文强调的,想解释的是,为什么常规的串口发展到并口又回到高速串口去了,并且强调了以前的串口跟现在的串口的理论基础是不同的,传输介质也是不同的,比如以前的串口,随便一、两根回路线即可,现在的串口要求基于传输线或者是微带线、同轴线,还要匹配。还有现在的并口也不是以前的常规并口,可能看起来是多个串口并起来,但实际上已经是网络化的,因为以前的并口去掉一根就失效了,而现在因为是串口的网络化后的并口,去掉一根是不会失效的。
其次大家会用常规电路里面的比如差分等来说明,这个只能说是传统电学理论思想,本身也没有错,但到了高速,尤其是G级别后,属于微波级别,因为波长只有几个厘米了,器件,传输线尺寸跟信号波长接近的时候,就会出现类似光学的反射、色散现象,因为是电磁场这个能量场在传输,若匹配不好,能量传输过去无法被吸收,就必然反射引起振荡等,出现波形失真,这个不是干扰之类的可以解释的,而是它本身的问题。
若大家还不能理解,可以去思考这么一个问题,那就是为什么远距离传输的光纤,一般要求是单模光纤而不能是多模光纤,因为多模光纤下,光进来后出现多种类型的模式传输,而各个类型的速率等特性会有不同,类似色散,导致光的清晰度模糊而无法识别,所以要求单一模式的,才能长距离传输。
高频微波级别后,电磁场特性出来后,大家要考虑这个能量,因为信号是基于能量的,能量若没有被完全吸收,就会反射,这个在现实中大家很容易理解的,但经典电路回避了一个问题,那就是信号的传输速率问题,还有它的建立过程。它认为速率是无限的,但实际上,他是有限的,那就是电磁场的速度,既然有电磁场的速度存在,就无法回避能量匹配的问题。
当然电磁场是比较复杂的,也非我简单的描述几句就能讲解清楚的。后续的文章中,我打算专门写一些通俗易懂的关于电磁场的文章,但请大家不要过于苛求,尤其是严谨性方面。