嵌入式之网络接口方案介绍与驱动调试方式总结

什么是MAC

嵌入式网络形态各异,有的需要一个网口,有的需要两个网口,有的需要8个网口,不同的形态网络的方案 不一致,一版工业上或者消费电子SOC片上系统仅支持1~2个mac;如果需要多个网口如何做?
先了解一下什么是mac
MAC就是网络的数据链路层,phy就是物理层
嵌入式之网络接口方案介绍与驱动调试方式总结_第1张图片数据链路层

数据链路(逻辑线路):在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。实现这些规程或协议的硬件和软件加到物理线路,这样就构成了数据链路。从数据发送点到数据接收点(点到点 point to point)所经过的传输途径。
数据链路层控制的主要作用如下:大家可以看一下自己是SOC关于网络的mac的描述
嵌入式之网络接口方案介绍与驱动调试方式总结_第2张图片

通过MDIO进行对phy寄存器的配置,通过MII/RMII接口对phy进行网络数据传输

嵌入式之网络接口方案介绍与驱动调试方式总结_第3张图片

网络方案介绍

1.一个网卡芯片方案

mac + phy可以完成一个最基本的网络传输,该方案最简单,针对于驱动来讲只需要关注phy的地址、上电时序、phy的工作电压、时钟。如果硬件做的足够好 根本没驱动什么事情!!!!。如果你的phy无法识别请一定确认硬件,如果你的phy ping异常确认一下mac地址和MII接口的电压
嵌入式之网络接口方案介绍与驱动调试方式总结_第4张图片

多个网卡芯片方案

采用交换芯片方案进行级联扩展 可以扩展多个网卡芯片,
该方案在调试起来稍微复杂一些,需要关注两个大方向
1.交换芯片是否上电可以正常工作
2.SOC to 交换芯片 是否可以识别
可以直接让交换芯片自带网卡进行互联ping测试,交换芯片在上电的时候任意两个网口都是可以互相访问,则交换芯片本身没有问题
接下来需要确认SOC和交换芯片通路,这一点需要确认相接的port口工作状态 是否一致
如是否都工作在100M 速率,全双工模式,是否支持自协商(需要禁止自协商)?
嵌入式之网络接口方案介绍与驱动调试方式总结_第5张图片
还有一种方案就是SOC上的mac不够用了怎么办? 可以采用PCIE 接交换芯片的方式
具体的调试方案重点在于PCIE的识别
而PCIE主要的识别调试在于硬件,只要硬件PCIE电路稳定,其实该方案调试起来也很快
PCIE的驱动识别流程内核下是支持的,PCIE的识别也涉及到自协商,具体的感兴趣的可以查看PCIE识别源码
嵌入式之网络接口方案介绍与驱动调试方式总结_第6张图片
可以通过交换芯片扩展级联功能 连接N个网卡
1,注意事项每个交换机是否都可以相邻PORT口互ping
2.需要调试级联接口 统一模式
3.需要调试PCIE接口进行switch识别

嵌入式之网络接口方案介绍与驱动调试方式总结_第7张图片

你可能感兴趣的:(嵌入式之网络接口方案介绍与驱动调试方式总结)