SGMII接口(開啟自協(xié)商)調(diào)試分為三個(gè)步驟,先測試SGMII最基本功能仿真、再測試SGMII最基本功能自回環(huán)上板、最后直接測試開啟自協(xié)商功能后上板
1、測試SGMII基本功能仿真:
(1) 打開sgmii IP,將接口選擇為sgmii接口,關(guān)閉MDIO接口,其它選項(xiàng)默認(rèn),生成IP核;(2) 根據(jù)IP核生成example design,將speed_is_10_100、speed_is_100設(shè)置為0(1000Mbps模式),將configuration_vector設(shè)置為5‘b00010(關(guān)閉SGMII自協(xié)商,開啟PMA回環(huán),具體參考手冊63頁table2-39),將userclk2作為跟GMII接口同步的時(shí)鐘(用來驅(qū)動MAC GMII接口側(cè),也可以用來驅(qū)動其它模塊);(3) 開啟仿真,測試自回環(huán)(也可以通過修改參數(shù)測試外環(huán)或2個(gè)SGMII互通),一般PMA回環(huán)要3.1ms左右才能通,外環(huán)或互通要3.5ms左右;(4) 仿真時(shí)會發(fā)現(xiàn)gmii_rxd信號每隔一幀數(shù)據(jù)會少一個(gè)時(shí)鐘的前導(dǎo)碼如圖1,這個(gè)不用擔(dān)心,為正?,F(xiàn)象,1G MAC仍然能正常接收數(shù)據(jù),產(chǎn)生這個(gè)的具體原因不詳(手冊有介紹,不過內(nèi)容偏向于底層編碼原因,具體不太了解,手冊只是簡單說明了一下表面原因,手冊221頁說明此問題),同時(shí)有的數(shù)據(jù)幀gmii_rx_dv信號拉低后gmii_rx_er信號會拉高一個(gè)時(shí)鐘(對應(yīng)的gmii_rxd數(shù)據(jù)為8‘h0f),如圖2,這個(gè)也不用擔(dān)心,手冊224頁對其有說明(具體說是為幀擴(kuò)展),由于gmii_rx_er拉高處gmii_rx_dv拉低,所以不是幀錯(cuò)誤(此處需要適當(dāng)修改原版1G MAC的代碼,使1G MAC中g(shù)mii_rxd、gmii_rx_dv、gmii_rx_er同步打拍,原設(shè)計(jì)中沒有同步打拍)。
圖1
圖2
注意:SGMII開啟自協(xié)商后要仿真非常長時(shí)間才能互通(8.1ms),因此推薦直接上板。
1、測試SGMII基本功能上板:
(1)SGMII接口的independent_clock默認(rèn)是200MHZ,可以用PLL生成,也可以查閱手冊修改IP內(nèi)部參數(shù)來設(shè)置為其它頻率,具體修改參考手冊36頁描述(修改后如何操作IP參考RapidIO調(diào)試手冊),只需修改一個(gè)參數(shù)就可以(修改時(shí)鐘頻率會影響仿真通過時(shí)間),如圖3;(2)上板主要是測試PMA回環(huán)版(自帶激勵源),設(shè)置好約束文件,抓取關(guān)鍵信號,直接生成bit文件,上板測試,如果沒有通,看status_vector信號,查閱手冊65頁table2-41,查找原因。
圖3
3、測試SGMII自協(xié)商功能上板:
(1)將configuration_vector參數(shù)設(shè)置為5‘b100x0(開啟自協(xié)商功能,x表示可以測PMA回環(huán),也可指直接接PHY進(jìn)行測試),自協(xié)商參數(shù)使能信號an_restart_config設(shè)置為0(該信號上升沿代表自協(xié)商參數(shù)an_adv_config_vector有效,an_restart_config為0表示使用默認(rèn)參數(shù),如果想手動配置自協(xié)商參數(shù),可以查閱手冊64頁table2-40);(2)生成bit文件并上板測試,并觀察狀態(tài)信號status_vector。
RGMII或SGMII調(diào)試中正常的“異?!眴栴}
1、參考資料
《pg047-gig-eth-pcs-pma》
《88e1512 data》
《AR8033d》
2、以太網(wǎng)接口使用場景介紹
《88e1512data》PHY芯片手冊中,標(biāo)準(zhǔn)的RGMII、SGMII接口的使用場景如下兩圖所示:
實(shí)際上,此處的10/100/1000Mbps Ethernet MAC代指的是標(biāo)準(zhǔn)的SGMII接口的MAC核和標(biāo)準(zhǔn)的RGMII接口的MAC核。而實(shí)驗(yàn)室所用的MAC核為GMII接口形式的MAC核,因此實(shí)際上我們的應(yīng)用場景變成了如下的兩圖:
此處的IDDR/ODDR原語、SGMII核主要功能是為實(shí)驗(yàn)室MAC核提供標(biāo)準(zhǔn)的千兆GMII接口形式的數(shù)據(jù)源。在實(shí)驗(yàn)的接口調(diào)試中,由于PHY芯片的各個(gè)功能模式設(shè)置、XILINX官方的SGMII核和IDDR/ODDR原語的特性不同,可能會出現(xiàn)一些問題。
3、PHY芯片功能模式設(shè)置
正常情況下,我們常用的PHY芯片功能模式有以下:
全雙工/半雙工模式
千兆/百兆/十兆模式
自協(xié)商速率/固定速率
RGMII/SGMII模式
交叉線/直連線模式
當(dāng)交換機(jī)出現(xiàn)無法連接網(wǎng)口(連接指示燈熄滅)、數(shù)據(jù)收發(fā)錯(cuò)誤等問題時(shí),可以通過VIO、MDIO來讀取PHY芯片相應(yīng)功能的寄存器的值,來確定功能模式配置是否出現(xiàn)問題。
4、RGMII千兆模式常見問題
此問題詳細(xì)描述見本公眾號之前文章:
RGMII接口調(diào)試使用VIO讀取PHY寄存器值
標(biāo)準(zhǔn)的RGMII千兆接口,時(shí)鐘周期為125MHz,但是數(shù)據(jù)位寬為4位,采用在時(shí)鐘的上下邊沿采樣的方式,得到1Gbps帶寬,正常工作狀態(tài)的發(fā)送時(shí)序圖如下所示:
為了確保數(shù)據(jù)采樣的正確,時(shí)鐘的邊沿必須在數(shù)據(jù)的中間進(jìn)行跳變。為了實(shí)現(xiàn)這種發(fā)送模式,在數(shù)據(jù)發(fā)送時(shí),控制發(fā)送時(shí)鐘,使其偏移90度(即延后2ns)。
但是有的PHY芯片中,可以選擇不同的工作模式,使得控制時(shí)鐘偏移2ns或者不偏移2ns(《88e1512》P252)。如果PHY芯片的工作模式是偏移了2ns,那我們就不用作偏移了,否則可能正好導(dǎo)致時(shí)鐘邊沿和數(shù)據(jù)跳邊沿對齊,出現(xiàn)錯(cuò)誤;如果PHY芯片的工作模式是不偏移,則我們需要手動控制時(shí)鐘的偏移。RGMII數(shù)據(jù)的讀取同理,具體情況需要閱讀相應(yīng)的PHY芯片手冊。
5、SGMII千兆模式下常見的“異常”問題
參見《pg047-gig-eth-pcs-pma》P219,Xilinx官方的SGMII的IP核轉(zhuǎn)換出的GMII格式數(shù)據(jù)可能會出現(xiàn)兩種問題:
以太網(wǎng)數(shù)據(jù)幀幀頭部分丟失一個(gè)前導(dǎo)碼;
以太網(wǎng)數(shù)據(jù)幀F(xiàn)CS域結(jié)束后,tx_er信號拉高。
丟失前導(dǎo)碼情況,如下圖所示:
在這種情況下,前導(dǎo)碼由7個(gè)55,1個(gè)D5,變成了6個(gè)55,1個(gè)D5。某些MAC核是根據(jù)55跳變到D5這種情況下作操作的,所以數(shù)據(jù)直接進(jìn)MAC核,不會出現(xiàn)問題。但是,在TTE交換機(jī)中,分流模塊、TT平面,可能是根據(jù)gmii_tx_en信號的上升沿開始作計(jì)數(shù),從而提出TT_ID、TYPE/LENGTH域等數(shù)據(jù),這就可能導(dǎo)致錯(cuò)誤。并且,以太網(wǎng)幀發(fā)送時(shí),需要發(fā)送7個(gè)55,1個(gè)D5格式的前導(dǎo)碼。因此,我們接收到這種數(shù)據(jù)幀時(shí),需要將前導(dǎo)碼補(bǔ)齊,再將數(shù)據(jù)幀送入后續(xù)模塊進(jìn)行處理。
FCS域結(jié)束后,tx_er信號拉高,如下圖所示:
由于可能的設(shè)計(jì)缺陷,某些MAC核,會將這種數(shù)據(jù)幀當(dāng)作錯(cuò)誤幀丟棄。解決辦法是,在數(shù)據(jù)幀的接收部分,對tx_er信號進(jìn)行處理,當(dāng)rx_dv信號為高時(shí),tx_er仍然保持原值,當(dāng)rx_dv信號為低時(shí),tx_er信號直接置零。
責(zé)任編輯:gt
-
測試
+關(guān)注
關(guān)注
8文章
5706瀏覽量
128873 -
仿真
+關(guān)注
關(guān)注
52文章
4289瀏覽量
135872 -
pll
+關(guān)注
關(guān)注
6文章
889瀏覽量
136422
發(fā)布評論請先 登錄
FPGA SGMII接口前導(dǎo)碼小于7個(gè)字節(jié)55的解決方案
智能合約的基本功能是什么
計(jì)算機(jī)I/O接口是什么?其有哪些基本功能
HOOK接口的基本功能有哪些呢
reertos基本功能包括什么
常見的CAN接口異常情況及解決方法詳細(xì)說明

評論