0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | 使用TSMaster从零打造车辆控制器HIL实时仿真系列2-ECU嵌入式代码生成与TSMaster小程序集成

上海同星智能科技有限公司 2022-06-16 09:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

HIL实时仿真系列2

54fa0216-e71d-11ec-a2f4-dac502259ad0.jpg

今天我们继续分享使用TSMaster从零打造车辆控制器HIL实时仿真系列第二章节。接下来我们亲手设计实时仿真也就是HIL的环节,为了让示例通俗易懂,我们选取了CARSIM自带的ABS控制器作为仿真的对象。

Simulink模型

1、我们打开CARSIM,然后选择Simulink模型,对开路面Multi-port SLX,这个示例使用的是一辆不带ABS系统的小轿车,它是前驱的配置。

552eb42a-e71d-11ec-a2f4-dac502259ad0.jpg

2、我们来看procedure,也就是驾驶员控制的部分,初始的速度是65公里每小时,自动压力是15兆帕,在0.3秒内完成也就是我们常说的150bar,档位控制是在合理的范围内自动切换,而转向部分则交给驾驶员模型进行闭环控制。

5597d1ee-e71d-11ec-a2f4-dac502259ad0.jpg

3、路面部分为对开路面,从3米开始,一侧的系数是0.2,另外一侧是0.5,回到主页,点击Send to Simulink,等待Simulink启动完毕,Simulink模型则是今天的重点。

55d32af0-e71d-11ec-a2f4-dac502259ad0.jpg

ABS控制算法

1、我们可以将这个控制算法生成嵌入式代码,下载到带ABS功能的ECU中运行,可以看到这个算法模型包含了一个CARSIM的S function作为车辆模型的接口,还有一个简化版本的基于漂移率的轮缸压力控制策略以及后轴低选策略,还有制动性模型中的制动力分配等等。

5603ac20-e71d-11ec-a2f4-dac502259ad0.jpg

2、我们运行下这个模型,可以看到,这个轮速与车速的图形窗口中绘制了在对开路面上的ABS自动循环,而这个轮缸压力窗口中,则是四个车轮的轮缸压力控制曲线,这是一个简易版本的控制算法。制动力分配,也就是前轴压力比上后轴压力是1比0.4,很容易判断出,制动结束后,压力上升到15兆帕的两个车轮为前轮压力,而压力上升到6兆帕的是后轮压力。

5642e778-e71d-11ec-a2f4-dac502259ad0.jpg

RT的低成本替代方案

大家可能注意到在Simulink环境中,运行的时间是10秒,然而点击运行后实际上只用了很短的时间就跑完了整个仿真,说明此仿真的过程并不是实时的。Simulink所起的作用仅仅是按照每个step来执行算法,收集每个step产出的数据并将其绘制在图形窗口里而已。

如果我们想在ABS制动过程中像整车总线上面实时发送ABS激活的flag或者是轮缸压力值,这些都是无法做到的。而在拥有的CarSim RT版本的环境中,该模型可以被编译为dll,下载到实时系统中运行,从而实现模型算法与真实世界的交互,这个解决方案是目前被广泛采纳的仿真模式。各大主机厂和零部件厂所依赖的HIL仿真也是基于此方案展开。然而此方案存在两个问题:一是成本高,不但需要车辆动力学软件本身的license,还需要RT的license;二是部署的过程很浪费时间,在CarSim中修改参数之后需要重新部署,自动和程度不高。

而在本例中,我们通过TSMaster来模拟ABS算法,让ABS算法在TSMaster的实时环境中运行,运行过程中可以通过CAN接口或者是连接在个人电脑上的IO接口等等,与外部的世界进行交互,再通过自研的实时引擎接管CarSim的仿真过程实现车辆模型在电脑上的实时运行,如此我们便得到了RT的低成本替代方案——软件HIL。

569c59b6-e71d-11ec-a2f4-dac502259ad0.jpg

ECU嵌入式代码&小程序

下面我们从零一步步基于TSMaster来搭建ABS算法的实时仿真环境。第一步是要通过Simulink将ABS的算法自动生成嵌入式代码,将它作为一个小程序运行在TSMaster的实时环境中。

1、我们首先将这个模型另存,然后需要修改路径,让代码的生成放置在这个新的路径中。

56dde764-e71d-11ec-a2f4-dac502259ad0.jpg

2、随后我们需要在模型上做一些修改让其可以生成嵌入式代码。首先就需要删除示波器等等一系列无用的控件,再删除CarSim的s function,将s function的接口转化为in 和 out。

5719ba28-e71d-11ec-a2f4-dac502259ad0.jpg

3、为了正确的生成嵌入式代码,还需要在代码生成上做一番修改,打开配置,首先是stop time,设置为inf,然后是salvar,再次使用的是定步长,step我们使用了业界通用的5毫秒。

575ce1e0-e71d-11ec-a2f4-dac502259ad0.jpg

4、接下来来到代码生成的环节,Target file自然是ert,我们还需要转到interface,在这里将continuous time勾上,因为轮缸压力模型中间用到的是传递函数,是连续状态,随后按Ctrl+B生成代码,很快代码就生成完毕了。

57b47252-e71d-11ec-a2f4-dac502259ad0.jpg

5、那么在这份代码中,我们需要将ABS.c.h以及一些列的其他的头文件复制粘贴到TSMaster的小程序的文件夹中间参与编译过程。(具体操作步骤详情可直接观看我们的B站视频哦~)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17662

    浏览量

    190467
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言在嵌入式开发中的应用

    C 语言在汽车电子控制系统开发中的主导地位。 2、设备驱动程序 设备驱动程序嵌入式系统中连接硬件和软件的桥梁,它负责实现
    发表于 11-21 08:09

    干货分享 | TSMaster MBD工程搭建与解析指南

    /Simulink模型无缝集成到总线网络环境中,使得工程师能够在真实的硬件在环测试台上,对控制模型进行实时验证,或将模型作为虚拟ECU参与到整个网络
    的头像 发表于 10-17 20:02 1627次阅读
    干货分享 | <b class='flag-5'>TSMaster</b> MBD工程搭建与解析指南

    嵌入式软件测试与专业测试工具的必要性深度解析

    问题在实际测试中经常出现,如不同供应商组件间的兼容性问题。 ‌实时性要求严格‌:航空、航天等领域的嵌入式系统需在毫秒级内完成响应,测试必须验证输入、运算、输出的时效性。飞行控制系统等关键应用对
    发表于 09-28 17:42

    干货分享 | TSMaster MBD模块全解析:模型搭建到自动化测试的完整实践

    在汽车电子MBD开发中,TSMasterMBD模块深度集成TSMaster先进的总线分析、仿真与测试平台,旨在为工程师提供一套模型自动编译、代码
    的头像 发表于 08-22 20:04 1945次阅读
    干货分享 | <b class='flag-5'>TSMaster</b> MBD模块全解析:<b class='flag-5'>从</b>模型搭建到自动化测试的完整实践

    电源控制器MCU硬件在环(HIL)测试方案

    、 方案优势 相较于传统硬件结合 MCU 的测试模式,基于 EasyGo 实时仿真平台的电源控制器 MCU+HIL 方案在核心性能上具有显著优势,具体对比如下: 三、 **系统架构
    发表于 08-20 18:31

    TSMaster x dSPACE:联合仿真助力汽车测试效率再升级

    趋势。本次用户大会上,同星智能现场演示了TSMaster与dSPACE控制台的联合仿真方案,展现了双方在汽车HIL测试、ECU验证及自动化测
    的头像 发表于 07-11 20:02 1050次阅读
    <b class='flag-5'>TSMaster</b> x dSPACE:联合<b class='flag-5'>仿真</b>助力汽车测试效率再升级

    软件更新 | 数据到模型,全面升级!TSMaster新版助力汽车研发新突破

    为满足汽车电子开发领域日益增长的测试与仿真需求,TSMaster最新版本聚焦实车数据采集、MBD智能建模与新API扩展三大核心功能。无论您是进行车载网络测试、ECU开发还是自动化验证,新版本都能
    的头像 发表于 06-21 20:04 1168次阅读
    软件更新 | <b class='flag-5'>从</b>数据到模型,全面升级!<b class='flag-5'>TSMaster</b>新版助力汽车研发新突破

    告别摸索!TSMaster官方最全学习路径整理

    在汽车电子和总线通信领域,TSMaster已成为工程师们不可或缺的利器。作为一款功能强大的总线分析、仿真、测试和诊断工具,TSMaster广泛应用于CAN、LIN、FlexRay等总线系统的开发
    的头像 发表于 06-13 20:06 798次阅读
    告别摸索!<b class='flag-5'>TSMaster</b>官方最全学习路径整理

    软件更新 | 以太网通信仿真功能已上线!TSMaster 202503 版本更新速览

    TSMaster202503软件功能又更新啦!这一次,我们带来了工程师们期待已久的以太网通信仿真功能,让您的车载网络测试如虎添翼!除了以太网通讯仿真功能,还新增软件网关、GPS记录数据格式转换等功能
    的头像 发表于 04-12 20:03 1042次阅读
    软件更新 | 以太网通信<b class='flag-5'>仿真</b>功能已上线!<b class='flag-5'>TSMaster</b> 202503 版本更新速览

    干货分享 | TSMaster用户必看:以太网通信仿真用户手册

    在汽车电子开发中,以太网通信仿真已成为ECU测试、诊断和网络分析的关键环节。TSMaster作为一款强大的汽车电子仿真和测试工具,为工程师提供了高效的以太网通信解决方案。本手册将带您深
    的头像 发表于 03-28 20:04 820次阅读
    干货分享 | <b class='flag-5'>TSMaster</b>用户必看:以太网通信<b class='flag-5'>仿真</b>用户手册

    解锁TSMaster fifo函数:报文读取的高效方法

    入门》手册。1.技术背景TSMaster的小程序模块中提供了接收事件、发送事件以及预发送事件等回调事件,如图1。相比于回调函数,fifo函数使用起来比较灵活方便,可
    的头像 发表于 03-14 20:04 965次阅读
    解锁<b class='flag-5'>TSMaster</b> fifo函数:报文读取的高效方法

    嵌入式系统中的代码优化与压缩技术

    在当今数字化时代,嵌入式系统广泛应用于各个领域,智能家居设备到工业控制系统,汽车电子到可穿戴设备,它们无处不在。而在嵌入式系统开发中,
    发表于 02-26 15:00

    干货分享 | TSMaster AUTOSAR E2E使用说明

    在车载网络中,信息交换通常涉及多个电子控制单元(ECU)之间的通信。对于安全相关的信号,如车速、档位、车辆/电源模式等,数据的完整性和可靠性至关重要。TSMaster为用户开发了AUT
    的头像 发表于 02-14 20:07 1460次阅读
    干货分享 | <b class='flag-5'>TSMaster</b> AUTOSAR E<b class='flag-5'>2</b>E使用说明

    如何提高嵌入式代码质量?

    技术 现代的嵌入式开发工具和测试技术可以极大地提升代码质量和开发效率: 1. 静态分析工具:如Coverity、Lint等,能够帮助发现潜在的代码
    发表于 01-15 10:48

    嵌入式工程师常用的开发工具有哪些?

    。 一、集成开发环境(IDE) IDE是嵌入式开发的核心工具之一。例如 Keil MDK,它支持多种微控制器架构,提供了强大的代码编辑、编译、调试功能。工程师可以在一个
    发表于 12-20 15:29