介面接收資料 RGMII介面佈線經驗

2021-10-16 05:58:32 字數 2066 閱讀 9079

網路裝置一定離不開mac和phy,有mac和phy的地方就有相應的介面,無論看得見或者看不見,它就在那裡,不悲不喜。在乙太網中,這個介面就是介質無關介面,英文稱為media independent inte***ce,簡稱mii。mii適用於百兆網路裝置,有個很大的缺點就是走線很多,於是就出現了rmii,即reduced media independent inte***ce,在mii的基礎上減少了一半的資料線。千兆乙太網的誕生帶來了gmii,即gigabit media independent inte***ce,人們發現gmii的走線也很多,於是又出現了rgmii,即reduced gigabit media independent inte***ce,也就是本文的主角。當然還有序列的mii介面家族,請讀者自行查閱相關文獻。

why rgmii?

有這麼多形式的mii介面,為什麼筆者偏要選擇rgmii呢?原因簡單而粗暴:用得多。隨著晶元整合度的提高,很多網路處理器/soc整合了百兆乙太網交換機,如果使用者需要實現千兆以太網路,那麼往往需要配合rgmii介面的千兆乙太網phy。無線時代小站中介紹的很多處理器都是這樣的。

rgmii技術特徵

如前所述,rgmii介面減少了mac與phy之間的走線數量,通過在參考時鐘的上公升/下降沿同時取樣及訊號復用得以實現。rgmii有rtbi與rgmii兩種模式,由於筆者在工作中未接觸過rtbi,所以不做介紹。rgmii具有如下特徵:

相對於gmii介面,傳送/接收資料線由8根減少為4根

tx_er與tx_en復用,通過tx_ctl傳送

rx_er與rx_dv復用,通過rx_ctl傳送

1 gbit/s速率下,時鐘頻率為125mhz

100 mbit/s速率下,時鐘頻率為25mhz

10 mbit/s速率下,時鐘頻率為2.5mhz

rgmii 1.3版本要求:通過pcb走線使得時鐘相對資料線延遲1.5-2ns

rgmii 2.0版本引入了片上延遲的功能,即在晶元內部實現時鐘延遲

rgmii訊號定義

有了前文的敘述,相信讀者已經具備了rgmii layout的思路,主要就是以下幾項:

建立2個等長組,分別參考txc與rxc

如果mac/phy內部帶有時鐘延遲,則無需對時鐘線做延遲

如果mac/phy內部均不具備時鐘延遲,則需要對時鐘線做延遲

關於時鐘線的延遲,以下幾張可以很好地說明,分別對應pcb延遲,mac+phy延遲與phy延遲。當然,選取那種方式取決於使用的mac/phy晶元。

阻抗控制

2w/3w原則

注意,在射頻與高速數位電路同時存在的設計中,不可能同時對射頻走線及高速數字走線進行阻抗控制,這時請務必在rgmii所有走線上增加串聯匹配電阻,擺放位置遵守源端匹配原則。

rgmii layout例項

下圖是筆者為朋友開發設計的多口phy,通過排針連線到外部的mac板。讀者一定很好奇這個板子是幹啥用的,其實筆者也不知道。

等長規則

其實,mii/rmii/gmii的layout方式與rgmii很像,留給讀者自行摸索。

python傳送資料和接收資料介面

接收資料 from flask import flask,render template,request,response,jsonify import redis import json def sendjson print request.get json print 接受前端發來的資料 dat...

資料接收介面專案(c 接收方接收url傳來的資料)

乙個資料接收介面專案中,要注意一些幾點 1 首先驗證向我們傳送資料的一方是否合法,其中就包括了 白名單 請求方式 請求的refer 2 資料接收之後,要驗證接收引數的個數,引數型別是否合法,如果不合法,及時提示傳送方傳送不合法。3 一般比較大的專案或者重要的專案,都會要求有執行日誌,最好每一步都要有...

postman測試介面,post請求接收不到引數

問題描述 後台 如圖 沒有用 requestbody,responsebody等其他註解,疑惑如何傳參,沒有指明請求方式get post,預設是什麼方式?postman測試時get請求邏輯正常處理,post提交後台接收不到引數,附上鏈結位址 post方式下改了各種json格式都沒成功,其中試了在dt...