can 总线通信协议开发_Simulink应用层开发—CAN总线信号处理
1.CAN总线信息,是整车各控制器之间交互的信息。根据J1939要求编制CAN通讯矩阵。总线数据都未解析的整型数据。
2. 在Simulink应用层中,我们需要用实际值进行整车的实时计算,因此CAN总线发出的数据是不能直接用的,因此需要在应用层进行计算,计算出实际值后再参与整车计算。
CAN总线数据计算一般是按照:总线值*精度+偏移量;
举个例子:CAN总线发出电机转速,精度为1,偏移量为-10000;
通常在计算后加上限值 以免计算出的实际值超出合理的范围。
3. 有的CAN总线处理也会放到底层去处理,底层通过计算解析后,将实际值发到应用层,应用层可以直接用了。但是这对于整机厂,特别是没有掌握底层主动权的厂家,对后期更新总线信号,比较麻烦。
4.值得注意的是在应用层处理总线信号时,变量的数据类型定义一定严格按照总线定义上进行定义,在计算输出时有的会改变数据类型,这是要根据实际情况修改输出变量的数据类型;这样有利于后面的计算,也减少运行时出错率。
5. 根据MAAB建模规范,像精度和偏移量这种常量不能直接用常数模块直接表示了,而是通过变量进行定义,用变量定义的好处在于,数据参数保密性,不容易修改,并且也方便后期调试的时候在线更改参数等。当然规范是死的,大家可以根据自己的建模习惯来。
纯属个人理解,接受批评指正,欢迎技术讨论共同进步。
can 总线通信协议开发_Simulink应用层开发—CAN总线信号处理相关推荐
- 基于STM32开发板I²C总线通信协议浅析
基于STM32开发板I²C总线通信协议浅析 一.前言 I²C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980 ...
- 基于STM32开发板CAN总线通信协议浅析
基于STM32开发板CAN总线通信协议浅析 一.前言 控制器局域网(Controller Area Network,CAN),是由德国BOSCH(博世)公司开发,是目前国际上应用最为广泛的现场总线之一 ...
- 传感器i2c与arduino连接_如何在两个Arduino开发板之间使用I2C总线进行通信
在之前的文章中,我们介绍了Arduino之间的SPI通信.今天我们将学习另一种串行通信协议:I2C(内部集成电路).比较I2C和SPI,I2C只有两条线,而SPI使用四条,I2C可以有多个主机和从机, ...
- 嵌入式Linux应用层开发教程(一)基本概念
1 应用层与驱动层 要想学习嵌入式Linux应用层的开发,首先要区分好应用层和驱动层之间的关系.我们在本科阶段学习51等较简单的单片机时,都是把应用层和驱动层混在一个文件里写的.比如拿下面的I2C程序 ...
- 献给android原生应用层开发初学者技术架构选型和整合的方案思路(二)
前篇<献给android原生应用层开发初学者技术架构选型和整合的方案思路(一)> 本篇侧重于安卓创建的创建和后续 demo 中用到的 lib 在 gradle 中的依赖配置,本文假设您已经 ...
- [linux]platform总线机制与wtd驱动开发
Linux之platform总线机制与wtd驱动开发 1.概述: 通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C.IIS.RTC.看门狗等)都被当作平台设备来处理. 从Linux2. ...
- linux驱动开发篇(三)—— 总线设备驱动模型
linux系列目录: linux基础篇(一)--GCC和Makefile编译过程 linux基础篇(二)--静态和动态链接 ARM裸机篇(一)--i.MX6ULL介绍 ARM裸机篇(二)--i.MX6 ...
- 洛达应用层开发教程系列1-UI框架
对于应用层开发来说重要的是什么呢?当然就是UI框架的梳理. 为什么这么说呢?对于我们的项目来说,基本上就是芯片原厂源代码上进行修修补补,而其中最重要的是什么了,无非就是按键,LED,提示音,ANC,通 ...
- 小白误入软件应用层开发
本人2022年应届生毕业,校招误入某公司软件开发组--应用层软件组. 写下自己第一篇在CSDN博客,到今天入职正好20天,说一说自己在部门的感受及寻求大佬指导学习路线. 大学期间虽是电子信息系的学生, ...
最新文章
- java中velocity定义宏标签_velocity自定义标签和指令(转:zwj)
- 用grep命令查找文件中带特定扩展名的字符串
- CentOS升级gcc到4.8.2以支持C++11标准的方法
- 微型计算机c240,PC微机原理实验.doc
- android 剪贴板管理器,安卓剪贴板管理(Clipper Plus)
- 建立能持续处理请求的Client端改造
- 程序员,软件测试知多少?
- 【已作废】基于Freeswitch的ASTPP计费系统的安装 (CentOS 7)
- mysql的几种模式_MYSQL复制的几种模式
- python之父的名字-Python 常见双下划线关键字的用法
- Puppet基础篇7-编写第一个完整测试模块puppet
- 21最难调剂年:150万人参加调剂,预扩招18万人!
- Java神鬼莫测之MyBatis实现分页全过程(三)
- C++中使用GSoap
- linux部署springBoot项目不间断运行
- 惠普电脑BIOS设置图文详细介绍
- windows获取显卡的显存
- Python大数据分析(二):大数据技术基础
- Postgres 数据存储位置
- 增长黑客AB-Testing系统设计
热门文章
- matlab repmate,MATLAB中“repmat”与“cat”函数的用法
- Python用@property使类方法像属性一样访问
- Django框架(14.Django中模型类的关系,以及模型类关联查询)
- opengl加载显示3D模型RAW类型文件
- OpenCASCADE绘制测试线束:几何命令之概述
- OpenCASCADE:适用于 iOS 的 OCCT 示例
- wxWidgets:在 Unix (GTK+) 下打印
- boost::type_erasure::subscriptable相关的测试程序
- boost::system模块实现动态链接库的测试程序
- boost::mpl模块实现single_view相关的测试程序