DBC中一种特殊的特殊的Signal—多路复用Signal

news2024/9/20 0:28:19

前言:

DBC设计中一般设计Signal时其实存在三种类型,如下图所示:

**1)步骤1,鼠标单击展开Message,选中底下的Signal

**2)步骤2,弹出dialog中选择 map signal 

61b003b09e5148168aadfcf747aca5d2.png

**3)得到以下菜单,在Defintion中

7339382cca334eac8245971b4f101592.png

 可以看到,选项Multiplexortype存在三个选项:

**1)Signal   ,这是最常见的一种类型,一般默认也是选择Signal

**2)Multiplexor Signal

**3)Multiplexed Signal

2和3都是复合复用类型,故先要理解以下三个问题

1:) 什么是复合复用类型?

2:) 复合复用类型又是干什么的?
3:) 两种复合复用的关系?

1:) 什么是复合复用类型?

复合复用类型:这种概念有点像C中的共用体的标准,就是可以定义不同的变量(对应的dbc中的是signal),存放于同一内存变量中。

只不过c使用公用体是为了减少RAM内存的使用,而signal的复用则是为了减少总线负债率。

2:) 分清楚Multiplexor Signal和Multiplexed Signal的区别和联系

通过信号复用,可以根据复用值在消息中的相同数据字节上传输不同的信号。包含多路复用值的信号称为Multiplexor Signal(模式信号)。根据多路复用值发送的信号称为Multiplexed(与模式有关)Signals

将人话Multiplexed就是一种标记,可以理解为一组信号组的标号,我们设置一个信号就叫做:Signal_Multiplexor

我自己给这段信号设置了一个ValueTable:添加后效果如下图 :

 然后依次设置以下四个信号:

G1_Signal_1_Multiplexed

G1_Signal_2_Multiplexed

G2_Signal_1_Multiplexed

G2_Signal_1_Multiplexed

加上Signal_Multiplexor一共5个signal,为了方便理解,字节排序方式统一设定为Inter格式,起始位统一设定为inter stand格式。

格式解释,G1/G2是表示分组,后面是信号名,信号名相同的信号表示是同一组复用信号,最后的字符是表示信号是复用信号

第二步:新建一个Message名称New_Message_1,并把所有的信号添加进去。

第三步:点击EditMapingSignal,设置起始位,和信号长度

G1_Signal_1_Multiplexed与G1_Signal_2_Multiplexed是一组,起始位,信号长度必须不存在冲突。

G2_Signal_1_Multiplexed与G2_Signal_2_Multiplexed是一组,起始位,信号长度必须不存在冲突。

最后我们在Meaasge的layout界面看看结果:

注意标注地点,存在三种 选择下拉列表:

1)NO Mul****:指无复合复用类型。CANdb++也是默认选择此类型,此界面下,只能看到Signal_Multiplexor信号

2)Group1:内包含的信号:如下图

3)Group2,如下图:

总结和几点改进意见:

**1)一般情况下:需要Multiplexor标注组别的信号先发送,本例子中,采取的是bit7,先发送,显然是不合理的,建议将Multiplexor_Signal信号放置在Byte0的bit6和bit7位更合适。

2**)复用信号的ValueTable是不能复用的,必须为每个Signal添加一个合适的ValueTable

**3)大家可以尝试选择一组信号,然后任意拖动,也可以改变任意一个signal的长度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118810.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入解读Docker核心原理:Cgroups资源限制机制详解

在容器化技术中,除了资源的隔离,如何有效地控制和分配系统资源同样至关重要。Cgroups(Control Groups) 是Linux内核提供的一个强大机制,允许限制、监控和隔离进程组的系统资源使用情况。Cgroups是Docker实现容器资源限…

用RNN(循环神经网络)预测股票价格

RNN(循环神经网络)是一种特殊类型的神经网络,它能够处理序列数据,并且具有记忆先前信息的能力。这种网络结构特别适合于处理时间序列数据、文本、语音等具有时间依赖性的问题。RNN的核心特点是它可以捕捉时间序列中的长期依赖关系…

【项目】云备份

云备份 云备份概述框架 功能演示服务端客户端 公共模块文件操作模块目录操作模块 服务端模块功能划分功能细分模块数据管理热点管理 客户端模块功能划分功能细分模块数据管理目录检查文件备份 云备份 概述 自动将本地计算机上指定文件夹中需要备份的文件上传备份到服务器中。…

【网络原理】❤️Tcp 核心机制❤️ 通晓可靠传输的秘密, 保姆式教学, 建议收藏 !!!

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

QT QxOrm CRUD增删改查mysql数据库操作

QT QxOrm CRUD增删改查mysql数据库操作 QxOrm 是一个 C 库,旨在为 C 用户提供对象关系映射 (ORM) 功能。 基于每个类的简单 C 设置函数(如 Java 中的 Hibernate XML 映射文件),QxOrm 库提供以下功能: 持久性&#xff1…

安宝特案例 | AR如何大幅提升IC封装厂检测效率?

前言:如何提升IC封装厂检测效率? 在现代电子产品的制造过程中,IC封装作为核心环节,涉及到复杂处理流程和严格质量检测。这是一家专注于IC封装的厂商,负责将来自IC制造商的晶圆进行保护、散热和导通处理。整个制程繁琐…

C语言俄罗斯方块(VS2022版)

C语言俄罗斯方块 演示视频一、前置知识1.Win32 API 的使用2.宽字符的使用 二、封装核心数据与框架介绍三、核心操作介绍旋转操作检测操作水平检测竖直检测代码化简 四、源码展示在 tetris.h 中:在 tetris.c 中:在 test.c 中: 以下代码环境为 …

小阿轩yx-Zabbix企业级分布式监控环境部署

小阿轩yx-Zabbix企业级分布式监控环境部署 前言 “运筹帷幄之中,决胜千里之外”监控在 IT 运维中占据着重要地位,按比例说占 30% 也不为过在监控系统开源软件中有很多可选择的工具,但是真正符合要求的、能够真正解决业务问题的监控系统软件…

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,…

OpenHarmony鸿蒙开发( Beta5.0)智能甲醛检测系统实践

样例简介 本项目是基于BearPi套件开发的智能甲醛检测系统Demo,该设备硬件部分主要由小熊派单板套件和和甲醛检测传感器组成。智能甲醛检测系统可以通过云和手机建立连接,可以在手机上设置甲醛浓度阈值,传感器感知到的甲醛浓度超过阈值之后&a…

QQ邮箱“已发送”邮件竟然无法一键清空?看我操作,怎么删除12万+已发送邮件

最近遇到了一个问题,QQ邮箱提示我空间已满,所以我就专门去看看有哪些邮件可以删除,释放点空间。 我直接暴力删除了很多文件夹的邮件,在文件夹管理界面 有“清空”按钮,点一个即可清空。 但是。。。不出意外的话要出意…

南卡、韶音、墨觉:精选三款旗舰骨传导耳机全面对比评测!

在科技日新月异的今天,耳机作为我们日常生活中不可或缺的音频伴侣,正经历着前所未有的变革。特别是骨传导耳机,凭借其独特的声音传导方式和出色的佩戴体验,逐渐成为了运动爱好者和户外探索者的首选。在众多品牌中,南卡…

Pycharm的安装与Conda环境的配置

目录 第一步:下载并安装 PyCharm 社区版 第二步:创建新项目并配置 Python 解释器 第三步:配置 Conda 环境 第四步:验证环境 第五步:测试 PyTorch 第六步:测试基本 PyTorch 代码 第一步:下…

替代区块链

随着比特币的成功,人们逐渐意识到区块链技术的潜力,并随之出现了迅速的发展,各种区块链协议、应用程序和平台相应产生。 需要指出的是,在这种多元的局面下,很多项目迅速失去了它们的吸引力。事实上,有不少项…

深圳MES系统在制造业的应用与发展

深圳MES在制造业的应用与发展呈现以下几个特点: 应用范围广泛:深圳制造业涵盖了电子、通信、汽车、机械等多个领域,MES系统在这些领域的应用非常广泛。不同行业的企业可以根据自身的需求和特点,定制化地应用MES系统来实现生产管理…

测试即服务(TaaS):概念、优势及应用场景!

引言 随着数字化转型的深入发展,软件质量和用户体验变得愈发重要。传统的软件测试方法已经难以满足现代企业对于快速迭代和高质量交付的需求。在此背景下,“测试即服务”(Testing as a Service, TaaS) 模式应运而生,为软件测试带来了新的解决…

基于SpringBoot+Vue+MySQL的足球俱乐部管理系统

系统展示 用户前台界面 管理员后台界面 系统背景 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统足球俱乐部管理…

Gtest(Google Test)使用

下面Gtest是在arm-linux下运行的 https://download.csdn.net/download/qq_31868891/89729426 一、下载编译 1.下载gtest代码 https://github.com/google/googletest 2.配置编译 vscode安装CMake Tools 将上面下载的gtest代码文件夹拖到vscode里,然后选择对应的…

SAP 凭证的替代传输GGB1

SAP 凭证的替代传输GGB1 之前没有留意过,前人一直是直接改的,搜索了一下是可以这样弄得 1.一般通过OBBH,配置的凭证替代,产生的请求号,从开发机传输不到生产机。只能通过GGB1来传输。在GGB1里面选择要传输的替代 选中…

BookStack在线文档管理系统本地Docker部署与远程访问详细教程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…