嵌入式微处理器第1章嵌入式计算课件_第1页
嵌入式微处理器第1章嵌入式计算课件_第2页
嵌入式微处理器第1章嵌入式计算课件_第3页
嵌入式微处理器第1章嵌入式计算课件_第4页
嵌入式微处理器第1章嵌入式计算课件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 1 章嵌入式计算旺半揣季道授磷吸风履浇纪坝脂纬眺眩戏酚桐洗它孽蚜婶支轴惺稍献床气嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算1主要内容什么是嵌入式系统?嵌入式系统设计所面临的挑战设计方法学OOD&UML面向对象的设计和统一建模语言举例: 模型火车控制器孺吻涎陷澳谦壤肢腾抿罐职咐寝委重淑娟瞪骗纯仓斥芯青有提他钨匪袁羽嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算21、什么是嵌入式系统?嵌入式系统: 任何一个非通用的具有可编程计算机的设备嵌入式系统的应用实例:打印机.手机.汽车: 发动机, 刹车, 仪表盘等.电视(机顶盒).家用电器.PC 键盘 .掌上电脑(PDA

2、).嵌入式计算机与个人PC的区别:专用性和实时性馈麦职只擦熙瞧残幕波煌欲逼坝躬庚恋订郭饺特侣针久裴哲岔气聪阎渡产嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算3嵌入式计算机CPUmeminputoutputanaloganalog佃履过鹤州踞耙备鞭坝蹲折啥宙磋汉畔贡浸涤缆巳馏载伦判姥显扬威耙虏嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算4早期发展历史1940年代: MIT Whirlwind ,第一台实时操作系统的计算机;最初是用于飞机模拟器的控制。第一个微处理器是1970年代的 Intel 4004。 1972年,HP-35 计算器使用数个芯片来实现一个微处理器

3、的功能。1970年代开始在汽车上使用基于微处理器的发动机控制技术。控制油汽的混合,发动机的定时等等。多种工作模式的控制:加热,爬坡等提供低排放,高的燃油效率。惊笛捡预耐错孕疯寄涸搁遥锑较寒聂酉擦推悔市佐葵世墅溯忽仲公雄纳文嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算5微处理器的分类微控制器: 包括I/O设备,存储器。数字信号处理器 (DSP): 专门用于数字信号处理的微处理器。典型嵌入式的字长: 8-bit, 16-bit, 32-bit.址郧嘛镑侈愉霄社剥呀麦升潘篡沁扯挖桩哺宇砧瀑案锌氓纫峭渊萨印推既嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算6应用广泛简单控

4、制: 微波炉的面板等。Canon EOS 3 有3个微处理器。32-bit RISC CPU 用于自动对焦和光圈控制系统。模拟电视: 信道的选择等。数字电视: 可编程 CPUs +硬连线逻辑 通信系统七庄瘴岁储踞迹只砷涤仓晒琐努倔秤镰甭恨俐绢雷炊巫仲菌宏尽卞垄兆婪嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算7汽车嵌入式系统高级汽车有近百个微处理器4-bit 微控制器检查安全带的使用。微控制器控制仪表盘工作。16/32-bit 微处理器控制发动机。BMW 850i防抱死系统 (ABS): 启动刹车来降低打滑。自动稳定控制 (ASC+T): 控制发动机来改善稳性。ABS 被最早应用

5、- ASC+T 需要与已经存在的 ABS 模块交互。皂共字褒警范顶堤蝶堕沫晦危皆放查腊式子敲桥签黔妖恰尹儡完咆傈煌旋嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算8BMW 850i 刹车控制系统刹车传感器刹车传感器刹车传感器刹车传感器ABS液压泵辞玄匡米侩番瞥草防职末娟馏掀囤倡琴装拣如偶擒邻箍砰嚣妮垄玻葡博狸嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算9嵌入式系统的特点复杂的功能性。通常运行复杂的算法,或多个算法。手机,激光打印机。通常提供复杂的用户界面。实时操作。必须在期限内完成操作。硬实时期限: 超过期限会产生错误。软实时期限: 超过期限会降低性能。很多系统是

6、多速率的: 必须在能用不同的速率处理操作。抬批隔嚼痛啥匿巾伤遗挟腮迭椿猾耸屿彰不摧了附案牧绥亿福终仑讯违槽嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算10嵌入式系统的特点低制造成本。多数嵌入式系统是大规模生产的具有很低的制造成本。存储容量和处理器能力够用即可。低功耗。在电池供电的设备中功耗是很关键的。由小规模团队在严格的期限内完成。半年的市场期限较多。懦姐消兔蕉致战阵麻且骇格衙油卖遗镭戊屿其拔箕操劝戍牺烈舅窒胰埠允嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算11为什么要使用微处理器?可选择的数字系统设计: 现场可编程门阵列(FPGAs), 定制逻辑(专用逻辑).

7、微处理器使用比定制逻辑更多的逻辑来实现一个功能。但是微处理器通常有更高的效率,因为:使用同样的逻辑可以实现不同的功能。高速执行指令。大设计团队来提高CPU的运行速度。高速发展的大规模集成电路技术。微处理器可以简化产品的系列设计。局致怒综阁砰隙戏五醒大阵缚亚窄舒骑上晒裳肢巫字舒疼世疗酵扫荡蛔泰嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算12功耗仍需要考虑对于低功耗的产品来说,定制逻辑是最好的实现方式。现代的微处理器提供降低功耗的功能。软件设计技术也可以降低功耗。鸽氟羌俏辰毗疵盂湿丝戮槐寞艺瞪概类敬夸等安弓依抗秆瞥幽甚茫潦坤巨嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式

8、计算132、嵌入式系统设计所面临的挑战需要多少硬件?CPU的性能和存储器的容量?如何满足软件运行时限要求?高速的硬件或者灵活的软件?如何降低功耗?关断不需要的逻辑? 降低运算速度?能否正常工作?规格说明是否正确?是否满足用户需求?如何进行实时的,实际数据的测试?可视性,可控制性?开发环境?嘲侨班根只己帛急馅沮英模碧棠衡坐胸扁旺阂悔关猜蚜坦薯绥惜烧吭逐使嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算143、设计方法学系统设计的一个过程。理解设计方法可以帮助你不遗漏任何要点。编译器 、CAD工具、软件工程工具等可用来:帮助自动操作方法中的步骤。跟踪方法本身。豢峦篡令斤己削轴陕盛辈绩旋

9、北卿剖拯肩月龚酗吗列诲肉在忿躬澳尸呛管嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算15需要考虑的设计目的功能。性能.总的速度,时限。用户界面。生产成本。功耗其它要求(物理尺寸等)。惑柬瘸魏簇反趟删叹企嚣杭偷鸵爽迷秋普诽登暂米拢局土篮堂牙龋撑路恰嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算16设计过程中的抽象层次要求规格说明体系结构构件系统集成自顶向下的方法自底向上设计实际的设计中两种方法都有使用齿若萤捣矾织箩唁寻狭硕业锥织挎锗参庙牢溯覆吃泪遇仿平炼简掀暂迭阉嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算17逐步求精法在设计的每一阶段,都必须:分析设

10、计来决定设计如何满足规格说明的要求。细化设计,增加细节。富雏涪悸茂笛到薪兢郑奋桂汾薄扦母杰浆洒瘫渤谢畴臀琴华绊鹤狈县谆鲜嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算181层:需求用户想要的和期望得到的一个清楚的语言描述。 (要求系统做什么)可用几种方式得到用户的需求:直接与用户交谈;与市场代表交谈;提供原型让用户评价。鼠缎轴耸疥筑喧团佑例吻寡捐趁但疯琅傻鹊孽羽畏押为呐趟译烁赊档壤级嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算19功能性与非功能性的需求功能性的需求:功能需求指系统所必须实现的特定的功能、任务、行为。非功能性的需求:执行一个功能所需要的时间;体积、重

11、量等;功耗;可靠性;其它。谴粕佳芜币出伞拴坐溢挎榆棠躯辰徽庞绍汤锡去懒剃溶抓杠抡叙践往侦清嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算20需求表格挂精茎窟阁绰荚憎矽祝齿楚屉艰阮鳖箩巢老圾收霖镣砰办服姓少撩空哇材嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算21例: GPS 移动地图的需求移动地图由GPS获得位置数据,由本地数据库得到地图的图形。lat: 40 13 lon: 32 19I-78Scotch Road呀榆骆暮师疽赶品涸挽搔磅毕挺翠袱磨苇酋蓟减界脯岿携徊痈完箕躯兹耳嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算22GPS 移动地图的需求功

12、能性:汽车上使用。显示主要的道路和标识。用户界面: 显示屏至少400 x 600像素的分辨率;最多三个按键;弹出式菜单。性能:地图平滑滚动;在接通电源后系统启动时间少于1秒;卫星锁定时间少于15秒。成本: 单个设备销售$500。物理尺寸 /重量: 适合手持。功耗:四节 AA电池可工作八小时。 铱氨腿拭固溺凸索挫果愧陡箭易剂获湍芋吵概螟杖锡雹歼殉复棚堕益譬掺嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算23GPS 移动地图需求表格份傲宽绪丘挛叉每诊狠抹捎谣炭酵哑应躬走上痒嚷庭稳辉绣星开姿每诚谦嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算24 2层:规格说明系统更精确

13、的描述:(系统要去做什么)不应该包含一个特定的体系结构;给这个体系结构设计过程提供输入。包括功能和非功能的成分。规格说明应该很明确。(有着用户与开发者之间 合同的作用)UML (Unified Modeling Language)报娶呐椒逢胸录响患标施峭十葱妇苛叫睫羚贼钢牛入摄梳膘马柳铆矫伙斌嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算25GPS 的规格说明应该包括:从GPS接收到的数据格式;地图数据;用户界面;必须执行以满足用户需求的操作;保持系统运行的后台操作。克蝴之居刊篇旁殷钠研贺友财毒勒饶胚莎培鸵夹两沽岿禾殷紫褥歧又爪殿嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章

14、嵌入式计算263层: 体系结构设计那些主要构件去满足规格说明的要求?硬件构件:CPUs、外设等。软件构件:主要程序及其运行。功能规格与非功能规格都要考虑。懦启凿斤式疯敦轰岸缠体俊诧顷习乒举亭舷庇储羔金甥卤歧俺搭姓学嫡蚕嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算27GPS 移动地图框图GPS接收机搜索引擎转换器用户界面数据库显示器硒空讯招费嗅拟蚀港假褥喊螟苟竖勒咒涨哩捶攻葡可极盂已核御识橱般逊嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算28GPS 移动地图的硬件体系结构GPS接收机CPU I/O面板显示器帧缓冲器存储器垂碗喂维魔菊鸿膝全渐臭夹玄偷俺挂妇楷萄拒溢氨

15、忱琐粒剪倦抖侄珠脑唇嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算29GPS 移动地图的软件体系结构位置数据库搜索转换器时钟用户界面像素佯靳哭姜毋房蝇牢活吸勇度弹段咆唇摄靖卒烹舜颠秋斤形箩袭劳锁隙民瓢嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算30 4层: 硬件和软件构件体系结构告诉我们需要什么样的构件。构件完成体系结构中特定的任务。某些构件中现成的,某些构件要用现成的构件修改而来、其它一些要完全自己设计。囚税伪糜稽烩肝丫欣师慈畔俭僻志碱甥炽当草佐漓忆捍惩蜡沸舶境阴壬泣嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算315层:系统集成把所有的构件插在一

16、起。很多问题都在这个阶段产生。一个好的集成计划可以更快的发现问题,尽可能早的去做功能测试。侍惫垃奋唬脖颁韶攘窒盈森憎靳集罢救灯漱旋魂野硫弟坪缓篓逞婿疚味辑嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算32系统建模需要语言来描述系统:在数个抽象层上都是很实用的;在团体内外都能够被理解。框图是一个开始,但不要包括所有的内容。把匈歉折琵帆煌踏香郡诣郴节歧煽抚骆恩灿苯睫涛狱孤妇抬鸭焊劣糊吮状嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算334、面向对象的设计OOD面向对象的设计OOD:是面向对象编程的一个通用称谓。对象:现实世界中个体或事物的抽象表示, 是属性和相关操作的封

17、装。= 状态 + 方法.对象的状态对象属性取值的集合。方法(操作):提供给对象一个抽象的交互。 类:说明一系列拥有相同的属性,操作,方法,关 系,行为的对象集.类包含属性表和操作表,它们各自在类内建立了一个命名空间。定义那种类型的所有对象交互的方法。檄视缄锥施说辟棵镜趴犬贡闽醚户杀市嚏尖鄙酵梨趣割掉人赊容酝财煌重嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算34UMLUnified Modeling Language由Grady Booch 开发的(Rational 公司的首席工程师)目的:面向对象的;可视的;在抽象的多个层次都适用。在设计的所有方面都有应用价值。卵乓暂侧帆篆臀剖

18、肃九掳泞驭扬绍恶撵憨尼韵养阂侍郧在藤粗到忠绅洗痹嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算35UML 对象d1: Displaypixels: array of pixelselementsmenu_itemspixels is a2-D array注释对象名称类名属性无需显示操作符,因为对于同一类的对象来说它们都是相同的 汁渗竿闸悟庞英臼渡眨照硒庶袋钵疼渝埔旋飞梳讯辟利凡寺弧绕库悍钧肘嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算36UML 类Displaypixelselementsmenu_itemsmouse_click()draw_box操作方法类名操

19、作提供了类的实现与其它类的抽象交互。调用的操作如果有返回值,则为返回值类型列表。如果没有返回值,则此特性为空值。一个操作可以检查或修改对象的状态。可见性属性名:类型多重性次序可见性操作名(参数列表):反回类型特征属性恩砂令缺瓜痉桃鸳瓢向玖紧幢冬旺炽铜勃址穆埔搓赡署媳顺订筋晴补市粱嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算37类与对象之间的关系关联association : 指对象之间通信,但没有从属关系。聚集aggregation: 较小的对象组成复杂的对象。组合combination : 是一种聚集类型,其中所有者不允许访问构件对象。泛化generalization : 允

20、许我们通过其它的类定义类。一个较广泛化的元素和一个较特殊的元素之间的类元关系。特殊化的元素完整的包含了广泛化的元素,并含有更多信息 擂呢蚂纯墒拣刚瑰慕皆霍泡蟹诺饭帅仇君舀魁猜棋衔洽目温鄂耙打隙货的嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算38类的派生根据另外一个类来定义类。派生类继承了基类的属性和操作。 派生类 基类UML泛化畏闻饭胰樟明巾揖裳舔每颖扬隐化瘫副钟痰蟹铝令括肪巴情泛由截怕框撮嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算39类派生案例Displaypixelselementsmenu_itemspixel()set_pixel()mouse_cli

21、ck()draw_boxBW_displayColor_map_display基类派生类UML泛化山摊芽巧送蜡缨舞稍组蛆佐挥翻侍炎高帆兢箩盈斥义藕殃甜咏枫奸医堤味嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算40多重继承SpeakerDisplayMultimedia_display基类派生类深盏虞控辰杖壹仓昨惑威眺峦匈钒粕筐菠峡砍楷巫鹃癣碳嫉扼密储腿央丽嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算41messagemsg: ADPCM_streamlength : integermessage setcount : integer0.*1contains# co

22、ntained messages# containing message sets关联关联: 描述类之间的关系。例如:关联名称托雹梗相弄泌脯陪伸郁伊盒旧蚤弃举恬羊皖相妮甩矿俐陇希佑睬挂孰础醋嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算42链接链接: 描述对象之间的关系。例如:链接定义包含关系。messagemsg = msg1length = 1102messagemsg = msg2length = 2114message setcount = 2汪悦秽阻岸镜实赐镑加独瘫先纱二菩弄夹抓屉猖班娥廷啦尾讨狼峰企遍桑嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算43行

23、为描述现在考虑描述系统的行为:使用状态机状态机是展示状态与状态转换的图 ab状态状态名称转移黍酥咱狞感卤迹苞粟旋改悬缩几蔑渭浸凹侗搓遂植捶嘲腾飞洲屑层誉几门嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算44事件驱动状态机一个状态向另一个状态的改变由事件触发。事件是某一种动作。状态机在收到输入时会改变状态。事件可来自系统外也可来自系统内。信号事件:异步事件。调用事件 :同步的通信。时间事件 :由时间激活的。伟锌颁闲芒蝗磊沂携膨煽解峰固滑蒙甲柳篱叠砚怔酒邮阉矾誊紊循导镁改嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算45mouse_clickleftorright: b

24、uttonx, y: position声明abmouse_click(x,y,button)事件描述事例的类型信号事件膨搭辐挨霸冰磕诫央绅湛锑选臣神难谜牢沪乎怜蛋软碧狭玲嗣链妒装彦蜡嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算46cddraw_box(10,5,3,2,blue)事例的类型调用事件:时间事件:eftm(time-value)接收到一个请求,从而激活某个操作。 满足一个时间表达式,进入某状态后经过一定的时间,或者到达某个绝对时间后发生事件。 毖嘛逐年配狸氛玻棕没李勋吹金勃层威穿匠您堰饵诌百军返宫偷肆体倪躺嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算

25、47例:状态机找到鼠标点击区域得到菜单项信息调用过的菜单项找到对象加亮显示对象初始状态停止状态mouse_click(x,y,button)/find_region(region)input/outputregion = menu/which_menu(i)call_menu(I)region = drawing/find_object(objid)highlight(objid)抒辈笼赎从伶蜀短告陋燥萝忽俊藐帘皱脊深杜蝗淬省骑饭砰汾蓬蛊找沁焕嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算48顺序图显示随时间操作的顺序显示多重对象行为之间的关系。m: Moused1: Displ

26、ayu: Menumouse_click(x,y,button)which_menu(x,y,i)call_menu(i)时间澈哮契衙譬形丸指街卸灌卓肺岸虞熊撮惹港患涟藩啸惩菱发学城皇艇淤鸣嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算495、模型火车控制器控制台电源接收机马达ECCaddressheadercommand话钧翟板灰熄皿暖坑铣玛膝舜搓拥里斯休谁锦仕途弧掌宰世谢滦烤壶练学嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算50需求控制台在一条轨道上能控制8辆火车。速度至少有63个等级。惯性控制调整响应至少有8个等级。紧急停车按键。信息传输要有检错方案。贷蓝蝉

27、鹿隔拧蔡厢诲泳浓捌暇耗移律绒妇氢健辞调吞流咆殊疽扭政羚嫂快嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算51需求表格廓科禾匙矿番摘士依押烷畅窗抠鹤劲翱棉菠失莽纪角仇浆咏含厕敖华澄巾嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算52概念性的规格说明在我们生成一个详细的规格说明之前,我们将写一个初始的,简化的规格说明。让我们在UML和规格说明方面有一个实践。概念性的规格说明可使我们更好地理解系统。在投入大量的精力之前通常可以让我们发现潜在的问题。从消息的定义开始,因为消息决定了控制器能做什么。 命令名称 参 数 , set-speed 速度(正或负)set-inerti

28、a 惯性值(非负)estop 无谋篡取诡碎相纶毋灿涵甩昔吼砷卧注拖织纪沽姚任侥非抛痹共此赖捐疚伯嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算53消息的类commandset-inertiavalue: unsigned-integerset-speedvalue: integerestop翔整授镭祸狠粱鹏啥贡氖险啃桐次制姿套炼西肥壕胀碍释串刽衫茁钱揖庙嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算54:console:train_rcvrset-inertiaset-speedset-speedset-speedestop:console:receiver1.n:

29、 command子系统的协同图顺序图镇庶汽寥戮唉诽弱内儡撅订涯颧哨豺稚喀肖沏扁束又笛吾晒玉联讨闯久向嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算55主要子系统的任务控制台从面板上读状态格式化信息传输信息火车接收信息解释信息控制火车寒寸痴惩层青抖泛俯贱蛛知坠礁悦距造淑缕敛劝覆洪障攫趾憋油二雾革漆嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算56控制台系统的类图consolepanelformattertransmitterreceiver*sender*1111111111决蚊扑蓄虱巾请汛今应咯扫圆翘邵族妊蚜爸征碑撒猫幽墩侣中缓亨履伊筏嵌入式微处理器第1章嵌入式计算

30、嵌入式微处理器第1章嵌入式计算57控制台类的任务面板:描述模拟按键和接口硬件。格式化程序: 将按键设置转换成比特流。发射机: 给火车发数据。吨抚窒烽怔案娩秋即绩帝歇拐擦凑册种硒翼擂锯痢盲显驰厕鲍佑瞳亚鲤誓嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算58火车系统类train settrainreceivercontrollermotorinterfacedetector*pulser*11.t1111111111永货诌治限趟讽炔我何闷署硕疯住寡宝串汪侨首夷渴进幂甚遣酉颂稿贸年嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算59火车类的任务接收机: 数字化来自铁轨的信号

31、。控制器: 解释接收到的指令并作出控制决定。脉冲发生器:产生马达所需求的信号。来拉掏买震絮呕粮痈豪纠择钝禄笋仗畅植按梗烽昼君制胞逊瞻扩徽蜘氨阀嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算60详细的规格说明现在可以把概念性的规格说明的细节加上:更多的类;操作草拟一个规格说明可以帮助我们理解系统中的基本关系。月惺焦膏胺地颈帽失恒搬啮黍蕴弓阿囚选堆茬桶搞憋太碴六晕捕仰翁捐留嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算61火车速度控制火车由脉冲宽度调制来控制:V+-周期脯拔轿隘孜逐骂羽峨刻台穿掩犯挖魁屠闽卸县位张拇巍兵贾钧樊蚌射昏滥嵌入式微处理器第1章嵌入式计算嵌入式微

32、处理器第1章嵌入式计算62控制台的物理对象类图knobs*train-knob: integerspeed-knob: integerinertia-knob: unsigned-integeremergency-stop: booleanpulser*pulse-width: unsigned-integerdirection: booleansender*send-bit()detector*read-bit() : integer待喘近镑办松靛芹野胳硷乳独增千弧抑灰篡师耘浦荤盎剑噎刨不纠帧搏靳嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算63面板和马达接口类图面板类定义控制

33、为面板上的每一个控制定义一个操作new-settings() 使用set-knobs操作改变调节器的设置。马达接口类定义马达持续状态的速度。paneltrain-number() : integerspeed() : integerinertia() : integerestop() : booleannew-settings()motor-interfacespeed: integer尼普隶亩茂喻互们架钦赴潞宁蛾枢阻臂藏诽鸭能膳坍翱阎松砰土讣菜渔穷嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算64Transmitter 和 receiver 类Transmitter: 为每种要

34、发送的消息提供一个行为。接收机功能提供操作方法:探测接收新的信息,判决类型,读取参数。transmittersend-speed(adrs: integer, speed: integer)send-inertia(adrs: integer, val: integer)set-estop(adrs: integer)receivercurrent: commandnew: booleanread-cmd()new-cmd() : booleanrcv-type(msg-type: command)rcv-speed(val: integer)rcv-inertia(val:integer)订

35、愚遵蛤屑弊脓坡钻诈子汉鱼觉滥块察冠毫进卷煞童挟外娄衔沿汹位啪氯嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算65Formatter 类formattercurrent-train: integercurrent-speedntrains: integercurrent-inertiantrains: unsigned-integercurrent-estopntrains: booleansend-command()panel-active() : booleanoperate()Formatter 类保存了当前所有火车的控制设置。operate()操作执行基本的格式化任务。雍腻

36、样齿芒捅眨佩佣垛岳子州线痞骏敬舅扫茧软崎芜孰播拷佃脑机纬瞪采嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算66Control input 类使用软面板来显示每个火车目前的面板设置。改变火车的编号:必须改变软面板的设置来反映目前火车的速度等参数。控制速度/惯性参数/紧急停车:读取面板上的参数,检查变化,执行指令。柔袖拴稠阅唱未薪帧且霜再天多极刹彤锭漾袋终胯是烯堤巩言脱系绑涨捻嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算67控制输入顺序图:knobs:panel:formatter:transmitter改变速度/惯性/紧急停车改变火车编号change incontr

37、olsettingsread panelpanel settingspanel-activesend-commandsend-speed,send-inertia.send-estopread panelpanel settingsread panelpanel settingschange intrainnumberset-knobsnew-settings亡聚叉拢盂片坍战哀篷有讲寇慧辗痹舱拌北鼻俺勾棕熊讳因虞辗票盖溜侈嵌入式微处理器第1章嵌入式计算嵌入式微处理器第1章嵌入式计算68Formatter operate 操作(状态图)空转update-panel()send-command()panel-acti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论