STM32+W5500网络通信

该博客介绍了如何使用STM32微控制器配合W5500以太网模块实现Modbus/TCP协议通信,详细讲解了Modbus/TCP报文格式和功能码,以及W5500模块的特性。同时,讨论了STM32结合W5500进行web服务的编程方法。
摘要由CSDN通过智能技术生成

目录

前言

一.Modbus/TCP协议

1. Modbus/TCP报文格式

2.功能码

 二.W5500以太网模块

1.简介

2.模块排针功能表

三.STM32+W5500+modbus协议编程

四.STM32+W5500的web服务

五.参考文献


前言

掌握W5500网络模块的特点,参在此基础上,实现应用层modbus、httpd(web服务)协议编程。考模块厂商配套资料,完成TCP数据通信、DHCP自动获取IP的程序设计。

一.Modbus/TCP协议

1. Modbus/TCP报文格式

 
起始字符组:于前面再多加6个字符,以定义一些TCP/IP的需要 系数。说明如下: 

Byte0:本次通信Message的编号以2 bytes整数(Byte 0、1)表示,此 byte为上字符,一般是由Master编号之,以区分每次Message。如果是Slave则将Master传来的Query Message照转至Response Message。 

Byte1:本次通信Message的编号下字符。

Byte2:通信协议识别号码以2 bytes整数(Byte 2、3)表示,此 byte 为上字符,于此处为零。 

Byte3:通信协议识别号码下字符,于此处为零。 

Byte4:Message长度以2 bytes整数(Byte 4、5)表示,此 byte 为上字符(由Device Address至Data为止),因为长度不能超过256位,所以此位永远为零。 

Byte5:Message长度下字符(由Device Address至Data为止)。 

由Device Address至Data等资料,都是将 8 bits原始值转换为两码的十六进制ASCII码,所以其实际传送的字符数约为RTU格式的两倍。Data:数个字符是表示每个Function Code有不同数目的详细资料规定。

Modbus规定IP Port No. 为 502。

2.功能码

 Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网线路上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域。

启动Modbus事务处理的客户机创建Modbus应用数据单元。功能码向服务器指示将执行哪种操作。

Modbus协议建立了客户机启动的请求格式。

用一个字节编码Modbus数据单元的功能码域。有效范围是十制制1-255(128-255为异常响应保留)。当从客户机向服务器发送报文时,功能码域通过服务器执行哪种操作。

从客户机向服务器发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理项目的数量以及域中的实际数据字节数。

在某种请求中,数据域可以是不存在的,在此情况下服务器不需要任何附加信息。功能码仅说明操作。

功能码的类型
    功能码主要分为有效功能码、异常功能码和错误功能码。

如果在一个正确接收Modbus ADU中,不出现与请求Modbus功能有关的差错,那么服务器至客户机的响应数据会包含请求中的正常功能码。如果出现与请求Modbus功能有关的差错,那么响应数据会包含一个异常码和错误码。

 二.W5500以太网模块

1.简介

Niren_W5500模块是一款基于WIZnet W5500芯片的以太网模块,是泥人电子继 Niren_W5100模块后设计的一块性能更好、性价比更高的以太网模块。模块集成硬件化TCP/IP协议:内部32K字节存储器作TX/RX
缓存:支持10/100Mbps的传输速率;支持8个独立端口同时运行;同时模块还支持3.3V或5V电源供电,5V供电时还可以输出3.3V电源,方便用户在不同的单片机系统中使用;模块与单片机系统的通讯方式是简单、方便的SPI通信。


2.模块排针功能表

排针标识    功能说明    排针标识    功能说明
3.3V    3.3V电源输入引脚    5V    5V电源输入引脚
MISO    SPI主机输入从机输出引脚    GND    电源地引脚
MOSI    SPI主机输出从机输入引脚    RST    W5500硬件初始化引脚(低电平有效)
SCS    SPI SLAVE选择引脚&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值