描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787512423107
《基于模型的设计及其嵌入式实现(第2版)》以基于模型的设计为主线,讲述了M 代码的快速编写与调试,用户界面的创建,浮点Simulink/Stateflow模型的建立、调试与验证,用户自定义模块的生成;详细介绍了基于模型设计的全过程,主要有需求分析与跟踪、模型的检查与设计验证、浮点模型到定点模型的转换、模型嵌入式C代码的自动生成、软件/处理器/硬件在环测试,整个过程满足DO 178B航空电子规范,可显著提高工作效率、降低开发成本,并且增强了代码的安全性与鲁棒性,避免了产品开发的潜在市场风险。
第1章 搭建软件开发环境…………………………………………………………… 1
1.1 下载与安装所需的软件……………………………………………………… 1
1.1.1 下载开发软件包………………………………………………………… 1
1.1.2 安装开发软件包………………………………………………………… 1
1.1.3 安装更新………………………………………………………………… 4
1.2 创建一个包含DSP/BIOS的C6000DSP工程……………………………… 5
1.3 设置MATLABR2015b与CCS5.11数据链配置……………………… 14
1.3.1 checkEnvSetup()……………………………………………………… 14
1.3.2 xmakefilesetup ………………………………………………………… 16
1.4 有关MATLABR2015b与CCS3.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 MATLABCoder简介……………………………………………………… 55
2.7.1 MATLABCoder支持/不支持生成C代码的类型………………… 56
2.7.2 MATLABCoder的使用要求………………………………………… 57
2.7.3 EmbeddedCoder的常用命令………………………………………… 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 使用系统检查器———ModelAdvisor检查模型…………………… 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 MEXS-Function …………………………………………… 295
6.1.4 Simulink引擎与CS-Function的相互作用………………………… 300
6.1.5 TLC文件……………………………………………………………… 309
6.1.6 LEVEL 2M 文件S-Function介绍……………………………… 313
6.1.7 调用仿真模型外部的C代码和生成代码…………………………… 324
6.2 S-FunctionBuilder………………………………………………………… 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 MATLABFunction模块………………………………………………… 342
6.3.1 MATLABFunction模块的生成方法……………………………… 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 利用EmbeddedCoder生成DSP目标代码……………………………… 362
7.2 CCS5/6与MATLABR2015b的数据链配置…………………………… 364
7.3 TIDSP原装板的实时代码生成………………………………………… 368
7.4 代码验证…………………………………………………………………… 375
7.5 TIC6416DSK目标板应用例程………………………………………… 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 ModelAdvisor检查………………………………………………… 423
8.5.2 SystemTest …………………………………………………………… 424
8.5.3 DesignVerifier ……………………………………………………… 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
评论
还没有评论。