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

2024-04-29 17:52

本文主要是介绍MACH网关 SENT-ETH数据读取与控制(CAN通讯协议网关),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

图片

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

图片

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

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

byte2 = 0x60中的6(7-4bit)是数据长度(即6个半字节),0x0代表状态。
在这里插入图片描述

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

在这里插入图片描述

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时
在这里插入图片描述

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数据的控制报文进行讲解。

在这里插入图片描述

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

在这里插入图片描述

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

最后得出

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}
详询段工:13824417328

这篇关于MACH网关 SENT-ETH数据读取与控制(CAN通讯协议网关)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946752

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=