在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA SGMII接口前導碼小于7個字節(jié)55的解決方案

454398 ? 來源:網絡交換FPGA ? 作者:網絡交換FPGA ? 2020-11-19 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在使用Xilinx FPGA芯片中SGMII IP核進行千兆以太網調試時,經常會遇到以太網接口收到的前導碼長度不足7個字節(jié)55的情況,但這種情況確實正常現象。這就要求在設計代碼處理前導碼時不能將55的個數作為判據,而是只要有55轉換為D5,就應該認為前導碼接收成功了。不了解前導碼的同學可以參看文章《你見過物理層的以太網幀長什么樣子嗎?》

SGMII接口基本功能測試

SGMII接口(開啟自協商)調試分為三個步驟,先測試SGMII最基本功能仿真、再測試SGMII最基本功能自回環(huán)上板、最后直接測試開啟自協商功能后上板

1、測試SGMII基本功能仿真:

(1) 打開sgmii IP,將接口選擇為sgmii接口,關閉MDIO接口,其它選項默認,生成IP核;

(2) 根據IP核生成example design,將speed_is_10_100、speed_is_100設置為0(1000Mbps模式),將configuration_vector設置為5‘b00010(關閉SGMII自協商,開啟PMA回環(huán),具體參考手冊63頁table2-39),將userclk2作為跟GMII接口同步的時鐘(用來驅動MAC GMII接口側,也可以用來驅動其它模塊);

(3) 開啟仿真,測試自回環(huán)(也可以通過修改參數測試外環(huán)或2個SGMII互通),一般PMA回環(huán)要3.1ms左右才能通,外環(huán)或互通要3.5ms左右;

(4) 仿真時會發(fā)現gmii_rxd信號每隔一幀數據會少一個時鐘的前導碼如圖1,這個不用擔心,為正常現象,1G MAC仍然能正常接收數據,產生這個的具體原因不詳(手冊有介紹,不過內容偏向于底層編碼原因,具體不太了解,手冊只是簡單說明了一下表面原因,手冊221頁說明此問題),同時有的數據幀gmii_rx_dv信號拉低后gmii_rx_er信號會拉高一個時鐘(對應的gmii_rxd數據為8‘h0f),如圖2,這個也不用擔心,手冊224頁對其有說明(具體說是為幀擴展),由于gmii_rx_er拉高處gmii_rx_dv拉低,所以不是幀錯誤(此處需要適當修改原版1G MAC的代碼,使1G MAC中gmii_rxd、gmii_rx_dv、gmii_rx_er同步打拍,原設計中沒有同步打拍)。

圖1

圖2

注意:SGMII開啟自協商后要仿真非常長時間才能互通(8.1ms),因此推薦直接上板。

2、測試SGMII基本功能上板:

(1)SGMII接口的independent_clock默認是200MHZ,可以用PLL生成,也可以查閱手冊修改IP內部參數來設置為其它頻率,具體修改參考手冊36頁描述(修改后如何操作IP參考RapidIO調試手冊),只需修改一個參數就可以(修改時鐘頻率會影響仿真通過時間),如圖3;

(2)上板主要是測試PMA回環(huán)版(自帶激勵源),設置好約束文件,抓取關鍵信號,直接生成bit文件,上板測試,如果沒有通,看status_vector信號,查閱手冊65頁table2-41,查找原因。

圖3

3、測試SGMII自協商功能上板:

(1)將configuration_vector參數設置為5‘b100x0(開啟自協商功能,x表示可以測PMA回環(huán),也可指直接接PHY進行測試),自協商參數使能信號an_restart_config設置為0(該信號上升沿代表自協商參數an_adv_config_vector有效,an_restart_config為0表示使用默認參數,如果想手動配置自協商參數,可以查閱手冊64頁table2-40);

(2)生成bit文件并上板測試,并觀察狀態(tài)信號status_vector。

RGMII或SGMII調試中正常的“異常”問題

1、參考資料

《pg047-gig-eth-pcs-pma》
《88e1512 data》
《AR8033d》

2、以太網接口使用場景介紹

《88e1512data》PHY芯片手冊中,標準的RGMII、SGMII接口的使用場景如下兩圖所示:


實際上,此處的10/100/1000Mbps Ethernet MAC代指的是標準的SGMII接口的MAC核和標準的RGMII接口的MAC核。而實驗室所用的MAC核為GMII接口形式的MAC核,因此實際上我們的應用場景變成了如下的兩圖:


此處的IDDR/ODDR原語、SGMII核主要功能是為實驗室MAC核提供標準的千兆GMII接口形式的數據源。在實驗的接口調試中,由于PHY芯片的各個功能模式設置、XILINX官方的SGMII核和IDDR/ODDR原語的特性不同,可能會出現一些問題。

3、PHY芯片功能模式設置

正常情況下,我們常用的PHY芯片功能模式有以下:
? 全雙工/半雙工模式
? 千兆/百兆/十兆模式
? 自協商速率/固定速率
? RGMII/SGMII模式
? 交叉線/直連線模式

交換機出現無法連接網口(連接指示燈熄滅)、數據收發(fā)錯誤等問題時,可以通過VIO、MDIO來讀取PHY芯片相應功能的寄存器的值,來確定功能模式配置是否出現問題。

4、RGMII千兆模式常見問題

此問題詳細描述見文章:RGMII接口調試使用VIO讀取PHY寄存器值

標準的RGMII千兆接口,時鐘周期為125MHz,但是數據位寬為4位,采用在時鐘的上下邊沿采樣的方式,得到1Gbps帶寬,正常工作狀態(tài)的發(fā)送時序圖如下所示:


為了確保數據采樣的正確,時鐘的邊沿必須在數據的中間進行跳變。為了實現這種發(fā)送模式,在數據發(fā)送時,控制發(fā)送時鐘,使其偏移90度(即延后2ns)。

但是有的PHY芯片中,可以選擇不同的工作模式,使得控制時鐘偏移2ns或者不偏移2ns(《88e1512》P252)。如果PHY芯片的工作模式是偏移了2ns,那我們就不用作偏移了,否則可能正好導致時鐘邊沿和數據跳邊沿對齊,出現錯誤;如果PHY芯片的工作模式是不偏移,則我們需要手動控制時鐘的偏移。RGMII數據的讀取同理,具體情況需要閱讀相應的PHY芯片手冊。

5、SGMII千兆模式下常見的“異常”問題

參見《pg047-gig-eth-pcs-pma》P219,Xilinx官方的SGMII的IP核轉換出的GMII格式數據可能會出現兩種問題:
? 以太網數據幀幀頭部分丟失一個前導碼;
? 以太網數據幀FCS域結束后,tx_er信號拉高。

丟失前導碼情況,如下圖所示:


在這種情況下,前導碼由7個55,1個D5,變成了6個55,1個D5。某些MAC核是根據55跳變到D5這種情況下作操作的,所以數據直接進MAC核,不會出現問題。但是,在TTE交換機中,分流模塊、TT平面,可能是根據gmii_tx_en信號的上升沿開始作計數,從而提出TT_ID、TYPE/LENGTH域等數據,這就可能導致錯誤。并且,以太網幀發(fā)送時,需要發(fā)送7個55,1個D5格式的前導碼。因此,我們接收到這種數據幀時,需要將前導碼補齊,再將數據幀送入后續(xù)模塊進行處理。

FCS域結束后,tx_er信號拉高,如下圖所示:


由于可能的設計缺陷,某些MAC核,會將這種數據幀當作錯誤幀丟棄。解決辦法是,在數據幀的接收部分,對tx_er信號進行處理,當rx_dv信號為高時,tx_er仍然保持原值,當rx_dv信號為低時,tx_er信號直接置零。

編輯:hfy


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

    關注

    1644

    文章

    22007

    瀏覽量

    616386
  • 以太網
    +關注

    關注

    40

    文章

    5610

    瀏覽量

    175322
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何將小于1024字節(jié)的緩沖區(qū)從FPGA發(fā)送到PC?

    大家好 當我嘗試使用 slavefifosync 示例時遇到了一問題。 我的硬件由 PC(主機)、CYUSB3014 FX3(設備)、FPGA 組成,我想從 FPGA 向主機發(fā)送幾個字節(jié)
    發(fā)表于 05-09 08:18

    USB芯片CY7C68013A和FPGA進行通信,從EP6讀取512字節(jié)是正常的,但是讀取2個字節(jié)失敗,為什么?

    大家好,USB芯片CY7C68013A和FPGA進行通信,從EP6讀取512字節(jié)是正常的,但是讀取2個字節(jié)失敗(fpga端一直在發(fā))Bulk
    發(fā)表于 05-30 07:12

    CC1125前導碼設置導致無法正常通信?

    CC1125 我想通過信號源測試我的接收靈敏度,由于信號源只能發(fā)送0101碼,因此我必須把前導碼和同步字全部設置成0xAA或者0x55,但是我一旦全部設成0xAA或者0x55就無法正常通信,能不能告訴我這是什么問題,是不是還別的
    發(fā)表于 03-10 10:02

    CC1125前導碼設置問題導致無法正常通信?

    CC1125前導碼設置問題導致無法正常通信?CC1125 我想通過信號源測試我的接收靈敏度,由于信號源只能發(fā)送0101碼,因此我必須把前導碼和同步字全部設置成0xAA或者0x55,但是我一旦全部設成0xAA或者0x
    發(fā)表于 03-10 10:05

    CC1310的前導碼是否支持設置成其他形式?

    如題道CC1310的前導碼是否支持設置成其他形式,例如00100010...CC1310的前導碼,在參考手冊中發(fā)現可以設置成01010101... 或者10101010...。
    發(fā)表于 03-24 15:07

    關于CC1310前導碼設置

    你好: 關于CC1310的前導碼,在參考手冊中發(fā)現可以設置成01010101... 或者10101010...。 我想知道CC1310的前導碼是否支持設置成其他形式,例如00100010... 謝謝!
    發(fā)表于 05-14 01:14

    CC1125,發(fā)射模塊的前導碼設置成0xAA、0x55、0x33、0xCC中的一種,那接收模塊的前導碼也要設置相同才能正常通信嗎?

    您好,我開發(fā)cc1125,SmartRF Studio 7軟件內有關于前導碼的設置,PREAMBLE_CFG1 (0x000D)0x14PREAMBLE_WORD0x00R/WPreamble
    發(fā)表于 05-15 13:20

    請問sx1278 lora模塊前導碼在程序中怎么設置

    我在研究lora模塊,遇到一問題解決不了,就是前導碼在程序中怎么設置。無限感激
    發(fā)表于 01-17 06:35

    I2C前導碼問題

    如果我想發(fā)送字節(jié)地址而不是字地址,那么如果我將SDK代碼更改為下面的代碼,那么下面的示例代碼的更改是否有效?SDK中的示例代碼,前同步碼。長度=4;前導碼。緩沖器〔0〕=DeDADDR;前導碼
    發(fā)表于 04-25 15:09

    CC1120前導碼長度怎么降低平均電流?

    平均電流,希望控制在40uA一下,怎么實現?前導碼長度30個字節(jié)已經達到最大長度了,已經沒法通過增長前導碼來降低平均功耗了,還有什么其他方法來降低功耗?
    發(fā)表于 03-30 10:54

    UART 發(fā)送數據丟失最后一個字節(jié)

    STM32 UART 發(fā)送數據丟失最后一個字節(jié)
    發(fā)表于 12-04 15:10 ?0次下載

    基于前導碼挖掘的未知協議幀切分算法

    針對未知協議幀切分技術存在的效率較低的問題,提出基于前導碼挖掘的未知協議幀切分技術。首先介紹前導碼作為標識鏈路幀起始位置的原理,分析候選序列選取問題是現有頻繁序列挖掘方法無法對長度較長的前導碼進行
    發(fā)表于 12-06 16:53 ?0次下載
    基于<b class='flag-5'>前導碼</b>挖掘的未知協議幀切分算法

    淺談STM32串口通信(一)基本介紹和一個字節(jié)傳輸的實現

    文章目錄0 傳輸引腳1 傳輸一個字節(jié)1.1 發(fā)送一個字節(jié)1.2 接收一個字節(jié)2 代碼2.1 配置2.2 發(fā)送一個字節(jié)2.3 接收一個字節(jié)0
    發(fā)表于 12-24 18:51 ?14次下載
    淺談STM32串口通信(一)基本介紹和一<b class='flag-5'>個字節(jié)</b>傳輸的實現

    認識以太網幀的整個結構

    當你需要使用千兆網發(fā)送數據的時候,你需要先傳輸8字節(jié)前導碼,也就是7個字節(jié)的0xAA和1個字節(jié)的0xAB
    的頭像 發(fā)表于 06-19 14:59 ?2031次閱讀
    認識以太網幀的整個結構

    UART發(fā)送數據丟失最后一個字節(jié)

    電子發(fā)燒友網站提供《UART發(fā)送數據丟失最后一個字節(jié).pdf》資料免費下載
    發(fā)表于 08-01 17:57 ?1次下載
    UART發(fā)送數據丟失最后一<b class='flag-5'>個字節(jié)</b>
    主站蜘蛛池模板: 在线片视频网站 | 黑人黄色大片 | 女人被男人免费播放网站 | 好大好硬好爽免费视频 | 美女又黄又www | 亚洲第一视频网 | 天天操夜夜摸 | 毛片你懂的 | 5x视频在线观看 | 狠狠曹| 六月丁香激情综合成人 | 亚洲系列_1页_mmyy11 | 三级黄色在线视频中文 | 6月婷婷| 男男污肉高h坐便器调教 | 国产精品乱码高清在线观看 | 天天操天天曰 | 在线人成精品免费视频 | 午夜影院在线观看 | 成年人看的黄色 | 天天操伊人 | 美女扒开腿让男生桶爽网站 | 网友自拍区一区二区三区 | 一级做a爱片特黄在线观看免费看 | 91福利视频网站 | 色激情综合 | 天天干亚洲 | 国产伦精品一区二区三区四区 | 好大好硬好深好爽的视频 | 亚洲欧美一区二区三区麻豆 | 国产亚洲第一 | 五月天伦理 | www天天干 | 天天碰夜夜 | 亚洲欧美日韩色图 | 黄色免费毛片 | 欧美黄色三级视频 | 四虎www.| 天天插天天干天天射 | 美女一级牲交毛片视频 | 张柏芝三级无删减在线观看 |