一名電子信息專業的研究生,熱愛嵌入式開發與硬件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)
以上內容來自先楫開發者的原創分享。
我們始終相信開發者共創的力量。先楫社區堅持開源共享、互惠互利,貼近每一個開發者,一步一個腳印,一點一滴積累,為成為更好的我們而不斷努力。
-
嵌入式
+關注
關注
5198文章
20449瀏覽量
334012 -
開發板
+關注
關注
26文章
6291瀏覽量
118075 -
ethercat
+關注
關注
19文章
1511瀏覽量
45187
發布評論請先 登錄
開發者分享 | 面向工業應用的 HPM5E00 實踐:ADC、SDM 與 EtherCAT
【強勢上新】HPM5E00:EtherCAT運動控制MCU,先楫半導體再拓工業總線產品新版圖
HPM5E00EVK,ecat_io例程,卡在DisableSyncManChannel函數
AltiumDesigner20畫圖不求人7 | 提高AD20啟動速度的方法3關閉軟件與官網的鏈接 | 視頻教程 | 你問我答
AltiumDesigner20畫圖不求人10 | 提高AD20啟動速度的方法六取消加入產品改善計劃 | 視頻教程 | 你問我答
如何用100元制作一塊全志V853 AI 開發板
電池名詞解釋不求人
用Arduino Uno開發板和一塊面包板就能輕松搞定這一切
如何選擇一塊實用的適合自己的單片機開發版
【強勢上新】HPM5E00:EtherCAT運動控制MCU,先楫半導體再拓工業總線產品新版圖
支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0發布
開發者分享 | HPM5E-EC-DEV:基于HPM5E00的EtherCAT開發板分享
開發者分享 | EtherCAT 入門不求人:用 HPM5E00 打造一塊屬于你的開發板
評論