1.CAN总线信息,是整车各控制器之间交互的信息。根据J1939要求编制CAN通讯矩阵。总线数据都未解析的整型数据。

2. 在Simulink应用层中,我们需要用实际值进行整车的实时计算,因此CAN总线发出的数据是不能直接用的,因此需要在应用层进行计算,计算出实际值后再参与整车计算。

CAN总线数据计算一般是按照:总线值*精度+偏移量;

举个例子:CAN总线发出电机转速,精度为1,偏移量为-10000;

通常在计算后加上限值 以免计算出的实际值超出合理的范围。

3. 有的CAN总线处理也会放到底层去处理,底层通过计算解析后,将实际值发到应用层,应用层可以直接用了。但是这对于整机厂,特别是没有掌握底层主动权的厂家,对后期更新总线信号,比较麻烦。

4.值得注意的是在应用层处理总线信号时,变量的数据类型定义一定严格按照总线定义上进行定义,在计算输出时有的会改变数据类型,这是要根据实际情况修改输出变量的数据类型;这样有利于后面的计算,也减少运行时出错率。

5. 根据MAAB建模规范,像精度和偏移量这种常量不能直接用常数模块直接表示了,而是通过变量进行定义,用变量定义的好处在于,数据参数保密性,不容易修改,并且也方便后期调试的时候在线更改参数等。当然规范是死的,大家可以根据自己的建模习惯来。

纯属个人理解,接受批评指正,欢迎技术讨论共同进步。

can 总线通信协议开发_Simulink应用层开发—CAN总线信号处理相关推荐

  1. 基于STM32开发板I²C总线通信协议浅析

    基于STM32开发板I²C总线通信协议浅析 一.前言 I²C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980 ...

  2. 基于STM32开发板CAN总线通信协议浅析

    基于STM32开发板CAN总线通信协议浅析 一.前言 控制器局域网(Controller Area Network,CAN),是由德国BOSCH(博世)公司开发,是目前国际上应用最为广泛的现场总线之一 ...

  3. 传感器i2c与arduino连接_如何在两个Arduino开发板之间使用I2C总线进行通信

    在之前的文章中,我们介绍了Arduino之间的SPI通信.今天我们将学习另一种串行通信协议:I2C(内部集成电路).比较I2C和SPI,I2C只有两条线,而SPI使用四条,I2C可以有多个主机和从机, ...

  4. 嵌入式Linux应用层开发教程(一)基本概念

    1 应用层与驱动层 要想学习嵌入式Linux应用层的开发,首先要区分好应用层和驱动层之间的关系.我们在本科阶段学习51等较简单的单片机时,都是把应用层和驱动层混在一个文件里写的.比如拿下面的I2C程序 ...

  5. 献给android原生应用层开发初学者技术架构选型和整合的方案思路(二)

    前篇<献给android原生应用层开发初学者技术架构选型和整合的方案思路(一)> 本篇侧重于安卓创建的创建和后续 demo 中用到的 lib 在 gradle 中的依赖配置,本文假设您已经 ...

  6. [linux]platform总线机制与wtd驱动开发

    Linux之platform总线机制与wtd驱动开发 1.概述: 通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C.IIS.RTC.看门狗等)都被当作平台设备来处理. 从Linux2. ...

  7. linux驱动开发篇(三)—— 总线设备驱动模型

    linux系列目录: linux基础篇(一)--GCC和Makefile编译过程 linux基础篇(二)--静态和动态链接 ARM裸机篇(一)--i.MX6ULL介绍 ARM裸机篇(二)--i.MX6 ...

  8. 洛达应用层开发教程系列1-UI框架

    对于应用层开发来说重要的是什么呢?当然就是UI框架的梳理. 为什么这么说呢?对于我们的项目来说,基本上就是芯片原厂源代码上进行修修补补,而其中最重要的是什么了,无非就是按键,LED,提示音,ANC,通 ...

  9. 小白误入软件应用层开发

    本人2022年应届生毕业,校招误入某公司软件开发组--应用层软件组. 写下自己第一篇在CSDN博客,到今天入职正好20天,说一说自己在部门的感受及寻求大佬指导学习路线. 大学期间虽是电子信息系的学生, ...

最新文章

  1. java中velocity定义宏标签_velocity自定义标签和指令(转:zwj)
  2. 用grep命令查找文件中带特定扩展名的字符串
  3. CentOS升级gcc到4.8.2以支持C++11标准的方法
  4. 微型计算机c240,PC微机原理实验.doc
  5. android 剪贴板管理器,安卓剪贴板管理(Clipper Plus)
  6. 建立能持续处理请求的Client端改造
  7. 程序员,软件测试知多少?
  8. 【已作废】基于Freeswitch的ASTPP计费系统的安装 (CentOS 7)
  9. mysql的几种模式_MYSQL复制的几种模式
  10. python之父的名字-Python 常见双下划线关键字的用法
  11. Puppet基础篇7-编写第一个完整测试模块puppet
  12. 21最难调剂年:150万人参加调剂,预扩招18万人!
  13. Java神鬼莫测之MyBatis实现分页全过程(三)
  14. C++中使用GSoap
  15. linux部署springBoot项目不间断运行
  16. 惠普电脑BIOS设置图文详细介绍
  17. windows获取显卡的显存
  18. Python大数据分析(二):大数据技术基础
  19. Postgres 数据存储位置
  20. 增长黑客AB-Testing系统设计

热门文章

  1. matlab repmate,MATLAB中“repmat”与“cat”函数的用法
  2. Python用@property使类方法像属性一样访问
  3. Django框架(14.Django中模型类的关系,以及模型类关联查询)
  4. opengl加载显示3D模型RAW类型文件
  5. OpenCASCADE绘制测试线束:几何命令之概述
  6. OpenCASCADE:适用于 iOS 的 OCCT 示例
  7. wxWidgets:在 Unix (GTK+) 下打印
  8. boost::type_erasure::subscriptable相关的测试程序
  9. boost::system模块实现动态链接库的测试程序
  10. boost::mpl模块实现single_view相关的测试程序