嵌入式微处理器第1章嵌入式计算课件

PPT
  • 阅读 93 次
  • 下载 0 次
  • 页数 76 页
  • 大小 331.947 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
嵌入式微处理器第1章嵌入式计算课件
可在后台配置第一页与第二页中间广告代码
嵌入式微处理器第1章嵌入式计算课件
可在后台配置第二页与第三页中间广告代码
嵌入式微处理器第1章嵌入式计算课件
可在后台配置第三页与第四页中间广告代码
嵌入式微处理器第1章嵌入式计算课件
嵌入式微处理器第1章嵌入式计算课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 76
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】嵌入式微处理器第1章嵌入式计算课件.ppt,共(76)页,331.947 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92641.html

以下为本文档部分文字说明:

第1章嵌入式计算2021/8/51主要内容1.什么是嵌入式系统?2.嵌入式系统设计所面临的挑战3.设计方法学4.OOD&UML面向对象的设计和统一建模语言5.举例:模型火车控制器2021/8/521、什么

是嵌入式系统?嵌入式系统:任何一个非通用的具有可编程计算机的设备嵌入式系统的应用实例:打印机.手机.汽车:发动机,刹车,仪表盘等.电视(机顶盒).家用电器.PC键盘.掌上电脑(PDA).嵌入式计算机与个人PC的区别:专

用性和实时性2021/8/53嵌入式计算机CPUmeminputoutputanaloganalog2021/8/54早期发展历史1940年代:MITWhirlwind,第一台实时操作系统的计算机;最初是用于

飞机模拟器的控制。第一个微处理器是1970年代的Intel4004。1972年,HP-35计算器使用数个芯片来实现一个微处理器的功能。1970年代开始在汽车上使用基于微处理器的发动机控制技术。控制

油汽的混合,发动机的定时等等。多种工作模式的控制:加热,爬坡等提供低排放,高的燃油效率。2021/8/55微处理器的分类微控制器:包括I/O设备,存储器。数字信号处理器(DSP):专门用于数字信

号处理的微处理器。典型嵌入式的字长:8-bit,16-bit,32-bit.2021/8/56应用广泛简单控制:微波炉的面板等。CanonEOS3有3个微处理器。32-bitRISCCPU用于自动对焦和光圈控制系统。模拟电视:信道

的选择等。数字电视:可编程CPUs+硬连线逻辑通信系统2021/8/57汽车嵌入式系统高级汽车有近百个微处理器4-bit微控制器检查安全带的使用。微控制器控制仪表盘工作。16/32-bit微处理器控制发动机。BMW850i防抱死系统(ABS):启动刹车来降低打滑。自动稳定控制(

ASC+T):控制发动机来改善稳性。ABS被最早应用-->ASC+T需要与已经存在的ABS模块交互。2021/8/58BMW850i刹车控制系统刹车传感器刹车传感器刹车传感器刹车传感器ABS液压泵2021/8/59嵌入式系统的特点复杂的功能性。通常运行复杂的算法,或多个

算法。手机,激光打印机。通常提供复杂的用户界面。实时操作。必须在期限内完成操作。硬实时期限:超过期限会产生错误。软实时期限:超过期限会降低性能。很多系统是多速率的:必须在能用不同的速率处理操作。2021/8/510嵌入式系统的特点低制造成本。

多数嵌入式系统是大规模生产的具有很低的制造成本。存储容量和处理器能力够用即可。低功耗。在电池供电的设备中功耗是很关键的。由小规模团队在严格的期限内完成。半年的市场期限较多。2021/8/511为什么要使用微处理器?可选择的数字系统设计:现场可编程门阵列(FPGAs),定制逻辑

(专用逻辑).微处理器使用比定制逻辑更多的逻辑来实现一个功能。但是微处理器通常有更高的效率,因为:使用同样的逻辑可以实现不同的功能。高速执行指令。大设计团队来提高CPU的运行速度。高速发展的大规模集成电路技术。微处理器可以简化产品的系列设计。

2021/8/512功耗仍需要考虑对于低功耗的产品来说,定制逻辑是最好的实现方式。现代的微处理器提供降低功耗的功能。软件设计技术也可以降低功耗。2021/8/5132、嵌入式系统设计所面临的挑战需要多少硬件?

CPU的性能和存储器的容量?如何满足软件运行时限要求?高速的硬件或者灵活的软件?如何降低功耗?关断不需要的逻辑?降低运算速度?能否正常工作?规格说明是否正确?是否满足用户需求?如何进行实时的,实际数据的测试?可视性,可控

制性?开发环境?2021/8/5143、设计方法学系统设计的一个过程。理解设计方法可以帮助你不遗漏任何要点。编译器、CAD工具、软件工程工具等可用来:帮助自动操作方法中的步骤。跟踪方法本身。2021/8/515需要考

虑的设计目的功能。性能.总的速度,时限。用户界面。生产成本。功耗其它要求(物理尺寸等)。2021/8/516设计过程中的抽象层次要求规格说明体系结构构件系统集成自顶向下的方法自底向上设计实际的设计中两种方法都有使用2

021/8/517逐步求精法在设计的每一阶段,都必须:分析设计来决定设计如何满足规格说明的要求。细化设计,增加细节。2021/8/5181层:需求用户想要的和期望得到的一个清楚的语言描述。(要求系统做什么)可用几种方式得到用户的需求:直接与用户交谈;与市场代表交谈;提供

原型让用户评价。2021/8/519功能性与非功能性的需求功能性的需求:功能需求指系统所必须实现的特定的功能、任务、行为。非功能性的需求:执行一个功能所需要的时间;体积、重量等;功耗;可靠性;其它。2021

/8/520需求表格名称目的输入输出功能性能生产成本功耗物理尺寸2021/8/521例:GPS移动地图的需求移动地图由GPS获得位置数据,由本地数据库得到地图的图形。lat:4013lon:3219I-78ScotchRoad2021/8/5

22GPS移动地图的需求功能性:汽车上使用。显示主要的道路和标识。用户界面:显示屏至少400x600像素的分辨率;最多三个按键;弹出式菜单。性能:地图平滑滚动;在接通电源后系统启动时间少于1秒;卫星锁定时间少于15秒。成本:单个设备销售$500。物理

尺寸/重量:适合手持。功耗:四节AA电池可工作八小时。2021/8/523GPS移动地图需求表格名称GPS移动地图目的司机使用的消费级移动地图输入电源开关,两个控制键输出夜光照明功能LCD400X600功能使用5种接收机的GPS系统;3种精度;显示当前的经纬度性能0

.25秒内扫一次屏生产成本$100功率100mW物理尺寸不大于2英寸X6英寸,12盎司。2021/8/5242层:规格说明系统更精确的描述:(系统要去做什么)不应该包含一个特定的体系结构;给这个体系结构设计过程提供输入。包括功能和非功能的成分。规格说明

应该很明确。(有着用户与开发者之间合同的作用)UML(UnifiedModelingLanguage)2021/8/525GPS的规格说明应该包括:从GPS接收到的数据格式;地图数据;用户界面;必须执行以满足用户需求的操作;保持系统运行的后台操作。2021/8/5

263层:体系结构设计那些主要构件去满足规格说明的要求?硬件构件:CPUs、外设等。软件构件:主要程序及其运行。功能规格与非功能规格都要考虑。2021/8/527GPS移动地图框图GPS接收机搜索引擎转换器用户界面数据库显示器2021/8/528GPS移动地图的硬件体系结

构GPS接收机CPUI/O面板显示器帧缓冲器存储器2021/8/529GPS移动地图的软件体系结构位置数据库搜索转换器时钟用户界面像素2021/8/5304层:硬件和软件构件体系结构告诉我们需要什么样的构件。构件完成体系结构中特定的任务。某些构件中现成的,某些构件要用现成的构件

修改而来、其它一些要完全自己设计。2021/8/5315层:系统集成把所有的构件插在一起。很多问题都在这个阶段产生。一个好的集成计划可以更快的发现问题,尽可能早的去做功能测试。2021/8/532系统建模需

要语言来描述系统:在数个抽象层上都是很实用的;在团体内外都能够被理解。框图是一个开始,但不要包括所有的内容。2021/8/5334、面向对象的设计OOD面向对象的设计OOD:是面向对象编程的一个

通用称谓。对象:现实世界中个体或事物的抽象表示,是属性和相关操作的封装。=状态+方法.对象的状态=对象属性取值的集合。方法(操作):提供给对象一个抽象的交互。类:说明一系列拥有相同的属性,操作,方法,关系,行为的对象集.

类包含属性表和操作表,它们各自在类内建立了一个命名空间。定义那种类型的所有对象交互的方法。2021/8/534UMLUnifiedModelingLanguage由GradyBooch开发的(Rational公司的首席工程师)目的:面向对象的;可视的;在抽象的多个

层次都适用。在设计的所有方面都有应用价值。2021/8/535UML对象d1:Displaypixels:array[]ofpixelselementsmenu_itemspixelsisa2-Darray注释对象名称类名属性无需显示操作符,因为对于同一类的对象来说它们都是相

同的2021/8/536UML类Displaypixelselementsmenu_itemsmouse_click()draw_box操作方法类名操作提供了类的实现与其它类的抽象交互。调用的操作如果有返回值,则为返回值类型列表。

如果没有返回值,则此特性为空值。一个操作可以检查或修改对象的状态。[可见性]属性名[:类型][‘[’多重性[次序]‘]’][可见性]操作名[(参数列表)][:反回类型]{特征}属性2021/8/537类与对象之间

的关系关联association:指对象之间通信,但没有从属关系。聚集aggregation:较小的对象组成复杂的对象。组合combination:是一种聚集类型,其中所有者不允许访问构件对象。泛化generalization:

允许我们通过其它的类定义类。一个较广泛化的元素和一个较特殊的元素之间的类元关系。特殊化的元素完整的包含了广泛化的元素,并含有更多信息2021/8/538类的派生根据另外一个类来定义类。派生类继承了基类

的属性和操作。派生类基类UML泛化2021/8/539类派生案例Displaypixelselementsmenu_itemspixel()set_pixel()mouse_click()draw_boxBW_displayColor_map_display基类派生类UML泛化202

1/8/540多重继承SpeakerDisplayMultimedia_display基类派生类2021/8/541messagemsg:ADPCM_streamlength:integermessagesetcount:

integer0..*1contains#containedmessages#containingmessagesets关联关联:描述类之间的关系。例如:关联名称2021/8/542链接链接:描述对象之间的关系。例如:链接定义包含关系。messa

gemsg=msg1length=1102messagemsg=msg2length=2114messagesetcount=22021/8/543行为描述现在考虑描述系统的行为:使用状态机状态机是展示状态与状态转换的图ab状态状态名称转移2021/8/544事件驱动状态机

一个状态向另一个状态的改变由事件触发。事件是某一种动作。状态机在收到输入时会改变状态。事件可来自系统外也可来自系统内。信号事件:异步事件。调用事件:同步的通信。时间事件:由时间激活的。2021/8/545<<signal>>mo

use_clickleftorright:buttonx,y:position声明abmouse_click(x,y,button)事件描述事例的类型信号事件2021/8/546cddraw_box(10,5,3,2,blue)事例的类型调用事件:时间事件:eftm

(time-value)接收到一个请求,从而激活某个操作。满足一个时间表达式,进入某状态后经过一定的时间,或者到达某个绝对时间后发生事件。2021/8/547例:状态机找到鼠标点击区域得到菜单项信息调用过的菜单项找到对象加亮显示对象初始状态停止状态mouse_click(x

,y,button)/find_region(region)input/outputregion=menu/which_menu(i)call_menu(I)region=drawing/find_object(obji

d)highlight(objid)2021/8/548顺序图显示随时间操作的顺序显示多重对象行为之间的关系。m:Moused1:Displayu:Menumouse_click(x,y,button)which_menu(x,y,

i)call_menu(i)时间2021/8/5495、模型火车控制器控制台电源接收机马达ECCaddressheadercommand2021/8/550需求控制台在一条轨道上能控制8辆火车。速度至少有63个

等级。惯性控制调整响应至少有8个等级。紧急停车按键。信息传输要有检错方案。2021/8/551需求表格名称模型火车控制器目的控制超过8辆模型火车的速度输入调速、惯性设置、紧急停车、火车编号输出火车控制信号功能根据惯性设置设定发动机的速度;响应紧急停车性能至少每秒钟可校正火车速

度10次生产成本$50功耗市电供电物理尺寸/重量控制台适合双手操作,重量小于2磅2021/8/552概念性的规格说明在我们生成一个详细的规格说明之前,我们将写一个初始的,简化的规格说明。让我们在UML和规格说明方面有一个实践。概念性的规格说明可

使我们更好地理解系统。在投入大量的精力之前通常可以让我们发现潜在的问题。从消息的定义开始,因为消息决定了控制器能做什么。命令名称参数,set-speed速度(正或负)set-inertia惯性值(非负)estop无2021/8/553消息的类commandset-inertiava

lue:unsigned-integerset-speedvalue:integerestop2021/8/554:console:train_rcvrset-inertiaset-speedset-speedset-speedestop:console:receiver1..n:comman

d子系统的协同图顺序图2021/8/555主要子系统的任务控制台从面板上读状态格式化信息传输信息火车接收信息解释信息控制火车2021/8/556控制台系统的类图consolepanelformat

tertransmitterreceiver*sender*11111111112021/8/557控制台类的任务面板:描述模拟按键和接口硬件。格式化程序:将按键设置转换成比特流。发射机:给火车发数据。2021/8/558火车系统类trainse

ttrainreceivercontrollermotorinterfacedetector*pulser*11..t11111111112021/8/559火车类的任务接收机:数字化来自铁轨的信号。控制器:解释接收到的指令并作出控制决定。脉冲

发生器:产生马达所需求的信号。2021/8/560详细的规格说明现在可以把概念性的规格说明的细节加上:更多的类;操作草拟一个规格说明可以帮助我们理解系统中的基本关系。2021/8/561火车速度控制火车由脉冲宽度调制来控制

:V+-周期2021/8/562控制台的物理对象类图knobs*train-knob:integerspeed-knob:integerinertia-knob:unsigned-integeremergency-stop:bool

eanpulser*pulse-width:unsigned-integerdirection:booleansender*send-bit()detector*read-bit():integer2021/8/563面板和马达接口类图面板类定义控

制为面板上的每一个控制定义一个操作new-settings()使用set-knobs操作改变调节器的设置。马达接口类定义马达持续状态的速度。paneltrain-number():integerspeed():integerinertia():integerestop():bo

oleannew-settings()motor-interfacespeed:integer2021/8/564Transmitter和receiver类Transmitter:为每种要发送的消息提供一个行为。接收机功能提供操作方法:探测接收新的信息,判决类型,读取参数。transmitt

ersend-speed(adrs:integer,speed:integer)send-inertia(adrs:integer,val:integer)set-estop(adrs:integer)receivercurrent:commandnew:booleanr

ead-cmd()new-cmd():booleanrcv-type(msg-type:command)rcv-speed(val:integer)rcv-inertia(val:integer)2021/8/565Formatter类formattercurrent-train:intege

rcurrent-speed[ntrains]:integercurrent-inertia[ntrains]:unsigned-integercurrent-estop[ntrains]:booleansend-command()panel-active():booleano

perate()Formatter类保存了当前所有火车的控制设置。operate()操作执行基本的格式化任务。2021/8/566Controlinput类使用软面板来显示每个火车目前的面板设置。改变火车的编号:必须改变软

面板的设置来反映目前火车的速度等参数。控制速度/惯性参数/紧急停车:读取面板上的参数,检查变化,执行指令。2021/8/567控制输入顺序图:knobs:panel:formatter:transmitter改变速

度/惯性/紧急停车改变火车编号changeincontrolsettingsreadpanelpanelsettingspanel-activesend-commandsend-speed,send-inertia.send-estopreadpanelpanelset

tingsreadpanelpanelsettingschangeintrainnumberset-knobsnew-settings2021/8/568Formatteroperate操作(状态图)空转

update-panel()send-command()panel-active()新火车编号其它2021/8/569Panel-active操作(行为)(状态图)panel*:read-train()current-train=train-knobupdate-scre

enchanged=trueTpanel*:read-speed()current-speed=throttlechanged=trueTF...F...current-train!=train-knobcurrent-speed!=throttle2021/8/570Controller

类controllercurrent-train:integercurrent-speed[ntrains]:integercurrent-direction[ntrains]:booleancurrent-inertia[ntrains]:unsigned-integeroper

ate()issue-command()2021/8/571设置速度不要去及时改变速度。控制器应该通过发送数个指令来逐步改变速度。2021/8/572火车接收到set-speed指令后的顺序图:receiver:controller:motor-interface:pulser*new-c

mdcmd-typercv-speedset-speedset-pulseset-pulseset-pulseset-pulseset-pulse2021/8/573Controlleroperate操作(行为)issue-command()receive-command()waitfo

racommandfromreceiver2021/8/574细化的指令类commandtype:3-bitsaddress:3-bitsparity:1-bitset-inertiatype=001value:3-bitsset-speedtype=010value:7-

bitsestoptype=0002021/8/575问题?

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?