為什么串行接口比并行接口快?
2,所有高速串口都采用差分總線(xiàn)傳輸,外界噪聲同時(shí)加載到并行傳輸的兩條差分線(xiàn)上,相減之后可以抵消,對外部噪聲的抵抗能力強。
3,沒(méi)有時(shí)鐘skew問(wèn)題,因為它根本就沒(méi)有同步時(shí)鐘,不存在時(shí)鐘和數據流的對齊問(wèn)題。只需要保證差分信號線(xiàn)是對齊的就行,這是很容易的,因為差分信號線(xiàn)的值總是相反,相關(guān)性強,易控制。一根線(xiàn)跳的時(shí)候,另一根線(xiàn)經(jīng)過(guò)一個(gè)非門(mén)的延時(shí)馬上會(huì )跳,這個(gè)非門(mén)的延時(shí)是很容易補償的。并行總線(xiàn)最大的問(wèn)題就是多根線(xiàn)傳輸的時(shí)候,無(wú)法保證所有的沿變都對齊,很有可能傳著(zhù)傳著(zhù)某些信號跟不上,落后了一個(gè)T,數據就傳錯了。想控制也難,因為各個(gè)信號沒(méi)有相關(guān)性,互相的沿變本身就是獨立的,因為布線(xiàn)不同,很有可能一個(gè)跳的早點(diǎn),另一個(gè)跳的晚點(diǎn),再加上各個(gè)傳輸線(xiàn)電阻不同,噪聲不同,傳一會(huì )兒就分辨不出來(lái)哪個(gè)值對應哪個(gè)周期。
4,線(xiàn)少,干擾少。并行傳輸,一般32根或者64根,一根線(xiàn)跳變,會(huì )給旁邊的線(xiàn)帶來(lái)噪聲,頻率越高,這種噪聲越大,很容易導致別的線(xiàn)值被篡改或者無(wú)法辨認,所以頻率不可能很高。串行傳輸一般就4根數據線(xiàn),分成Rx兩根差分線(xiàn)和Tx兩根差分線(xiàn),差分線(xiàn)總是往相反方向跳,可以抵消各自的跳變噪聲,比如Rx的正極性發(fā)生跳變時(shí)會(huì )產(chǎn)生噪聲,這種噪聲可以被Rx的負極性以相反的跳變直接抵消掉(因為他們是差分信號對),總的噪聲為0,根絕了內部噪聲。綜上,串口傳輸的各種優(yōu)勢使得其內外噪聲皆免疫,又沒(méi)有信號對齊之憂(yōu),可以以極高的速率傳輸。比如SATA可以以6Gb的速率傳輸數據流,PCIE可以以8Gb的速率傳輸數據流。這種速率,并行傳輸是根本做不到的,更不要說(shuō)串行傳輸還能節省大量引腳。
為了提高單根線(xiàn)的傳輸速率,必須要講到我們模擬電路工程師的三大法寶,差分信號(differential signaling),時(shí)鐘-數據恢復(Clock-Data Recovery,簡(jiǎn)稱(chēng)CDR),和信道均一化(Channel Equalization,Eq)
差分信號的好處不外乎抗干擾能力強,引入的噪聲也比較小,雖然必須要兩根線(xiàn),但速度從幾百M提高到幾G,還是很值得的。
CDR的好處消滅了skew,減少了時(shí)鐘的功耗和噪聲(但多出了CDR電路本身的功耗和噪聲),同時(shí)避免了電磁干擾。想想在PCB或者電線(xiàn)上傳一個(gè)15G的時(shí)鐘,太帶感了,幸虧我們不用做這種事。
信道均一化相當值得一提,這才是SerDes高速發(fā)展的決定性因素,所以我決定花點(diǎn)文字講一下。
一般來(lái)說(shuō),真實(shí)世界中的信道都是低通特性的,到處都是小電容,所謂絕緣體中的分子在高頻情況下吸收電場(chǎng)能量,再加上金屬線(xiàn)中的趨膚效應,所以我們想要的高頻信號走不了多遠就不像樣子了,比如下面某信道的頻率特性(綠線(xiàn))。如圖所示,在對應28Gbps的頻點(diǎn)上,信號能量被衰減了30db,電壓幅度只剩3%了;在對應56Gbps的頻點(diǎn)上更慘,65db意味著(zhù)信號電壓擺幅剩下不到千分之一。在這種信道中,發(fā)送端一個(gè)完美漂亮的數據眼圖:
到了接收端會(huì )變成這樣的一堆垃圾:
什么都辨認不出來(lái)對吧。但是,經(jīng)過(guò)我們聰明的工程師們一番努力,均一化開(kāi)關(guān)打開(kāi),信號就變成了這樣:
既然有了三大法寶,他們只能用在串口上嗎?
答案很顯然,不是,串口可以用的,我們并口一樣可以用。那為什么并口不用呢?
差分信號這條不用說(shuō)了,并口的電線(xiàn)本來(lái)已經(jīng)夠多了,數目還要再翻一倍?系統工程師會(huì )殺人的。
CDR意義也不大,反正你并口速度也不高,一堆數據線(xiàn)中順便傳下時(shí)鐘,比做接收端做CDR再采樣每一位數據省事多了。
信道均一化屬于屠龍之技,不用差分信號的話(huà)也就傳幾百M,本來(lái)就沒(méi)啥衰減,用這個(gè)干啥?還是考慮下各種噪聲串擾的問(wèn)題吧。
于是答案就呼之欲出了。串口為啥比并口快?是因為串口的特性和應用場(chǎng)景,決定了它更加適合采用一些可以提高單根信道速率的設計方法,這些方法用在并口上并不合適。
從現有的應用看來(lái),需要持續穩定高帶寬的應用,往往使用高速串行接口,一根帶寬不夠再加一根,各種視頻網(wǎng)絡(luò )應用,基本如此。而一些歷史遺留速度不高的應用,還有一些需要突發(fā)性高帶寬的應用,并口仍然存活,比如很特殊的DDR。雖然XDR/GDDR/HMC/HCM這些新標準都在試圖引入SerDes, 但DRAM行業(yè)的特殊性還是讓并口繼續存活著(zhù)。
評論