书籍详情
基于模型的设计:MCU篇
作者:刘杰 等著
出版社:北京航空航天大学出版社
出版时间:2011-01-01
ISBN:9787512403154
定价:¥69.00
购买这本书可以去
内容简介
《基于模型的设计:MCU篇》以基于模型的设计在MCU中的应用为主线,分三部分介绍全书。第一部分,深入剖析了Stateflow的建模与应用,以及Simulink建模与调试;介绍了新版MATLAB的特色功能与R2010b版中Embedded MA丁I.AB的编程规范和新的编程与调试模式;最后着重讨论了用户驱动模块的创建过程与应用实例等.第二部分,演示了简化的基于模型设计,即基于模型的8051、英飞凌C166、Microehip dsPIC、ARM等MCU中的快速开发,并在Proteus中进行虚拟硬件测试,使读者直观地感受到在可视化的开发环境中,从算法验证到嵌入式C代码自动生成一步到位的方便与高效。第三部分,以直流电动机的PID控制模型为例,介绍了满足DO一178b航空电子规范的完整基于模型设计在ARM上的实现。其流程包括可执行、可跟踪的需求分析/技术规范、Model Ad—vior测试、系统测试、设计测试、浮点模型到定点模型的自动转换与定标、为特定芯片生成嵌入式C代码、软件/硬件在环测试、嵌入式实时C代码的自动生成,最后是手工底层驱动代码与自动代码的整合等,这部分是《基于模型的设计:MCU篇》的总结与核心。《基于模型的设计:MCU篇》可作为航天军工、汽车电子、通信与信息处理,电力等行业的工程师从事MCU开发时的技术手册,也可作为高校电类专业的MCU开发或基于模型设计的教材,同时也是Simulink/Sateflow高级建模与验证的参考书,另外也为广大高校学生(本、硕、博)做毕业设计提供了一种高效、快捷的软件实现方法。
作者简介
刘杰,毕业于浙江大学信电系通信工程专业,获工学博士学位,现为硕士生导师,兼职教授。长期从事嵌入式器件的研究与开发,特别是近3~4年,夜以继日地潜心钻研基于模型的设计,这项最近几年才在全球掀起的新技术。致力于宣传、推广基于模型的设计在我国的应用和普及,已经出版了国内第一部基于模型设计的专著《基于模型的设计及其嵌入式实现》。
目录
第1章 MATLAB编程基础
1.1 MATLAB R2010a与2010b的若干更新
1.1.1 压缩文件
1.1.2 目录浏览器
1.1.3 文件夹及文件比较
1.1.4 登录MATLAB文件交换服务器
1.2 M文件的编写
1.2.1 M文件结构
1.2.2 M脚本文件
1.2.3 快捷方式
1.2.4 M函数
1.2.5 匿名函数
1.2.6 函数提示
1.3 M文件的调试
1.3.1 M-Lint
1.3.2 使用cells加快调试
1.4 M文件的发布
1.5 Embedded MATLAB
1.5.1 Embedded MATLAB的主要功能特点
1.5.2 Embedded MATLAB的编程规范
1.5.3 C编译器的设置
1.5.4 Embedded MATLAB编程实例
第2章 Simulink建模与调试
2.1 Simulink基本操作
2.1.1 模块库和编辑窗口
2.1.2 Simulink模块库
2.1.3 模块的基本操作
2.2 搭建直流电动机模型
2.2.1 数学模型分析
2.2.2 模型搭建与参数设置
2.2.3 子系统与库
2.2.4 添加模块到库浏览器及知识产权保护
2.2.5 数据格式与输入/输出
2.2.6 PID控制
2.3 Simulink模型调试
2.3.1 图形界面调试
2.3.2 命令行调试
2.3.3 运行调试器
2.3.4 断点设置
2.3.5 显示模型和仿真信息
第3章 Stateflow建模与应用
3.1 Stateflow基本概念
3.1.1 状态图编辑器
3.1.2 状态
3.1.3 迁移
3.1.4 数据与事件
3.1.5 对象的命名规则
3.2 Stateflow状态图
3.2.1 状态
3.2.2 迁移
3.2.3 计时器状态图
3.2.4 数据与事件
3.2.5 动作
3.2.6 自动创建对象
3.3 Stateflow流程图
3.3.1 流程图与节点
3.3.2 建立流程图
3.4 层次结构
3.4.1 层次的概念
3.4.2 迁移的层次
3.4.3 历史节点
3.4.4 子状态图
3.4.5 层次状态图中的流程图
3.5 并行机制
3.5.1 设置状态关系
3.5.2 并行状态活动顺序配置
3.5.3 本地事件广播
3.5.4 直接事件广播
3.5.5 隐含事件和条件
3.6 stateflow其他对象
3.6.1 真值表(Truth table)
3.6.2 图形函数(Graphical function)
3.6.3 Embedded MATLAB
3.6.4 图形盒(Box)
3.6.5 Simulink函数调用
3.6.6 目标
3.7 综合应用
3.7.1 计时器
3.7.2 交通灯
第4章 设备驱动模块的编写
4.1 创建S函数模块的示例
4.1 I1手工编写Wrapper S函数
4.1.2 代码继承工具(Legacy Code T001)
4.1.3 S-Function Builder
4.1.4 三种方法的比较
4.2 S函数
4.2.1 S函数工作机制
4.2.2 C MEX S函数模板
4.2.3 其他回调方法
4.2.4 宏函数
4.2.5 数据访问
4.2.6 目标语言编译器
4.3 S-Function Builder
4.3.1 S-Function Builder简介
4.3.2 初始化界面(initialization)
4.3.4 数据属性界面(Data Properties)
4.3.5 库文件界面(Libraries)
4.3.6 输出界面(Outputs)
4.3.7 连续状态求导(Continuous Derivatives)
4.3.8 离散状态更新(Discrete Update)
4.3.9 编译信息(Build Info)
4.4 创建设备驱动实例
4.4.1 HCl2模数转换模块
4.4.2 DASl600数据输入模块
4.4.3 S-Function Builder
第5章 8051单片机代码的快速生成
5.1 仿真软件Proteus快速人门
5.1.1 Proteus简介
5.1.2 快速绘制原理图
5.1.3 PCB制板
5.2 KeilC51集成开发环境(IDE)
5.2.1 预备知识
5.2.2 RTW-EC快速代码生成
5.2.3 脉宽调制
5.2.4 流水灯
5.3 TASKING嵌入式开发环境(EDE)
5.3.1 预备知识
5.3.2 直流电机控制
5.3.3 算术乘法
5.3.4 流水灯
第6章 C166代码的快速生成
6.1 英飞凌C166模块库简介
6.2 TASKING EDE for C166
6.2.1 电动机控制模型
6.2.2 设置IDE与模型参数
6.2.3 处理器在环测试(PIL)
6.2.4 代码的自动生成
第7章 基于Simulink模块的dsPIC单片机开发
7.1 MPLAB嵌入式开发环境及工具
7.1.1 软件的下载和安装
7.1.2 利用MPLAB IDE及Proteus VSM进行虚拟硬件调试
7.1.3 dsPIC外围驱动模块简介
7.2 dsPIC外围驱动模块应用
7.2.1 数模转换实验
7.2.2 闪烁灯
7.2.3 调用现有C函数
7.3 无对应模块时的应用
7.3.1 创建功能验证模型
7.3.2 自动代码生成
7.3.3 虚拟硬件测试
第8章 ARM代码的快速生成
8.1 ARM简介
8.2 蜂鸣器
8.2.1 蜂鸣器发声模型
8.2.2 蜂鸣器功能验证模型
8.2.3 软件在环测试
8.2.4 自动代码生成
8.2.5 虚拟硬件测试
8.3 交通灯控制
8.3.1 软件在环测试
8.3.2 自动代码生成及编译
8.3.3 虚拟硬件测试
8.4 步进电动机控制
8.4.1 步进电动机原理简介
8.4.2 步进电动机控制模型
8.4.3 步进电动机的功能验证模型
8.4.4 软件在环测试
8.4.5 自动代码生成
8.4.6 虚拟硬件测试
8.5 无刷电动机的控制
8.5.1 无刷电动机原理简介
8.5.2 TASKING IDE FOR ARM
8.5.3 无刷电动机控制模型
8.5.4 无刷电动机功能验证模型
8.5.5 软件在环测试
8.5.6 编写驱动代码
8.5.7 自动代码生成
8.5.8 代码效率比较
8.5.9 虚拟硬件测试
第9章 基于模型的设计
9.1 传统设计的弊端
9.2 基于模型设计的优势
9.3 基于模型设计的流程
9.3.1 建立需求文档
9.3.2 建立可执行的技术规范
9.3.3 浮点模型
9.3.4 需求与模型间的双向跟踪
9.3.5 Model Advisor检查
9.3.6 模型验证
9.3.7 定点模型
9.3.8 软件在环测试(SIL)
9.3.9 处理器在环测试(PIL)
9.3.10 代码与模型间的双向跟踪
9.3.11 代码优化
9.3.12 生成产品级代码
9.4 需求分析及跟踪
9.4.1 系统模型
9.4.2 需求关联
9.4.3 一致性检查
9.5 模型检查及验证
9.5.1 System Test
9.5.2 Design Verifier
9.5.3 Model Advisor检查
9.6 定点模型
9.6.1 Fixed Point Advisoi
9.6.2 Fixed Point Tools
9.7 软件在环测试
9.8 代码跟踪
9.9 代码优化及代码生成
9.9.1 子系统原子化
9.9.2 确定芯片类型
9.9.3 代码检查
9.9.4 代码生成
9.10 虚拟硬件测试
附录Embedded MATLAB支持的各函数
参考文献
1.1 MATLAB R2010a与2010b的若干更新
1.1.1 压缩文件
1.1.2 目录浏览器
1.1.3 文件夹及文件比较
1.1.4 登录MATLAB文件交换服务器
1.2 M文件的编写
1.2.1 M文件结构
1.2.2 M脚本文件
1.2.3 快捷方式
1.2.4 M函数
1.2.5 匿名函数
1.2.6 函数提示
1.3 M文件的调试
1.3.1 M-Lint
1.3.2 使用cells加快调试
1.4 M文件的发布
1.5 Embedded MATLAB
1.5.1 Embedded MATLAB的主要功能特点
1.5.2 Embedded MATLAB的编程规范
1.5.3 C编译器的设置
1.5.4 Embedded MATLAB编程实例
第2章 Simulink建模与调试
2.1 Simulink基本操作
2.1.1 模块库和编辑窗口
2.1.2 Simulink模块库
2.1.3 模块的基本操作
2.2 搭建直流电动机模型
2.2.1 数学模型分析
2.2.2 模型搭建与参数设置
2.2.3 子系统与库
2.2.4 添加模块到库浏览器及知识产权保护
2.2.5 数据格式与输入/输出
2.2.6 PID控制
2.3 Simulink模型调试
2.3.1 图形界面调试
2.3.2 命令行调试
2.3.3 运行调试器
2.3.4 断点设置
2.3.5 显示模型和仿真信息
第3章 Stateflow建模与应用
3.1 Stateflow基本概念
3.1.1 状态图编辑器
3.1.2 状态
3.1.3 迁移
3.1.4 数据与事件
3.1.5 对象的命名规则
3.2 Stateflow状态图
3.2.1 状态
3.2.2 迁移
3.2.3 计时器状态图
3.2.4 数据与事件
3.2.5 动作
3.2.6 自动创建对象
3.3 Stateflow流程图
3.3.1 流程图与节点
3.3.2 建立流程图
3.4 层次结构
3.4.1 层次的概念
3.4.2 迁移的层次
3.4.3 历史节点
3.4.4 子状态图
3.4.5 层次状态图中的流程图
3.5 并行机制
3.5.1 设置状态关系
3.5.2 并行状态活动顺序配置
3.5.3 本地事件广播
3.5.4 直接事件广播
3.5.5 隐含事件和条件
3.6 stateflow其他对象
3.6.1 真值表(Truth table)
3.6.2 图形函数(Graphical function)
3.6.3 Embedded MATLAB
3.6.4 图形盒(Box)
3.6.5 Simulink函数调用
3.6.6 目标
3.7 综合应用
3.7.1 计时器
3.7.2 交通灯
第4章 设备驱动模块的编写
4.1 创建S函数模块的示例
4.1 I1手工编写Wrapper S函数
4.1.2 代码继承工具(Legacy Code T001)
4.1.3 S-Function Builder
4.1.4 三种方法的比较
4.2 S函数
4.2.1 S函数工作机制
4.2.2 C MEX S函数模板
4.2.3 其他回调方法
4.2.4 宏函数
4.2.5 数据访问
4.2.6 目标语言编译器
4.3 S-Function Builder
4.3.1 S-Function Builder简介
4.3.2 初始化界面(initialization)
4.3.4 数据属性界面(Data Properties)
4.3.5 库文件界面(Libraries)
4.3.6 输出界面(Outputs)
4.3.7 连续状态求导(Continuous Derivatives)
4.3.8 离散状态更新(Discrete Update)
4.3.9 编译信息(Build Info)
4.4 创建设备驱动实例
4.4.1 HCl2模数转换模块
4.4.2 DASl600数据输入模块
4.4.3 S-Function Builder
第5章 8051单片机代码的快速生成
5.1 仿真软件Proteus快速人门
5.1.1 Proteus简介
5.1.2 快速绘制原理图
5.1.3 PCB制板
5.2 KeilC51集成开发环境(IDE)
5.2.1 预备知识
5.2.2 RTW-EC快速代码生成
5.2.3 脉宽调制
5.2.4 流水灯
5.3 TASKING嵌入式开发环境(EDE)
5.3.1 预备知识
5.3.2 直流电机控制
5.3.3 算术乘法
5.3.4 流水灯
第6章 C166代码的快速生成
6.1 英飞凌C166模块库简介
6.2 TASKING EDE for C166
6.2.1 电动机控制模型
6.2.2 设置IDE与模型参数
6.2.3 处理器在环测试(PIL)
6.2.4 代码的自动生成
第7章 基于Simulink模块的dsPIC单片机开发
7.1 MPLAB嵌入式开发环境及工具
7.1.1 软件的下载和安装
7.1.2 利用MPLAB IDE及Proteus VSM进行虚拟硬件调试
7.1.3 dsPIC外围驱动模块简介
7.2 dsPIC外围驱动模块应用
7.2.1 数模转换实验
7.2.2 闪烁灯
7.2.3 调用现有C函数
7.3 无对应模块时的应用
7.3.1 创建功能验证模型
7.3.2 自动代码生成
7.3.3 虚拟硬件测试
第8章 ARM代码的快速生成
8.1 ARM简介
8.2 蜂鸣器
8.2.1 蜂鸣器发声模型
8.2.2 蜂鸣器功能验证模型
8.2.3 软件在环测试
8.2.4 自动代码生成
8.2.5 虚拟硬件测试
8.3 交通灯控制
8.3.1 软件在环测试
8.3.2 自动代码生成及编译
8.3.3 虚拟硬件测试
8.4 步进电动机控制
8.4.1 步进电动机原理简介
8.4.2 步进电动机控制模型
8.4.3 步进电动机的功能验证模型
8.4.4 软件在环测试
8.4.5 自动代码生成
8.4.6 虚拟硬件测试
8.5 无刷电动机的控制
8.5.1 无刷电动机原理简介
8.5.2 TASKING IDE FOR ARM
8.5.3 无刷电动机控制模型
8.5.4 无刷电动机功能验证模型
8.5.5 软件在环测试
8.5.6 编写驱动代码
8.5.7 自动代码生成
8.5.8 代码效率比较
8.5.9 虚拟硬件测试
第9章 基于模型的设计
9.1 传统设计的弊端
9.2 基于模型设计的优势
9.3 基于模型设计的流程
9.3.1 建立需求文档
9.3.2 建立可执行的技术规范
9.3.3 浮点模型
9.3.4 需求与模型间的双向跟踪
9.3.5 Model Advisor检查
9.3.6 模型验证
9.3.7 定点模型
9.3.8 软件在环测试(SIL)
9.3.9 处理器在环测试(PIL)
9.3.10 代码与模型间的双向跟踪
9.3.11 代码优化
9.3.12 生成产品级代码
9.4 需求分析及跟踪
9.4.1 系统模型
9.4.2 需求关联
9.4.3 一致性检查
9.5 模型检查及验证
9.5.1 System Test
9.5.2 Design Verifier
9.5.3 Model Advisor检查
9.6 定点模型
9.6.1 Fixed Point Advisoi
9.6.2 Fixed Point Tools
9.7 软件在环测试
9.8 代码跟踪
9.9 代码优化及代码生成
9.9.1 子系统原子化
9.9.2 确定芯片类型
9.9.3 代码检查
9.9.4 代码生成
9.10 虚拟硬件测试
附录Embedded MATLAB支持的各函数
参考文献
猜您喜欢