【网络BSP开发经验】交换芯片驱动开发1(RTL8306MB交换芯片驱动开发)
创始人
2025-05-28 18:00:16

文章目录

  • 交换机基础知识
    • 交换机处于网络中的位置
    • 以太网帧结构
    • 端口
    • 二层转发原理
  • 典型网络接口分析
    • SMI
    • MII接口
    • RMII接口
    • GMII接口
  • 典型交换芯片分析
    • RTL8306MB
  • 交换芯片调试过程
    • 交换芯片SDK移植
    • 问题背景
    • 问题解决

交换机基础知识

交换机处于网络中的位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GzIAZnbW-1678890143298)(image/驱动开发学习13交换芯片开发/1675856042249.png)]

以太网帧结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mm7MPlIj-1678890143298)(image/驱动开发学习13交换芯片开发/1675856166581.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B74TPh2F-1678890143299)(image/驱动开发学习13交换芯片开发/1675856211989.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-taqk0Cd8-1678890143299)(image/驱动开发学习13交换芯片开发/1675856241083.png)]

端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JGym2LuS-1678890143300)(image/驱动开发学习13交换芯片开发/1675856272949.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BTGOFPDx-1678890143300)(image/驱动开发学习13交换芯片开发/1675856302211.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SaJKPnb4-1678890143300)(image/驱动开发学习13交换芯片开发/1675856322129.png)]

二层转发原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GeNfnFmJ-1678890143300)(image/驱动开发学习13交换芯片开发/1675856355680.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtNjA4Us-1678890143301)(image/驱动开发学习13交换芯片开发/1675856377399.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6AlXHP1k-1678890143301)(image/驱动开发学习13交换芯片开发/1675856393633.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uwkl9m4y-1678890143301)(image/驱动开发学习13交换芯片开发/1675856432980.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g3pRlF1D-1678890143302)(image/驱动开发学习13交换芯片开发/1675856454445.png)]

典型网络接口分析

SMI

SMI 是MMI管理总线具有 MDIO和MDC两根线,它允许带有smi的外部设备控制PHY的状态以及内部寄存器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cgmyhpFi-1678890143305)(image/驱动开发学习13交换芯片开发/1675857461740.png)]

MII接口

MII(Media Independent interface)即介质无关接口,它是IEEE-802.3定义的行业标准,是MAC与PHY之间的接口。MII数据接口包含16个信号和2个管理接口信号,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5F8URWO-1678890143305)(image/驱动开发学习13交换芯片开发/1678433133794.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DHrHQgSf-1678890143305)(image/驱动开发学习13交换芯片开发/1678433173162.png)]

RMII接口

RMII接口有12个信号线,节省了一半的数据线 ,主要包括四个部分。一是从MAC层到物理层的发送数据接口,二是从MAC层到物理层的接收数据接口,三是物理层与MAC层之间时钟接口,四是MAC层和物理层之间数据管理的MDIO/MDC接口。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eduz8sBF-1678890143305)(image/驱动开发学习13交换芯片开发/1678431840207.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-34nSHUbs-1678890143306)(image/驱动开发学习13交换芯片开发/1678433209732.png)]

其中CRS_DV是MII中RX_DV和CRS两个信号的合并,当物理层接收到载波信号后CRS_DV变得有效,将数据发送给RXD。当载波信号消失后,CRS_DV会变为无效。在100M以太网速率中,MAC层每个时钟采样一次RXD[1:0]上的数据,在10M以太网速率中,MAC层每10个时钟采样一次RXD[1:0]上的数据,此时物理层接收的每个数据会在RXD[1:0]保留10个时钟。

GMII接口

GMII(Gigabit Media Independant Interface),千兆MII接口。GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式。GMII接口数据结构符合IEEE以太网标准,该接口定义见IEEE 802.3-2000。信号定义如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ytadFdxY-1678890143306)(image/驱动开发学习13交换芯片开发/1678433386429.png)]

综合分析网络接口都具有几根共性的线:

时钟线:都是由PHY侧向MAC侧提供时钟

SMI线:管理PHY寄存器

RXDV: PHY侧向MAC侧告知数据发送

TXEN:MAC侧向PHY侧告知数据发送

典型交换芯片分析

CPU集成MAC外接switch芯片,switch内部一般是N个PHY和N+1个MAC,通过CPU的MAC与Switch的MAC使用MII/RMII等接口MAC-MAC方式连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZWaUb0IP-1678890143306)(image/驱动开发学习13交换芯片开发/1678438731786.png)]

为了可以进行这样的连接,switch与CPU连接的那个MAC口通常可以配置成PHY模式,这个时候从CPU的角度来看,switch与之连接的端口可以看成一个PHY。

RTL8306MB

RTL8306MB-CG是6端口10 / 100M以太网交换机控制器,将用于10Base-T和100Base-TX操作的内存,六个MAC和五个物理层收发器集成到单个芯片中。它支持(T)MII / RMII接口,以使外部设备连接到第六个MAC。外部设备可以是路由引擎,HomePNA,HomePlug或VDSL收发器,具体取决于应用程序。

特征:
基本切换功能
具有存储器和收发器的6端口开关控制器,用于10Base-T和100Base-TX
无阻塞线速收发,无阻塞头转发
兼容IEEE 802.3 / 802.3u自动协商
内置用于数据包缓冲区的高效SRAM,具有2K条目查找表
2048字节最大数据包长度
完全支持流量控制
半双工:背压流量控制
全双工:IEEE 802.3x流控制
支持与外部MAC或PHY的(T)MII / RMII接口连接

支持最多16个VLAN,并且支持VLAN学习,带有四个独立的IVL过滤。

应用领域:
6端口交换机(10Base-T和100Base-TX)
xDSL /电缆调制解调器路由器或家庭网关应用
HomePNA / HomePlug桥解决方案

RTL8306MB可以通过硬件管脚将MAC5 配置成三种模式:MAC MODE(MII ) , PHY MODE(MII) ,RMII MODE。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XT8cqmGn-1678890143306)(image/驱动开发学习13交换芯片开发/1678433035626.png)]

交换芯片调试过程

交换芯片SDK移植

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p6rLUE3O-1678890143306)(image/驱动开发学习13交换芯片开发/1678434225792.png)]

其中RTL8306E管理接口为MDC/MDIO,MDC为时钟,MDIO为传输数据…源代码使用两个GPIO引脚来模拟MDC/MDIO信号。将此驱动程序移植到客户平台需要创建文件mdcmdio.c和mdcmdio.h。在这些文件中, 需要实现smi通信逻辑 。如果已经有SMI读写接口再包装一层即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-na1kPJKb-1678890143306)(image/驱动开发学习13交换芯片开发/1678434501189.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rD7yCsFR-1678890143307)(image/驱动开发学习13交换芯片开发/1678434514692.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5P3w4Az-1678890143307)(image/驱动开发学习13交换芯片开发/1678434541515.png)]

此外还要注意另一个问题,即在SMI读取和写入期间,防止CPU被打断 ,因此在SMIREAD和SMIWRITE中,需要关闭中断以及调度。

问题背景

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z6BR6ygT-1678890143307)(image/驱动开发学习13交换芯片开发/1678437814211.png)]

在这个项目中的rtl8306MB的mac5 就是被配置成RMII MODE ,首先在进行SMI总线调试的时候非常顺利,可以使用SMI读出chipid , 读写交换芯片配置信息。但是在调试RMII总线的过程中发现switch的MAC5没有任何收发包的记录,cpu也没有任何收发包的记录。所以就准备先用示波器寻找原因。

问题解决

我们首先判断RTL8306MB没有配置成RMII模式,也就是说时钟可能没有通过时钟线从RTL8306MB芯片传输到CPU中,所以首先通过示波器读取时钟信号,在硬件上需要断开时钟信号,然后分别读取时钟线两边的信号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wrUCjYbP-1678890143307)(image/驱动开发学习13交换芯片开发/1678435853921.png)]

读取后发现switch侧有50M时钟,MAC侧无时钟,说明RMII模式配置正常。

然后读取数据线上的数据,因为数据线是独立的,所以每一边只要测差分信号的其中一根就行:

我们首先通过电脑向switch芯片发包然后读取switch芯片和CPU之间的 TXD数据线:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yUPDG6UI-1678890143307)(image/驱动开发学习13交换芯片开发/1678436146396.png)]

然后使用cpu通过发包函数,向switch发包:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-949A7oF6-1678890143307)(image/驱动开发学习13交换芯片开发/1678436192826.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-URrvKNh2-1678890143307)(image/驱动开发学习13交换芯片开发/1678436203179.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5mJCLnI1-1678890143308)(image/驱动开发学习13交换芯片开发/1678436214526.png)]

发现 两边的数据线上都是有数据的,这就说明两边都是正常进行发送的。

然后测试TXEN,RXDV

TXEN:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S0R5NFEQ-1678890143308)(image/驱动开发学习13交换芯片开发/1678436291215.png)]

发现TXEN有信号,而RXDV一直没有信号。

所以判断硬件上是不是将TXEN和对端的RXDV 接了起来,为了判断是否是这个问题,我们将TXEN线上的串阻卸下然后在串阻的两端同时检测到使能信号:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7KvARrZQ-1678890143308)(image/驱动开发学习13交换芯片开发/1678437114418.png)]

所以MAC侧和PHY侧的使能信号竟然同时出现在了TXEN信号上。所以就可以确定就是将两端的TXEN和RXDV接起来了。飞线之后发现GMAC收发包正常。

查看芯片手册:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GXOWJvPc-1678890143308)(image/驱动开发学习13交换芯片开发/1678437496966.png)]

从芯片手册上来看,硬件同事犯了一个非常容易犯的错误,因为在RMII默认就是PHY模式,所以将TXEN,和RXDV搞反了,导致了两端的TXEN接到了对端的RXDV上,导致两端都无法收到使能信号,导致GMAC通信异常。

相关内容

热门资讯

2025-2030年中国科技成... ——综述篇—— 第一章、科技成果转化综述及数据来源说明 第一节、科技成果转化界定 一、科技成果的界定...
活力中国调研行:新华社带你感受... 6月16日起,新华社“活力中国调研行”栏目播发系列报道,聚焦新能源汽车和智能制造、人工智能、机器人、...
四家投顾机构被监管“点名” ,... 21世纪经济报道记者 易妍君 广州报道投顾行业的严监管态势仍在延续。近日,湖南证监局先后对两家证券投...
「好嫁风」男人,成了富婆收割机... 订阅 快刀财经 ▲ 做您的私人商学院情绪价值,成了男人最好的「嫁妆」。作者:章鱼编辑 :闫如意来源:...
华夏银行中标结果:山东工程技师... 证券之星消息,根据天眼查APP信息整理,6月20日公布的《山东工程技师学院产教融合实训中心建设项目贷...
前CEO涉嫌职务犯罪,饿了么刮... 在外卖“三国杀”的关键阶段,这一事件会对外卖格局走向有何影响?文|《中国企业家》记者邓双琳编辑|马吉...
高伟达涨5.96%,成交额9.... 6月20日,高伟达涨5.96%,成交额9.08亿元,换手率13.60%,总市值68.65亿元。 异动...
“稳定币”是什么?真的稳定吗?... 这一周股市比较平淡,中东和币圈就很热闹了。最近火遍资本市场的“稳定币”,我没讲这东西,是因为目前完全...
原创 美... 6月20日公布的数据显示,美国6月费城联储制造业指数维持在上月-4的低位,远不及预期值-1。这反映出...
原创 帮... 各位老铁们,今天咱们聊聊楚天龙这出“地天板”大戏。我是帮主郑重,20年财经老记者,专盯中长线机会。这...
920亿海信家电,女掌门谋局空... 记者丨杨松 编辑丨鄢子为一位年轻女掌门,可能搅动空调江湖。6月20日,44岁的高玉玲,首次以董事长身...
成立83天濒临清盘!人事动荡背... 作者 | 刘银平编辑 | 付影来源 | 独角金融新华基金管理股份有限公司(下称“新华基金”)6月19...
“多巴胺带来幸福感”,卖快乐的... 杯子吸管穿过一颗诱人的红色 “苹果”、 彩色小房子样式的拼色化妆包、糖葫芦形状的马克杯手柄……这些突...
顺应行业趋势,广州农商银行拟吸... 6月13日,广州农商银行股东大会召开,审议并批准了关于吸收合并旗下兴宁、鹤山、深圳坪山珠江村镇银行的...
持续调整数日后,创新药ETF还... 近期,港股创新药市场出现波动,多只创新药ETF(交易型开放式指数基金)在近一周内跌幅超过10%,引发...
罗永浩自曝:烧很多钱在AR;被... 在今日举行的极客公园AI大会上,罗永浩作为嘉宾出席,他透露了自己的创业进展和最近经历。 罗永浩表示虽...
“扫地茅”石头科技布局A+H,... “扫地茅”要赴港IPO了!作者|刘俊群编辑|刘钦文扫地机器人专利大战风云再起,又有两家龙头对簿公堂。...
深市REITs四周年答卷:总市... 21世纪经济报道记者 杨坪 深圳报道2025年6月21日,境内REITs落地满四周年。四年前的今天,...
拟4元出售4家家乐福子公司,苏... 6月19日晚间,苏宁易购集团股份有限公司(ST易购,002024.SZ)发布公告称,公司全资子公司苏...
实探|一笔银行授信,缘何成“实... 2023年,科技金融作为“五篇大文章”之首,在中央金融工作会议中被首次提出。 两年时间内,具身智能、...
新消费周报 | 海天味业港股上... 《CBNData新消费周报》精选本周新消费领域最新动态,公司头条、消费风向、营销动态、可持续消费一文...
杰美特(300868.SZ):... 格隆汇6月20日丨杰美特(300868.SZ)公布,公司正在筹划以现金方式购买思腾合力(天津)科技有...
“黄金平替”,价格大涨!年轻人... 铂金,和黄金同属贵金属。前两年,铂金市场行情较为低迷,而近期,铂金价格快速拉升,突破300元每克。从...
订单狂飙100%,运达股份,祭... 既欣喜,又心酸!2025年一季度,在需求回暖和行业自律公约的支撑下,国内陆上风机(含塔筒)的报价已达...
“统一的资本市场”战略背景下券... 文/中国建设银行研究院市场研究团队负责人许璐微,中国建设银行博士后科研工作站博士后徐蕾在“统一的资本...
“世界一流汽车集团”,暂未到来... 始于2月9日的长安汽车与东风汽车重组,不到四个月时间,就出现了新的变数。6月初,长安汽车发布公告称,...
伊以冲突搅动油市:对冲基金蜂拥... 来源:财联社 财联社6月21日讯(编辑 卞纯)随着伊以冲突愈演愈烈,中东地区原油供应所面临的风险正日...
4家子公司股权合计卖4元,经历... 6年前斥巨资收购,6年后拟以4元出售4家子公司。6月19日,苏宁易购集团股份有限公司(以下简称“苏宁...