方才和软件工程师议论Matlab/Simulink下CAN信号打包解包的事变,正巧碰到J1939的坑。晚上花了不少时刻和宋先生沟通,也算有些收成,谢谢宋先生的协助~

一般的CAN解包/打包体式格局相对简朴,Simulink下主要有2种思绪:

1.CAN pack dbc完成打包

用Simulink自带的CAN pack/CAN unpack加dbc,然后生成代码,省去了许多移位运算的贫苦。

2.本身搭建CAN剖析模板(Msg->signal, Signal->Msg)

然则Simulink自带的CAN Pack和CAN Unpack在生成代码的时刻会发生许多冗余代码,手动挑选的时刻比较费力。也能够本身搭建移位运算的library只须要根据dbc协定转变接口即可,以下图所示。

Matlab/Simulink下完成J1939的解包打包相对庞杂一点,在搭建模子生成代码的过程当中,须要增加比较多的模块。

1.Simulink找到J1939 library,以下图所示。

2. 拖入相干的模块

最少须要拖入4个模块:

J1939 Network Configuration

J1939 Node Configuration

J1939 CAN Transport Layer

J1939 Receive

双击J1939 Network Configuration模块,变动Configuration name,而且导入本身增加的1939dbc文件。

双击J1939 Node Configuration模块,挑选响应的Config name和对应的Node name,以下图所示

双击J1939 CAN Transport layer模块,挑选响应的device,这个类似于一个假造的通道,不挑选的话,仿真和生成代码都邑报错。

Note: 我电脑装置的是16b版本的matlab,Device下来选项是None, 然则同事高版本的matblab内里不是空的,和宋先生沟通半天也没有找到问题在哪?Anyway,有多是matlab装置或许版本的问题,门路是能够走通的。

双击J1939 Receive模块,挑选响应的Config name以及Node name,就会涌现以下界面,把对应的信号解包出来。

仿真不报错的话,Ctrl B生成代码,把J1939剖析相干的代码拿出来本身用就能够了。

Matlab命令行输入以下指令,会出来自带的J1939案例,能够做1939相干的仿真事情,照样比较轻易的。

web(fullfile(docroot, 'vnt/examples/basic-j1939-communication-over-can.html'))

案例模子

仿真效果

matlab 解包,Matlab/Simulink-J1939CAN 解包实现方法相关推荐

  1. matlab示波器模拟,[转载]利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法

    利用MATLAB命令窗口绘制Simulink仿真示波器波形的方法 最近写了一篇有关步进电机控制仿真分析的文章,需要将一部分仿真波形图贴到WORD里面去.但贴图时发现,如果直接将simulink中示波器 ...

  2. 解决matlab无法下载arduino的simulink硬件支持包的方法

    在下载arduino硬件支持包时,simulink和matlab下载多达十几个第三方支持包. 由于网速或者被墙的原因往往下载到一半就会报错,提示下载出现问题  应对方法如下:打开硬件支持包的下载位置, ...

  3. 相位解包裹 matlab,二维相位解包裹matlab

    第39卷第3期2015年5月 激 光 技 术LASERTECHNOLOGY Vol.39,No.3May,2015 文章编号: 1001-3806(2015)03-0423-05 相位解包裹中欠采样问 ...

  4. m基于光纤光栅传感网接入GPON的光纤通信系统matlab性能仿真,包括解码,解封装,分接,码率恢复,解帧,拆包,译码

    目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 接入处理系统模块化设计: ·传感器接收到的信息转换为二进制信息(这个我们可以直接模拟出随机的 ...

  5. matlab将求解sin隐式解,Matlab隐式符号方程求解和赋值

    近日处理了一个隐式方程的求解,由于方程含有较多的未知数,而且这些参数均是跟实验相关的一些参数,所以,必须得到需要求解的解与 这些参数之间的一个表达式.之前是考虑用的Maple推导求解了该隐私方程,求解 ...

  6. rpm包管理功能全解

    rpm包管理功能全解 rpm包管理功能全解              linux rpm问题:怎样查看rpm安装包的安装路径                      rpm -qa l grep   ...

  7. TCP丢包检测技术详解

    TCP丢包检测技术详解 http://www.cctime.com/html/2007-12-6/20071261023151210.htm           2007年12月6日 10:23  中 ...

  8. python解包操作_Python编程使用*解包和itertools.product()求笛卡尔积的方法

    本文实例讲述了Python编程使用*解包和itertools.product()求笛卡尔积的方法.分享给大家供大家参考,具体如下: [问题] 目前有一字符串s = "['a', 'b'],[ ...

  9. 华为固件解包工具linux,华为解包工具官方下载

    华为官方APP固件解包工具包括:华为官方固件update.app专用解包工具和 system.img解包工具,可解包华为官方SD卡刷机包UPDATA.APP,可将APP固件解包成IMG镜像分区文件,继 ...

  10. Java Jar包的压缩、解压使用指南

    转载自 Java Jar包的压缩.解压使用指南 什么是jar包 JAR(Java Archive)是Java的归档文件,它是一种与平台无关的文件格式,它允许将许多文件组合成一个压缩文件. 如何打/解包 ...

最新文章

  1. 软件疑难杂症解决办法汇总
  2. Oracle dump 分析secondary key
  3. EPML schema(附带用myeclipse生成的结构图)
  4. 【设计模式】—— 外观模式Facade
  5. Install Python3.6 on Amazon Linux/EC2 在Amazon Linux实例中安装使用Python3.6
  6. 一作发14篇SCI,累计IF60,博士前两年,他也曾走过弯路
  7. git linux 部署网站,centos 搭建git自动部署web应用
  8. Android Exception 8(Couldn't read row 0, col -1 from CursorWindow)
  9. PHP date() 函数
  10. XPS Silverlight Reader
  11. tomcat 控制台中文乱码问题解决办法寻觅
  12. 你有反馈,我们安排!Sketch 插件升级,新老对比一图看懂
  13. 监控突然显示服务器故障,网络监控出现服务器故障怎么办
  14. linux系统mysql密码忘记了怎么办_Linux中MySQL密码忘了怎么办
  15. 微信小程序实战八:优惠券页面的实现
  16. 给你100万条数据的一张表,你将如何查询优化?
  17. 使用 VS Studio 2022 创建自己的 NuGet包,图片教程包教包会!
  18. github国内网访问方式
  19. php 过滤粘贴_粘贴过滤的数据时出现错误1004
  20. PatchmatchNet理解与学习

热门文章

  1. 利用SpiderMonkey进行嵌入式开发——学习总结
  2. ValueError: source code string cannot contain null bytes
  3. DameWare详细使用图文教程
  4. java导出word文档组件_java导出word文档(转)
  5. 【游戏开发】视觉小说休闲游戏
  6. 价值20k的sql题(java中级)
  7. 互联网金融时代,必看的六种理财模式------------王艾老哥浅析
  8. 基于SAML的单点登录介绍
  9. 大数据——GraphX之Connected Components算法及Spark实现
  10. 计算机毕业设计Java房屋中介网络平台(源码+系统+mysql数据库+lW文档)