chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

454398 ? 來(lái)源:網(wǎng)絡(luò)交換FPGA ? 作者:網(wǎng)絡(luò)交換FPGA ? 2020-11-19 16:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

SGMII接口基本功能測(cè)試

SGMII接口(開(kāi)啟自協(xié)商)調(diào)試分為三個(gè)步驟,先測(cè)試SGMII最基本功能仿真、再測(cè)試SGMII最基本功能自回環(huán)上板、最后直接測(cè)試開(kāi)啟自協(xié)商功能后上板

1、測(cè)試SGMII基本功能仿真:

(1) 打開(kāi)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é)商,開(kāi)啟PMA回環(huán),具體參考手冊(cè)63頁(yè)table2-39),將userclk2作為跟GMII接口同步的時(shí)鐘(用來(lái)驅(qū)動(dòng)MAC GMII接口側(cè),也可以用來(lái)驅(qū)動(dòng)其它模塊);

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

(4) 仿真時(shí)會(huì)發(fā)現(xiàn)gmii_rxd信號(hào)每隔一幀數(shù)據(jù)會(huì)少一個(gè)時(shí)鐘的前導(dǎo)碼如圖1,這個(gè)不用擔(dān)心,為正常現(xiàn)象,1G MAC仍然能正常接收數(shù)據(jù),產(chǎn)生這個(gè)的具體原因不詳(手冊(cè)有介紹,不過(guò)內(nèi)容偏向于底層編碼原因,具體不太了解,手冊(cè)只是簡(jiǎn)單說(shuō)明了一下表面原因,手冊(cè)221頁(yè)說(shuō)明此問(wèn)題),同時(shí)有的數(shù)據(jù)幀gmii_rx_dv信號(hào)拉低后gmii_rx_er信號(hào)會(huì)拉高一個(gè)時(shí)鐘(對(duì)應(yīng)的gmii_rxd數(shù)據(jù)為8‘h0f),如圖2,這個(gè)也不用擔(dān)心,手冊(cè)224頁(yè)對(duì)其有說(shuō)明(具體說(shuō)是為幀擴(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ì)中沒(méi)有同步打拍)。

圖1

圖2

注意:SGMII開(kāi)啟自協(xié)商后要仿真非常長(zhǎng)時(shí)間才能互通(8.1ms),因此推薦直接上板。

2、測(cè)試SGMII基本功能上板:

(1)SGMII接口的independent_clock默認(rèn)是200MHZ,可以用PLL生成,也可以查閱手冊(cè)修改IP內(nèi)部參數(shù)來(lái)設(shè)置為其它頻率,具體修改參考手冊(cè)36頁(yè)描述(修改后如何操作IP參考RapidIO調(diào)試手冊(cè)),只需修改一個(gè)參數(shù)就可以(修改時(shí)鐘頻率會(huì)影響仿真通過(guò)時(shí)間),如圖3;

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

圖3

3、測(cè)試SGMII自協(xié)商功能上板:

(1)將configuration_vector參數(shù)設(shè)置為5‘b100x0(開(kāi)啟自協(xié)商功能,x表示可以測(cè)PMA回環(huán),也可指直接接PHY進(jìn)行測(cè)試),自協(xié)商參數(shù)使能信號(hào)an_restart_config設(shè)置為0(該信號(hào)上升沿代表自協(xié)商參數(shù)an_adv_config_vector有效,an_restart_config為0表示使用默認(rèn)參數(shù),如果想手動(dòng)配置自協(xié)商參數(shù),可以查閱手冊(cè)64頁(yè)table2-40);

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

RGMII或SGMII調(diào)試中正常的“異?!眴?wèn)題

1、參考資料

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

2、以太網(wǎng)接口使用場(chǎng)景介紹

《88e1512data》PHY芯片手冊(cè)中,標(biāo)準(zhǔn)的RGMII、SGMII接口的使用場(chǎng)景如下兩圖所示:


實(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)用場(chǎng)景變成了如下的兩圖:


此處的IDDR/ODDR原語(yǔ)、SGMII核主要功能是為實(shí)驗(yàn)室MAC核提供標(biāo)準(zhǔn)的千兆GMII接口形式的數(shù)據(jù)源。在實(shí)驗(yàn)的接口調(diào)試中,由于PHY芯片的各個(gè)功能模式設(shè)置、XILINX官方的SGMII核和IDDR/ODDR原語(yǔ)的特性不同,可能會(huì)出現(xiàn)一些問(wèn)題。

3、PHY芯片功能模式設(shè)置

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

當(dāng)交換機(jī)出現(xiàn)無(wú)法連接網(wǎng)口(連接指示燈熄滅)、數(shù)據(jù)收發(fā)錯(cuò)誤等問(wèn)題時(shí),可以通過(guò)VIO、MDIO來(lái)讀取PHY芯片相應(yīng)功能的寄存器的值,來(lái)確定功能模式配置是否出現(xiàn)問(wèn)題。

4、RGMII千兆模式常見(jiàn)問(wèn)題

此問(wèn)題詳細(xì)描述見(jiàn)文章: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ù)跳邊沿對(duì)齊,出現(xiàn)錯(cuò)誤;如果PHY芯片的工作模式是不偏移,則我們需要手動(dòng)控制時(shí)鐘的偏移。RGMII數(shù)據(jù)的讀取同理,具體情況需要閱讀相應(yīng)的PHY芯片手冊(cè)。

5、SGMII千兆模式下常見(jiàn)的“異?!眴?wèn)題

參見(jiàn)《pg047-gig-eth-pcs-pma》P219,Xilinx官方的SGMII的IP核轉(zhuǎn)換出的GMII格式數(shù)據(jù)可能會(huì)出現(xiàn)兩種問(wèn)題:
? 以太網(wǎng)數(shù)據(jù)幀幀頭部分丟失一個(gè)前導(dǎo)碼;
? 以太網(wǎng)數(shù)據(jù)幀F(xiàn)CS域結(jié)束后,tx_er信號(hào)拉高。

丟失前導(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核,不會(huì)出現(xiàn)問(wèn)題。但是,在TTE交換機(jī)中,分流模塊、TT平面,可能是根據(jù)gmii_tx_en信號(hào)的上升沿開(kāi)始作計(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信號(hào)拉高,如下圖所示:


由于可能的設(shè)計(jì)缺陷,某些MAC核,會(huì)將這種數(shù)據(jù)幀當(dāng)作錯(cuò)誤幀丟棄。解決辦法是,在數(shù)據(jù)幀的接收部分,對(duì)tx_er信號(hào)進(jìn)行處理,當(dāng)rx_dv信號(hào)為高時(shí),tx_er仍然保持原值,當(dāng)rx_dv信號(hào)為低時(shí),tx_er信號(hào)直接置零。

編輯:hfy


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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618523
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    5635

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

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

    大家好,USB芯片CY7C68013A和FPGA進(jìn)行通信,從EP6讀取512字節(jié)是正常的,但是讀取2個(gè)字節(jié)失?。?b class='flag-5'>fpga端一直在發(fā))Bulk
    發(fā)表于 05-30 07:12

    CC1125前導(dǎo)碼設(shè)置導(dǎo)致無(wú)法正常通信?

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

    CC1125前導(dǎo)碼設(shè)置問(wèn)題導(dǎo)致無(wú)法正常通信?

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

    CC1310的前導(dǎo)碼是否支持設(shè)置成其他形式?

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

    關(guān)于CC1310前導(dǎo)碼設(shè)置

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

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

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

    請(qǐng)問(wèn)sx1278 lora模塊前導(dǎo)碼在程序中怎么設(shè)置

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

    I2C前導(dǎo)碼問(wèn)題

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

    CC1120前導(dǎo)碼長(zhǎng)度怎么降低平均電流?

    平均電流,希望控制在40uA一下,怎么實(shí)現(xiàn)?前導(dǎo)碼長(zhǎng)度30個(gè)字節(jié)已經(jīng)達(dá)到最大長(zhǎng)度了,已經(jīng)沒(méi)法通過(guò)增長(zhǎng)前導(dǎo)碼來(lái)降低平均功耗了,還有什么其他方法來(lái)降低功耗?
    發(fā)表于 03-30 10:54

    UART 發(fā)送數(shù)據(jù)丟失最后一個(gè)字節(jié)

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

    基于前導(dǎo)碼挖掘的未知協(xié)議幀切分算法

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

    淺談STM32串口通信(一)基本介紹和一個(gè)字節(jié)傳輸?shù)膶?shí)現(xiàn)

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

    認(rèn)識(shí)以太網(wǎng)幀的整個(gè)結(jié)構(gòu)

    當(dāng)你需要使用千兆網(wǎng)發(fā)送數(shù)據(jù)的時(shí)候,你需要先傳輸8字節(jié)前導(dǎo)碼,也就是7個(gè)字節(jié)的0xAA和1個(gè)字節(jié)的0xAB
    的頭像 發(fā)表于 06-19 14:59 ?2098次閱讀
    認(rèn)識(shí)以太網(wǎng)幀的整個(gè)結(jié)構(gòu)

    UART發(fā)送數(shù)據(jù)丟失最后一個(gè)字節(jié)

    電子發(fā)燒友網(wǎng)站提供《UART發(fā)送數(shù)據(jù)丟失最后一個(gè)字節(jié).pdf》資料免費(fèi)下載
    發(fā)表于 08-01 17:57 ?1次下載
    UART發(fā)送數(shù)據(jù)丟失最后一<b class='flag-5'>個(gè)字節(jié)</b>