《基于模型的设计及其嵌入式实现 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘杰编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2017
  • ISBN:9787512423107
  • 页数:481 页
图书介绍:本书以基于模型的设计为主线,讲述了M代码,Embedded MATLAB代码的快速编写与调试,浮点Simulink/Stateflow模型的建立、调试与验证,以及用户驱动模块的创建;基于模型设计的全过程,主要包括:需求的验证与跟踪、模型的系统测试与设计验证、浮点到定点模型的转换、模型嵌入式C代码的自动生成以及软件/处理器/硬件在环测试。本书可作为汽车电子、航天军工、通信与电子信息、电力等领域的工程师从事嵌入式开发的技术手册,也可作为高校电类专业嵌入式系统开发与基于模型设计的教材。

第1章 搭建软件开发环境 1

1.1下载与安装所需的软件 1

1.1.1下载开发软件包 1

1.1.2安装开发软件包 1

1.1.3安装更新 4

1.2创建一个包含DSP/BIOS的C6000 DSP工程 5

1.3设置MATLAB R2015b与CCS 5.11数据链配置 14

1.3.1 checkEnvSetup() 14

1.3.2 xmakefilesetup 16

1.4有关MATLAB R2015b与CCS 3.3的配置问题 18

第2章 MATLAB高级应用基础 19

2.1 MATLAB的功能简介 20

2.1.1函数浏览器 20

2.1.2函数提示 21

2.1.3目录浏览器 22

2.1.4文件交换服务 24

2.2 M文件 26

2.2.1 M文件结构 26

2.2.2清理程序 28

2.2.3创建M文件 29

2.2.4 M脚本文件 29

2.2.5 M函数 30

2.2.6匿名函数 34

2.3加快M文件的编写 36

2.3.1什么是代码检查器 36

2.3.2代码检查器的使用方法 36

2.3.3代码检查器实例 36

2.4加快M文件的调试——cell 40

2.4.1什么是cell 40

2.4.2 cell的定义与删除 40

2.4.3 cell调试实例 42

2.4.4应用 44

2.5数据存取 47

2.5.1生成MAT文件 47

2.5.2加载MAT文件 49

2.5.3读/写音视频文件 50

2.6代码效率分析 53

2.7 MATLAB Coder简介 55

2.7.1 MATLAB Coder支持/不支持生成C代码的类型 56

2.7.2 MATLAB Coder的使用要求 57

2.7.3 Embedded Coder的常用命令 57

2.7.4 C编译器的设置 58

2.7.5应用实例 59

第3章 图形用户界面简介 72

3.1 GUIDE简介 72

3.1.1 GUIDE界面简介 72

3.1.2获取当前图形对象句柄的常用函数 75

3.1.3 Callback函数 76

3.2基于GUIDE工具的实例 76

3.2.1读取图像的GUI实例 76

3.2.2制作及发布简易计算器 94

第4章 Stateflow原理与建模基础 106

4.1 Stateflow概述 107

4.1.1状态 111

4.1.2迁移 114

4.1.3事件 118

4.1.4数据对象 120

4.1.5条件与动作 122

4.1.6节点 122

4.2流程图 128

4.2.1手动建立流程图 128

4.2.2快速建立流程图 131

4.2.3车速控制 132

4.3状态图的层次 136

4.3.1历史节点 138

4.3.2迁移的层次性 139

4.3.3内部迁移 140

4.4并行机制 143

4.4.1广播 143

4.4.2隐含事件 149

4.4.3时间逻辑事件 150

4.5其他的图形对象 152

4.5.1真值表 152

4.5.2图形盒 155

4.5.3图形函数 156

4.6 MATLAB函数 157

4.6.1建立调用MATLAB函数的Simulink模型 157

4.6.2编写MATLAB函数 159

4.6.3调试 160

4.7 Simulink函数 163

4.7.1 Simulink函数的使用 163

4.7.2使用Simulink函数需遵循的规则 169

4.8集成自定义代码 170

4.9 Stateflow建模实例——计时器 174

第5章 Simulink建模与验证 184

5.1 Simulink的基本操作 185

5.1.1启动Simulink 185

5.1.2 Simulink模块库简介 186

5.1.3模块操作 188

5.2信号采样误差 193

5.2.1信号源 193

5.2.2 MATLAB工作空间 198

5.2.3用户自定义函数 202

5.2.4非线性系统 204

5.2.5离散模块 207

5.2.6采样误差 209

5.2.7建立子系统 211

5.2.8封装子系统 212

5.2.9数据类型匹配 215

5.2.10模型信息 218

5.2.11模型元件化 221

5.2.12自定义模块库 222

5.3音频信号处理 224

5.3.1仿真环境 224

5.3.2基于采样的模型 225

5.3.3帧结构 228

5.3.4基于帧结构的模型 228

5.3.5信号缓冲器 230

5.4视频监控 232

5.4.1原理 233

5.4.2 SAD子系统 233

5.4.3阈值比较 234

5.4.4视频记录子系统 235

5.4.5源视频帧计数及显示 236

5.4.6数据读取与显示 237

5.4.7实验结果 239

5.5模型调试 241

5.5.1图形调试模式 241

5.5.2命令行调试模式 244

5.5.3调试过程 245

5.5.4断点设置 249

5.5.5显示仿真及模型信息 253

5.6模型检查与验证 260

5.6.1使用系统检查器——Model Advisor检查模型 260

5.6.2建立测试用例 269

5.6.3模型覆盖度分析 279

5.6.4模型效率分析 285

第6章 用户驱动模块的创建 289

6.1什么是S-Function 289

6.1.1 S-Function的工作机制 291

6.1.2函数回调方法 292

6.1.3编写C MEX S-Function 295

6.1.4 Simulink引擎与C S-Function的相互作用 300

6.1.5 TLC文件 309

6.1.6 LEVEL-2M文件S-Function介绍 313

6.1.7调用仿真模型外部的C代码和生成代码 324

6.2 S-Function Builder 327

6.2.1 S-Function名及参数名 328

6.2.2初始化 329

6.2.3数据属性 329

6.2.4库文件 332

6.2.5输出 333

6.2.6连续状态求导 336

6.2.7离散状态更新 337

6.2.8编译信息 338

6.2.9应用 340

6.3 MATLAB Function模块 342

6.3.1 MATLAB Function模块的生成方法 343

6.3.2集成用户自定义的C代码 347

6.4实例 348

6.4.1 IIR滤波器 348

6.4.2 S-Function的参数设置与封装 351

6.4.3读取数据文件 357

第7章 嵌入式代码的快速生成 362

7.1利用Embedded Coder生成DSP目标代码 362

7.2 CCS 5/6与MATLAB R2015b的数据链配置 364

7.3 TI DSP原装板的实时代码生成 368

7.4代码验证 375

7.5 TI C6416 DSK目标板应用例程 380

7.6用户自定义目标板的应用 401

第8章 基于模型的设计 406

8.1传统设计过程与基于模型设计过程的对比 407

8.2 DO-178B标准简介 409

8.2.1什么是DO-178B标准 409

8.2.2 DO-178B标准验证要求 410

8.2.3 DO-178B软件生命周期 411

8.3基于模型设计的工作流程 412

8.4需求分析及跟踪 417

8.4.1根据需求建立系统模型 417

8.4.2建立需求与模块间的关联 418

8.4.3一致性检查 421

8.5模型检查及验证 423

8.5.1 Model Advisor检查 423

8.5.2 SystemTest 424

8.5.3 Design Verifier 433

8.6定点模型 439

8.7软件在环测试 447

8.8处理器在环测试 448

8.9代码跟踪 449

8.10硬件模型 453

8.10.1建立硬件模型 453

8.10.2模块设置 454

8.11代码优化及代码生成 457

8.11.1子系统原子化 457

8.11.2优化模块库 460

8.11.3指定芯片 461

8.11.4代码检查 462

8.11.5 IDE环境下的代码优化 464

8.11.6工程选项及代码生成 465

8.12代码有效性检查原理 469

8.13硬件在环测试 472

8.13.1建立PC端模型 472

8.13.2模块参数设置 473

8.13.3实施硬件在环测试 476

8.13.4代码效率剖析 477

8.13.5内存使用分析 478

参考文献 480