26. HPM Ethercat转Can之主站
26.1. 依赖SDK1.10.0
26.2. 概述
本例程使用HPM6E系列芯片的以太网功能,并基于cherryecat实现ethercat主站功能。本例程使用hpm6e00 full port板子,该硬件可以显示通信状态,并控制通信过程。
特点:
基于cherryecat主站
使用hpm6e00 full port硬件
支持设置Can参数
支持触发和循环发送两种模式
支持整帧或以字节方式发送或接收报文并显示
支持远程帧 标准帧 远程帧
支持USB SH 命令行
26.3. 例程说明
26.3.1. 环境
26.3.1.1. SDK版本
V1.10.0
26.3.1.2. BOARD
HPM6E00_FULL_PORT

详细信息请参考full_port例程。本例程主要使用P3口作为百兆以太网口,屏幕显示,按键控制,USB及UART log口
26.3.2. 软件配置
26.3.2.1. A. 生成工程
通过HPM SDK Project Generator生成segger工程

26.3.3. Ecat主站使用说明
26.3.3.1. 系统介绍
本系统分三个模块,主站,ecat转can网关,can设备。主站即为本例程所示,ecat转can网关参考gateway_ecat2can例程,can设备为hpm5e00evk实现的一个简单can收发设备,用户可使用任意can设备代替。
主站与网关通过网线连接,网关与can设备通过can线连接。
26.3.3.2. 主站显示介绍
初始主界面
主站上电后显示该界面,主要包括Slaves Num(从站数量), State(从站状态, 默认INIT), Trigger(模式,默认为Trigger方式), Tx Num(已发送帧数),Rx Num(已接收帧数), 启停显示。连接从站主界面
主站连接从站成功后,State显示为PREOP,Slaves Num显示为1。设置界面
设置界面显示当前can参数,用户可在该界面设置can参数。主要包括Baud Rate(波特率 默认1M,可设置范围:10k, 20k, 50k, 100k, 125k, 250k, 500k, 800k, 1M),Mode(模式 默认Trigger方式,可设置:Trigger或Cycle),Cycle Time(循环时间, 默认1000ms), Frame Mode(帧模式, 默认标准帧,可设置:Standard或Extended)。数据界面
数据界面显示当前发送和接收的数据。其中发送相关的内容可以通过按键设置,接收相关的内容只显示,不能设置。
发送相关:
tnu:发送帧索引
tlen:发送帧长度,范围:1-8
tid:发送数据id,范围:0-0x7FF(标准帧)或0-0x1FFFFFFF(扩展帧)
trtr:发送数据rtr位,0:数据帧,1:远程帧
tidf:发送数据id是否为扩展id,0:标准帧,1:扩展帧
TX行D0-D7为发送数据的字节。
接收相关:
rlen:接收帧长度,范围:1-8
rid:接收数据id,范围:0-0x7FF(标准帧)或0-0x1FFFFFFF(扩展帧)
rrtr:接收数据rtr位,0:数据帧,1:远程帧
ridf:接收数据id是否为扩展id,0:标准帧,1:扩展帧
RX行D0-D7为接收数据的字节。启动界面

26.3.3.3. 主站按键介绍

主界面操作
长按左键2s可以切换到设置界面,只有在PREOP状态才能切换到设置界面
长按右键2s可以切换到数据界面
短按右键可以启动或停止主站OP状态,即连接好从站后,通过此动作可以进入OP状态(启动界面)
设置界面操作
长按下键2s可以切换到主界面
长按右键2s可以切换到数据界面
短按左右键选择要修改的项,选中的项会变红底色
短按上下键修改参数 主要参数包括:波特率 1000000 800000 500000 250000 125000 100000 50000 20000 10000 模式 Trigger:每按一次上键主站发送一次数据,Cycle:每隔循环时间主站发送一次数据 循环时间(ms) 帧模式 Standard Extended
数据界面操作
长按下键2s可以切换到主界面
长按左键2s可以切换到设置界面,只有在PREOP状态才能切换到设置界面
短按左右键选择要修改的项
短按上下键修改发送参数
26.3.3.4. 主站测试
trigger方式下,每按一次上键,主站发送一次数据,数据内容通过数据界面设置。每次发送完数据Tx Num加1,can设备的数码管加1. ecat转can网关log,表示发送帧rtr为0,dlc为1, id为0
[D] std tx rtr dlc id:0, 1, 0
[I] Module100_ConfigInterfaceWrite0x8000 index:0x8000, subindex:0x20, dataSize:0x2, bCompleteAccess:0x0
[I] pData[0]:0x10
[I] pData[1]:0x0,
cycle方式下,每循环一次,主站发送一次数据,数据内容通过数据界面设置。每次发送完数据Tx Num加1,can设备的数码管加1.默认1000ms发送一帧,相应的Tx Num与数码管每隔1s加1. ecat转can网关log,表示发送帧rtr为0,dlc为1, id为0
[D] std tx rtr dlc id:0, 1, 0
can设备上传数据 can设备发送数据ecat转can网关后,会在主站数据界面显示接收数据的id,rtr,dlc,数据内容。ecat转can网关log,表示接收帧rtr为0,dlc为8, id为0
[D] std rx rtr dlc id:0, 8, 0