首页 > 代码库 > W5100——TCP/UDP通讯

W5100——TCP/UDP通讯

前段时间接触到W5100这款集成了PHY的以太网芯片,用作工业场合的通讯以及数据传输功能,现在回顾一下当时调试代码的经过。

大概框架:  stm32F4通过8位FSMC总线和W5100通讯。

用这款芯片的理由:集成了PHY,避免了外部再接转换芯片,另外有4个独立的SOCKET,可并行工作。

 

TCP:

  服务器端:

  配置FSMC端口--->IP和端口绑定(打开了并行总线和自加位,写入gateway和IP)--->Socket初始化--->监听Socket--->任务子函数

  客户端:

  配置FSMC端口--->IP和端口绑定 --->Socket初始化--->中断服务函数

 

UDP:

  组网广播:

  配置FSMC端口--->IP和端口绑定(配置置目的地址IP)--->Socket初始化 --->Socket处理函数

 

FSMC总线时钟过大,导致数据丢帧。增大分频系数即可解决。

 

TCP客户端比服务端复杂,事因为客户端的处理函数比服务端麻烦,而且客户端的状态比服务端多,服务端开启之后,只需要监听客户端是否接入,对应将接入的客户端数据处理返回即可。

UDP在传输过程中,前面8个字节用来存放发送IP,目的端口,数据长度,后面的才是帧数据,这样针对不同的IP端口,便于执行不同的服务函数。

以上两个Socket同时开启,可以正常传输数据。但是发热量有点大,芯片温度比周围其他芯片烫,网上百度说是集成PHY的原因。目前暂时没发现其他问题。

 

 

具体的手册和相关资料,见网站:http://www.9mcu.com/9mcubbs/forum.php?mod=forumdisplay&fid=432

 

W5100——TCP/UDP通讯