嵌入式系統(tǒng)設(shè)計(jì)原理1_第1頁
嵌入式系統(tǒng)設(shè)計(jì)原理1_第2頁
嵌入式系統(tǒng)設(shè)計(jì)原理1_第3頁
嵌入式系統(tǒng)設(shè)計(jì)原理1_第4頁
嵌入式系統(tǒng)設(shè)計(jì)原理1_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

嵌入式計(jì)算系統(tǒng)設(shè)計(jì)原理第1章嵌入式計(jì)算2012.09嵌入式計(jì)算復(fù)雜系統(tǒng)與微處理器嵌入式系統(tǒng)的設(shè)計(jì)過程系統(tǒng)設(shè)計(jì)的形式化方法3什么是嵌入式系統(tǒng)?嵌入式系統(tǒng):

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

Intel4004。

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

1嵌入式微處理器

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

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

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

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

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

T1公司的DSP簡介

TMS320C1000系列

TMS320C2000系列

TMS320C3000系列

TMS320C4000系列

TMS320C5000系列

TMS320C6000系列

TMS320C8000系列CCS6000開發(fā)環(huán)境

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

(ABS):

啟動剎車來降低打滑。自動穩(wěn)定控制

(ASC+T):

控制發(fā)動機(jī)來改善穩(wěn)性。ABS被最早應(yīng)用-->ASC+T需要與已經(jīng)存在的

ABS模塊交互。45BMW850i剎車控制系統(tǒng)剎車傳感器剎車傳感器剎車傳感器剎車傳感器ABS液壓泵嵌入式計(jì)算應(yīng)用的特點(diǎn)復(fù)雜算法:算法復(fù)雜用戶接口:多種接口實(shí)時(shí)性:定時(shí)完成多速率:多速率制造成本:時(shí)間成本功率與能量:散熱播放器芯片

Rockchip27XX系列芯片具有獨(dú)立的視頻DSP核心和ARM雙核心,大大提高了主芯片的處理速度,實(shí)現(xiàn)了對RMVB視頻格式的較好支持,無需轉(zhuǎn)換即可支持RM、RMVB視頻格式的播放,操作更簡潔、方便。除了完美便捷的視頻播放功能,還支持TV—OUT視頻輸出,方便視覺享受更可與他人分享。481.1.3為什么要使用微處理器?可選擇的數(shù)字系統(tǒng)設(shè)計(jì):現(xiàn)場可編程門陣列(FPGAs),定制邏輯(專用邏輯).微處理器使用比定制邏輯更多的邏輯來實(shí)現(xiàn)一個(gè)功能。但是微處理器通常有更高的效率,因?yàn)椋菏褂猛瑯拥倪壿嬁梢詫?shí)現(xiàn)不同的功能。高速執(zhí)行指令。大設(shè)計(jì)團(tuán)隊(duì)來提高CPU的運(yùn)行速度。高速發(fā)展的大規(guī)模集成電路技術(shù)。微處理器可以簡化產(chǎn)品的系列設(shè)計(jì)。移動數(shù)字電視神行者T20

神行者T10

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

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

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

AA電池可工作八小時(shí)。

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

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

是屬性和相關(guān)操作的封裝。=狀態(tài)

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

命令名稱參數(shù),

set-speed

速度(正或負(fù))

set-inertia

慣性值(非負(fù))

estop

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

將按鍵設(shè)置轉(zhuǎn)換成比特流。發(fā)射機(jī):

給火車發(fā)數(shù)據(jù)。105火車系統(tǒng)類trainsettrainreceivercontrollermotorinterfacedetector*pulser*11..t1111111111106火車類的任務(wù)接收機(jī):

數(shù)字化來自鐵軌的信號。控制器:

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

溫馨提示

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

評論

0/150

提交評論