嵌入式微處理器第1章嵌入式計算課件_第1頁
嵌入式微處理器第1章嵌入式計算課件_第2頁
嵌入式微處理器第1章嵌入式計算課件_第3頁
嵌入式微處理器第1章嵌入式計算課件_第4頁
嵌入式微處理器第1章嵌入式計算課件_第5頁
已閱讀5頁,還剩71頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第 1 章嵌入式計算2021/8/51第 1 章嵌入式計算2021/8/51主要內容什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)設計所面臨的挑戰(zhàn)設計方法學OOD&UML面向對象的設計和統(tǒng)一建模語言舉例: 模型火車控制器2021/8/52主要內容什么是嵌入式系統(tǒng)?2021/8/521、什么是嵌入式系統(tǒng)?嵌入式系統(tǒng): 任何一個非通用的具有可編程計算機的設備嵌入式系統(tǒng)的應用實例:打印機.手機.汽車: 發(fā)動機, 剎車, 儀表盤等.電視(機頂盒).家用電器.PC 鍵盤 .掌上電腦(PDA).嵌入式計算機與個人PC的區(qū)別:專用性和實時性2021/8/531、什么是嵌入式系統(tǒng)?嵌入式系統(tǒng): 任何一個非通用的具有可編嵌入式計

2、算機CPUmeminputoutputanaloganalog2021/8/54嵌入式計算機CPUmeminputoutputanaloga早期發(fā)展歷史1940年代: MIT Whirlwind ,第一臺實時操作系統(tǒng)的計算機;最初是用于飛機模擬器的控制。第一個微處理器是1970年代的 Intel 4004。 1972年,HP-35 計算器使用數個芯片來實現(xiàn)一個微處理器的功能。1970年代開始在汽車上使用基于微處理器的發(fā)動機控制技術。控制油汽的混合,發(fā)動機的定時等等。多種工作模式的控制:加熱,爬坡等提供低排放,高的燃油效率。2021/8/55早期發(fā)展歷史1940年代: MIT Whirlwind

3、 ,第微處理器的分類微控制器: 包括I/O設備,存儲器。數字信號處理器 (DSP): 專門用于數字信號處理的微處理器。典型嵌入式的字長: 8-bit, 16-bit, 32-bit.2021/8/56微處理器的分類微控制器: 包括I/O設備,存儲器。2021/應用廣泛簡單控制: 微波爐的面板等。Canon EOS 3 有3個微處理器。32-bit RISC CPU 用于自動對焦和光圈控制系統(tǒng)。模擬電視: 信道的選擇等。數字電視: 可編程 CPUs +硬連線邏輯 通信系統(tǒng)2021/8/57應用廣泛簡單控制: 微波爐的面板等。2021/8/57汽車嵌入式系統(tǒng)高級汽車有近百個微處理器4-bit 微控

4、制器檢查安全帶的使用。微控制器控制儀表盤工作。16/32-bit 微處理器控制發(fā)動機。BMW 850i防抱死系統(tǒng) (ABS): 啟動剎車來降低打滑。自動穩(wěn)定控制 (ASC+T): 控制發(fā)動機來改善穩(wěn)性。ABS 被最早應用- ASC+T 需要與已經存在的 ABS 模塊交互。2021/8/58汽車嵌入式系統(tǒng)高級汽車有近百個微處理器2021/8/58BMW 850i 剎車控制系統(tǒng)剎車傳感器剎車傳感器剎車傳感器剎車傳感器ABS液壓泵2021/8/59BMW 850i 剎車控制系統(tǒng)剎車傳感器剎車傳感器剎車傳感器嵌入式系統(tǒng)的特點復雜的功能性。通常運行復雜的算法,或多個算法。手機,激光打印機。通常提供復雜的

5、用戶界面。實時操作。必須在期限內完成操作。硬實時期限: 超過期限會產生錯誤。軟實時期限: 超過期限會降低性能。很多系統(tǒng)是多速率的: 必須在能用不同的速率處理操作。2021/8/510嵌入式系統(tǒng)的特點復雜的功能性。2021/8/510嵌入式系統(tǒng)的特點低制造成本。多數嵌入式系統(tǒng)是大規(guī)模生產的具有很低的制造成本。存儲容量和處理器能力夠用即可。低功耗。在電池供電的設備中功耗是很關鍵的。由小規(guī)模團隊在嚴格的期限內完成。半年的市場期限較多。2021/8/511嵌入式系統(tǒng)的特點低制造成本。2021/8/511為什么要使用微處理器?可選擇的數字系統(tǒng)設計: 現(xiàn)場可編程門陣列(FPGAs), 定制邏輯(專用邏輯)

6、.微處理器使用比定制邏輯更多的邏輯來實現(xiàn)一個功能。但是微處理器通常有更高的效率,因為:使用同樣的邏輯可以實現(xiàn)不同的功能。高速執(zhí)行指令。大設計團隊來提高CPU的運行速度。高速發(fā)展的大規(guī)模集成電路技術。微處理器可以簡化產品的系列設計。2021/8/512為什么要使用微處理器?可選擇的數字系統(tǒng)設計: 現(xiàn)場可編程門陣功耗仍需要考慮對于低功耗的產品來說,定制邏輯是最好的實現(xiàn)方式?,F(xiàn)代的微處理器提供降低功耗的功能。軟件設計技術也可以降低功耗。2021/8/513功耗仍需要考慮對于低功耗的產品來說,定制邏輯是最好的實現(xiàn)方式2、嵌入式系統(tǒng)設計所面臨的挑戰(zhàn)需要多少硬件?CPU的性能和存儲器的容量?如何滿足軟件運

7、行時限要求?高速的硬件或者靈活的軟件?如何降低功耗?關斷不需要的邏輯? 降低運算速度?能否正常工作?規(guī)格說明是否正確?是否滿足用戶需求?如何進行實時的,實際數據的測試?可視性,可控制性?開發(fā)環(huán)境?2021/8/5142、嵌入式系統(tǒng)設計所面臨的挑戰(zhàn)需要多少硬件?2021/8/53、設計方法學系統(tǒng)設計的一個過程。理解設計方法可以幫助你不遺漏任何要點。編譯器 、CAD工具、軟件工程工具等可用來:幫助自動操作方法中的步驟。跟蹤方法本身。2021/8/5153、設計方法學系統(tǒng)設計的一個過程。2021/8/515需要考慮的設計目的功能。性能.總的速度,時限。用戶界面。生產成本。功耗其它要求(物理尺寸等)。

8、2021/8/516需要考慮的設計目的功能。2021/8/516設計過程中的抽象層次要求規(guī)格說明體系結構構件系統(tǒng)集成自頂向下的方法自底向上設計實際的設計中兩種方法都有使用2021/8/517設計過程中的抽象層次要求規(guī)格說明體系結構構件系統(tǒng)集成自頂向下逐步求精法在設計的每一階段,都必須:分析設計來決定設計如何滿足規(guī)格說明的要求。細化設計,增加細節(jié)。2021/8/518逐步求精法在設計的每一階段,都必須:2021/8/5181層:需求用戶想要的和期望得到的一個清楚的語言描述。 (要求系統(tǒng)做什么)可用幾種方式得到用戶的需求:直接與用戶交談;與市場代表交談;提供原型讓用戶評價。2021/8/5191層

9、:需求用戶想要的和期望得到的一個清楚的語言描述。2021功能性與非功能性的需求功能性的需求:功能需求指系統(tǒng)所必須實現(xiàn)的特定的功能、任務、行為。非功能性的需求:執(zhí)行一個功能所需要的時間;體積、重量等;功耗;可靠性;其它。2021/8/520功能性與非功能性的需求功能性的需求:2021/8/520需求表格2021/8/521需求表格2021/8/521例: GPS 移動地圖的需求移動地圖由GPS獲得位置數據,由本地數據庫得到地圖的圖形。lat: 40 13 lon: 32 19I-78Scotch Road2021/8/522例: GPS 移動地圖的需求移動地圖由GPS獲得位置數據,由GPS 移動

10、地圖的需求功能性:汽車上使用。顯示主要的道路和標識。用戶界面: 顯示屏至少400 x 600像素的分辨率;最多三個按鍵;彈出式菜單。性能:地圖平滑滾動;在接通電源后系統(tǒng)啟動時間少于1秒;衛(wèi)星鎖定時間少于15秒。成本: 單個設備銷售$500。物理尺寸 /重量: 適合手持。功耗:四節(jié) AA電池可工作八小時。 2021/8/523GPS 移動地圖的需求功能性:汽車上使用。顯示主要的道路和標GPS 移動地圖需求表格2021/8/524GPS 移動地圖需求表格2021/8/524 2層:規(guī)格說明系統(tǒng)更精確的描述:(系統(tǒng)要去做什么)不應該包含一個特定的體系結構;給這個體系結構設計過程提供輸入。包括功能和非

11、功能的成分。規(guī)格說明應該很明確。(有著用戶與開發(fā)者之間 合同的作用)UML (Unified Modeling Language)2021/8/525 2層:規(guī)格說明系統(tǒng)更精確的描述:(系統(tǒng)要去做什么)2021GPS 的規(guī)格說明應該包括:從GPS接收到的數據格式;地圖數據;用戶界面;必須執(zhí)行以滿足用戶需求的操作;保持系統(tǒng)運行的后臺操作。2021/8/526GPS 的規(guī)格說明應該包括:2021/8/5263層: 體系結構設計那些主要構件去滿足規(guī)格說明的要求?硬件構件:CPUs、外設等。軟件構件:主要程序及其運行。功能規(guī)格與非功能規(guī)格都要考慮。2021/8/5273層: 體系結構設計那些主要構件去

12、滿足規(guī)格說明的要求?202GPS 移動地圖框圖GPS接收機搜索引擎轉換器用戶界面數據庫顯示器2021/8/528GPS 移動地圖框圖GPS搜索引擎轉換器用戶界面數據庫顯示器GPS 移動地圖的硬件體系結構GPS接收機CPU I/O面板顯示器幀緩沖器存儲器2021/8/529GPS 移動地圖的硬件體系結構GPSCPU I/O面板顯示器GPS 移動地圖的軟件體系結構位置數據庫搜索轉換器時鐘用戶界面像素2021/8/530GPS 移動地圖的軟件體系結構位置數據庫搜索轉換器時鐘用戶界 4層: 硬件和軟件構件體系結構告訴我們需要什么樣的構件。構件完成體系結構中特定的任務。某些構件中現(xiàn)成的,某些構件要用現(xiàn)成

13、的構件修改而來、其它一些要完全自己設計。2021/8/531 4層: 硬件和軟件構件體系結構告訴我們需要什么樣的構件。25層:系統(tǒng)集成把所有的構件插在一起。很多問題都在這個階段產生。一個好的集成計劃可以更快的發(fā)現(xiàn)問題,盡可能早的去做功能測試。2021/8/5325層:系統(tǒng)集成把所有的構件插在一起。2021/8/532系統(tǒng)建模需要語言來描述系統(tǒng):在數個抽象層上都是很實用的;在團體內外都能夠被理解??驁D是一個開始,但不要包括所有的內容。2021/8/533系統(tǒng)建模需要語言來描述系統(tǒng):2021/8/5334、面向對象的設計OOD面向對象的設計OOD:是面向對象編程的一個通用稱謂。對象:現(xiàn)實世界中個體

14、或事物的抽象表示, 是屬性和相關操作的封裝。= 狀態(tài) + 方法.對象的狀態(tài)對象屬性取值的集合。方法(操作):提供給對象一個抽象的交互。 類:說明一系列擁有相同的屬性,操作,方法,關 系,行為的對象集.類包含屬性表和操作表,它們各自在類內建立了一個命名空間。定義那種類型的所有對象交互的方法。2021/8/5344、面向對象的設計OOD面向對象的設計OOD:是面向對象編程UMLUnified Modeling Language由Grady Booch 開發(fā)的(Rational 公司的首席工程師)目的:面向對象的;可視的;在抽象的多個層次都適用。在設計的所有方面都有應用價值。2021/8/535UM

15、LUnified Modeling Language20UML 對象d1: Displaypixels: array of pixelselementsmenu_itemspixels is a2-D array注釋對象名稱類名屬性無需顯示操作符,因為對于同一類的對象來說它們都是相同的 2021/8/536UML 對象d1: Displaypixels: arrayUML 類Displaypixelselementsmenu_itemsmouse_click()draw_box操作方法類名操作提供了類的實現(xiàn)與其它類的抽象交互。調用的操作如果有返回值,則為返回值類型列表。如果沒有返回值,則此特性

16、為空值。一個操作可以檢查或修改對象的狀態(tài)。可見性屬性名:類型多重性次序可見性操作名(參數列表):反回類型特征屬性2021/8/537UML 類Displaypixelsmouse_click(類與對象之間的關系關聯(lián)association : 指對象之間通信,但沒有從屬關系。聚集aggregation: 較小的對象組成復雜的對象。組合combination : 是一種聚集類型,其中所有者不允許訪問構件對象。泛化generalization : 允許我們通過其它的類定義類。一個較廣泛化的元素和一個較特殊的元素之間的類元關系。特殊化的元素完整的包含了廣泛化的元素,并含有更多信息 2021/8/538

17、類與對象之間的關系關聯(lián)association : 指對象之間類的派生根據另外一個類來定義類。派生類繼承了基類的屬性和操作。 派生類 基類UML泛化2021/8/539類的派生根據另外一個類來定義類。 派生類 基類類派生案例Displaypixelselementsmenu_itemspixel()set_pixel()mouse_click()draw_boxBW_displayColor_map_display基類派生類UML泛化2021/8/540類派生案例Displaypixelspixel()BW_di多重繼承SpeakerDisplayMultimedia_display基類派生類2

18、021/8/541多重繼承SpeakerDisplayMultimedia_dmessagemsg: ADPCM_streamlength : integermessage setcount : integer0.*1contains# contained messages# containing message sets關聯(lián)關聯(lián): 描述類之間的關系。例如:關聯(lián)名稱2021/8/542messagemsg: ADPCM_streammessag鏈接鏈接: 描述對象之間的關系。例如:鏈接定義包含關系。messagemsg = msg1length = 1102messagemsg = msg2l

19、ength = 2114message setcount = 22021/8/543鏈接鏈接: 描述對象之間的關系。messagemsg = m行為描述現(xiàn)在考慮描述系統(tǒng)的行為:使用狀態(tài)機狀態(tài)機是展示狀態(tài)與狀態(tài)轉換的圖 ab狀態(tài)狀態(tài)名稱轉移2021/8/544行為描述現(xiàn)在考慮描述系統(tǒng)的行為:ab狀態(tài)狀態(tài)名稱轉移2021事件驅動狀態(tài)機一個狀態(tài)向另一個狀態(tài)的改變由事件觸發(fā)。事件是某一種動作。狀態(tài)機在收到輸入時會改變狀態(tài)。事件可來自系統(tǒng)外也可來自系統(tǒng)內。信號事件:異步事件。調用事件 :同步的通信。時間事件 :由時間激活的。2021/8/545事件驅動狀態(tài)機一個狀態(tài)向另一個狀態(tài)的改變由事件觸發(fā)。事件是某

20、mouse_clickleftorright: buttonx, y: position聲明abmouse_click(x,y,button)事件描述事例的類型信號事件2021/8/546leftorright: button聲cddraw_box(10,5,3,2,blue)事例的類型調用事件:時間事件:eftm(time-value)接收到一個請求,從而激活某個操作。 滿足一個時間表達式,進入某狀態(tài)后經過一定的時間,或者到達某個絕對時間后發(fā)生事件。 2021/8/547cddraw_box(10,5,3,2,blue)事例的類型例:狀態(tài)機找到鼠標點擊區(qū)域得到菜單項信息調用過的菜單項找到對象

21、加亮顯示對象初始狀態(tài)停止狀態(tài)mouse_click(x,y,button)/find_region(region)input/outputregion = menu/which_menu(i)call_menu(I)region = drawing/find_object(objid)highlight(objid)2021/8/548例:狀態(tài)機找到鼠標得到菜單調用過的找到對象加亮顯示初始狀態(tài)停順序圖顯示隨時間操作的順序顯示多重對象行為之間的關系。m: Moused1: Displayu: Menumouse_click(x,y,button)which_menu(x,y,i)call_men

22、u(i)時間2021/8/549順序圖顯示隨時間操作的順序m: Moused1: Displ5、模型火車控制器控制臺電源接收機馬達ECCaddressheadercommand2021/8/5505、模型火車控制器控制臺電源接收機馬達ECCaddressh需求控制臺在一條軌道上能控制8輛火車。速度至少有63個等級。慣性控制調整響應至少有8個等級。緊急停車按鍵。信息傳輸要有檢錯方案。2021/8/551需求控制臺在一條軌道上能控制8輛火車。2021/8/551需求表格2021/8/552需求表格2021/8/552概念性的規(guī)格說明在我們生成一個詳細的規(guī)格說明之前,我們將寫一個初始的,簡化的規(guī)格說

23、明。讓我們在UML和規(guī)格說明方面有一個實踐。概念性的規(guī)格說明可使我們更好地理解系統(tǒng)。在投入大量的精力之前通??梢宰屛覀儼l(fā)現(xiàn)潛在的問題。從消息的定義開始,因為消息決定了控制器能做什么。 命令名稱 參 數 , set-speed 速度(正或負)set-inertia 慣性值(非負)estop 無2021/8/553概念性的規(guī)格說明在我們生成一個詳細的規(guī)格說明之前,我們將寫一消息的類commandset-inertiavalue: unsigned-integerset-speedvalue: integerestop2021/8/554消息的類commandset-inertiavalue: u:

24、console:train_rcvrset-inertiaset-speedset-speedset-speedestop:console:receiver1.n: command子系統(tǒng)的協(xié)同圖順序圖2021/8/555:console:train_rcvrset-inertia主要子系統(tǒng)的任務控制臺從面板上讀狀態(tài)格式化信息傳輸信息火車接收信息解釋信息控制火車2021/8/556主要子系統(tǒng)的任務控制臺2021/8/556控制臺系統(tǒng)的類圖consolepanelformattertransmitterreceiver*sender*11111111112021/8/557控制臺系統(tǒng)的類圖cons

25、olepanelformattert控制臺類的任務面板:描述模擬按鍵和接口硬件。格式化程序: 將按鍵設置轉換成比特流。發(fā)射機: 給火車發(fā)數據。2021/8/558控制臺類的任務面板:描述模擬按鍵和接口硬件。2021/8/5火車系統(tǒng)類train settrainreceivercontrollermotorinterfacedetector*pulser*11.t11111111112021/8/559火車系統(tǒng)類train settrainreceivercon火車類的任務接收機: 數字化來自鐵軌的信號。控制器: 解釋接收到的指令并作出控制決定。脈沖發(fā)生器:產生馬達所需求的信號。2021/8/5

26、60火車類的任務接收機: 數字化來自鐵軌的信號。2021/8/5詳細的規(guī)格說明現(xiàn)在可以把概念性的規(guī)格說明的細節(jié)加上:更多的類;操作草擬一個規(guī)格說明可以幫助我們理解系統(tǒng)中的基本關系。2021/8/561詳細的規(guī)格說明現(xiàn)在可以把概念性的規(guī)格說明的細節(jié)加上:2021火車速度控制火車由脈沖寬度調制來控制:V+-周期2021/8/562火車速度控制火車由脈沖寬度調制來控制:V+-周期2021/8控制臺的物理對象類圖knobs*train-knob: integerspeed-knob: integerinertia-knob: unsigned-integeremergency-stop: boolea

27、npulser*pulse-width: unsigned-integerdirection: booleansender*send-bit()detector*read-bit() : integer2021/8/563控制臺的物理對象類圖knobs*train-knob: in面板和馬達接口類圖面板類定義控制為面板上的每一個控制定義一個操作new-settings() 使用set-knobs操作改變調節(jié)器的設置。馬達接口類定義馬達持續(xù)狀態(tài)的速度。paneltrain-number() : integerspeed() : integerinertia() : integerestop()

28、: booleannew-settings()motor-interfacespeed: integer2021/8/564面板和馬達接口類圖面板類定義控制paneltrain-numTransmitter 和 receiver 類Transmitter: 為每種要發(fā)送的消息提供一個行為。接收機功能提供操作方法:探測接收新的信息,判決類型,讀取參數。transmittersend-speed(adrs: integer, speed: integer)send-inertia(adrs: integer, val: integer)set-estop(adrs: integer)receive

29、rcurrent: commandnew: booleanread-cmd()new-cmd() : booleanrcv-type(msg-type: command)rcv-speed(val: integer)rcv-inertia(val:integer)2021/8/565Transmitter 和 receiver 類TransmFormatter 類formattercurrent-train: integercurrent-speedntrains: integercurrent-inertiantrains: unsigned-integercurrent-estopntra

30、ins: booleansend-command()panel-active() : booleanoperate()Formatter 類保存了當前所有火車的控制設置。operate()操作執(zhí)行基本的格式化任務。2021/8/566Formatter 類formattercurrent-trControl input 類使用軟面板來顯示每個火車目前的面板設置。改變火車的編號:必須改變軟面板的設置來反映目前火車的速度等參數。控制速度/慣性參數/緊急停車:讀取面板上的參數,檢查變化,執(zhí)行指令。2021/8/567Control input 類使用軟面板來顯示每個火車目前的控制輸入順序圖:knob

31、s:panel:formatter:transmitter改變速度/慣性/緊急停車改變火車編號change incontrolsettingsread panelpanel settingspanel-activesend-commandsend-speed,send-inertia.send-estopread panelpanel settingsread panelpanel settingschange intrainnumberset-knobsnew-settings2021/8/568控制輸入順序圖:knobs:panel:formatter:Formatter operate 操作(狀態(tài)圖)空轉update-panel()send-command()panel-active()新火車編號其它2021/8/569Form

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論