MACH网关 SENT-ETH数据读取与控制(CAN通讯)

电子说

1.3w人已加入

描述


 

can通讯

Mach SAE J2716 SENT 网关模块,厂家的软件只支持了canlib32.dll,但是网关开放的通讯协议可以让其他CAN卡通过CAN报文顺利地使用它。

配置网关CAN通道

如果使用厂家软件,可以通过Kvaser进行连接,需要注意的是记住配置的连接参数,如CAN连接,需知道通道是CAN还是CANFD,波特率,TX和RXID等;亦或者用USB连接,需要知道串口的波特率。


 

can通讯

详询段工:13824417328


 

Ethernet连接就简单很多,在浏览器输入设置的IP即可(前提是PC网口需与网关设置IP在同一网段)。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

当然本文的重点不是用软件如何使用该工具,使用软件可以快捷的去修改设备EEROM中的CAN通道设置,如果是SENT-CAN型号或者没有Kvaser就只能根据通讯协议用CAN报文修改相关参数了。如果配置CAN后忘记参数,就只能用利用设备上的RESET按键了。

can通讯

添加图片注释,不超过 140 字(可选)

can通讯

添加图片注释,不超过 140 字(可选)

厂家推荐CAN设备(CAN接收报文讲解)

用厂家软件配置好后,通过SENT仿真功能发送SENT,然后断开与软件连接,使用CANKing查看CAN报文(网关不具备终端电阻,如果有错误帧试着并个120Ω电阻),注意四通道SENT-ETH使用CAN接收SENT数据就不能用USB连接PC(通过Vin供电),否则仅有串口数据。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

根据通讯协议可知,byte0 = 0x95是网关接收端的数据;byte0 = 0x99是网关发送端的数据(这里收发都使用的SENT-ETH网关模拟)。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

byte1 = 0x01代表SENT2,0x02代表SENT3,也就是SENT3作为发送端,SENT2作为接收端。

byte2 = 0x60中的6(7-4bit)是数据长度(即6个半字节),0x0代表状态。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

当不勾选,即Swap fast data nibbles = 0时


 

can通讯

添加图片注释,不超过 140 字(可选)


 

60代表status=0,DataNibbleCount=6

22为CRC=2,CRCCalculated=2

注意:Swap fast data nibbles = 0(上图中CAN的btye3-5数据由此方法解读),

21(十六进制)代表DATANibble0 = 1,DATA1Nibble1 = 2

43(十六进制)代表DATANibble2 = 3,DATANibble3 = 4

65(十六进制)代表DATANibble4 = 5,DATANibble5 = 6

即21 43 65为SENT的数据,正确读取顺序为0~5 ==> 1 2 3 4 5 6(从左到右数据字节升高)

当勾选,即Swap fast data nibbles = 1时


 

can通讯

添加图片注释,不超过 140 字(可选)


 

60代表status=0,DataNibbleCount=6

22为CRC=2,CRCCalculated=2

注意:Swap fast data nibbles = 1,

21(十六进制)代表DATANibble0 = 2,DATA1Nibble1 = 1

43(十六进制)代表DATANibble2 = 4,DATANibble3 = 3

65(十六进制)代表DATANibble4 = 6,DATANibble5 = 5

即21 43 65为SENT的数据,正确读取顺序为0~5 ==> 2 1 4 3 6 5(从左到右数据字节升高)

其他CAN设备(发送CAN报文讲解)

如果使用其他CAN卡,仅能使用通讯协议进行设备控制。这里偷个懒,将非官方推荐的CAN卡并在网关与Kvaser之间监控厂家软件的控制指令。可以看到厂家软件中的各种实现也都是根据通讯协议实现。下面以发送SENT数据的控制报文进行讲解。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

由于MessageId占用一个字节,所以发送数据的CAN控制报文中,ID=CANID_RX(可进行配置);byte0 = 0x90。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

byte1=0x02即控制通道SENT3(SENT1为0x00),若设置的SENT通道CRC不是SW模式就可忽略该参数,其余参数解释同上节。


 

can通讯

添加图片注释,不超过 140 字(可选)


 

最后得出

Request:ID=0x123,Data={0x90 0x02 0x60 0xA1 0x00 0x00 0x00}Respond:ID=0x321,Data={0x90 0x02}然后SENT3将持续发送数据,从CAN监控就是

ID=0x321,Data={0x99 0x02 0x60 0xA1 0x00 0x00 0x88}

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分