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

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

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

基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開發(fā)-數(shù)據(jù)流驗(yàn)證過程

嵌入式USB開發(fā) ? 來源:嵌入式Lee ? 作者:嵌入式Lee ? 2023-08-31 08:41 ? 次閱讀

轉(zhuǎn)自公眾號歡迎關(guān)注

https://mp.weixin.qq.com/s/klrHhaLMM_0W3FGVwHXFkA

基于DWC_ether_qos的以太網(wǎng)驅(qū)動(dòng)開發(fā)-數(shù)據(jù)流驗(yàn)證過程 (qq.com)

一.前言

以太網(wǎng)驅(qū)動(dòng)的編寫與調(diào)試是以數(shù)據(jù)流為導(dǎo)向的,數(shù)據(jù)流的確認(rèn)我們可以采取層層推進(jìn)的方式進(jìn)行驗(yàn)證。即先驗(yàn)證MAC層,再驗(yàn)證PHY層,再驗(yàn)證接具體的設(shè)備比如PC收發(fā)數(shù)據(jù)。

如下所示

wKgaomTv7TmARPccAAB715-4tFs084.png

二.MAC層回環(huán)

MAC層回環(huán)可以確認(rèn)MAC的DMA和PHY接口等是否工作正常.

MAC層回環(huán)即MAC的MII接口內(nèi)部回環(huán),不到外部PHY上,但是也驗(yàn)證到了MAC的PHY接口。

見手冊16 Using the Loopback Mode

使能MAC回環(huán)需要配置寄存器MAC_Configuration的LM位為1

wKgZomTv7TmAemNZAAC08pFmVCw142.png

有以下需要注意的地方:

1.只能使用全雙工模式

2.MAC回環(huán)也需要RXC時(shí)鐘,正常RXC時(shí)鐘來源于PHY,所以要不就使用PHY正常工作,要不就使用其他方式提供RXC時(shí)鐘。很多時(shí)候MAC回環(huán)不通就是RXC或者TXC沒有,所以先使用示波器確認(rèn)這兩個(gè)信號。

對于RTL8211F可以通過如下寄存器查看RXC是否輸出

wKgaomTv7TqAYgVqAAJNGpil5zU184.png

同時(shí)確認(rèn)如下寄存器是否是LPI停止了RXC

最好如下寄存器按照默認(rèn)配置為0,即LPI時(shí)不停止RXC

wKgZomTv7TuAM6COAACikgoDESI795.png

還有需要注意的是我這里實(shí)測是要接上網(wǎng)線到電腦,Link OK狀態(tài)BMSR的bit2為1,才能MAC回環(huán)。否則MAC回環(huán)不通。

3.不要回環(huán)大包

三.PHY層回環(huán)

配置PHY寄存器0的bit14為1

wKgaomTv7TuAToDHAAHzsZNacgM975.png

四.ARP測試數(shù)據(jù)收發(fā)

發(fā)送ARP請求,電腦會(huì)自動(dòng)返回ARP響應(yīng)以測試回路。

ARP請求包格式如下

DA 6字節(jié)目的MAC地址,設(shè)置為全FF廣播
SA 6字節(jié)源MAC地址
Type 2字節(jié)Type 0x0806
HWType 2字節(jié) 0x0001
ProtocolType 2字節(jié)0x0800
HWSize 1字節(jié)0x06
ProtocolSize 1字節(jié)0x04
Opcode 2字節(jié)0x0001
6字節(jié)發(fā)送端MAC地址
4字節(jié)發(fā)送端IP地址
6字節(jié)目的端MAC地址,未知所以全0
4字節(jié)目的端IP地址
18字節(jié)填充0,使得包長(DA到FCS)64字節(jié)

ARP響應(yīng)包,和請求對比Opcode不一樣,MAC和IP的源和目的反向。

DA 6字節(jié)目的MAC地址
SA 6字節(jié)源MAC地址
Type 2字節(jié)Type 0x0806
HWType 2字節(jié) 0x0001
ProtocolType 2字節(jié)0x0800
HWSize 1字節(jié)0x06
ProtocolSize 1字節(jié)0x04
Opcode 2字節(jié)0x0002
6字節(jié)發(fā)送端MAC地址
4字節(jié)發(fā)送端IP地址
6字節(jié)目的端MAC地址,未知所以全0
4字節(jié)目的端IP地址
18字節(jié)填充0,使得包長(DA到FCS)64字節(jié)

1.注意最低64字節(jié)的幀長要求

TDES3的CPC設(shè)置為00可以自動(dòng)填充。

wKgZomTv7TuAYlF_AAJHv81cH2A532.png

2.使用wireshark抓包確認(rèn)

wKgaomTv7TyAeo__AAFrOXIeDvk285.png

wKgZomTv7TyAew9rAAFNcBRl-Zg050.png

五.總結(jié)

1.MAC層回環(huán)不通,則確認(rèn)RXC和TXC是否有時(shí)鐘,確認(rèn)DMA_Debug_Status0的收發(fā)狀態(tài)和描述符的相關(guān)寄存器(后面會(huì)單獨(dú)詳講收發(fā)的調(diào)試)。

2.PHY層回環(huán)不通則確認(rèn)PHY是否處于LINK Ok狀態(tài),邏輯分析儀監(jiān)控MII接口等。

3.ARP測試不通,則確認(rèn)發(fā)送包是否填充到了64字節(jié);確認(rèn)網(wǎng)線,硬件分析儀抓包等。

審核編輯 黃宇

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

    關(guān)注

    5087

    文章

    19150

    瀏覽量

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

    關(guān)注

    40

    文章

    5447

    瀏覽量

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

    關(guān)注

    31

    文章

    5358

    瀏覽量

    120771
  • 數(shù)據(jù)流
    +關(guān)注

    關(guān)注

    0

    文章

    120

    瀏覽量

    14382
  • 驅(qū)動(dòng)開發(fā)

    關(guān)注

    0

    文章

    130

    瀏覽量

    12090
收藏 人收藏

    評論

    相關(guān)推薦

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-MAC幀格式介紹

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-MAC幀格式介紹 (qq.com) 一.前言 ? 在以太網(wǎng)
    的頭像 發(fā)表于 08-30 09:23 ?2452次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-MAC幀格式介紹

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-MDIO驅(qū)動(dòng)編寫與測試

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-MDIO驅(qū)動(dòng)編寫與測試 一.前言
    的頭像 發(fā)表于 08-30 09:37 ?3848次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-MDIO<b class='flag-5'>驅(qū)動(dòng)</b>編寫與測試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-描述符鏈表介紹

    of descriptors)。DMA根據(jù)描述符鏈表自動(dòng)在FIFO和用戶指定的緩存之間搬運(yùn)數(shù)據(jù)。對于熟悉新思的IP的用戶來說,這種套路會(huì)有似曾相識的感覺,沒錯(cuò)新思的大部分高速IP的數(shù)據(jù)流都是這么處理的,比如在DWC
    的頭像 發(fā)表于 08-30 09:39 ?4617次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-描述符鏈表介紹

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-收發(fā)驅(qū)動(dòng)編寫與調(diào)試

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-收發(fā)驅(qū)動(dòng)編寫與調(diào)試 (qq.com) https://mp.wei
    的頭像 發(fā)表于 09-05 08:47 ?2391次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-收發(fā)<b class='flag-5'>驅(qū)動(dòng)</b>編寫與調(diào)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-無OS環(huán)境移植LWIP

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-無OS環(huán)境移植LWIP (qq.com) https://mp.weixin.qq.com/s
    的頭像 發(fā)表于 09-06 08:40 ?1682次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-無OS環(huán)境移植LWIP

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP的堆管理介紹

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP的堆管理介紹 (qq.com) https://mp.weixin.qq.com/s
    的頭像 發(fā)表于 09-08 08:40 ?1379次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-LWIP的堆管理介紹

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-RTOS環(huán)境移植LWIP與性能測試

    本文轉(zhuǎn)自公眾號,歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-RTOS環(huán)境移植LWIP與性能測試 (qq.com) https://mp.weixin.qq.com/s
    的頭像 發(fā)表于 09-11 11:20 ?2228次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-RTOS環(huán)境移植LWIP與性能測試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP在PC上進(jìn)行開發(fā)調(diào)試

    本文轉(zhuǎn)自公眾號歡迎關(guān)注 基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP在PC上進(jìn)行開發(fā)調(diào)試 (qq.com) https://mp
    的頭像 發(fā)表于 09-11 08:40 ?2092次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-LWIP在PC上進(jìn)行<b class='flag-5'>開發(fā)</b>調(diào)試

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP的定時(shí)器模塊詳解

    才會(huì)編譯,也是默認(rèn)配置。 2.2數(shù)據(jù)結(jié)構(gòu) 定時(shí)器的核心數(shù)據(jù)結(jié)構(gòu)是一個(gè)單向鏈表,鏈表的節(jié)點(diǎn)如下 struct sys_timeo { struct sys_timeo * next ; u32_t time;sys_timeout_handler h; void *arg;
    的頭像 發(fā)表于 09-18 09:33 ?1747次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-LWIP的定時(shí)器模塊詳解

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-LWIP的ICMP模塊介紹與PING收發(fā)測

    Protocol因特網(wǎng)控制消息協(xié)議。 ICMP是網(wǎng)絡(luò)層協(xié)議,IP不可分割的一部分。 ICMP用于報(bào)告數(shù)據(jù)報(bào)處理中的錯(cuò)誤,比如以下情況下時(shí)發(fā)送ICMP消息:當(dāng)數(shù)據(jù)報(bào)無法到達(dá)其目的地時(shí),當(dāng)網(wǎng)關(guān)沒有轉(zhuǎn)發(fā)數(shù)據(jù)
    的頭像 發(fā)表于 09-18 17:51 ?2086次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-LWIP的ICMP模塊介紹與PING收發(fā)測

    設(shè)計(jì)軟件核心以太網(wǎng)服務(wù)質(zhì)量數(shù)據(jù)手冊免費(fèi)下載

    本文描述Synopsys設(shè)計(jì)軟件核心以太網(wǎng)服務(wù)質(zhì)量DWC以太網(wǎng)QoS核心5.10A。DWC以太網(wǎng)
    發(fā)表于 10-23 08:00 ?16次下載
    設(shè)計(jì)軟件核心<b class='flag-5'>以太網(wǎng)</b>服務(wù)質(zhì)量<b class='flag-5'>數(shù)據(jù)</b>手冊免費(fèi)下載

    DesignWare核心以太網(wǎng)服務(wù)質(zhì)量數(shù)據(jù)

      本文檔介紹Synopsys DesignWare核心以太網(wǎng)服務(wù)質(zhì)量(DWC_Ethernet_qos)核心,5.10a。DWC_Ethernet_qos實(shí)現(xiàn)了與MAC層相關(guān)的以太網(wǎng)
    發(fā)表于 03-31 15:11 ?3次下載

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-包過濾

    以太網(wǎng)數(shù)據(jù)非常多,如果所有數(shù)據(jù)都接收交給軟件去處理軟件負(fù)載會(huì)非常重,所以一般只需要接收發(fā)給自己的數(shù)據(jù)即可
    的頭像 發(fā)表于 09-02 09:19 ?1883次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-包過濾

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-軟復(fù)位介紹與問題案例

    一般模塊都會(huì)有軟復(fù)位的功能,軟復(fù)位在驅(qū)動(dòng)編寫中很重要。一般初始化時(shí)執(zhí)行軟復(fù)位使得模塊進(jìn)入確定的初始狀態(tài)以提高可靠性,異常時(shí)也可以重新初始化來恢復(fù),所以軟復(fù)位在驅(qū)動(dòng)中一般是必須要做的動(dòng)作。
    的頭像 發(fā)表于 09-02 09:17 ?1721次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-軟復(fù)位介紹與問題案例

    基于DWC_ether_qos以太網(wǎng)驅(qū)動(dòng)開發(fā)-描述符格式介紹

    前面我們介紹了描述符鏈表的工作模式,重點(diǎn)是了解環(huán)形鏈表是如何環(huán)形的,以及相關(guān)的寄存器。驅(qū)動(dòng)編寫就需要更進(jìn)一步,了解描述符的具體內(nèi)容,即4個(gè)描述符的每個(gè)字段的含義。
    的頭像 發(fā)表于 09-04 14:14 ?2759次閱讀
    基于<b class='flag-5'>DWC_ether_qos</b>的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>-描述符格式介紹