网站推广渠道,浙江省建设执业注册中心网站,做lol直播网站,网页制作的基本步骤某个项目中用到了W5500这种自带网络协议栈的网卡芯片#xff0c;由于该项目开发时间很紧#xff0c;就临时网上买了一些模块拼凑到了一套系统#xff0c;经过验证果真这种拼积木的方法只能用在学生实验开发中#xff0c;真不能拿来做工程应用#xff0c;硬件太不稳定很容易…某个项目中用到了W5500这种自带网络协议栈的网卡芯片由于该项目开发时间很紧就临时网上买了一些模块拼凑到了一套系统经过验证果真这种拼积木的方法只能用在学生实验开发中真不能拿来做工程应用硬件太不稳定很容易掉坑。现记录部分发现的问题做下记录
一、W5500网卡运行一段时间ping不通与SPI总线配置速率高低有关系吗
发现系统运行一段时间后网络ping处理器的ip无法ping通且不可恢复起初简单思考W5500是硬件协议栈出了问题应该与应用软件无关可能是自制的W5500 RJ-45 线未经过双绞或SPI总线速率过快导致的问题因此通过将 RJ-45 线双绞并且降低的SPI总线速率。现在仔细想想ping不通真的与SPI总线配置速率高低有关系吗答案是无关。 W5500所在单机系统通过以太网的数据流走向示意图见下图 5500与处理器间通过spi总线进行交互而其交互的协议为UDP或TCP应用协议即W5500只有tcp和udp数据通过spi总线与处理器进行交互。而ping走的icmp协议属于数据链路层协议应用程序协议下的数据流是网关直接通过水晶头与网卡进行交互并不通过spi总线因此ping不通与处理器软件无关也与处理器设置的spi总线速率无关。ping不通不是软件的问题而是网卡水晶头信号干扰或虚接的问题通过降低spi总线速率并不能解决该问题。 扩展像ENC28J60、DM9000等这些非硬件协议栈的网卡由于网络协议栈是由处理器实现因此我们在使用ping指令时除了通过水晶头到达网卡后还需要通过网卡与处理器之间的通信到达处理器协议栈由协议栈返回ping指令应答而这实际是通过了spi或者并行总线的。