【導(dǎo)讀】現(xiàn)在大家是否有一種很奇怪的感覺,越來越多的設(shè)備采用串口通訊了,并且還說串口就這么簡單的幾根線比十幾根線的并口速度還快,這個無論如何都覺得有些莫名其妙。若你是這種感覺的,建議繼續(xù)看下去,若覺得很正常的,請繞道。
先說大家最熟悉的接口,那莫過于UART接口,RS232類型的DB9接口,以前老式的電腦都帶的,可以接modem,大家做MCU51單片機(jī)項(xiàng)目,一般都用這個UART接口,串口速率115200bps、57600bps等,后來出來USB轉(zhuǎn)串口的PL2302和FT232,速率可以到921600bps,這個就算最高了。因?yàn)楦鞣N單片機(jī)都帶有UART接口,無論MCU51還是ARM,所以這個是大家最熟悉的。
同步串口有SPI,IIC等,尤其SPI速度相對高一些,可以到幾M,幾十M。UART之類的屬于異步串口,因?yàn)樾枰紤]數(shù)據(jù)同步信號恢復(fù),所以速度不高。
大家都知道硬盤IDE接口、打印機(jī)接口,還有單片機(jī)、ARM等的并口,這些速度相對于串口來說,要快很多,但線也多很多,可以理解簡單的理解為是多路串口的并聯(lián)。也就是說,并口就是各路串口同時(shí)發(fā)數(shù)據(jù)而已。
但是大家也會發(fā)現(xiàn)這么一個現(xiàn)象,就是并口有分兩種,比如大家接SDRAM的時(shí)候,就比較明顯,SDRAM相對于普通的并口,速度高了很多,SDRAM速度很輕松到100MHz,而普通并口速度只能在幾十M附近,尤其做過普通手機(jī)的,都知道flash的接口速度上不去。這個其實(shí)主要不是接口速度導(dǎo)致的,而是總線方式不同。最早intel80接口,讀取信號為Data、Adrr、nCS、nRD、nWR,這個每次都需要送出地址,芯片譯碼選擇后,才能獲取數(shù)據(jù),所以速度較慢,一般的MCU51都是這類總線,叫intel80,此外很多黑白液晶屏用68K接口,nRD、nWR換成了R/W,E。而新式的接口一般采用Data、Addr、CLK、RAS、CAS、WE等,這個一般叫burst模式并口,而intel80、68K這類的一般叫normal模式并口。burst模式最大的好處就是,配置好后,地址只送一次,之后通過CLK不停的讀取數(shù)據(jù),地址連續(xù)的讀取回來,這樣就不再需要送地址,選擇譯碼過程,內(nèi)部默認(rèn)了連續(xù)讀、寫,可以流水線操作,所以速度快很多,當(dāng)然這類針對的CPU一般都有高速RAM的,或者就是需要整屏讀寫的,比如大一些的彩色LCD屏,3.5inch~10inch的都是這類接口,LCD屏上,有些人把這個叫做RGB接口。在ARM9處理器上最常見,如R、G、B各8根數(shù)據(jù)線,但往往不用全,去掉一些低位數(shù)據(jù),組成565形式,之后帶CLK、VS(幀同步信號)、HS(行同步信號)、IIC配置信號。
以上所討論的有一個共同點(diǎn),就是信息的傳播,都是基于電信號,一般以高于多少V或者低于多少V為1或者0來判斷的。電信號的載體是電場、電壓,所以以上的討論都是基于常規(guī)的電路回路來討論的,信號的載體介質(zhì)比較隨便,只要能成回路即可。大家都知道,常規(guī)的電路是電磁場理論在低速下的一種近似,是電磁場傳播多次折疊反射之后的穩(wěn)態(tài)。當(dāng)信號頻率更高的時(shí)候,這種折疊反射就會導(dǎo)致信號的清晰度下降,也就是大家所說的信號完整性下降,方波變成了正弦波而導(dǎo)致無法識別。所以要想進(jìn)一步提高通訊速度,必須要改變傳輸?shù)妮d體,從電場轉(zhuǎn)變?yōu)殡姶艌?,所以傳輸介質(zhì)改成了專用的傳輸線,如微帶線、同軸線等,對傳輸線的整個阻抗均勻等都有要求。
有些朋友一想到高速傳輸,就想著差分信號,但理解上只是對外界的抗干擾能力,它沒有解決信號能量傳輸過程中自己的畸形,只要當(dāng)差分信號進(jìn)一步約束滿足電磁場阻抗要求的時(shí)候,才能進(jìn)一步的解決自身的信號畸形問題,所以這個時(shí)候單純的理解差分,只能說對了一部分,并且高可靠的信號傳輸,很多都是用同軸線、微帶線的,這個里面就不存在差分概念了。
基于這個理論,當(dāng)前的高速串行接口就出來了,比如USB、1394、網(wǎng)口、SATA、LVDS等都是基于電磁場理論發(fā)展起來的,他們都有一個共同的特征,要求阻抗匹配,而這個就是電磁場理論最基礎(chǔ)的東西。
因?yàn)榛陔姶艌鰹檩d體的技術(shù),速率上遠(yuǎn)遠(yuǎn)超過了基于電場理論的速率,這個等價(jià)于1、2個數(shù)量級的飛躍,所以現(xiàn)在的高速串口就比普通的低速并口速率還高了,這個就不奇怪了。
那么大家要問,再進(jìn)一步提高速率,是不是現(xiàn)有的高速串口的并行化呢,這個是一方面,比如DDR2之類的,已經(jīng)是如此了,但還有一種趨勢,比如SATA 1X、2X、4X這類的,不是簡單的并聯(lián)化,而應(yīng)該講是網(wǎng)絡(luò)化。也就是說從1X、2X到4X,由一個通道,變成了4個網(wǎng)絡(luò)通道了。數(shù)據(jù)的通訊方式已經(jīng)跟現(xiàn)在的互聯(lián)網(wǎng)一樣,實(shí)現(xiàn)了網(wǎng)絡(luò)化,因?yàn)榭紤]到這些接口,有可能會有一個接觸不良,那個通道就不通了,但也不影響數(shù)據(jù)通訊,只是速率慢了而已,若還是常規(guī)的并聯(lián)方式,就完全失效了。
以上只是本人淺陋的觀點(diǎn),歡迎指正
本文后傳:作者回復(fù)讀者疑問
很感謝大家的討論,有讀者發(fā)現(xiàn)錯誤之處已經(jīng)修改,也有讀者如T.T.指出一些用詞上的錯誤,確實(shí),其實(shí)想寫一篇嚴(yán)謹(jǐn)?shù)奈恼?,很難,也沒有這個精力,請大家理解我的用意即可。
本文強(qiáng)調(diào)的,想解釋的是,為什么常規(guī)的串口發(fā)展到并口又回到高速串口去了,并且強(qiáng)調(diào)了以前的串口跟現(xiàn)在的串口的理論基礎(chǔ)是不同的,傳輸介質(zhì)也是不同的,比如以前的串口,隨便一、兩根回路線即可,現(xiàn)在的串口要求基于傳輸線或者是微帶線、同軸線,還要匹配。還有現(xiàn)在的并口也不是以前的常規(guī)并口,可能看起來是多個串口并起來,但實(shí)際上已經(jīng)是網(wǎng)絡(luò)化的,因?yàn)橐郧暗牟⒖谌サ粢桓褪Я耍F(xiàn)在因?yàn)槭谴诘木W(wǎng)絡(luò)化后的并口,去掉一根是不會失效的。
其次大家會用常規(guī)電路里面的比如差分等來說明,這個只能說是傳統(tǒng)電學(xué)理論思想,本身也沒有錯,但到了高速,尤其是G級別后,屬于微波級別,因?yàn)椴ㄩL只有幾個厘米了,器件,傳輸線尺寸跟信號波長接近的時(shí)候,就會出現(xiàn)類似光學(xué)的反射、色散現(xiàn)象,因?yàn)槭请姶艌鲞@個能量場在傳輸,若匹配不好,能量傳輸過去無法被吸收,就必然反射引起振蕩等,出現(xiàn)波形失真,這個不是干擾之類的可以解釋的,而是它本身的問題。
若大家還不能理解,可以去思考這么一個問題,那就是為什么遠(yuǎn)距離傳輸?shù)墓饫w,一般要求是單模光纖而不能是多模光纖,因?yàn)槎嗄9饫w下,光進(jìn)來后出現(xiàn)多種類型的模式傳輸,而各個類型的速率等特性會有不同,類似色散,導(dǎo)致光的清晰度模糊而無法識別,所以要求單一模式的,才能長距離傳輸。
高頻微波級別后,電磁場特性出來后,大家要考慮這個能量,因?yàn)樾盘柺腔谀芰康模芰咳魶]有被完全吸收,就會反射,這個在現(xiàn)實(shí)中大家很容易理解的,但經(jīng)典電路回避了一個問題,那就是信號的傳輸速率問題,還有它的建立過程。它認(rèn)為速率是無限的,但實(shí)際上,他是有限的,那就是電磁場的速度,既然有電磁場的速度存在,就無法回避能量匹配的問題。
當(dāng)然電磁場是比較復(fù)雜的,也非我簡單的描述幾句就能講解清楚的。后續(xù)的文章中,我打算專門寫一些通俗易懂的關(guān)于電磁場的文章,但請大家不要過于苛求,尤其是嚴(yán)謹(jǐn)性方面。
推薦閱讀:
解析單片機(jī)中斷處理過程、中斷返回、中斷撤除
簡單解析鋰電池負(fù)極存在的四大問題
雙極結(jié)型晶體管差分放大器的溫度補(bǔ)償
詳細(xì)解析基于射頻電路中各典型功能模塊
松下開發(fā)出識別能力接近肉眼的圖像傳感器