自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Eip开源主站EIPScanner在Linux上的调试记录

本文记录了EIP(Ethernet/IP)协议开发的探索过程。作者发现官方文档仅限注册厂商使用,转而参考国外开源社区资料。经过调研,排除了OpENer(仅支持从机方案)后,最终选用EIPScanner开源方案并成功移植。开发前通过在Windows平台使用EtherNET/IPScannerDemo软件与PLC进行通讯验证,配合WireShark抓包工具完成了协议调试。文章分享了相关参考链接,包括开源项目地址、配置教程和演示视频,为EIP协议开发提供了实践路径。

2025-08-04 19:47:28 363

原创 关于AT32在Emac初始化卡在while出不来的问题记录

摘要:AT32_Work_Bench生成的以太网初始化代码存在两个典型问题:1)缺少PHY复位和EMAC总线复位操作(reset_phy()和emac_reset()),添加后即可解决;2)PHY晶振未正常工作导致MCU收不到时钟信号,使程序卡在初始化循环。官方文档指出这是常见硬件配置问题,需检查PHY晶振电路。该案例揭示了自动生成代码可能存在关键步骤缺失,需结合官方例程和硬件原理进行验证调试。(149字)

2025-08-04 19:19:22 124

原创 Ecat主站-SOEM初始化时卡在safeop到不了op状态的问题调试记录

摘要:本文分析了EtherCAT主站在初始化多个伺服从站时,部分从站卡在SafeOp状态无法进入Op状态的问题。通过对比正常控制器报文发现PDO周期收发和0x120/0x130寄存器操作是关键。排查发现1ms同步周期被中断打断导致时序不稳,通过优化定时器精度、调整同步周期为2ms暂时解决问题,最终方案在初始化阶段采用500us周期收发确保进入Op状态后恢复1ms周期。该方法通过优化通讯时序解决了从站初始化问题,但未根除关节Ec状态机异常导致的故障。

2025-08-04 18:59:23 197

原创 Eip开源从站Opener在MCU上的移植调试记录(四 调优过程)

摘要:文章详细记录了工业通信协议栈的实时性优化过程。通过调整FreeRTOS任务优先级(将底层网络任务设为最高优先级),50ms通讯周期从105ms降至96ms。使用Wireshark抓包分析发现实际抖动仅±30us,证明系统满足要求。进一步将周期压缩至20ms/5ms/2ms时,通过优化EDS配置和调整Opener线程处理机制,最终实现±40us的抖动。同时针对内存占用问题(从144KB优化至71KB),通过分析MAP文件减少缓冲区分配,并调整系统堆空间配置。实验数据表明,优化后系统实时性和资源利用率显著

2025-07-15 09:11:21 1082

原创 Eip开源从站Opener在MCU上的移植调试记录(三 调试过程)

调试PLC与RT-THREAD通信问题的解决方案 调试过程中发现三个关键问题及解决方法: ForwardOpen失败:通过定义OPENER_CONSUMED_DATA_HAS_RUN_IDLE_HEADER解决字节数不匹配问题 UDP创建失败:通过调整lwip内存配置(增加MEM_SIZE、MEMP_NUM_UDP_PCB等参数)解决内存不足问题 Socket选项设置失败:启用lwip的SO_REUSEADDR功能 调试方法: 开启Opener日志功能(修改trace.h) 对比正常与异常设备的报文差异 逐

2025-07-12 18:30:29 409

原创 Eip开源从站Opener在MCU上的移植调试记录(二 移植过程)

摘要:本文记录了RT-THREAD系统移植opener源码的过程。主要解决了C99语法支持、stdio库重定义冲突、微库未定义函数以及lwip库枚举冲突等问题。关键步骤包括:启用C99模式、修改串口重定向代码、实现assert/exit/time等函数、处理库冲突等。移植过程中需重点关注opt.h、lwipports.h等配置文件。文章还提供了调试经验分享和相关资源链接。

2025-07-12 18:15:40 321

原创 Eip开源从站Opener在MCU上的移植调试记录(一 准备工作)

摘要:作者分享了将EtherNet/IP协议栈移植到STM32F407平台的经验。通过对比瑞萨官方基于FreeRTOS的方案和RT-Thread的EtherKit开发板方案,最终选择移植RT-Thread版本,因其对opener源码改动较少。移植前提需确保MCU具备网络功能,包括以太网外设初始化、LwIP协议栈正常运行及TCP/UDP通信能力。该过程涉及FreeRTOS与RT-Thread系统差异的适配工作,后续将深入分享具体移植细节。(149字)

2025-07-12 18:07:38 369

原创 DM9000在STM32F407上的网络驱动移植及调试经验分享

本文介绍了基于STM32 MCU通过DM9000扩展双网口的实现方案。首先阐述了项目背景,由于MCU原生仅支持单MAC,需通过外接网络芯片实现双网口功能。接着详细说明了移植过程:1) 配置FSMC总线参数,注意关闭写保护并优化时序;2) DM9000初始化流程,包括硬件复位、PHY配置等关键步骤;3) 数据读写验证方法。文章还总结了驱动开发经验,包括完整的驱动流程和常见问题排查方法,如PHY连接异常可能由网线或初始化时序导致,数据错误可能源于FSMC参数不当或信号干扰等。该方案为MCU扩展网络接口提供了可行

2025-07-07 10:25:45 1293

原创 记:小米温湿度传感器2失效分析

摘要:更换温湿度传感器纽扣电池后,墨水屏仅刷新一次即熄灭。检测发现新电池电压从3.1V降至2.9V,正负极间电阻异常降低至324Ω(正常应为兆欧级)。通过逐步排查,排除了屏幕排线和传感器问题,最终发现是主控附近的电容导致短路。拆除后电阻恢复至1.6MΩ,确认主控等核心元件正常,但具体故障元件未明确锁定。

2025-07-06 09:42:01 379

原创 记一个IAR因include path 过深导致的编译失败问题

摘要:作者在使用瑞萨RZ/N2L芯片时遇到编译问题,官方示例代码在IAR 9.60.3环境下报错。尝试重新安装工具和修改include路径未果,后发现代码路径嵌套过深(如D:\xxx...\snmp_private_mib)导致IAR无法识别。将代码移至根目录后成功编译。作者作为IAR新手,认为路径管理是重要经验。更多技术分享可关注B站"机器人发烧友之家"或咸鱼ID:tb764914262。(148字)

2025-07-04 21:43:42 187

原创 使用EtherNET/IP Scanner Demo软件与PLC进行通讯的配置说明

本文介绍了在Win11系统下使用EtherNET/IP Scanner Demo软件与汇川AC802运动控制器进行EtherNet/IP通讯的配置方法。主要内容包括:硬件连接(PLC网口A与PC直连)、PLC端参数配置(IP地址192.168.1.88,1字节数据收发,2ms周期)、Class1连接设置(点对点模式,路径匹配)以及Class3标签通讯配置。关键注意事项包括确保IP同网段、参数严格匹配等。文章还提供了相关软件下载地址和扩展学习资源。通过该配置可实现PLC与PC间的实时数据交互,适合工业自动化通

2025-07-01 11:59:23 333

原创 Ecat主站-SOEM在MCU上的移植指南

本文介绍了在Linux端使用SoemSOEM库进行EtherCAT主站协议栈移植的关键要点。主要内容包括:1) SOEM库的三大组成部分(Ecat协议栈、OSAL系统层、OSH网络层)及核心函数;2) MCU移植所需的三种资源(系统时钟、网络接口、周期性任务)的具体实现方案,包括定时器配置、MAC外设封装和中断处理;3) 移植过程中的常见问题排查方法,如时钟验证、PHY/MAC协同工作、周期任务同步、从站连接异常等。文章强调移植应遵循"先基础后协议"的思路,确保MCU底层正常运行后再处理

2025-07-01 10:32:55 1095

原创 STM32CUBEMX应对不同版本库的解决方案

本文针对STM32 HAL库版本兼容性问题提出解决方案。原因分析指出新版本HAL库(1.14.1)存在配置项减少、旧代码维护困难等问题。解决方案包括:1)下载指定旧版CubeMX(6.6.1);2)通过Help-Manage界面安装对应HAL库版本(V1.7.12);3)生成代码时取消默认选项,手动选择版本。注意事项提醒新旧版本混用可能导致编译错误,需手动调整。该方案有效解决了版本兼容性问题,提高了旧代码的可维护性。

2025-07-01 10:03:43 451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除