在simulink中使用串口模块接收数据并解帧延迟性问题解决

2023-05-16

山重水复疑无路,柳暗花明又一村。

最近在simulink中搭了一个模型,需要通过串口将外部惯导模块的数据读进来,解帧后输入模型中进行计算,算是半物理仿真。
起初烦恼于不知道如何将这种实时更新的数据实时解算并输出,在请大佬帮忙后,解算的问题解决了,但又遇到了解帧数据更新缓慢,延迟性大的问题。中间因为项目进度缓慢,被老板训斥了一顿。好在经过不断尝试,终于解决了解算数据更新延迟的问题。

一、起初接收解算串口数据的思路
刚开始我甚至不知道simulink模块有串口接收模块,试图通过在simulink中写matlab function调用Serial函数的方式实现串口数据的接收与解算,事实证明是行不通的。
后来查到,simulink中原来有专门的串口模块,晕,早知道就不费那么大周折了,然后在大佬的指导下搭建了下面的模型。

串口数据接收并解帧模型
其思路是:从串口每次一个读取数据,根据我的传感器的串口通信协议,每11个数据为一帧,所以加一个buffer模块,相当于将连续发送的串口数据分割为一帧一帧(每帧11个数据),到状态机中根据帧头判断是什么数据(加速度/角速度)后解帧,我在后边加了scope用来查看输出的数据。

二、遇到的问题
经过实验,数据的准确性上没有问题,但实现不了实时更新,而且随着仿真时间的增长,数据更新延迟越来越严重,从起初的2s,逐渐增加到5,10,15,30…这样还做个毛线的半物理仿真,就失去串口通信的意义了。
然后就是苦思冥想,问题到底出在哪?
起初是觉得状态机的问题,或许是解算耗时,从而延缓了数据的更新,解算程序没法改啊,改了设置又好像没用。
或许是仿真设置的问题?改成定步长或许会快一些?也没用。
又或者是电脑性能的问题?又研究了下Matlab的多核并行计算,也还是没有起色。
没有师兄的孩子就是这么苦逼,没人带问了几个同学也都说没搞过,去论坛发帖也没人回。眼看时间一天天过去了,啊迟迟没有进度,我都有点怀疑自己了,不过没有放弃尝试。

三、尝试解决
终于,在我删去buffer模块,并直接在串口更改Data size为[11 1]后,实时性的问题终于得到解决。
更改Serial Receive 设置
修改后的模型
现在我终于可以丝滑而且几乎无延时的看到数据更新了!
解算后实时更新的数据

四、反思与总结

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在simulink中使用串口模块接收数据并解帧延迟性问题解决 的相关文章

  • Simulink建模:一阶滤波模型

    本文研究一阶滤波算法的Simulink模型及其代码生成 文章目录 1 一阶滤波算法2 Simulink建模2 1 对公式的理解2 2 建模过程2 3 模型配置 3 模型更新及代码生成3 1 模型更新3 2 代码生成 4 总结 1 一阶滤波算
  • 使用Simulink进行无刷直流电机控制仿真

    这段时间刚开始接触Matlab中的Simulink仿真 xff0c 我就结合自己的专业 xff0c 利用Simulink进行了无刷直流电机的仿真 xff0c 因为Simulink工具箱里面有很多可用的模块 xff0c 所以建模过程变得非常简
  • simulink之S函数

    s函数是system Function的简称 xff0c 用它来写自己的simulink模块 xff08 够简单吧 xff0c xff0c 详细的概念介绍大伙看帮助吧 xff09 可以用matlab C C 43 43 Fortran Ad
  • Linux Simulink打不开——unable to run the MATLABWindow application on Linux

    Linux Simulink打不开 unable to run the MATLABWindow application on Linux 解决办法 xff1a 解决办法 xff1a 参考网页 xff1a https www mathwor
  • simulink电力电子仿真(3)单相桥式全控整流电路

    simulink电力电子仿真 3 单相桥式全控整流及有源逆变电路 返回目录 主要是赶上了疫情 然后期末要疯狂补实验报告 就索性写一下吧 万一以后再做电力电路仿真 可能会有用的 也希望可以帮助别人 器件的选择及位置 MATLAB的版本 201
  • STM32 Simulink 自动代码生成电机控制:无传感扩展卡尔曼滤波(EKF)仿真和开发板运行

    最近疫情比较严重 居家隔离 突然想要尝试无传感基于卡尔曼滤波器角度速度观测控制自动生成代码生成的实验 有些收获 在这里记录一下 目录 1 模型搭建和仿真 2 自动代码生成和系统验证 3 总结 1 模型搭建和仿真 Q矩阵 系统噪声 R矩阵 测
  • 单相半桥逆变器仿真技巧

    1 拓扑与控制 单相半桥逆变器拓扑如下 电压环和电流环控制图如下 调制方式如下 2 仿真步骤 单相半桥逆变器的仿真应该遵循以下步骤 1 选择合适的滤波电感和滤波电容 一般是mH级别 2 选择合适的调制度 注意由于半桥电容电压波动过大 往往不
  • 单相Boost功率因数校正电路(PFC)设计与仿真(Simulink & Saber):第一章 PFC基础知识与电路参数设计

    写在前面 教程是根据Mathworks公司的有源功率因数校正教程 点这里跳转 和那日沙等老师编著的 电力电子 电机控制系统的建模及仿真 改写的 设计思路基本与之一致 嫌看文章麻烦的同学可以直接跳转看视频和查阅相关书籍 Simulink仿真部
  • 利用Matlab的Simulink原理框图来画bode图的方法

    由于matlab的版本升级 有些应用于旧版本的方法应用于新版本比较困难 首先 先贡献一链接 这是在matlab旧版本 大概是2010b以前的版本吧 中 如何在simulink原理框图画出bode图和其他各种图的方法 http blog si
  • LTspice使用笔记 week3 进行.ac仿真查看相频 幅频特性 构建震荡器

    RC电路 查看相频 幅频特性 使用 ac命令可以容易 清晰地看出相频 幅频特性 ac命令的使用需要在激励源上加入一个小的ac信号 通常为1 然后进行 ac仿真即可 ac仿真的命令可以参考博主的设置 构建正弦振荡 不加入二极管 分析 只有电路
  • 基于相干解调法和基于相位比较法的2DPSK数字通信系统 MATLAB Simulink仿真

    1 课程设计目的 通过课程设计 巩固已经学过的通信原理课程中有关数字调制系统的知识 加深对相关知识的理解和应用 学会应用Matlab Simulink工具对通信系统进行仿真和调试 设计与实现的过程中充分利用图书馆和网络资源 提高发现问题和自
  • 基于Simulink的ask,psk,fsk仿真

    基于Simulink的ask psk fsk仿真 本实验基于matlab的simulink 实验步骤如下 单极性基带信号和双极性基带信号 利用simulink中的Bernoulli Binary Generator可以产生随机的二进制信号
  • Matlab Simulink 常用快捷操作和功能(1)

    1 快速查找library里面的模块 双击左键 然后输入要查询的模块名称 gt 2 block 和 signal 的命名修改 单击block 显示 修改名字 3 Simulink支持从块参数对话框中创建变量 可以在Simulink中创建MA
  • 均匀辐照度和局部遮光条件下光伏系统的新型样条-MPPT技术(Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真 Matlab代码 文献 1 概述 文献 光伏 PV
  • 感应(异步)电机磁场定向控制MATLAB/Simulink建模

    电机控制系列文章 感应 异步 电机磁场定向控制电流环PI控制参数设计 感应 异步 电机磁场定向控制速度环PI控制参数设计 目录 电机控制系列文章 前言 一 控制器与被控对象的采样周期 二 系统解算器设置 三 被控对象建模 四 控制器建模 1
  • Simulink 学习(一)

    一 基本操作 Simulink多用于仿真 分为模块 输入 输出 matlab中 有两种方法打开 第一种就如图所示 第二种直接在命令窗口输入 simulink 模块库 例如 常量倍数放大利用Math Oprations中的Gain模块 双击可
  • simulink仿真 adc 采样ePWM输出例程

    新建文件夹并用matlab打开 写入这两个模块 配置 ADC 配置ePWM 不使能B 关了就行 其他的默认即可 配置烧录 连线 示波器接pwma1 和地 adc chanl1接 3 3v或者 0 3 3 都行 转化是 x 3 3 2 12
  • VSC/SMC(十六)——自适应鲁棒滑模控制

    目录 1 参数不定和扰动不定但有界的系统 2 滑模控制自适应律设计 2 1控制律设计总结 3 仿真分析 3 1 PD控制 3 2普通自适应律 3 3映射自适应律 3 4总结 4学习问题 1 参数不定和扰动不定但有界的系统 其中 2 滑模控制
  • 分布式驱动电动汽车定速巡航控制

    目录 前言 1 电机模型 1 1电机数学模型 1 2 电机传递函数模型 2 控制器设计
  • 如何将 simulink 文件转换为 XML

    我需要将 Simulink 文件 mdl 转换为 XML 文件 经过任何搜索后 我没有找到任何内容来帮助我解决此问题 您知道 Java 中的某种方法或现成的解决方案吗 从 R2008b 开始 您可以使用以下命令将 mdl 文件导出到 xml

随机推荐