一名电子信息专业的研究生,热爱嵌入式开发与硬件DIY,享受从PCB设计到代码烧录的全流程创造。喜欢探索新方向学习新知识,积极参加电子设计相关活动、比赛,不断提升自己的深度与广度。
前言
本人对EtherCAT相关的技术了解基本为零,本项目的出发点是想让像我一样的小白能够快速学习了解上手。很早前就听说EtherCAT的大名,此前一直想要入门却因各种原因耽搁,再加上淘宝上这类的开发板价格一直居高不下,因此一直没有入手。两个月前听闻HPM的5E00系列发布,进而了解发现新出的HPM5E31IPB1芯片内部集成了EtherCAT的厂家倍福的IP能够直接连接phy,不依赖市面上专有的从站芯片,再加上价格便宜,封装友好(LQFP-100),淘宝上20块就能买到。于是我决定使用这个芯片做一个开发板来学习EtherCAT的相关技术。
1、项目目标
目标是设计一个精简、通用、方便的EtherCAT开发板。
精简:以最小化能够完成EtherCAT从站的基本通信功能为立足点,尽可能降低复杂度。
通用:希望能够外接市面上常用的模块接口,树莓派40P、Arduino UNO或PMOD等 。
方便:因为HPM5E00是RISC-V芯片,不支持市面上常见的那种没有引出JTAG接口的DAP-LINK,而能够直接调试的JLINK V11又价格昂贵,再加上官方EVK使用的FT2232也不便宜且不是很方便(在WIN下换个USB口就可能需要重新安装下驱动)。
因此希望能够板载一个便宜、方便的调试器。
2、确定方案
最终订下的设计方案是尽可能参考官方的5E00EVK,减少翻车风险,完成下面目标:
设计成接近树莓派大小的板子。
使用树莓派40P作为扩展IO接口 。
板载HSLINK调试器。
3、硬件设计
EtherCAT
首先等官方SDK V1.10版本的Pinmux tool发布,参照EVK,完成IO功能选择。这里ESC外设(EtherCAT通信)部分需要注意的点主要是在于ESC.P0和ESC.P1所连接的PHY的物理地址需要设置成不同(即PHY的LED0和LED1脚进行上下拉,组成两位的地址)。来方便对两个PHY进行配置。再就是ESC.CTR要连接到PHY的LED1脚。

电源和基准
这里主要参照EVK,有DCDC:5V->3.3V,3.3V->1.2V,LDO:5V->3.3V,REF:3.3V。理论不需要太高精度的ADC,可以省去很多电源,但作为新手入门还是选择跟着官方的EVK板。

USB
参考EVK,使用电子开关和二极管来完成作为从机时的电源输入和作为主机时的电源输出。

调试器
主要参考开源项目[HSLink Pro](https://cherrydap.cherry-embedded.org/projects/HSLink%20Pro),去掉电压转换。

扩展IO
使用树莓派40P接口,提供常用的扩展IO接口。

软件环境
使用官方的sdk_env start_gui工具编译下载。

4、软件测试
hslink ob
让hpm5301进入boot状态,串口连接电脑。

使用官方的HPMicro_Manufacturing_Tool工具下载[hslink固件(Merger.bin)](https://github.com/cherry-embedded/CherryDAP/releases)。
ECAT测试
软件测试目的以跑通官方的EtherCAT从站IO示例程序为目标。
运行[ECAT_IO示例](https://hpm-sdk.readthedocs.io/zh-cn/latest/samples/ethercat/ecat_io/README_zh.html),配合电脑上的twincat完成。如下为3块板子级联测试OK。

MII以太网测试
软件测试目的以跑通wip_iperf示例程序为目标。
运行[lwip_iperf示例]
(https://github.com/coinlockerbaby/LuckyCAT_SoftWare/tree/main/demo/5_lwip/lwip_iperf),配合电脑上的iperf完成。连接P1网口到路由器。

5、总结
通过这个项目,简单的入门了EtherCAT。成功的跑起来了EtherCAT从站的基本IO示例,为我们后续深入学习奠定了一定的基础。希望这个项目能够帮助到和我一样的初学者,能够快速入门EtherCAT相关的技术。
6、下一步计划
制作电机扩展板,跑通[ECAT_CiA402示例]
(https://hpm-sdk.readthedocs.io/zh-cn/latest/samples/ethercat/ecat_cia402/README_zh.html)。
7、资料汇总
[HPM5E31-KIT硬件PCB]
(https://oshwhub.com/hasaki6/hpm5e31-kit)[HPM5E31-KIT board支持]
(https://github.com/coinlockerbaby/LuckyCAT_SoftWare/tree/main/board/hpm5e00kit)
以上内容来自先楫开发者的原创分享。
我们始终相信开发者共创的力量。先楫社区坚持开源共享、互惠互利,贴近每一个开发者,一步一个脚印,一点一滴积累,为成为更好的我们而不断努力。
全部0条评论
快来发表一下你的评论吧 !