現在大家是否有一種很奇怪的感覺,越來越多的設備采用串口通訊了,并且還說串口就這么簡單的幾根線比十幾根線的并口速度還快,這個無論如何都覺得有些莫名其妙。若你是這種感覺的,建議繼續看下去,若覺得很正常的,請繞道。 先說大家最熟悉的接口,那莫過于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個網絡通道了。數據的通訊方式已經跟現在的互聯網一樣,實現了網絡化,因為考慮到這些接口,有可能會有一個接觸不良,那個通道就不通了,但也不影響數據通訊,只是速率慢了而已,若還是常規的并聯方式,就完全失效了。 以上只是本人淺陋的觀點,歡迎指正 鳳舞天 |