基于模型的设计——MCU篇.docx

上传人:b****1 文档编号:180052 上传时间:2022-10-05 格式:DOCX 页数:63 大小:3.26MB
下载 相关 举报
基于模型的设计——MCU篇.docx_第1页
第1页 / 共63页
基于模型的设计——MCU篇.docx_第2页
第2页 / 共63页
基于模型的设计——MCU篇.docx_第3页
第3页 / 共63页
基于模型的设计——MCU篇.docx_第4页
第4页 / 共63页
基于模型的设计——MCU篇.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

基于模型的设计——MCU篇.docx

《基于模型的设计——MCU篇.docx》由会员分享,可在线阅读,更多相关《基于模型的设计——MCU篇.docx(63页珍藏版)》请在冰豆网上搜索。

基于模型的设计——MCU篇.docx

第二章Simulink建模与调试

Simulink是动态和嵌入式等系统的建模与仿真工具,也是基于模型设计的基础。

对于机电、航空航天、信号处理、自动控制、通讯、音视频处理等众多领域,Simulink提供了交互式的可视化开发环境和可定制的模块库,对系统进行建模、仿真与调试等。

并可实现与Stateflow有限状态机的无缝连接,扩展对复杂系统的建模能力。

通过Simulin模块库自带的1000多个预定义模块,基本上可快速地创建基于MCU器件应用的系统模型。

运用层次化建模、数据管理,子系统定制等手段,即使是复杂的嵌入式MCU应用系统,也能轻松完成简明精确的模型描述。

大量使用EmbeddedMATLAB来创建用户自己的算法模块,可大大加快建模速度。

读者在后面的内容中,会经常看到用EmbeddedMATLAB创建的算法模块,加快MCU器件开发的实例。

模型是基于模型设计的起点,同时也最核心的东西。

本章将以基于PID控制的直流电机的物理建模与调试为例来介绍Simulink,更详细的内容请读者参考MathWorks公司相关内容的用户手册。

Simulink的主要特点如下:

l众多可扩展的模块库

l利用图形编辑器来组合和管理模块图

l以系统功能来划分模型,实现对复杂系统的管理

l利用模型浏览器(ModelExplorer)寻找、创建、配置模型组件的参数与属性

l利用API实现与其他仿真程序的连接或集成用户代码

l用图形化的调试器和剖析器来检查仿真结果,评估模型的性能指标

l在MATLAB命令窗口中,可对仿真结果进行分析与可视化,自定义模型环境、信号参数和测试数据

l利用模型分析和诊断工具来确保模型的一致性,定位模型中的错误

本章主要内容有:

lSimulink基本操作

l搭建直流电机模型

lSimulink模型调试

2.1Simulink基本操作

2.1.1模块库和编辑窗口

打开模型库浏览器

在matlab的命令窗口中输入“simulink”指令或单击matlab工具栏上的“simulink”图标就可以打开模型库浏览器。

如图2.1.1所示:

图2.1.1模型库浏览器

打开模型编辑窗口

要建立一个新的模型,首先要打开一个模型编辑窗口。

可以通过点击模块库浏览器上的NEWModel按钮,或File→NEW→Model来打开窗口,如图2.1.2所示。

图2.1.2打开模型编辑窗口

2.1.2Simulink模块库

Simulink模块库是建立模型的基础,其中囊括了大量的基本功能模块,只有当用户熟练的掌握了模块库,才能快速、高效的建立模型。

从图2.1.1所示的模型库浏览器可知,在Simulink模块库中包含有以下子模块库,如表2.1.1所示:

表2.1.1模块库列表

常用模块(commonlyusedblock)

连续模块(continuous)

非连续模块(discontinuous)

离散模块(discrete)

逻辑和位操作模块(logicandbitoperations)

查找表模块(lookuptables)

数学运算模块(mathoperations)

模型验证模块(modelverification)

模型实用模块(model-wideutilities)

端口与子系统模块(ports&subsystems)

信号属性模块(signalattributes)

信号路由模块(signalrouting)

接收器模块(sinks)

源模块(sources)

用户自定义模块(user-definedfunctions)

附加操作模块(additionalmath&discrete)

下面将详细介绍几种使用频率较高的模块库。

1.常用模块库(commonlyusedblock)

常用模块库中的模块是simulink所有模块库中使用频率最高模块的合集,主要是为了方便用户以最快的速度建立模型。

常用模块包含如图2.1.3所示的成员,模块功能如表2.1.2所示:

图2.1.3常用模块库

表2.1.2常用模块库列表

名称

功能

名称

功能

BusCreator

生成总线

BusSelector

分离总线

Constant

常量信号

DataTypeConversion

转换数据类型

Demux

抽取向量信号中的元素并输出

Discrete-TimeIntegrator

时间离散积分

Gain

放大器

Ground

接地

Inport

产生输入口

Integrator,IntegratorLimited

信号积分

LogicalOperator

逻辑运算

Mux

将输入信号合成为向量

Outport

产生输出口

Product

标量和非标量乘除或矩阵乘法和转置

RealationalOperator

对输入做关系运算

Saturation

饱和

ScopeandFloatingScope

显示仿真信号

Subsystem,AtomicSubsystem,NonvitualSubsystem,CodeReuseSubsystem

以子系统表示其他系统

Sum,Add,Subtract,SumofElements

加或减

Switch

通过第二个输入值来输出第一或第二个输入。

Terminator

终止未连接的输出口

UnitDelay

延迟一个采样周期

2.连续模块库(continuous)

连续模块库中的模块如2.1.4图所示,它包含了搭建连续系统所涉及到的绝大部分模块,这些模块的功能如2.1.3表所示:

图2.1.4连续模块库

表2.1.3连续模块库列表

名称

功能

名称

功能

Derivative

微分

Integrator

积分

IntegratorLimited

有限积分

Integrator2nd-order

二阶积分

Integrator2nd-orderLimited

二阶有限积分

PIDController

比例微积分控制器

PIDController(2DOF)

双自由度比例微积分控制器

State-Space

状态空间

TransferFcn

传递函数

TransportDelay

时间延迟

VariableTimeDelay

可变时间延迟

VariableTransportDelay

可变时间延迟

Zero-Pole

零极点

结合本书是讲述基于模型设计的思想开发MCU器件,本章将以Simulink在控制电机中的应用为例,介绍Simulink的建模与调试技术。

这里值得一提的是PID控制模块。

PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

它是在较新版本的Simulink中才新增并逐步完善的一个模块,R2010b版已经具备自动调节功能。

具体原理和使用将在后面分析。

3.离散模块库(discontinuous)

离散模块在涉及数字信号系统中被广泛使用,基于这种考虑,mathworks公司单独列出了离散系统模块库。

离散模块库中的模块和其功能如2.1.5图所列:

图2.1.5离散模块库

其中常用模块的功能如表2.1.4所示:

表2.1.4离散模块库列表

名称

功能

名称

功能

Difference

差分

DiscreteDerivative

离散微分方程

DiscreteFIRFilter

离散FIR滤波器

DiscreteFilter

离散滤波器

DiscretePIDController

离散PID控制器

DiscretePIDController(2DOF)

离散双自由度PID控制器

DiscreteState-Space

离散状态空间

DiscreteTransferFcn

离散传递函数

DiscreteZero-Pole

离散零极点

DiscreteTimeIntegrator

离散时间积分

1st-orderHold

一阶保持器

IntegerDelay

采样保持

Memory

记忆

TappedDelay

采样周期延迟

TransferFcn1st-order

一阶传递函数

TransferFcnLeadorLag

传递函数(超前或延迟)

TransferFcnRealZero

传递函数(有零点无极点)

UnitDelay

单位延迟

Zero-OrderHold

零阶保持器

4.数学运算模块库(mathoperations)

数学运算模块将很多数学运算封装成模块的形式,使数学运算操作大大简化,减少了很多程序设计上的繁琐过程。

此模块库所包含的模块如图2.1.6所示:

图2.1.6数学运算模块库

其中常用模块的功能如表2.1.5所示:

表2.1.5数学运算模块库列表

名称

功能

名称

功能

Sum

对输入求代数和

RoundingFunction

取整

Gain

常量增益

MinMax

求最值

SliderGain

可用滑动条改变的增益

TrigonometricFunction

三角函数

Product

对输入求积或商

AlgebraicConstraint

强制驶入信号为0

DotProduct

点积

ComplextoMagnitude-Angle

复数的幅值相角

Sign

取输入的正负符号

Magnitude-AngletoComplex

根据幅值相角得到复数

Abs

绝对值(模)

ComplextoReal-Imag

复数的实部虚部

MathFunction

数学运算函数

Real-Imagtocomplex

由实部虚部求复数

5.信号源模块库(signalattributes)

信号源模块库如2.1.7图所示:

图2.1.7信号源模块库

其中常用模块的功能如表2.1.6所示:

表2.1.6信号源模块库列表

名称

功能

名称

功能

Band-LimitedWhiteNoise

限带白噪声

ChirpSignal

频率变化的正弦信号

Clock

时钟信号

Constant

常数

CounterLimited

受限计数器

DigitalClock

数字时钟

EnumeratedConstant

枚举常数

FromFile

从文件读数据

FromWorkSpace

从工作空间读数据

Ground

接地

Inport

输入接口

PulseGenerator

脉冲发生器

Ramp

线性增或减的信号

RandomNumber

随机数

RepeatingSequence

重复系列

RepeatingSequenceInterpolated

重复序列插值

RepeatingSequenceStair

阶梯状重复序列

SignalBuilder

产生分段线性的可交替信号

SignalGenerator

信号发生器

SineWave

正弦信号

Step

阶跃信号

UniformRandomNumber

平均分布的随机信号

6.信号接收模块库(sinks)

信号接收模块库如图2.1.8所示:

图2.1.8信号接收模块库

其中常用模块的功能如表2.1.7所示:

表2.1.7信号接收模块库列表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1