0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

以太網(wǎng)時鐘的PPM頻率偏差的解決方案(下)

CHANBAEK ? 來源:老戚的硬件筆記 ? 作者:老戚的硬件筆記 ? 2023-06-23 17:55 ? 次閱讀

4. 異步FIFO(先進(jìn)先出)

圖<6>是深度(depth)為8的異步FIFO的示意圖。其中,0~7代表8個寄存器,他們組成了一個環(huán)。

綠色的外圈代表寫操作,按照順時針方向(地址遞增),依次寫入不同的寄存器;寫完所有的寄存器,再從寄存器#0開始,循環(huán)不斷;寫指針(wrtie pointer)代表當(dāng)前寫入寄存器的地址;寫操作是寫時鐘的同步電路。

橙色的內(nèi)圈代表讀操作,按照順時鐘方向(地址遞增),依次讀取不同的寄存器,讀完所有8個寄存器,再從寄存器#0開始,循環(huán)不斷;讀指針(read pointer)代表當(dāng)前讀取寄存器的地址;寫操作是讀時鐘的同步電路。

wKgaomSRLXCASyimAAC53NoXz58876.jpg

圖<6>

對于特定寄存器,F(xiàn)IFO必然是先寫后讀;FIFO內(nèi)部,讀指針在不斷追趕寫指針。當(dāng)寫指針跑的太快,比如已經(jīng)超越讀指針一圈,這種狀態(tài)就是寫滿(FIFO full),這時候繼續(xù)寫入就會把覆蓋(overwrite)未被讀取的寄存器(上溢,overflow),造成數(shù)據(jù)的丟失;另一種情況,讀指針等于寫指針,這種狀態(tài)就是讀空(FIFO empty),指向的寄存器還沒有被寫入,這時候繼續(xù)讀,讀出來的是空的或者是上一個循環(huán)已經(jīng)讀取過的數(shù)據(jù)(下溢,underflow)。

寫滿(Full):讀指針 = 寫指針 + FIFO深度;

讀空(Empty):讀指針 = 寫指針;

寫滿和讀空是兩種邊界狀態(tài),更多情況下,F(xiàn)IFO處于寫滿和讀空之間的中間狀態(tài)。讀指針和寫指針之間的差值形成了水位圖(watermark),代表著FIFO的實際使用率。

異步FIFO的實現(xiàn)有很多技術(shù)考量,最重要的是跨時鐘域(CDC)問題:寫指針和寫滿信號屬于寫時鐘的時鐘域;讀指針和讀空信號屬于讀時鐘的時鐘域。有很多文獻(xiàn)討論異步FIFO的實現(xiàn)細(xì)節(jié),有興趣的可以參考文獻(xiàn)<1>。

異步FIFO的設(shè)計已然成熟,經(jīng)過封裝后成為異步FIFO模塊(或者IP),比如圖<7>。我們可以直接調(diào)用而不必顧慮內(nèi)部的細(xì)節(jié)。

wKgaomSRLXCAeiWUAACT3M6_iSI734.jpg

圖<7>

圖<7>中,左側(cè)是寫操作,右側(cè)是讀操作,讀寫操作工作在各自的時鐘域,互不影響。只要沒有寫滿信號,寫操作就可以一直持續(xù);只要沒有讀空信號,讀操作也可以一直持續(xù)。數(shù)據(jù)源源不斷從左側(cè)流向右側(cè)。

5. RX彈性緩存(Elastic Buffer)

以太網(wǎng)的接收端,PCS層使用彈性緩存來補(bǔ)償時鐘的PPM頻率差異。

10b編碼經(jīng)過異步FIFO,從RX時鐘的時鐘域轉(zhuǎn)換到本地時鐘域。

802.3標(biāo)準(zhǔn)沒有提供異步FIFO的實現(xiàn)細(xì)節(jié),老戚從Xilinx的用戶手冊找了一個1000Base-X設(shè)計例子做為參考。

這是一個深度為32的異步FIFO。計算讀指針和寫指針的差距,形成了圖<8>的水位圖。

wKgaomSRLXCAXckGAABSAGPoD20637.jpg

圖<8>

當(dāng)水位上升時,意味著FIFO讀取的速度大于寫入的速度;反之,則意味著FIFO讀取的速度小于寫入的速度。

上篇說到,PCS和PMA之間(TBI)的10b編碼是連續(xù)的。讀寫時鐘(本地時鐘 VS RX時鐘)的頻率差異會導(dǎo)致水位或者上升到上溢,或者下降到下溢。

RX彈性緩存能夠識別10b碼型,然后根據(jù)水位來相應(yīng)的插入或者刪除特定的10b碼型。

當(dāng)水位上升到上半部灰色區(qū)間時,就刪除IDLE碼;

當(dāng)水位下落到下半部灰色區(qū)間時,就插入IDLE碼;

當(dāng)水位處于中間區(qū)域時,既不刪除也不插入。

wKgZomSRLXCAYnHUAACgcfOh8kA113.jpg

圖<9>

MAC層的以太網(wǎng)幀之間的間隙(IPG)最小是12字節(jié)(Octets);而在PCS層,最小IPG轉(zhuǎn)換成10b碼型:/T/,/R/,5/I/*。(見上篇)

由于不能刪除幀內(nèi)數(shù)據(jù),MAC幀越長,頻差積累的影響就會越大。

假設(shè)RX時鐘頻率為正偏100PPM,本地時鐘頻率為負(fù)偏100PPM,考慮最長的Jumbo幀:

9216 Byte * (1.0001 / 0.9999 - 1) = 1.84 Byte

或者說,刪除一個/I/(/I2/ = /K28.5/D16.2/)就足以補(bǔ)償最大時鐘PPM偏差。

如果RX的時鐘慢于本地時鐘,那么就需要插入IDLE碼。

理想的水位是中間,比如16,這也意味著數(shù)據(jù)經(jīng)過FIFO的時候會有16x 10b (128ns)的延時。

6. 為什么還會丟包?

RX時鐘慢于本地時鐘的情況下,在RX的10b數(shù)據(jù)中插入IDLE碼,IPG變大,不會造成問題;反過來,會刪除部分的/I/,結(jié)果可能導(dǎo)致以太網(wǎng)幀的IPG被削減到標(biāo)準(zhǔn)之下,雖然并不損失正常數(shù)據(jù),但是在MAC層可能成為問題。

wKgZomSRLXCAOk-4AAEuhoeH-30119.jpg

圖<10>

通常而言,交換芯片(點擊進(jìn)入:可編程交換芯片)的內(nèi)部帶寬會大于接口的帶寬,所以入口(Ingress)側(cè)也不會丟包;在出口(Egress)側(cè),MAC卻必須嚴(yán)格按照802.3標(biāo)準(zhǔn)恢復(fù)12字節(jié)的最小幀間隙,這會減緩發(fā)送的速度??梢韵胂?,長時間的飽和流量會導(dǎo)致出口側(cè)的緩存(packet buffer)越積越滿。這種情況持續(xù)發(fā)生,最終會導(dǎo)致出口丟包。

wKgaomSRLXGAATtIAAVEKx7pniA713.jpg

圖<11>

對于交換機(jī)產(chǎn)品,端口之間互相打包(轉(zhuǎn)發(fā)包)是最基本的驗證測試項目(圖<11>)。我們期望線速(line rate,utilization 100%,最小IPG)不丟包,然而,經(jīng)常會看到99.9999%就丟包了,丟的數(shù)量不多,短時間甚至看不出來;調(diào)到99.99%變好了;或者下調(diào)發(fā)包儀器(traffic generator)的參考時鐘,比如-10PPM,丟包問題就消失了。當(dāng)然,也有很多交換機(jī)按照100%速率轉(zhuǎn)發(fā)包沒有任何問題。究其原因,就是PPM時鐘頻率偏差引起的。

一個有意思的推論就是,雖然PCS能夠補(bǔ)償時鐘的頻率差異,同步以太網(wǎng)(Synchronized Ethernet)時鐘驅(qū)動的時鐘域,至少要包含MAC層,而不僅僅是PCS PHY。(SYNC-E下次聊)

部分以太網(wǎng)交換機(jī)的廠商會使用中心頻率正偏25PPM的參考時鐘,使得交換機(jī)的本地時鐘處在相對高位,從而避免頻差引起的丟包。但是,交換機(jī)之間的背對背連接呢?只要頻率是本地產(chǎn)生的,總是會有高有低,這樣做不能從根本上解決問題。

實際上,對于以太網(wǎng)的應(yīng)用來說,PPM時鐘偏差的影響并不大。不像SDH/SONET這種時分復(fù)用的系統(tǒng),以太網(wǎng)包交換(packet switching)的優(yōu)勢在于帶寬動態(tài)復(fù)用(或者統(tǒng)計復(fù)用,Statistical Multiplexing),企業(yè)級交換機(jī)(Enterprise Class Ethernet Switch)使用大緩存(packet buffer)來起到削峰填谷的作用。在MAC層,802.3X流控(flow control)協(xié)議定義了Pause Frame,可以用來通知對端暫停發(fā)送一段時間。更上層,TCP支持出錯重傳,還有QoS等等。

以上的討論都是基于1000Base-X。當(dāng)以太網(wǎng)的端口速率上升到10G以上,8b10b編碼就被64b66b替代了,降低了額外帶寬開銷,前提是PMA層的CDR的技術(shù)提升(僅僅要求66b保證最少一次01轉(zhuǎn)換);PCS層的IDLE碼換了形式繼續(xù)存在;8b10b檢錯變成了AM控制碼攜帶的BIP(Bit Interleaving Parity)??偟膩碚f,形式變了,原理沒有變。而且,不僅是以太網(wǎng),PCIe、SAS、SATA、USB等等也有類似的功能。

小結(jié)一下:物理層(physical layer)的物理編碼子層(PCS - Physical Coding Sublayer)對解決時鐘PPM問題起了關(guān)鍵作用,PCS借助FIFO處理跨時鐘域,通過刪除或插入IDLE碼組,來補(bǔ)償接收數(shù)據(jù)和本地時鐘的有限頻差,這就是彈性緩存(Elastic buffer)。彈性緩存加上包緩存,對突發(fā)(burst)數(shù)據(jù)流量有完美的效果,卻不能解決長時間線速(line rate)流量下的丟包問題。當(dāng)然,通過802.3X流控或者更上層協(xié)議避免長時間線速。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5323

    瀏覽量

    170528
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5274

    瀏覽量

    119677
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    386

    瀏覽量

    43468
  • 時鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1703

    瀏覽量

    131195
  • PPM
    PPM
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    16911
收藏 人收藏

    評論

    相關(guān)推薦

    以太網(wǎng)應(yīng)用關(guān)鍵技術(shù)及設(shè)計方案集錦

    以太網(wǎng)絡(luò)使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測)技術(shù),并以10M/S的速率運(yùn)行在多種類型的電纜上。##TI 工業(yè)以太網(wǎng)解決方案,它擴(kuò)大了從控制室到車間的通信范圍,不論是定時關(guān)鍵型應(yīng)用還是苛刻
    發(fā)表于 01-23 16:10 ?9351次閱讀

    德州儀器(TI)工業(yè)以太網(wǎng)解決方案

    檢驗一這種工業(yè)以太網(wǎng)解決方案,它擴(kuò)大了從控制室到車間的通信范圍,不論是定時關(guān)鍵型應(yīng)用還是苛刻環(huán)境的應(yīng)用均適用。
    發(fā)表于 01-22 17:20 ?2818次閱讀
    德州儀器(TI)工業(yè)<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>解決方案</b>

    設(shè)計坊第三期:靈活的工業(yè)以太網(wǎng)解決方案

    、EtherNet/IP 和 EtherCAT以太網(wǎng)標(biāo)準(zhǔn)各自有哪些優(yōu)缺點呢?大家來比較 3. 隨著市場上標(biāo)準(zhǔn)數(shù)量的增多,以及標(biāo)準(zhǔn)的不斷發(fā)展,采用多塊電路板的解決方案怎樣才能最有效,同時迅速支持新功能和其他協(xié)議
    發(fā)表于 12-25 11:17

    基于標(biāo)準(zhǔn)的汽車以太網(wǎng)解決方案的優(yōu)勢有哪些?

    基于標(biāo)準(zhǔn)的汽車以太網(wǎng)解決方案的優(yōu)勢有哪些?
    發(fā)表于 05-24 06:46

    基于FPGA的工業(yè)以太網(wǎng)靈活解決方案

    隨著工業(yè)以太網(wǎng)的發(fā)展,工業(yè)設(shè)備制造商們?yōu)槭棺约旱漠a(chǎn)品更具有市場競爭力,都在尋找一種具有高性價比的解決方案。本文提出了使用FPGA傳送工業(yè)以太網(wǎng)協(xié)議的設(shè)計方法,這種解決方
    發(fā)表于 06-23 15:42 ?18次下載

    工業(yè)以太網(wǎng)方案選擇指南

    針對工業(yè)以太網(wǎng)方案選擇,ARC咨詢集團(tuán)的專家給大家的建議是,終端用戶需要從2個方面考慮工業(yè)以太網(wǎng):平臺導(dǎo)向的解決方案和應(yīng)用導(dǎo)向的解決方案
    發(fā)表于 07-09 17:41 ?892次閱讀

    以太網(wǎng)協(xié)議及應(yīng)用方案

    以太網(wǎng)協(xié)議及應(yīng)用方案
    發(fā)表于 01-21 12:07 ?9次下載

    高速以太網(wǎng)引動超大規(guī)模計算技術(shù)革新,時鐘方案是實現(xiàn)高速以太網(wǎng)的關(guān)鍵

    100G以太網(wǎng)雖然是一種流行且具有成本效益的解決方案,但光纖高速以太網(wǎng)的增加使用推動了對無線網(wǎng)絡(luò)和數(shù)據(jù)中心環(huán)境中高性能時鐘頻率控制產(chǎn)品的需
    的頭像 發(fā)表于 03-16 13:42 ?5056次閱讀

    Linux以太網(wǎng)解決方案的介紹

    本課程將回顧高性能以太網(wǎng)解決方案所需的系統(tǒng)功能。 將審查Xilinx以太網(wǎng)IP內(nèi)核和相關(guān)設(shè)備驅(qū)動程序,包括設(shè)備樹綁定。 還討論了與Petalinux的聯(lián)網(wǎng)。
    的頭像 發(fā)表于 11-27 06:38 ?3238次閱讀

    半導(dǎo)體車用以太網(wǎng)解決方案

    2018年12月6日,致力于亞太地區(qū)市場的領(lǐng)先半導(dǎo)體元器件分銷商---大聯(lián)大控股宣布,其旗下友尚推出瑞昱半導(dǎo)體(Realtek)車用以太網(wǎng)解決方案。 大聯(lián)大友尚推出基于Realtek
    發(fā)表于 05-01 15:31 ?4618次閱讀
    半導(dǎo)體車用<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>解決方案</b>

    以太網(wǎng)與數(shù)字電網(wǎng)相結(jié)合的解決方案

    盡管串行通信(例如RS-232,RS-485和控制器局域網(wǎng))仍然很流行,但在本文中,我將解釋向以太網(wǎng)遷移的挑戰(zhàn),以及以太網(wǎng)與數(shù)字電網(wǎng)相結(jié)合的解決方案
    發(fā)表于 01-04 09:41 ?1315次閱讀
    <b class='flag-5'>以太網(wǎng)</b>與數(shù)字電網(wǎng)相結(jié)合的<b class='flag-5'>解決方案</b>

    以太網(wǎng)供電解決方案

    以太網(wǎng)供電解決方案
    發(fā)表于 05-18 13:45 ?15次下載
    <b class='flag-5'>以太網(wǎng)</b>供電<b class='flag-5'>解決方案</b>

    100G以太網(wǎng)光模塊解決方案

    要求,100G以太網(wǎng)需求突顯。本期文章,易天光通信(ETU-LINK)跟大家說說100G以太網(wǎng)光模塊解決方案。 100G以太網(wǎng)定義 2006年,針對高帶寬的需求,IEEE成立專門研究并
    的頭像 發(fā)表于 09-14 16:49 ?1391次閱讀
    100G<b class='flag-5'>以太網(wǎng)</b>光模塊<b class='flag-5'>解決方案</b>

    以太網(wǎng)時鐘PPM頻率偏差解決方案(上)

    以太網(wǎng)作為控制平面。從總線電路(時鐘同步的總線電路)的角度來看,這是妥妥的共同時鐘總線系統(tǒng)。后來,以太網(wǎng)也經(jīng)歷了從總線拓?fù)涞近c對點的星型拓?fù)?、從物理總線到包交換的轉(zhuǎn)變,交換機(jī)(SDN交
    的頭像 發(fā)表于 06-23 17:54 ?4087次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>時鐘</b>的<b class='flag-5'>PPM</b><b class='flag-5'>頻率</b><b class='flag-5'>偏差</b>的<b class='flag-5'>解決方案</b>(上)

    數(shù)據(jù)中心市場的關(guān)鍵以太網(wǎng)解決方案

    了解數(shù)據(jù)中心市場動態(tài)的關(guān)鍵在于以太網(wǎng)解決方案。Synopsys負(fù)責(zé)產(chǎn)品管理和高性能計算IP的副總裁Michael Posner說:“以太網(wǎng)在數(shù)據(jù)中心中根深蒂固……雖然它并不廣為人知,但60%的數(shù)據(jù)中心硬件都是通過
    發(fā)表于 03-12 09:53 ?344次閱讀
    數(shù)據(jù)中心市場的關(guān)鍵<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>解決方案</b>