课程目录
第1章Simulink入门篇
1Simulink的基本操作之——Simulink Library Browser可试听整节00:19:12
如何启动Simulink建立第一个模型,如何操作Simulink界面。
2Simulink的基本操作之——自定义新建模型模版00:19:52
Simulink新建的模型都是默认使用ode45解算器和白色的背景颜色,用户可以通过new_model函数自定义一个新建模型的参数配置方式。
3Simulink模块——Constant和Scope00:18:27
Simulink模块——Constant和Scope
4Simulink模块——Sum和Delay00:14:55
Sum和Delay模块的介绍,以及自增一计数器的模型搭建和仿真。
5SimuIink模块——Gain模块00:18:49
1.增益模块的参数对话框说明 2.实例仿真
6Simulink模块——积分模块Integrator(1)00:12:06
1.介绍模块功能和参数作用 2.通过实例展示仿真功能和微分方程求解
7Simulink模块——积分模块Intergrator(2)——求解微分方程组00:08:49
使用积分模块为基础构建二维微分方程组的模型。
8SimuIink模块——From workspace00:16:12
介绍从工作空间导入数据到模型的模块: to workspace 1.使用矩阵方式 2.使用结构体方式 3.使用timeseries数据结构 4.介绍给定采样内部插值与外部插值方式和效果
9SimuIink模块——From File00:16:20
1.掌握如何使用save和load命令存储mat和载入mat文件 2.掌握如何使用From File模块从硬盘导入数据到模型 3.掌握如何存储符合From File要求的mat文件
10Simulink模块——模块的属性00:07:25
1.模型的朝向和注释 2.模块参数对话框 3.模块的属性获取及设置
11Simulink模块——模块的属性200:09:59
Simulink模块——模块的属性第二讲
12信号线——信号线的分类100:12:51
信号线的分类: 1.Scalar信号 2.Vector信号 3.Matrix信号 4.Bus信号
13解算器及采样时间00:27:44
1.Simulink解算器中固定步长solver的分类 2.连续解算方法以及离散解算方法的区别和联系 3.模块SampleTime的设置方式 4.不同采样速率模块相连时出错的解决方式
14Simulink仿真——代数环问题可试听整节00:09:24
1.代数环的产生原因 2.代数环的发生后果 3.代数环的解决方法
151DLookup Table的使用及反向查表00:26:34
1. 1D Look up Table的基本使用 2. 根据输出和表格获取输入值的理论方法及自动化工具实现
161DLookup Table的数据自动化导入00:17:46
1.获取模块属性的方法 2. 矩阵转为行向量字符串的方法 3.使用M编程实现从Excel/数据库/Workspace等导入数据到2-D Lookup table的自动化方法。
17Goto与From模块的应用00:15:21
1. FromGOTO的使用场景 2. Tag的Visibility讲解及使用(local, scoped, global)
第2章Simulink进阶篇
1模型Model的回调函数00:20:28
1.介绍ModelCallback的设置方法和类别 2.介绍常用InitFcn来初始话模型数据,常用StopFcn来绘制波形替代Scope的绘图功能
2模块Block的回调函数00:26:11
介绍模块的二十多种Block Callback的使用方法和触发条件。 InitFcn StartFcn ContitueFcn DeleteFcn PreSaveFcn NameChangeFcn MoveFcn CopyFcn ClipboardFcn UndoDeleteFcn LoadFcn StopFcn ContinueFcn DeleteChildFcn ModelCloseFcn DestroyFcn
3模块端口的回调函数00:10:36
1.阐述Simulink Callback的分类 2.教授如何设置模块或子系统的端口连接回调函数ConnectionCallback
4Simulink游戏开发——连连看可试听整节00:29:57
通过自动建立模型,自动添加模块,自动设置模块ConnectionCallback,自动判断信号线连接模块组是否为同一种类型等动作构成连连看游戏。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。它能够描述线性系统、非线性系统,能够支持单速率和多速率任务,并可以包容连续系统,离散系统或者二者混合的系统。模块是构成模型的要素,Simulink以模块为最小单位,通过信号线互相连接形成数据流。每个模块的参数通过GUI供用户调配,并且仿真的结果能够以数值和图像等形象化方式具现出来。Simulink自带了功能强大的模块库,还提供了各种回调函数供开发者自定义功能。工作之余,让开发工具也为我们做一些轻松愉快的事吧。Matlab开发的游戏已经不少,但是Simulink模型上开发的游戏的确是少之又少。本节课介绍如何使用Simulink模型和M语言共同构建一个基于模型的连连看游戏.
5自定义模块GUI控件的回调函数(以驱动IO模块GUI为例)00:33:02
1.介绍自定义模块的用途和Icon封装方式 2.通过驱动模块GUI的设计和Callback约束的编写告知同学们如何去约束自定义模块的控件行为 3.通过异常情况的出现说明一个问题,初始值和回调函数以外的M语句是可以造成异常情况的,但是当回调函数的执行被确保之后,就可以避免异常情况的出现。同时揭露Callback Editor Debug的不便之处。
6占空比可变的PWM波建模00:15:20
1. 讲解DSP以及ARM等硬件产生PWM波形的原理 2. 根据此原理建立Simulink模型仿真出占空比可变的PWM波形
7模块的封装00:32:41
1.Icon command的使用及实例说明 2.Block GUI的制作及实例说明 3.Initial command的触发时机以及Mask信息的添加 4. 线性模块子系统建模及封装,方便地通过GUI修改子系统内部模型的参数以观察多组参数下仿真结果的对比。
8自定义模块库及库显示用配置文件的自动生成00:27:14
Simulink自定义模块库课程: 1. 模型及库的区别和联系 2. 如何创建自定义库 3. 如何使用Perl脚本自动生成M函数文件配置库文件
9S函数基本知识框架00:19:36
S函数基本介绍
10Level 1 M S函数展示动态FFT仿真00:07:03
1.简单介绍LEVEL 1 M S函数的构成和运行原理, Simulink动态仿真与Matlab一般静态仿真的区别。 2.自定义S函数实现FFT动态仿真,识别正弦波频率。
11S函数自定模块——仿真用变色彩LED模块00:19:16
1.自定义一个彩色LED模块,在仿真过程中输入不同自动显示不同的颜色。 2.MaskDisplay参数的动态配置 3.绘制图型并填充颜色的方法
12S函数实现多个采样时刻更新一次输出00:06:59
对于Matlab中文论坛上某些同学的问题制作此课,让模块多个时刻采样才更新一次输出。
13S函数实现仿真数据实时存储00:10:57
To workspace只有在仿真结束时才能将数据保存到workspace,那么通过S函数可以自定义每个采样点都能存储过程数据的模块。
14Simulink实现三维动态绘图00:21:08
通过S函数实现三维动态绘图的尝试,最终获得实验成功。
15C mex S函数调用既有C代码进行仿真00:26:27
1.回顾S函数的执行顺序 2.介绍常用SimStruc宏函数 3.调用既有C代码创建C mex S函数进行仿真
16模型功能的自动测试便利化方案00:20:12
Simulink模型如何自动化测试呢,每次拖动模块构成不同的信号好麻烦,每次更改Configuration parameter也好头疼。Hyowinner校长告诉你如何将模型跟配置以及测试向量分离开,使得测试变的轻松便利。使得团队作业时,测试部分只需要配置管理测试用例,不需要对模型作任何编辑和变更。
第3章Simulink高级篇
1基于模型设计的开发流程00:24:54
Model Based Design,基于模型设计是一种流程,较之传统软件开发流程而言,使开发者能够更快捷、以更少的成本花费进行开发。适用范围包括信号处理,控制系统,通信行业。表述系统的模型是整个开发流程的中心,贯穿需求,设计,实施与测试。模型本身就是一个可执行的规格书,开发者修改优化模型就是对设计的修缮,无需到实施之后通过测试再进行系统验证,可以通过仿真在早期设计时期就及时进行正确性验证,并且在实施阶段,特别是对于嵌入式软件,代码由模型生成。
2代码生成时模型的配置方法及操作流程00:11:54
1.代码生成模型如何配置 2.代码生成中间过程 3.代码与模型的对应分析
3rtw文件——代码生成的中间产物00:22:30
1.讲述代码生成的流程 2.如何保存rtw文件 3.详细分析rtw文件内容
4rtw文件——TLC命令对rtw文件的访问、编辑、内容追加00:16:12
1.如何进入TLC Debugger模式 2.如何使用TLC命令读取rtw记录内容 3.如何使用TLC命令修改rtw记录内容 4.如何使用TLC命令追加rtw记录内容
5代码生成的文件结构00:19:13
1.生成文件的作用及内容讲解 2.file package的方式
6ert.tlc下默认配置生成代码的解读00:18:29
解读模型在ert.tlc下默认生成代码的风格及变量符号意义。
7提升生成代码可读性的两种方法00:23:27
1. 通过信号线属性和Iniline参数优化代码可读性 2. 介绍Package和CSC,通过数据对象的方式优化代码可读性
8CSC对生成代码的控制00:29:34
讲解Simu数据对象的各种自定义存储类型,包括Default, FileScope, Const, Volatile, ConstVolitile, Struct, BItField, CompilerFlag, Exported to FIle, Imported From file等存储类型生成代码的形式。
9CSC对生成代码的控制——GetSet存储类型用法00:19:40
GetSet这个存储类型的使用则有些特殊,它需要Data Store Memory模块,Data Store Read/Data Store Write模块共同配合使用。Data Store Memory模块定义一个变量名指向一片存储区域,在同一层模型或其子层模型的Data Store Read/Write模块都可以对这块存储区域进行读写操作。Data Store Memory中的信号名与Base Workspace中定义的信号数据对象绑定之后,可以设置生成代码中读取/写入此信号的接口函数。 属性名 功能 GetFunction 读取存储地址的函数名 SetFunction 写入存储地址的函数名 HeaderFile 可选项,设置需要包含的头文件全名,该头文件中应该声明上述两个参数中配置的函数原型。
10数据别名定义及代码生成中的控制00:26:28
1.说明嵌入式C代码中typedef的作用 2.教授Simulink中定义数据别名的定义方式 3.使用datatype replacement根数据别名对象共同实现代码生成中全数据类型的替换
11算法子系统生成函数的控制(Clark变换算法为例)00:29:15
1.如何建立Clark算法模型并仿真; 2.建立子系统并自动生成代码到model_step()中; 3.生成nonreusable代码,分为带参数与全void两种情况; 4.当同一个子系统多次被模型引用时,设置生成reusable代码节省代码空间。
12Variant Subsystem生成预编译控制代码00:22:52
1.如何使用Variant Subsystem创建可变子系统 2.如何创建可变子系统控制变量 3.生成带有编译预处理条件控制代码的解析
13枚举类型的创建及代码生成00:19:11
1.使用M语言定义class,定义枚举成员变量 2.实例化class的对象,应用于模型建立之中 3.将枚举类型通过模型生成到代码中去
14Lookuptable生成代码的优化及二分法查找算法解析00:25:30
1. 查找表的轴和表均使用数据对象和CSC进行优化 2.二分法轴查找算法以及临近插值法C代码解析。
15TLC语言(一)00:20:48
1.介绍TLC的全称及作用 2,说明TLC常用的命令以及书写格式 3.说明TLC脚本文件的创建及执行 4.TLC中输出信息的三种方式 5.TLC中内建宏的说明及使用
16TLC语言(二)——分支语句及常用数据类型00:26:09
1. TLC的switch case语句用法及实例 2. TLC的各种数据类型讲解和实例
17TLC语言(三)——三种常用循环00:28:29
1.TLC的%foreach循环讲解及实例 2.TLC的%for循环讲解及实例 3.TLC的%roll循环讲解及实例 4.举例说明如何编写自定义模块的tlc文件
18TLC语言(四)——矩阵操作及文件/代码生成00:21:03
1.矩阵尺寸的确定,矩阵元素的操作和打印 2.使用openfile,closefile进行文件及C代码的生成
19TLC语言(五)——记录的创建,内容追加及嵌套00:17:14
1.TLC的记录——一种数据结构 2.记录的创建 3.记录的嵌套 4.记录的内容追加,编辑及输出
20TLC语言(六)——记录的删除以及范围限定00:17:00
记录的删除以及范围限定符的使用。
21TLC语言(七)—— 文件流选择,函数定义及调用00:32:35
1.多个文件流存在时,如何指定操作对象 2.使用标准输出流STDOUT以及NULL_FILE 3.TLC函数的定义和调用——数值计算及C代码生成函数实例
22基于模型的Arduino应用设计及实机运行00:23:04
基于模型的Arduino应用开发,Arduino TSP驱动工具箱介绍及串口打印功能的demo讲解。
23基于模型的Arduino流水灯可试听整节00:15:50
1.使用Digital Output模块实现驱动代码自动生成 2.介绍流控制模块的If以及If Action子系统的使用方法 3.两种模式流水灯在实际板子上反复自动切换
24基于模型的Arduino超声波测距及数码管显示00:26:07
1. 使用超声波传感器测距的模型建立及代码生成,最终实现应用开发 2. 讲解HC SR04模块的使用方法 3. 讲解数码管模块的使用方法 4. 实际硬件run效果展示
25Target Support Package开发之系统目标文件00:35:42
1.讲解系统目标文件的作用 2.讲解系统目标文件的代码内容 3.讲解系统目标文件被选择时触发的回调函数的编写和优化
26Target Support Package开发之主函数定制00:31:57
Target Support Package生成代码主函数定制
27Target Support Package开发之创建外部设备模块00:18:53
教会大家如何给外部设备写S函数模块,并将GUI获取的参数传递给模型的rtw文件。
28Target Support Package开发之外设模块级TLC文件编写00:31:03
教会学员开发外部设备驱动代码生成的TLC文件编码方式。 1. 模块的TLC文件包括哪些常用方法及方法说明 2. 代码生成的文件定位方法以及Section定位方法
29Simulink实时控制硬件00:14:10
1.讲解PC与硬件实时通信的原理 2.讲解手写C代码下载到Arduino硬件的方式 3.演示Simulink模型实时控制硬件LED的不同效果 4.讲解PC端与硬件端分别如何使用串口
30Simulink模型整合自定义C结构体并生成指针变量00:17:05
1. 将自定义C结构体应用到Simulink模型中去 2.生成代码中生成结构体指针变量
第4章解惑篇
1如何动态设置模块输入输出端口个数00:16:42
如何动态设置模块输入输出端口个数
2如何创建中断服务控制模块00:20:38
如何创建中断服务控制模块
下载地址:
|
|