嵌入式系統設計原理1_第1頁
嵌入式系統設計原理1_第2頁
嵌入式系統設計原理1_第3頁
嵌入式系統設計原理1_第4頁
嵌入式系統設計原理1_第5頁
已閱讀5頁,還剩117頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

嵌入式計算系統設計原理第1章嵌入式計算2012.09嵌入式計算復雜系統與微處理器嵌入式系統的設計過程系統設計的形式化方法3什么是嵌入式系統?嵌入式系統:

任何一個非通用的具有可編程計算機的設備嵌入式系統的應用實例:打印機.手機.汽車:發動機,剎車,儀表盤等.電視(機頂盒).家用電器.掌上電腦(PDA).嵌入式計算機與個人PC的區別:專用性和實時性嵌入式系統嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。它一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。嵌入式系統英國電機工程師學會定義嵌入式系統為控制、監視或輔助設備、機器或甚至工廠操作的裝置,這些裝置具有如下特征:(1)通常執行特定功能;(2)以微電腦和外圍構成核心;(3)有嚴格的時序和穩定性要求;(4)全自動操作循環。嵌入式系統國際電機工程師協會(IEEE)從應用角度上定義嵌入式系統是:控制、監視或者輔助裝置、機器和設備運行的裝置。從該定義中可以看出嵌入式系統是軟件和硬件的結合體,還可以包含機械等附屬裝置。1復雜系統與微處理器嵌入式計算系統:任何包括一個可編程計算機的設備,但本身并未設計為一臺通用計算機。9嵌入式計算機CPUmeminputoutputanaloganalog10早期發展歷史1940年代:MITWhirlwind,第一臺實時操作系統的計算機;最初是用于飛機模擬器的控制。第一個微處理器是1970年代的

Intel4004。

1972年,HP-35計算器使用數個芯片來實現一個微處理器的功能。1970年代開始在汽車上使用基于微處理器的發動機控制技術??刂朴推幕旌?,發動機的定時等等。多種工作模式的控制:加熱,爬坡等提供低排放,高的燃油效率。嵌入式計算機微處理器:通常來說,具有中央處理器功能的大規模集成電路器件,可以被統稱為“微處理器”。Intel4004是第一塊微處理器嵌入式計算機根據intel的TICK-TOCK策略,2012是intel的工藝年,因此IvyBridge處理器將采用22nm新工藝制造,intel最新發布的3D晶體管技術也將和22nm工藝完美結合Haswell架構是英特爾最新的CPU架構青出于藍Haswell與IvyBridge性能大比拼嵌入式處理器根據微處理器的字長寬度:微處理器可分為4位、8位、16位、32位、64位。一般把16位及以下的稱為嵌入式微控制器,32位以上的稱為嵌入式微處理器。嵌入式處理器嵌入式處理器大體可分為以下幾類:

1嵌入式微處理器

嵌入式微處理器可謂是通用計算機中CPU的微縮版。相對于通用CPU,嵌入式微處理器具有體積小、功耗少、成本低的優點,當然在速度上也慢一些嵌入式微處理器在軟件配置上常??梢赃\行嵌入式操作系統,應用于比較高檔的領域。典型的如32位的ARM、64位的MIPS。

1嵌入式微處理器由通用計算機中的CPU發展而來,主要特點是具有32位以上的處理器,具有比較高的性能,價格也較高。與計算機CPU不同的是,在實際嵌入式應用中,只保留和嵌入式應用緊密相關的功能硬件,去除其它的冗余功能部分,因此其體積小、重量輕、功耗低、成本低及可靠性高。通常嵌入式微處理器把CPU、ROM、RAM及I/O等元件做到同一個芯片上,也稱為單板計算機。目前,主要的嵌入式微處理器有ARM、MIPS、POWERPC和基于X86的386EX等嵌入式微處理器制造商:摩托羅拉、英特爾、IBM、日立、NEC、東芝、AMD、國家半導體、Zilog、IDT、富士通、Atmel、SUN、微系統、夏普、Oki、飛利浦等。主要的嵌入式微處理器包括:IBMPowerPC、IntelPentium、Motorola68000、strongARM、MIPS、AMD、X86系列等等。嵌入式微處理器又可分為CISC和RISC兩類。大家熟悉的大多數臺式PC都是使用CISC微處理器,如Intel的x86。RISC結構體系有兩大主流:SiliconGraphics公司(硅谷圖形公司)的MIPS技術;ARM公司的Advanced

RISCMachines技術。此外,Hitachi(日立公司)也有自己的一套RISC技術SuperH。1嵌入式微處理器英特爾PXA27X嵌入式處理器在導航設備中的應用嵌入式處理器2嵌入式微控制器

嵌入式微控制器的最大特點是單片化,常稱為單片機。顧名思義,單片機就是將眾多的外圍設備(簡稱外設,如A/D,IO等)集成到一塊芯片中,從而大幅度降低了成本。單片機非常適合控制領域,典型的如大名鼎鼎的51系列。

2嵌入式微控制器嵌入式微控制器又稱為單片機,它將CPU、存儲器(少量的RAM、ROM或兩者都有)和其它外設接口封裝在同一片集成電路里。嵌入式微控制器制造商:摩托羅拉、英特爾、英飛凌科技、Atmel、日立、NEC、三菱、東芝、松下、Microchip、富士、飛利浦、德州儀器、三星、三洋、索尼、Oki、凌陽科技等。主要的嵌入式微控制器包括:MCS-51、MCS-251、MCS-96/196/296、P51XA、C166/167、68K、Z8、C540、PIC、AVR等系列。3專用微處理器相對于上述比較通用的類型,專用微處理器是專門針對某一特定領域的微處理器。如昂貴的視頻游戲機微處理器等。DSP本質上也屬于專用微處理器。嵌入式DSP專門用來對離散時間信號進行極快的處理計算,提高編譯效率和執行速度。在數字濾波、FFT、譜分析、圖像處理等領域應用廣泛。3專用微處理器DSP內部采用程序和數據分開存儲和傳輸的哈佛結構,具有專門硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可用來快速的實現各種數字信號處理算法,加之集成電路的優化設計,速度甚至比最快的CPU還快數倍。DSP正在大量進入嵌入式市場,目前廣泛應用的是德州儀器的產品TMS320C2000/C8000系列,另外Intel和Siemens也有相應的產品。

T1公司的DSP簡介

TMS320C1000系列

TMS320C2000系列

TMS320C3000系列

TMS320C4000系列

TMS320C5000系列

TMS320C6000系列

TMS320C8000系列CCS6000開發環境

4嵌入式片上系統(SystemOnChip)隨著EDI的推廣和VLSI設計的普及化,及半導體工藝的迅速發展,在一個硅片上實現一個更為復雜的系統的時代已來臨,這就是SystemOnChip(SOC)。各種通用處理器內核將作為SOC設計公司的標準庫,和許多其它嵌入式系統外設一樣,成為VLSI設計中一種標準的器件,用標準的VHDL等語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,仿真通過后就可以將設計圖交給半導體工廠制作樣品。這樣除個別無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊芯片中去,應用系統電路板將變得很簡潔,對于減小體積和功耗、提高可靠性非常有利。SiS55LV嵌入式片上系統芯片規格圖ARM和DSP/article/08-08/49453s.htmlARMDSP微控制器微控制器TMS470R1A288(NRND)16/32位RISC閃存微控制器片上系統賽普拉斯半導體的PSoC可編程片上系統增長迅速,出貨量即將突破10億片上系統Intel_SoCAVR單片機ATmega16L-8AUATmega32-16AUARM控制器的滲炭爐溫度控制系統應用示例1BMW850ibrakeandstabilitycontrolsystemBMW,全稱為巴伐利亞機械制造廠股份公司(德文:BayerischeMotorenWerkeAG),是德國一家世界知名的高檔汽車和摩托車制造商,總部位于慕尼黑。BMW在中國大陸、香港與早年的臺灣又常稱為“寶馬”。慕尼黑寶馬總部44汽車嵌入式系統高級汽車有近百個微處理器4-bit微控制器檢查安全帶的使用。微控制器控制儀表盤工作。16/32-bit微處理器控制發動機。BMW850i防抱死系統

(ABS):

啟動剎車來降低打滑。自動穩定控制

(ASC+T):

控制發動機來改善穩性。ABS被最早應用-->ASC+T需要與已經存在的

ABS模塊交互。45BMW850i剎車控制系統剎車傳感器剎車傳感器剎車傳感器剎車傳感器ABS液壓泵嵌入式計算應用的特點復雜算法:算法復雜用戶接口:多種接口實時性:定時完成多速率:多速率制造成本:時間成本功率與能量:散熱播放器芯片

Rockchip27XX系列芯片具有獨立的視頻DSP核心和ARM雙核心,大大提高了主芯片的處理速度,實現了對RMVB視頻格式的較好支持,無需轉換即可支持RM、RMVB視頻格式的播放,操作更簡潔、方便。除了完美便捷的視頻播放功能,還支持TV—OUT視頻輸出,方便視覺享受更可與他人分享。481.1.3為什么要使用微處理器?可選擇的數字系統設計:現場可編程門陣列(FPGAs),定制邏輯(專用邏輯).微處理器使用比定制邏輯更多的邏輯來實現一個功能。但是微處理器通常有更高的效率,因為:使用同樣的邏輯可以實現不同的功能。高速執行指令。大設計團隊來提高CPU的運行速度。高速發展的大規模集成電路技術。微處理器可以簡化產品的系列設計。移動數字電視神行者T20

神行者T10

移動數字電視神行者A10傳統的雙內核DSP/RISC處理架構1.1.3為什么要使用微處理器微處理器是一種實現數字系統的十分有效的方法微處理器使設計在不同價位上提供不同特性的產品系列變得更容易,并且能夠擴充新特性以滿足飛速變化的市場需求。PC不能作為嵌入式計算系統平臺實時性能的需求驅使我們需要不同的體系結構,多處理器常常能獲得最好的實時性能低功率和低成本同樣驅使我們遠離PC結構而轉向多處理器手機作為下一代計算平臺54功耗仍需要考慮對于低功耗的產品來說,定制邏輯是最好的實現方式?,F代的微處理器提供降低功耗的功能。軟件設計技術也可以降低功耗。1.1.4軟件物理(physicsofsoftware)提高性能:軟件的性能降低功耗:軟件的能耗561.1.5嵌入式系統設計所面臨的戰需要多少硬件?CPU的性能和存儲器的容量?如何滿足軟件運行時限要求?高速的硬件或者靈活的軟件?如何降低功耗?關斷不需要的邏輯?降低運算速度?能否正常工作?規格說明是否正確?是否滿足用戶需求?如何進行實時的,實際數據的測試?可視性,可控制性?開發環境?1.1.6嵌入式計算的性能Inreal-timesystems,performancemeansmeetingdeadlines.Weneedtoanalyzethesystematseverallevelsofabstractiontounderstandperformance:CPU.Platform.Program.Task.Multiprocessor1.2嵌入式系統地設計過程設計方法學系統設計的一個過程。理解設計方法可以幫助你不遺漏任何要點。編譯器、CAD工具、軟件工程工具等可用來:幫助自動操作方法中的步驟。跟蹤方法本身。61設計過程中的抽象層次要求規格說明體系結構構件系統集成自頂向下的方法自底向上設計實際的設計中兩種方法都有使用62需要考慮的設計目的功能。性能.總的速度,時限。用戶界面。生產成本。功耗其它要求(物理尺寸等)。63逐步求精法在設計的每一階段,都必須:分析設計來決定設計如何滿足規格說明的要求。細化設計,增加細節。641.2.1需求用戶想要的和期望得到的一個清楚的語言描述。

(要求系統做什么)可用幾種方式得到用戶的需求:直接與用戶交談;與市場代表交談;提供原型讓用戶評價。65功能性與非功能性的需求功能性的需求:功能需求指系統所必須實現的特定的功能、任務、行為。非功能性的需求:執行一個功能所需要的時間;體積、重量等;功耗;可靠性;其它。66需求表格67例:GPS移動地圖的需求移動地圖由GPS獲得位置數據,由本地數據庫得到地圖的圖形。lat:4013lon:3219I-78ScotchRoad68GPS移動地圖的需求功能性:汽車上使用。顯示主要的道路和標識。用戶界面:

顯示屏至少400x600像素的分辨率;最多三個按鍵;彈出式菜單。性能:地圖平滑滾動;在接通電源后系統啟動時間少于1秒;衛星鎖定時間少于15秒。成本:單個設備銷售$500。物理尺寸/重量:適合手持。功耗:四節

AA電池可工作八小時。

69GPS移動地圖需求表格701.2.2規格說明系統更精確的描述:(系統要去做什么)不應該包含一個特定的體系結構;給這個體系結構設計過程提供輸入。包括功能和非功能的成分。規格說明應該很明確。(有著用戶與開發者之間合同的作用)UML(UnifiedModelingLanguage)71GPS的規格說明應該包括:從GPS接收到的數據格式;地圖數據;用戶界面;必須執行以滿足用戶需求的操作;保持系統運行的后臺操作。721.2.3體系結構設計那些主要構件去滿足規格說明的要求?硬件構件:CPUs、外設等。軟件構件:主要程序及其運行。功能規格與非功能規格都要考慮。73GPS移動地圖框圖GPS接收機搜索引擎轉換器用戶界面數據庫顯示器74GPS移動地圖的硬件體系結構GPS接收機CPU

I/O面板顯示器幀緩沖器存儲器75GPS移動地圖的軟件體系結構位置數據庫搜索轉換器時鐘用戶界面像素761.2.4硬件和軟件構件體系結構告訴我們需要什么樣的構件。構件完成體系結構中特定的任務。某些構件中現成的,某些構件要用現成的構件修改而來、其它一些要完全自己設計。771.2.5系統集成把所有的構件插在一起。很多問題都在這個階段產生。一個好的集成計劃可以更快的發現問題,盡可能早的去做功能測試。78系統建模需要語言來描述系統:在數個抽象層上都是很實用的;在團體內外都能夠被理解??驁D是一個開始,但不要包括所有的內容。791.3系統建模需要語言來描述系統:在數個抽象層上都是很實用的;在團體內外都能夠被理解??驁D是一個開始,但不要包括所有的內容。80UMLUnifiedModelingLanguage由GradyBooch開發的(Rational公司的首席工程師)目的:面向對象的;可視的;在抽象的多個層次都適用。在設計的所有方面都有應用價值。81面向對象的設計OOD面向對象的設計OOD:是面向對象編程的一個通用稱謂。對象:現實世界中個體或事物的抽象表示,

是屬性和相關操作的封裝。=狀態

+方法.對象的狀態=對象屬性取值的集合。方法(操作):提供給對象一個抽象的交互。類:說明一系列擁有相同的屬性,操作,方法,關系,行為的對象集.類包含屬性表和操作表,它們各自在類內建立了一個命名空間。定義那種類型的所有對象交互的方法。82UML對象d1:Displaypixels:array[]ofpixelselementsmenu_itemspixelsisa2-Darray注釋對象名稱類名屬性無需顯示操作符,因為對于同一類的對象來說它們都是相同的83UML類Displaypixelselementsmenu_itemsmouse_click()draw_box操作方法類名操作提供了類的實現與其它類的抽象交互。調用的操作如果有返回值,則為返回值類型列表。如果沒有返回值,則此特性為空值。一個操作可以檢查或修改對象的狀態。[可見性]屬性名[:類型][‘[’多重性[次序]‘]’][可見性]操作名[(參數列表)][:反回類型]{特征}屬性84類與對象之間的關系關聯association:指對象之間通信,但沒有從屬關系。聚集aggregation:較小的對象組成復雜的對象。組合combination:是一種聚集類型,其中所有者不允許訪問構件對象。泛化generalization:允許我們通過其它的類定義類。一個較廣泛化的元素和一個較特殊的元素之間的類元關系。特殊化的元素完整的包含了廣泛化的元素,并含有更多信息85類的派生根據另外一個類來定義類。派生類繼承了基類的屬性和操作。派生類基類UML泛化86類派生案例Displaypixelselementsmenu_itemspixel()set_pixel()mouse_click()draw_boxBW_displayColor_map_display基類派生類UML泛化87多重繼承SpeakerDisplayMultimedia_display基類派生類88messagemsg:ADPCM_streamlength:integermessagesetcount:integer0..*1contains#containedmessages#containingmessagesets關聯關聯:描述類之間的關系。例如:關聯名稱89鏈接鏈接:描述對象之間的關系。例如:鏈接定義包含關系。messagemsg=msg1length=1102messagemsg=msg2length=2114messagesetcount=290行為描述現在考慮描述系統的行為:使用狀態機狀態機是展示狀態與狀態轉換的圖ab狀態狀態名稱轉移91事件驅動狀態機一個狀態向另一個狀態的改變由事件觸發。事件是某一種動作。狀態機在收到輸入時會改變狀態。事件可來自系統外也可來自系統內。信號事件:異步事件。調用事件:同步的通信。時間事件:由時間激活的。92<<signal>>mouse_clickleftorright:buttonx,y:position聲明abmouse_click(x,y,button)事件描述事例的類型信號事件93cddraw_box(10,5,3,2,blue)事例的類型調用事件:時間事件:eftm(time-value)接收到一個請求,從而激活某個操作。滿足一個時間表達式,進入某狀態后經過一定的時間,或者到達某個絕對時間后發生事件。94例:狀態機找到鼠標點擊區域得到菜單項信息調用過的菜單項找到對象加亮顯示對象初始狀態停止狀態mouse_click(x,y,button)/find_region(region)input/outputregion=menu/which_menu(i)call_menu(I)region=drawing/find_object(objid)highlight(objid)95順序圖顯示隨時間操作的順序顯示多重對象行為之間的關系。m:Moused1:Displayu:Menumouse_click(x,y,button)which_menu(x,y,i)call_menu(i)時間961.4模型火車控制器控制臺電源接收機馬達ECCaddressheadercommand97需求控制臺在一條軌道上能控制8輛火車。速度至少有63個等級。慣性控制調整響應至少有8個等級。緊急停車按鍵。信息傳輸要有檢錯方案。98需求表格99概念性的規格說明在我們生成一個詳細的規格說明之前,我們將寫一個初始的,簡化的規格說明。讓我們在UML和規格說明方面有一個實踐。概念性的規格說明可使我們更好地理解系統。在投入大量的精力之前通??梢宰屛覀儼l現潛在的問題。從消息的定義開始,因為消息決定了控制器能做什么。

命令名稱參數,

set-speed

速度(正或負)

set-inertia

慣性值(非負)

estop

無100消息的類commandset-inertiavalue:unsigned- integerset-speedvalue:integerestop101:console:train_rcvrset-inertiaset-speedset-speedset-speedestop:console:receiver1..n:command子系統的協同圖順序圖102主要子系統的任務控制臺從面板上讀狀態格式化信息傳輸信息火車接收信息解釋信息控制火車103控制臺系統的類圖consolepanelformattertransmitterreceiver*sender*1111111111104控制臺類的任務面板:描述模擬按鍵和接口硬件。格式化程序:

將按鍵設置轉換成比特流。發射機:

給火車發數據。105火車系統類trainsettrainreceivercontrollermotorinterfacedetector*pulser*11..t1111111111106火車類的任務接收機:

數字化來自鐵軌的信號??刂破鳎?/p>

解釋接收到的指令并作出控制決定。脈沖發生器:產生馬達所需求的信號。107詳細的規格說明現在可以把概念性的規格說明的細節加上:更多的類;操作草擬一個規格說明可以幫助我們理解系統中的基本關系。108火車速度控制火車由脈沖寬度調制來控制:V+-周期109控制臺的物理對象類圖knobs*train-knob:integerspeed-knob:integerinertia-knob:unsigned- integeremergency-stop:booleanpulser*pulse-width:unsigned- integerdirection:booleansender*send-bit()detector*read-bit():integer110面板和馬達接口類圖面板類定義控制為面板上的每一個控制定義一個操作new-settings()使用set-knobs操作改變調節器的設置。馬達接口類定義馬達持續狀態的速度。paneltrain-number():integerspeed():integerinertia():integerestop():booleannew-settings()motor-interfacespeed:integer111Transmitter和receiver類Transmitter:為每種要發送的消息提供一個行為。接收機功能提供操作方法:探測接收新的信息,判決類型,讀取參數。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)112Formatter類formattercurrent-train:integercurrent-speed[ntrains]:integercurrent-inertia[ntrains]:unsigned-integercurrent-estop[ntrains]:booleansend-command()panel-active():booleanoperate()Formatter類保存了當前所有火車的控制設置。operate()操作執行基本的格式化任務。113Controlinput類使用軟面板來顯示每個火車目前的面板設置。改變火車的編號:必須改變軟面板的設置來反映目前火車的速度等參數??刂扑俣?慣性參數/緊急停車:讀取面板上的參數,檢查變化,執行指令。114控制輸入順序圖:knobs:pane

溫馨提示

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

評論

0/150

提交評論