老司機和您談一談串行總線怎么比并行總線快?

2017-04-03  by:CAE仿真在線  來源:互聯(lián)網(wǎng)


編者按:當前,在高速硬件電路設(shè)計中,主要就分為兩類信號類型,一類是串行信號,一類是并行信號。兩類信號的特點不一樣,其分析的手段也都不一樣。

作為一個電路設(shè)計師,我整個職業(yè)生涯都花在接口電路上,串行并行都做過,且速度不慢(DDR3-1600Mbps, SerDes 30Gbps),這個問題不答實在技癢難耐。已經(jīng)看到的答案中,大家基本上都命中了關(guān)鍵的知識點,但是沒有把背后的邏輯說清楚,也沒有人從電學特性和經(jīng)濟 的角度分析這個問題。大言不慚,歡迎大家拍磚。


----------補充--------
名詞解釋:
Mbps, Gbps: 一百萬比特每秒,十億比特每秒
skew:時間偏差,A比B快/慢一秒,就叫skew一秒
PCB:印刷電路板,也就是大多數(shù)電路板
IO: 輸入輸出電路
cable: 線纜
SerDes:串行轉(zhuǎn)并行,并行轉(zhuǎn)串行

還有人說串口最快的,我們來算一算。業(yè)界目前大量應(yīng)用的28Gbps SerDes,傳一個比特只要35.7皮秒,這點時間光在真空中可以走上一厘米,連角膜到視網(wǎng)膜都不夠。哪個快?

----------正式答案的分割線--------
先說我的答案,串行接口為啥比并行接口快?是因為串口的特性和應(yīng)用場景,決定了它更加適合采用一些提高單根信道速率的設(shè)計方法,這些方法用在并口上并不合適。

討論這個問題,首先要搞清楚定義,什么叫并行接口(parallel link)? 什么叫串行接口(serial link)?這就可以吵一天。

并口代表DDR說:“我是并口的純正血統(tǒng)杰出代表,每8bit要附帶一對DQS線作為時鐘,每個bit都要同步到這對DQS上去,skew超標就不能工 作,64位DDR3-1600總帶寬可以到100Gbps,哪個串口做得到”?鄙人冷笑,說:“別以為我不知道你的底細,別看你IO是1.6G,內(nèi)存控制 器給你的一般都是4位并行的400M,你要先悄悄做一下并行轉(zhuǎn)串行,再輸出。何況你傳64bit數(shù)據(jù)需要80根全速率的DQ/DQS線,還要20多根半速 率命令地址線,平均下來一根線1G還不到”。

XAUI舉手問:“我算串口么?XAUI一定是8組16根差分線,4組讀4組寫,缺任何一組都不符合協(xié)議,看著很并行啊?” 32位的PCI-E也一臉關(guān)心的等著答案。

我們先這么定義:在一個獨立的信道上,每次同時傳輸1bit為串口,每次同時傳輸多個bit為并口。 標準的串口如XAUI,HDMI等,每對差分線組成一個信道(channel),每個信道是否能成功傳輸并不取決于其他信道。而DDR這種,10根線組成 一個信道,每次同時傳8bit,錯了某一bit只能重新傳,便是標準并口,芯片內(nèi)部的并轉(zhuǎn)串和IO并不相關(guān),不影響定性。按照這個定義,大家看看各種接口 協(xié)議怎么劃分呢?我覺得已經(jīng)很清楚了,以單個channel的傳輸速率衡量,串口一般來說更快。下一個問題就是,為什么呢?

這是一個電學問題,但首先是一個經(jīng)濟問題。

對任何一種協(xié)議,提高總帶寬不過是兩種辦法,首先要提高單根線的傳輸速率,其次只能增加電線的數(shù)目。增加線的數(shù)目實在費錢,首先現(xiàn)在的芯片往往IO都很緊 張,增加了IO PAD還要搭上額外的ESD和面積;封裝和PCB上增加額外的線更復(fù)雜更貴這就不用說了,對于某些用cable的協(xié)議基本就是不可接受的。你是愿意插16 根網(wǎng)線還是一根?接電視機的時候喜歡一根線的HDMI,還是五根線的RGB+音頻?還有 @Arthur Wang 提到的150米長線。。。。。。何況并口還要對這些線進行長度匹配,想想頭就大了。

歷史上,工程師們確實是先做了串口,速度不夠沒辦法只好含淚加電線上并口,直到他們發(fā)現(xiàn)了三大法寶來提速,并口的動力就不那么強勁了,正如 @auxten 所言。但是在芯片內(nèi)部,增加總線寬度的代價并不高,因此CPU里面有個1024位的數(shù)據(jù)總線也不奇怪。

為了提高單根線的傳輸速率,必須要講到我們模擬電路工程師的三大法寶,差分信號(differential signaling),時鐘-數(shù)據(jù)恢復(fù)(Clock-Data Recovery,簡稱CDR),和信道均一化(Channel Equalization,Eq)。

差分信號的好處 ,不外乎抗干擾能力強,引入的噪聲也比較小,雖然必須要兩根線,但速度從幾百M提高到幾G,還是很值得的。

CDR的好處 @龔黎明 也說過了,消滅了skew,減少了時鐘的功耗和噪聲(但多出了CDR電路本身的功耗和噪聲),同時避免了電磁干擾。想想在PCB或者電線上傳一個15G的時鐘,太帶感了,幸虧我們不用做這種事。

信道均一化 相當值得一提,這才是SerDes高速發(fā)展的決定性因素,所以我決定花點文字講一下。
一般來說,真實世界中的信道都是低通特性的,到處都是小電容,所謂絕緣體中的分子在高頻情況下吸收電場能量,再加上金屬線中的趨膚效應(yīng),所以我們想要的高頻信號走不了多遠就不像樣子了,比如下面某信道的頻率特性(綠線)。

老司機和您談一談串行總線怎么比并行總線快?HFSS分析案例圖片1

如圖所示,在對應(yīng)28Gbps的頻點上,信號能量被衰減了30db,電壓幅度只剩3%了;在對應(yīng)56Gbps的頻點上更慘,65db意味著信號電壓擺幅剩下不到千分之一。在這種信道中,發(fā)送端一個完美漂亮的數(shù)據(jù)眼圖:

老司機和您談一談串行總線怎么比并行總線快?HFSS分析圖片2

到了接收端會變成這樣的一堆雜亂的信號波形:

老司機和您談一談串行總線怎么比并行總線快?HFSS分析圖片3

什么都辨認不出來對吧。但是,經(jīng)過我們聰明的工程師們一番努力,均一化開關(guān)打開,信號就變成了這樣:

老司機和您談一談串行總線怎么比并行總線快?HFSS分析圖片4

神奇么?我覺得挺神奇的,我認識的電子工程師們第一次看到這個,沒人覺得不神奇。


下面一個重要的問題,既然有了三大法寶,他們只能用在串口上嗎?
答案很顯然,不是,串口可以用的,我們并口一樣可以用。那為什么并口不用呢?


差分信號這條不用說了,并口的電線本來已經(jīng)夠多了,數(shù)目還要再翻一倍?系統(tǒng)工程師會殺人的。

CDR 意義也不大,反正你并口速度也不高,一堆數(shù)據(jù)線中順便傳下時鐘,比做接收端做CDR再采樣每一位數(shù)據(jù)省事多了。

信道均一化屬于屠龍之技,不用差分信號的話也就傳幾百M,本來就沒啥衰減,用這個干啥?還是考慮下各種噪聲串擾的問題吧。

于是答案就呼之欲出了。串口為啥比并口快?是因為串口的特性和應(yīng)用場景,決定了它更加適合采用一些可以提高單根信道速率的設(shè)計方法,這些方法用在并口上并不合適。

從現(xiàn)有的應(yīng)用看來,需要持續(xù)穩(wěn)定高帶寬的應(yīng)用,往往使用高速串行接口,一根帶寬不夠再加一根,各種視頻網(wǎng)絡(luò)應(yīng)用,基本如此。而一些歷史遺留速度不高的應(yīng)用, 還有一些需要突發(fā)性高帶寬的應(yīng)用,并口仍然存活,比如很特殊的DDR。雖然XDR/GDDR/HMC/HCM這些新標準都在試圖引入SerDes, 但DRAM行業(yè)的特殊性還是讓并口繼續(xù)存活著。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學成才

相關(guān)標簽搜索:老司機和您談一談串行總線怎么比并行總線快? HFSS電磁分析培訓(xùn) HFSS培訓(xùn)課程 HFSS技術(shù)教程 HFSS無線電仿真 HFSS電磁場仿真 HFSS學習 HFSS視頻教程 天線基礎(chǔ)知識 HFSS代做 天線代做 Fluent、CFX流體分析 HFSS電磁分析 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復(fù)電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com