《基于模型的设计 MCU篇》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘杰等著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2011
  • ISBN:9787512403154
  • 页数:502 页
图书介绍:本书以基于模型的设计在MCU中应用为主线,分三部分讲述全书。第一部分,深入剖析了Stataflow的建模与应用,以及Simulink建模与调试;介绍了新版MATLAB的特色功能与R2010b版中Embedded MATLAB的编程规范和新的编程与调试模式;最后着重讨论了用户驱动模块的创建过程与应用实例等。第二部分,演示了简化的基于模型设计,即基于模型的8051、英飞凌C166、Microchip dsPIC、ARM等MCU中的快速开发,并在Proteus中进行虚拟硬件测试。第三部分,以直流电机的PID控制模型为例,介绍了满足DO-178b航空电子规范的完整基于模型设计在ARM上的实现。

第1章MATLAB编程基础 1

1.1 MATLAB R2010a与2010b的若干更新 1

1.1.1压缩文件 2

1.1.2目录浏览器 3

1.1.3文件夹及文件比较 5

1.1.4登录MATLAB文件交换服务器 7

1.2 M文件的编写 8

1.2.1 M文件结构 8

1.2.2 M脚本文件 10

1.2.3快捷方式 12

1.2.4 M函数 13

1.2.5匿名函数 17

1.2.6函数提示 17

1.3 M文件的调试 18

1.3.1 M-Lint 18

1.3.2使用cells加快调试 19

1.4 M文件的发布 21

1.5 Embedded MATLAB 24

1.5.1 Embedded MATLAB的主要功能特点 24

1.5.2 Embedded MATLAB的编程规范 25

1.5.3 C编译器的设置 25

1.5.4 Embedded MATLAB编程实例 27

第2章Simulink建模与调试 36

2.1 Simulink基本操作 37

2.1.1模块库和编辑窗口 37

2.1.2 Simulink模块库 38

2.1.3模块的基本操作 43

2.2搭建直流电动机模型 46

2.2.1数学模型分析 46

2.2.2模型搭建与参数设置 48

2.2.3子系统与库 56

2.2.4添加模块到库浏览器及知识产权保护 61

2.2.5数据格式与输入/输出 63

2.2.6 PID控制 67

2.3 Simulink模型调试 77

2.3.1图形界面调试 77

2.3.2命令行调试 79

2.3.3运行调试器 80

2.3.4断点设置 84

2.3.5显示模型和仿真信息 86

第3章Stateflow建模与应用 92

3.1 Stateflow基本概念 92

3.1.1状态图编辑器 94

3.1.2状态 95

3.1.3迁移 99

3.1.4数据与事件 101

3.1.5对象的命名规则 101

3.2 Stateflow状态图 102

3.2.1状态 102

3.2.2迁移 103

3.2.3计时器状态图 106

3.2.4数据与事件 107

3.2.5动作 109

3.2.6自动创建对象 111

3.3 Stateflow流程图 112

3.3.1流程图与节点 112

3.3.2建立流程图 113

3.4层次结构 116

3.4.1层次的概念 116

3.4.2迁移的层次 117

3.4.3历史节点 118

3.4.4子状态图 119

3.4.5层次状态图中的流程图 120

3.5并行机制 120

3.5.1设置状态关系 120

3.5.2并行状态活动顺序配置 121

3.5.3本地事件广播 122

3.5.4直接事件广播 123

3.5.5隐含事件和条件 124

3.6 Stateflow其他对象 125

3.6.1真值表(Truth table) 125

3.6.2图形函数(Graphical function) 127

3.6.3 Embedded MATLAB 129

3.6.4图形盒(Box) 131

3.6.5 Simulink函数调用 132

3.6.6目标 134

3.7综合应用 137

3.7.1计时器 137

3.7.2交通灯 144

第4章 设备驱动模块的编写 152

4.1创建S函数模块的示例 153

4.1.1手工编写Wrapper S函数 153

4.1.2代码继承工具(Legacy Code Tool) 157

4.1.3 S-Function Builder 160

4.1.4三种方法的比较 162

4.2 S函数 164

4.2.1 S函数工作机制 164

4.2.2 C MEX S函数模板 166

4.2.3其他回调方法 173

4.2.4宏函数 178

4.2.5数据访问 179

4.2.6目标语言编译器 181

4.3 S-Function Builder 184

4.3.1 S-Function Builder简介 184

4.3.2初始化界面(initialization) 186

4.3.4数据属性界面(Data Properties) 187

4.3.5库文件界面(Libraries) 188

4.3.6输出界面(Outputs) 189

4.3.7连续状态求导(Continuous Derivatives) 191

4.3.8离散状态更新(Discrete Update) 192

4.3.9编译信息(Build Info) 193

4.4创建设备驱动实例 194

4.4.1 HC12模数转换模块 194

4.4.2 DAS1600数据输入模块 210

4.4.3 S-Function Builder 218

第5章8051单片机代码的快速生成 223

5.1仿真软件Proteus快速入门 223

5.1.1 Proteus简介 223

5.1.2快速绘制原理图 225

5.1.3 PCB制板 232

5.2 Keil C51集成开发环境(IDE) 235

5.2.1预备知识 235

5.2.2 RTW-EC快速代码生成 245

5.2.3脉宽调制 250

5.2.4流水灯 259

5.3 TASKING嵌入式开发环境(EDE ) 269

5.3.1预备知识 269

5.3.2直流电机控制 276

5.3.3算术乘法 286

5.3.4流水灯 293

第6章C166代码的快速生成 296

6.1英飞凌C166模块库简介 297

6.2 TASKING EDE for C166 299

6.2.1电动机控制模型 299

6.2.2设置IDE与模型参数 300

6.2.3处理器在环测试(PIL) 302

6.2.4代码的自动生成 305

第7章 基于Simulink模块的dsPIC单片机开发 309

7.1 MPLAB嵌入式开发环境及工具 310

7.1.1软件的下载和安装 310

7.1.2利用MPLAB IDE及Proteus VSM进行虚拟硬件调试 315

7.1.3 dsPIC外围驱动模块简介 323

7.2 dsPIC外围驱动模块应用 324

7.2.1数模转换实验 324

7.2.2闪烁灯 333

7.2.3调用现有C函数 342

7.3无对应模块时的应用 355

7.3.1创建功能验证模型 355

7.3.2自动代码生成 355

7.3.3虚拟硬件测试 360

第8章ARM代码的快速生成 361

8.1 ARM简介 361

8.2蜂鸣器 363

8.2.1蜂鸣器发声模型 363

8.2.2蜂鸣器功能验证模型 364

8.2.3软件在环测试 365

8.2.4自动代码生成 366

8.2.5虚拟硬件测试 370

8.3交通灯控制 371

8.3.1软件在环测试 371

8.3.2自动代码生成及编译 375

8.3.3虚拟硬件测试 379

8.4步进电动机控制 382

8.4.1步进电动机原理简介 382

8.4.2步进电动机控制模型 382

8.4.3步进电动机的功能验证模型 383

8.4.4软件在环测试 385

8.4.5自动代码生成 387

8.4.6虚拟硬件测试 391

8.5无刷电动机的控制 393

8.5.1无刷电动机原理简介 393

8.5.2 TASKING IDE FOR ARM 394

8.5.3无刷电动机控制模型 395

8.5.4无刷电动机功能验证模型 397

8.5.5软件在环测试 398

8.5.6编写驱动代码 401

8.5.7自动代码生成 401

8.5.8代码效率比较 407

8.5.9虚拟硬件测试 417

第9章 基于模型的设计 421

9.1传统设计的弊端 422

9.2基于模型设计的优势 423

9.3基于模型设计的流程 425

9.3.1建立需求文档 425

9.3.2建立可执行的技术规范 425

9.3.3浮点模型 426

9.3.4需求与模型间的双向跟踪 426

9.3.5 Model Advisor检查 426

9.3.6模型验证 426

9.3.7定点模型 427

9.3.8软件在环测试(SIL) 427

9.3.9处理器在环测试(PIL) 427

9.3.10代码与模型间的双向跟踪 427

9.3.11代码优化 428

9.3.12生成产品级代码 428

9.4需求分析及跟踪 428

9.4.1系统模型 428

9.4.2需求关联 431

9.4.3一致性检查 433

9.5模型检查及验证 435

9.5.1 System Test 435

9.5.2 Design Verifier 443

9.5.3 Model Advisor检查 454

9.6定点模型 458

9.6.1 Fixed Point Advisor 459

9.6.2 Fixed Point Tools 465

9.7软件在环测试 469

9.8代码跟踪 470

9.9代码优化及代码生成 473

9.9.1子系统原子化 473

9.9.2确定芯片类型 474

9.9.3代码检查 475

9.9.4代码生成 478

9.10虚拟硬件测试 479

附录Embedded MATLAB支持的各函数 486

参考文献 500