基于模型的设计——MCU篇

所需积分/C币:50 2013-04-11 14:17:35 39.98MB PDF
收藏 收藏 9
举报

基于模型的设计——MCU篇原书电子版 共九章 共513页
内容简介 本书以基于模型的设计在MCU中的应用为主线,分三部分介绍全书 第一部分,深入剖析了 Stateflow的建模与应用,以及 Simulink建模与调试;介绍了新版 MATLAB的特色功能与R2010b版中 Embedded MAtlaB的编程规范和新的编程与调试模式; 最后着重讨论了用户驱动模块的创建过程与应用实例等。 第二部分演示了简化的基于模型设计,即基于模型的8051、英飞凌C166、 Microchip dsPIC、 ARM等MCU中的快速开发,并在 Proteus中进行虚拟硬件测试,使读者直观地感受到在可视化 的开发环境中,从算法验证到嵌人式C代码自动生成一步到位的方便与高效 第三部分,以直流电动机的PID控制模型为例,介绍了满足DO-178b航空电子规范的完整 基于模型设计在ARM上的实现。其流程包括可执行、可跟踪的需求分析/技术规范、 Model ad vior测试、系统测试设计测试、浮点模型到定点模型的自动转换与定标、为特定芯片生成嵌入式C 代码、软件/硬件在环测试、嵌入式实时C代码的自动生成,最后是手工底层驱动代码与自动代码 的整合等,这部分是本书的总结与核心。 本书可作为航天军工汽车电子、通信与信息处理,电力等行业的工程师从事MCU开发时的技 术手册,也可作为高校电类专业的MCU开发或基于模型设计的教材,同时也是 Simulink/ Sateflow高 级建模与验证的参考书,另外也为广大髙校学生(本、硕、博)做毕业设计提供了一种高效、快捷的软 件实现方法。 图书在版编目(CIP数据 基于模型的设计.MCU篇/刘杰等著.-北京:北京 航空航天大学出版社,2011.1 ISBN978-7-5124-0315-4 .①基…Ⅱ.①刘…Ⅲ.①单片微型计算机一微控 制器一程序设计Ⅳ.①TP332.3 中国版本图书馆CIP数据核字(2011)第004260号 版权所有,侵权必究。 基于模型的设计—MCU篇 刘杰簽公羽周宇博著 责任編輯刘.晨 北京航空航天大学出版社出版发行 北京市海淀区学院路37号〔邮编100191)http://www.buaapress.com.cn 发行部电:(010)82310)24传真41)82328026 读者信箱: emsbookta gmall com邮购电话:010)82316936 北京时代华都印刷有限公司印装各地书店经销 开本:787×10921/16印张:32字数:819千字 2011年1月第1版2011年1月第1次印刷印数:4000册 ISBN978-7-5124-0315-4定价:69,00元 前言 20世纪90年代初,航空航天、汽车等行业中开始大量使用微控制器单元,开发人员首先 发现通过建模与仿真,可以大大提高MCU系统的开发效率。到了20世纪90年代中期,出现 了代码自动生成技术,使基于模型设计的雏形随之显现。 近十几年来,信息技术飞速发展,产品中软件控制代码呈爆炸性增长的趋势。一台中高档 汽车的控制代码超过500万行,第四代战机F-35的软件代码则高达1500万行,它们都超过 了人类第一次登月—阿波罗计划中软件代码的规模。随着代码量的迅速膨胀,传统的手工 编程模式面临着产品开发周期被迫拉长,开发成本成倍增加,同时产品可靠性也难以保障等诸 多难以克服的困难,已很难适应当今科技发展的需要,严重制约了我国现代化的进展。目前, 世界上已有数家具有前瞻性的软件公司推出了自己的基于模型设计软件,如 SCADE、 dspace、 MATLAB等,它们是世界科技创新的技术源泉。空客A380、美国通用公司的混合动力汽车 我国二汽新能源汽车的电池管理系统、喷气发动机、洛克马丁公司的联合攻击机F-35等重 大创新项目,都采用了基于模型的设计。 作者自2000年开始关注自动代码生成技术以及后来的基于模型设计,尤其是最近三四 年来,夜以继日地钻研基于模型设计的思想,阅读浏览了超过10万页的外文资料与技术文档, 做了大量基于模型设计的实验,撰写了国内第一本基于模型设计的专著—《基于模型的设计 及其嵌入式实现》。也许是外国政麻或国际知名企业对这项新技术有所保留,网上很难找到有 价值的开发实例,美国CRC出版社2009年11月出版的《 Model-Based Design for Embedded Systems》一书,也仅是作了知识性的介绍。 通过这几年作者及实验室全体同仁的共同奋斗,基本掌握了基于模型的设计方法,并已将 此技术推向了实用阶段。现将近年的研究成果整理成册,以期能为我国的科技创新,建立创新 型国家贡献微薄之力。 考虑到国内有众多的 MATLAB用户,本书以 MATLAB R2010b为软件平台介绍基于模 型设计的方法。书中涉及8051单片机、英飞凌C166单片机、 Microchip dsPic数字信号控制 器、ARM处理器的基于模型设计的开发,其优势在于:在统一的可视化开发测试平台上,使用 户轻松地从设计概念到实现一气呵成,减少不必要的重复芳动,这将大大缩短项目的开发周 期、减少资金投入、提高代码的稳健性与一致性。一些对安全性要求不高的产品几周就可以完 成,有效地规避了潜在的市场风险,使企业在激烈的市场竞争中占得先机;满足DO-178b航空 电子规范的工作流程,使基于模型设计能提供解决那些对于安全性、可靠性要求极高甚至近乎 苛刻的设计要求的绝好方案 全书可分三个部分:1~4章为第一部分,介绍模型的创建与调试,是基于模型设计的起点 与核心;5~8章为第二部分,介绍基于模型的8051单片机、英飞凌C166单片机、 Microchip dsPIc3x数字信号控制器、AR4处理器的快速开发;第9章为第三部分,以直流电动机的PID 1 目录 第1章 MATLAE编程基础 南,看D。■ :;.:··:.:·“·:“:·a·· 1.1 MATLAB R2010a与2010b的若干更新…… 1.1.1压缩文件 1123 1,.1.2日录测览器… 1.1.3文件夹及文件比较… 1.1.4登录 MATLAB文件交换服务器 1.2M文件的编写……… 35788 1.2.1M文件结构 世量世 偷曹·■重曲重鱼量1■即 量·血面曾·血型于·重 1.2.2M脚本文件……… 10 1.2.3快捷方式……………………………………………………………………………12 1.2.4M函数 13 1.2.5匿名函数 17 1.2.6函数提示 1.3M文件的调试………………………………………………………………………18 1.3.1 M-Lint……………………"…" 18 1.3.2使用 cells加快调试 …………………………………………19 1.4M文件的发布 21 1.5 Embedded MATLAB…… 重。看幽 24 1.5.1 Embedded MATLAB的主要功能特点……… 24 1.5.2 Embedded MATLAB的编程规范… 25 1.5.3C编译器的设置……………………………………………………………25 1.5.4 Embedded matlaB编程实例… …………………………………27 第2章 Simulink建模与调试 ……………………36 2.1 Simulink基本操作 37 2.1.1模块库和编辑窗口 a..444“+.··.4 .·.··4...‘:.· 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 基于模型的设计—MCU篇 2.2.5数据格式与输入/输出……………………………………………………63 2.2,6PID控制…… 67 2.3 Simulink模型调试 77 2.3.1图形界面调试 ·"··"t中·:·"::··“·+·:t+· …………………………………7 2.3.2命令行调试 ,·=:·:::t::·+ 79 2.3.3运行调试器 80 2.3.4断点设置 84 2.3.5显示模型和仿真信息… 86 第3章 Stateflow建模与应用 f鲁世虚t曹·僧 !曹遭 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子状态图… 中鲁血 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 2· 目录 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目标 …………………………………………………13 3.7综合应用 137 3.7.1计时器………………………………………………………………………137 3.7.2交通灯 …………144 第4章设备驱动模块的编写…… bm画 152 4.1创建S函数模块的示例………… 153 4.1.1手工编写 Wrapper s函数… ……153 4.1.2代码继承工具( Legacy Code Tool) 157 4.1.3SFt unction Builder 翻谁。自自量「量日遭 ∴…………………………160 4.1.4三种方法的比较… 162 4.2S函数 ……………………,……………………164 4.2.1S函数工作机制 164 4.2.2CMEⅩS函数模板……………… …166 4.2.3其他回调方法………………………………………………………173 4.2.4宏函数… …………178 4.2.5数据访问…, ++++平++"+““.";.···..······∴:···"··········.··:· 179 4.2.6目标语言编译器 ………………………………181 4.3 SFunction 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.1HC12模数转换模块 194 4.4.2DAS1600数据输人模块………………………………………………210 4.4.3 SFunction Builder ∴………218 第5章8051单片机代码的快速生成 223 5.1仿真软件 Proteus快速入门……………………………………………223 5.1.1 Proteus简介……………… ………………223 5.1.2快速绘制原理图… ···“·新品品,晶品品日品噩画品备 225 5.1.3PCB制板……………………… …………………232 烟基于模型的设计—MCU篇 5.2 Keil O51集成开发环境(IDE) 35 5,2,1预备知识 ita量 ………………235 5.2.2RTW-EC快速代码生成… 245 5.2.3脉宽调制…………………………………………………250 流水灯……………… ..44F电甲:4:和上出4“4日..E日面自日·自..·日·: 259 5.3 TASKING嵌人式开发环境(EDE)… 269 5.3.1预备知识…………269 5.3.2直流电机控制……… 276 5.3.3算术乘法 4·;.·甲a··申由如i如和面面面面1"普:吾E当.甲·中中··中日日面b 286 5.3.4流水灯 293 第6章C166代码的快速生成… 96 6.1英飞凌C166模块库简介……………… 297 6.2 TASKING EDE for c166………… ……………………………………299 6.2.1电动机控制模型 ……299 6.2.2设置IDE与模型参数…………………………………………………………300 6.2.3处理器在环测试(PI) ………………………302 6.2.4代码的自动生成…… …305 第7章基于 Simulink模块的 dsPIc单片机开发…09 7.1 MPLAB嵌入式开发环境及工具 310 7.1.1軟件的下载和安装…………;……,"…………………………310 7.1.2利用 MPLAB IDE及 Proteus ysM进行虚拟硬件调试 …………315 7.1,3 dspic外围驱动模块简介…… 323 7.2dsPC外围驱动模块应用 …………………………324 7.2.1数模转换实验… ……………………………………324 7.2.2闪烁灯 ··++++“+:41““· 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.1ARM简介 ·非申 36l 8.2蜂鸣器…… ,,14,4,………4…∵…………………363 8.2.1蜂鸣器发声模型… 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软件在环测试 a:··。"1m""。t血·:··+:++· 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软件在环测试… ······,···+·中···日.“垂和普中和,曾?···+中···当普和4+ 398 8.5.6编写驱动代码…… …………………………………401 8.5.7自动代码生成 ………………………………401 8.5.8代码效率比较……… ……………………………………………407 8.5.9虚拟硬件测试……… ………………………………1417 第9章基于模型的设计…… 421 9.1传统设计的弊端… 日品品+“新面暑日“4“看日品暑中平品中·和 ………422 9.2基于模型设计的优势…… 423 9.3基于模型设计的流程 425 9.3.1建立需求文档… ·······画·斗画 425 9.3.2建立可执行的技术规范………………………………………………………425 9.3.3浮点模型… 4·.日·.4···中4· 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代码优化 ·+t量量翻虚tB图情量普鲁音 HEbE曾曾 428 9.3.12生成产品级代码… 428 9.4需求分析及跟踪…………………………………………………………………428 9.4.1系统模型 +世由 428 94.2需求关联 431 5 基于模型的设计—MCU篇 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代码生成 1曹,重1I會·音,虚看由日量面tt日出m首量面面量量血日日自量自自申自非。申非自里着.聊申着 478 9.10虚拟硬件测试…………………………………………………………………479 附录 Embedded MATLAB支持的各函数… 486 参考文献 500 6

...展开详情
试读 127P 基于模型的设计——MCU篇
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    Program_1234 很好的数据资源和数据
    2019-11-19
    回复
    wendylee0901 很不错,有帮助。谢谢分享
    2016-12-26
    回复
    suzhou_zhuguoqiang 很不错的书
    2016-06-01
    回复
    xlong198 很好的一本教材
    2016-05-04
    回复
    m1w1a1 好像 有缺页唉
    2015-11-11
    回复
    qinbin78 很不错的书,stateflow学习的资料很少,这个说的也不错的!
    2015-06-18
    回复
    aizai1986 很不错的书,跟纸质版的一样
    2015-03-24
    回复
    kscnn 很好!有帮助!
    2015-02-05
    回复
    凤城女性 挺不错的,正在学习中
    2015-01-16
    回复
    shajicao 很不错的一本教材,学习编程大有用处!
    2014-11-06
    回复
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    基于模型的设计——MCU篇 50积分/C币 立即下载
    1/127
    基于模型的设计——MCU篇第1页
    基于模型的设计——MCU篇第2页
    基于模型的设计——MCU篇第3页
    基于模型的设计——MCU篇第4页
    基于模型的设计——MCU篇第5页
    基于模型的设计——MCU篇第6页
    基于模型的设计——MCU篇第7页
    基于模型的设计——MCU篇第8页
    基于模型的设计——MCU篇第9页
    基于模型的设计——MCU篇第10页
    基于模型的设计——MCU篇第11页
    基于模型的设计——MCU篇第12页
    基于模型的设计——MCU篇第13页
    基于模型的设计——MCU篇第14页
    基于模型的设计——MCU篇第15页
    基于模型的设计——MCU篇第16页
    基于模型的设计——MCU篇第17页
    基于模型的设计——MCU篇第18页
    基于模型的设计——MCU篇第19页
    基于模型的设计——MCU篇第20页

    试读已结束,剩余107页未读...

    50积分/C币 立即下载 >