芯片应用——W5100TCP/UDP通讯

前段时间接触到W5100这款集成了PHY的以太网芯片,用作工业场合的通讯以及数据传输。大概要做些什么事呢? 首先 stm32F4通过FSMC总线,将待发送的数据传至W5100的tempbuffer中,然后W5100通过TCP或者UDP传输方式,分包将数据发到上位机,存储到上位机设备中,以备后面分析用。

用这款芯片的理由:集成了PHY,避免了外部再接转换芯片,另外有4个独立的SOCKET,可并行工作,具备TCP/UDP/UDP_Broadcasting可分配功能。

 

TCP:

  服务器端:

  配置FSMC端口--->写入gateway和IP--->Socket初始化-->Socket_Listen--->中断服务函数

  客户端:

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

 

UDP:

  组网广播:

  配置FSMC端口--->IP配置--->Socket初始化 --->Socket_UDP处理函数

 

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

写W5100地址的时候,分成高位和低位,读数据和写数据,都是操作W5100的基址后面的3个偏移地址。(具体可参照W5100手册)

 

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

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

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

 

 

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

 

转载于:https://www.cnblogs.com/Blog-c/p/6602319.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值