登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
S32K148+LAN8720+lwip移植+modbus-tcpip调试
S32K148+LAN8720+lwip移植+modbus-tcpip调试
[ 复制链接 ]
第璋胁
2025-8-1 15:35:55
计划一个月写一篇技术博客的,七月份又忘了,最近忙着调试新的硬件平台和移植新的功能,今天把七月份内容补上。
主要内容:S32K148+LAN8720+lwip移植+modbus调试
本次调试难点:
1)基于S32K148芯片调试lwip内容网上资料特别少,大部分底层知识需要自己查资料,看datasheet,查官方论坛;
2)S32K148+LAN8720这种组合更少,网上资料90%内容都是STM32+LAN8720,但是这部分内容需要参考学习,对于新平台有很大的帮助;
3)需要了解lwip硬件实施架构,phy电路,lwip协议栈知识以及软件移植;
4)modbus-tcpip协议基础知识
其中第3点和第4点,我觉得可以找到很详细的资料学习,第1点和第2点更多涉及硬件电路,需要较强的能力和经验,也是本次调试耗时最长的部分。
接下来我从硬件电路和软件移植两个大方面总结记录整个过程。
1 S32K148硬件电路
这部分主要定义好ENET的引脚资源,主要包括RMII接口或MII接口、SMI接口,这里需要注意一个引脚RMII_REF_CLK,这个引脚我找了好久在datasheet上一个角落发现,它把RMII_TX_CLK复用为RMII_REF_CLK
其实这部分电路也涉及到PHY电路,因为tcpip通信有一个重要信号就是时钟信号,这个时钟信号和RMII/MII接口,100M/10M网速有关,也和PHY芯片有关。本次时钟信号采用的PHY信号输出到S32K148,并把它作为RMII_REF_CLK。
2 LAN8720电路
2.1 RMII接口;
根据引脚引脚定义分别连接S32K148和LAN8720
2.2 电源部分主要包含3.3V和1.2V
3.3V电源都是常规电路,主电源LDO输出一个3.3V给LAN8720,
1.2V电源非常重要,涉及到你是采用外部1.2V,还是内部1.2V,绝大多数设计都是采取8720本身自带的1内部1.2V稳压。这里面就涉及到如果采用内部1.2V,8720的LED1引脚需要下拉接地,注意VDDCR可以直接悬空
2.3 时钟信号+晶振电路
RMII接口输出100M数据信号需要一个50M的时钟信号,8720本身可以通过25M晶振倍频到50M,然后在输出给S32K148,这部分可参考别的资料。
2.4 LED电路
LED1引脚下拉接地或上拉接电源,涉及1.2V电源使用选择,我们直接拉地
LED2引脚下拉接地或上拉接电源,涉及CLK_IN_mode和CLK_OUT_mode,我们直接拉地
2.5 SMI接口
MDC和MDIO按照引脚连接
2.6 RJ45接口
根据项目需求,选好RJ45插座
2.7 硬件复位
复位引脚连到S32K148的一个gpio
2.8 PHY地址
3 软件准备
3.1 开发环境
S32DS for ARM
3.2 基础配置
3.2.1引脚
3.2.2时钟
3.2 lwip移植
S32K148使用S32DS for ARM开发环境可以直接配置外设,其中包括配置ENET和TCPIP中间件,
3.2.1 ENET配置跟着官方教程即可
3.2.2 tcpip配置
本次调试使用裸机配置,删除FreeRTOS组件即可切换成裸机配置,后续Datalink、IP Network、Transport都可参考官方例程,IP层有一个ICMP协议需要打勾,后续调试ping的原理就是根据ICMP协议自动收发的
app中你可以选择UDP_ECHO(UDP回环),或者TCP_ECHO
3.3初始化
初次调试,可直接参考官方test.c文件,学习里面初始化过程,调用哪些函数(需要具备lwip基础知识才能看懂),后续再根据自己实际项目,重新做一个初始化函数
重点函数netif_add();enet_ethernetif_init();enetif_low_level_init();
SMI介质接口管理主要就是读取PHY寄存器和写入PHY寄存器,这部分很简单
3.4 调用函数
本次可以直接调用官方例程函数,先调试通,后续博客章节我在慢慢梳理这部分内容,包括初始化函数、tcpip服务器模式、tcpip客户端模式
3.5 lwip测试
根据你的IP地址,ping 192.168.100
4 modbus协议
其实熟悉modbus-rtu协议之后,调试modbus-tcpip会非常简单,之前博客我写过modbus-rtu的移植过程,但是此次modbus-tcpip我会换一种思路
我用modbus-poll做的测试,右下角就是IP地址和modbus-tcpip的端口
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
S32K148
LAN8720
lwip
移植
modbus
相关帖子
树莓派4B 基于 ubuntu24 移植 Ruoyi
通过Ubuntu虚拟机+Linux移植LVGL并通过linux Frame buffer显示
Easy_log移植笔记
Modbus-RTU报文结构及常用功能码详解
将LVGL移植到CH585M单片机
LWIP TCP滑动窗口为TCP ZeroWindow的解决方法
Java Modbus主流开发方案对比
lwip-autoip
RK35XX 嵌入式linux移植usblib
化工反应釜全流程监控中Modbus TCP 转DeviceNet协议下西门子 S7-1200
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
树莓派4B 基于 ubuntu24 移植 Ruoyi
0
827
靛尊
2025-06-06
安全
通过Ubuntu虚拟机+Linux移植LVGL并通过linux Frame buffer显示
1
916
殷罗绮
2025-06-08
安全
Easy_log移植笔记
0
768
毕余馥
2025-06-11
安全
Modbus-RTU报文结构及常用功能码详解
0
756
毡轩
2025-06-11
安全
将LVGL移植到CH585M单片机
0
801
慎气
2025-06-11
业界
LWIP TCP滑动窗口为TCP ZeroWindow的解决方法
0
456
殳世英
2025-08-07
安全
Java Modbus主流开发方案对比
0
860
焦尔蕾
2025-09-13
业界
lwip-autoip
0
87
撷监芝
2025-09-17
安全
RK35XX 嵌入式linux移植usblib
0
302
少屠
2025-09-26
科技
化工反应釜全流程监控中Modbus TCP 转DeviceNet协议下西门子 S7-1200
0
574
襁壮鸢
2025-10-12
回复
(1)
郁兰娜
前天 01:27
回复
使用道具
举报
照妖镜
谢谢分享,试用一下
vip免费申请,1年只需15美金$
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
签约作者
程序园优秀签约作者
发帖
第璋胁
前天 01:27
关注
0
粉丝关注
13
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
3934307807
993678
4
富账慕
10004
5
刎唇
9993
6
柴古香
9989
7
烯八
9972
8
匝抽
9986
9
筒濂
9977
10
孙淼淼
9983
查看更多