Simulink及基于模型设计的嵌入式应用_孙忠潇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simulink及基于模型设计的 嵌入式应用
FNST第三事业部第一开发部主任工程师 孙忠潇 Simulink基础版主及代码生成版主:hyowinner
2014年5月24日
Copyright 2014 FUJITSU LIMITED
目录
@Simulink是什么
各家释意 用户群分析 学习难度分析
@Simulink能够做什么
视频处理 音频处理 工业流程模拟 发动机控制 自定义娱乐工具箱 Target Support Package目标芯片的驱动工具箱
@基于模型的嵌入式设计及应用
MBD(Model based Design) 代码自动生成相关知识 MBD demo——滤波器建模,生成代码以及验证
2 Copyright 2014 FUJITSU LIMITED
Simulink是什么
@百度:Simulink是MATLAB最重要的组件之一,它提 供一个动态系统建模、仿真和综合分析的集成环境。
@Matlab2013b:simulink opens the Simulink® Library
Browser.
@Hyowinner:Simulink = Simu + Link Simu -> Simulation ->仿真 ->具象化逻辑及结果 Link -> 连接 ->模块与库连接 ->设计与需求连接
->模型与代码连接
->你我与Matlab/Simulink连接
3
Copyright 2014 FUJITSU LIMITED
Simulink是什么
模块库 模型
波形
普遍认识 从Simulink Browser里选择模块,建 立模型并且进行仿真。
4 Copyright 2014 FUJITSU LIMITED
Simulink是什么
粉丝 根据论坛回帖数统计判断, 大概只有Matlab的1/8
阶段 Simulink的使用者较多都有 着坚实的Matlab技术基础
特点 Simulink的使用者较多都 有耐心,入门门槛较高
期待
Simulink的使用者都期待其 功能更加强大,能快速实现 想要做的事
5 Copyright 2014 FUJITSU LIMITED
Simulink是什么
Matlab 上手容易,一般从调用简单 的绘图函数或矩阵创建开始 Simulink 要求整体把握,理有点难度, 一开始就要面对整个系统
Matlab 学科分支多,理论深度达, 后期依靠的是学术理论造诣
Simulink Simulink运行机制与流程的 理解,会加速应用的熟练度
6
Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
视频处理
跟Matlab一样功能强大,具有动态系统仿真的功能,包含信号处理,图像视频处理, 数值运算,控制系统等等各个方面。
视频帧差分使能录像仿真
7
Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
音乐播放器
Simulink作为功能强大的动态仿真工具,通过模型建立,运行仿真,甚至自定义模块 应用于信号处理音频处理,数值运算,控制系统等等各个方面。
使用自带模块搭建 音频解析器,方便 快捷。 稍作加工即可实现: 播放开始后进行音 量调节、暂停、继 续以及播放停止等 动作。 构成音乐播放器
8 Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
工业仿真
跟GUI结合开发工业仿真软件,具有动态系统仿真的功能,包含信号处理, 图像视频处理,流程模拟,数值计算,控制系统,等各个方面。 工业乙醇连续发酵仿真
concentration(kg/m3)
300 200 100 0
0
100
200 steps
300
400
concentration(kg/m3)
concentration(kg/m3)
200 100 0
200 100 0
concentration(kg/m3)
0 100 200 steps 300 400
300
300
300 200 100 0
0
100
200 steps
300
400
0
100
200 steps
300
400
concentration(kg/m3)
concentration(kg/m3)
200 100 0
200 100 0
concentration(kg/m3)
0 100 200 steps 300 400
300
300
300 200 100 0
0
100
200 steps
300
400
0
100
200 steps
300
400
9
Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
发动机控制
使用Simulink进行汽车发动机控制规格设计,采用基于模型设计的嵌入式软件开发 流程,经过代码自动生成和各个阶段的严格测试,实现汽车发动机控制代码的量产。
10
Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
自定义功能
S Function是Simulink Engine运行的机理体现,同时也给予用户自定义模块的功能 甚至可以自己定义工具箱加入到Simulink Browser中,让你随心所欲! 自定义娱乐工具箱
11
Copyright 2014 FUJITSU LIMITED
Simulink能够做什么
TSP
Target Support Package是针对某一系列MCU/DSP芯片的驱动代码配置与自动生成 工具箱,给MBD嵌入式开发者提供快速算法验证环境,FM4 TSP主要有以下优点: 1.无需编写驱动代码:使用者通过简单的对话框设置即可生成驱动代码 2.生成代码有效:错误的不合理的驱动配置模型会通过错误提示让使用者改正 3.流程自动化:从模型代码生成,IDE启动,工程创建,编译,下载一键完成
12
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
基于模型设计
Model Based Design,基于模型设计是一种流程,较之传统软件开发流程而言, 使开发者能够更快捷、以更少的成本花费进行开发。适用范围包括信号处理,控制 系统,通信行业。表述系统的模型是整个开发流程的中心,贯穿需求,设计,实施 与测试。模型本身就是一个可执行的规格书,开发者修改优化模型就是对设计的修 缮,无需到实施之后通过测试再进行系统验证,可以通过仿真在早期设计时期就及 时进行正确性验证,并且在实施阶段,特别是对于嵌入式软件,代码由模型生成。
13
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
需求
以一个简单的滤波器设计作为需求,通过基于模型设计简化流程将需求与算法设计 绑定起来,以保证所有需求都被覆盖,最终实现需求与设计的一致性。
14
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
模型建立与仿真
根据滤波器的数学表达关系进行模型建立模型,并设计输入输出进行仿真,以验证 模型计算的正确性。模型输入包括滤波系数和需要滤波的信号(带噪声的正弦波) 仿真时,选择合适的算法至关重要。
15
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
解算器的选择
应用于嵌入式开发的模型往往需要选择固定步长的解算器,而不选用变步长的解算器 这是因为微控制器的时钟信号是以固定频率的周期工作,虽然可以实现倍频和分频, 往往在一个应用的过程中每个基础时钟信号是保持不变的。
16
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
系统目标文件
System Target File是Simulink生成代码不可或缺的起到总领作用的文件。它决定 了自身被选择时模型配置的动作,自定义GUI的追加,模型生成代码的类型,以及 主函数main的生成与否,生成方式等等。 grt.tlc: 快速原型 ert.tlc: 嵌入式C代码,通常使用此项或在此之上进行自定义硬件目标TSP工具的定制 custom:往往都是以ert.tlc为基础,追加自定义硬件对应的配置或功能 所谓tlc即Target Language Compiler的缩写是一种解释性编程语言,可以将模型编译 出来的rtw文件按照block级tlc程序转化为目标代码。 联编文件 联编文件,即makefile文件(mk),在make_rtw指令下以系统模板联编文件(System Template Makefile 即system.tmf)为基础,生成model.mk联编程序,主要负责将模型产 生的程序,附件的库文件和自定义的模块进行编译和链接。系统模板联编文件(tmf)允 许用户指定编译器,编译选项,以及可执行文件生成时所附带的信息。
17
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
需求与模型关联
通过rmi setup注册Active-X controls后Simulink Model菜单栏增加了需求追踪功能 追加了链接之后,文档中出现Simulink的小图标,能够从需求文档链接到模型;每当 需求出现了变更可以通过链接检查是否及时反映到所设计的模型中,以保持一致性
18
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
模型检查与验证
随着模型复杂度的提高,人工检查模型属性,配置以及对于MAAB标准的遵守度逐渐 成为负担,使用Simulink工具栏中的Model Advisor工具可以自动进行标准以及模型 配置和属性的检查,并产生检查报告。检查的内容: 1.是否会导致系统仿真出错 2.是否会导致生成的代码无效(Simulink Coder&Embedded Coder) 3.生成的代码是否符合安全标准(Simulink Coder&Embedded Coder&Simulink V&V)
19
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
模型效率分析
使用Profiler Report来了解模型每个环节的时间消耗和调用次数。 报告中会提示模型执行时间,调用函数清单和每个函数调用的详细效率分析信息 使用注意: 1.如果算法模型使用Model Referrence引用,那么需要使该模型在Normal模式 2.在进行Profiler时并不分析Model Referrence内部,需要单独分析
20
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
代码自动生成
初次尝试,先使用ert.tlc作为系统目标文件生成嵌入式C代码 ert.tlc会启动代码生成过程,将模块转化为C代码 未经过任何优化的代码可读性不强
21
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
代 代 码 码 自 自 动 动 生成—提高可 生成—提高可 读 读 性 性1
1.为模型增加信号名 2.通过信号线属性配置存储数据类型
22
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
代码自动生成—提高可读性2
1.为模型增加信号名 2.通过M代码在BaseWorkspace创建信号数据对象 3.关联数据对象与模型信号 disableimplicitsignalresolution(gcs)命令可自动关联
23
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
代码自动生成—结构化
1.将模型转换为子系统 2.在Block Parameter中配置为原子子系统 3.Code Generation页面定义函数名与文件名
24
Copyright 2014 FUJITSU LIMITED
基于模型的嵌入式设计及应用
代码的有效性验证
最终目的是将通过模型生成的代码下载到目标硬件中去使用,那么模型生成的代码 能不能如实地反映仿真过程是必须要去验证的。模型与代码的一致性验证可以通过 处理器在环仿真(Processor In the Loop,PIL) 来验证。
25
Copyright 2014 FUJITSU LIMITED
More about Simulink:to be continued
相关文档
最新文档