嵌入式系統(tǒng)設計過程_第1頁
嵌入式系統(tǒng)設計過程_第2頁
嵌入式系統(tǒng)設計過程_第3頁
嵌入式系統(tǒng)設計過程_第4頁
嵌入式系統(tǒng)設計過程_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、首先從系統(tǒng)需求開始。首先從系統(tǒng)需求開始。然后是規(guī)格說明,在這一步對想要的進行更加細致地然后是規(guī)格說明,在這一步對想要的進行更加細致地描述,但是規(guī)格說明只對系統(tǒng)如何工作描述,但是規(guī)格說明只對系統(tǒng)如何工作(工作過程工作過程)進行進行了描述,這些描述并不涉及它的組成。了描述,這些描述并不涉及它的組成。系統(tǒng)內(nèi)部的詳細構(gòu)造要在開發(fā)系統(tǒng)的體系結(jié)構(gòu)時才能系統(tǒng)內(nèi)部的詳細構(gòu)造要在開發(fā)系統(tǒng)的體系結(jié)構(gòu)時才能展現(xiàn)出來,這一階段以大的構(gòu)件為單位給出了系統(tǒng)的展現(xiàn)出來,這一階段以大的構(gòu)件為單位給出了系統(tǒng)的結(jié)構(gòu)。結(jié)構(gòu)。一旦知道了需要的構(gòu)件,就可以設計這些構(gòu)件,包括一旦知道了需要的構(gòu)件,就可以設計這些構(gòu)件,包括軟件模塊和任何所

2、需要的專用硬件模塊。在這些構(gòu)件軟件模塊和任何所需要的專用硬件模塊。在這些構(gòu)件的基礎(chǔ)上,可以構(gòu)造出所需要的完整的系統(tǒng)。的基礎(chǔ)上,可以構(gòu)造出所需要的完整的系統(tǒng)。如圖如圖1-3所示所示,首先從系統(tǒng)需求開始。然,首先從系統(tǒng)需求開始。然后是規(guī)格說明,在這一步對想要的進行更加后是規(guī)格說明,在這一步對想要的進行更加細致地描述,但是規(guī)格說明只對系統(tǒng)如何工細致地描述,但是規(guī)格說明只對系統(tǒng)如何工作進行了描述,這些描述并不涉及它的組成。作進行了描述,這些描述并不涉及它的組成。系統(tǒng)內(nèi)部的詳細構(gòu)造要在開發(fā)系統(tǒng)的體系系統(tǒng)內(nèi)部的詳細構(gòu)造要在開發(fā)系統(tǒng)的體系結(jié)構(gòu)時才能展現(xiàn)出來,這一階段以大的構(gòu)件結(jié)構(gòu)時才能展現(xiàn)出來,這一階段以大

3、的構(gòu)件為單位給出了系統(tǒng)的結(jié)構(gòu)。為單位給出了系統(tǒng)的結(jié)構(gòu)。一旦知道了需要的構(gòu)件,就可以設計這些一旦知道了需要的構(gòu)件,就可以設計這些構(gòu)件,包括軟件模塊和任何所需要的專用硬構(gòu)件,包括軟件模塊和任何所需要的專用硬件模塊。在這些構(gòu)件的基礎(chǔ)上,可以構(gòu)造出件模塊。在這些構(gòu)件的基礎(chǔ)上,可以構(gòu)造出所需要的完整的系統(tǒng)。所需要的完整的系統(tǒng)。 1系統(tǒng)需求分析系統(tǒng)需求分析確定設計任務和設計目標,并提煉出設計規(guī)格確定設計任務和設計目標,并提煉出設計規(guī)格說明書,作為正式設計指導和驗收的標準。系統(tǒng)的說明書,作為正式設計指導和驗收的標準。系統(tǒng)的需求一般分功能性需求和非功能性需求兩方面。功需求一般分功能性需求和非功能性需求兩方面。

4、功能性需求是系統(tǒng)的基本功能,能性需求是系統(tǒng)的基本功能,如輸入輸出信號,操作方式等;非功能性需求如輸入輸出信號,操作方式等;非功能性需求包括系統(tǒng)性能,成本,功耗,體積,重量包括系統(tǒng)性能,成本,功耗,體積,重量等因素。等因素。2體系結(jié)構(gòu)設計體系結(jié)構(gòu)設計 描述系統(tǒng)如何實現(xiàn)所述的功能和非功能需求描述系統(tǒng)如何實現(xiàn)所述的功能和非功能需求,包括對硬件,軟件和執(zhí)行裝置的功能劃分包括對硬件,軟件和執(zhí)行裝置的功能劃分.以及系統(tǒng)的軟件,硬件選型等。一個好的體系以及系統(tǒng)的軟件,硬件選型等。一個好的體系結(jié)構(gòu)是設計成功與否的關(guān)鍵。結(jié)構(gòu)是設計成功與否的關(guān)鍵。3硬件硬件/軟件設計軟件設計基于體系結(jié)構(gòu),對系統(tǒng)的軟件,硬件進基于

5、體系結(jié)構(gòu),對系統(tǒng)的軟件,硬件進行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計行詳細設計。為了縮短產(chǎn)品開發(fā)周期,設計往往往往并行的。應該說嵌入式系統(tǒng)設計的工作并行的。應該說嵌入式系統(tǒng)設計的工作大部分都集中在軟件設計上,采用采用面向大部分都集中在軟件設計上,采用采用面向?qū)ο蠹夹g(shù),軟件組件技術(shù),模塊化設計是現(xiàn)對象技術(shù),軟件組件技術(shù),模塊化設計是現(xiàn)代軟件工程經(jīng)常采用的方法。代軟件工程經(jīng)常采用的方法。4系統(tǒng)集成系統(tǒng)集成 把系統(tǒng)的軟件,硬件和執(zhí)行裝置集成把系統(tǒng)的軟件,硬件和執(zhí)行裝置集成在一起,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過在一起,進行調(diào)試,發(fā)現(xiàn)并改進單元設計過程中的錯誤程中的錯誤。5系統(tǒng)測試系統(tǒng)測試對設計好的系統(tǒng)

6、進行測試,看其是否滿足對設計好的系統(tǒng)進行測試,看其是否滿足規(guī)格說明書中給定的功能要求。規(guī)格說明書中給定的功能要求。針對系統(tǒng)的不同的復雜程度,目前有一些針對系統(tǒng)的不同的復雜程度,目前有一些常用的系統(tǒng)設計方法,如瀑布設計方法,自頂常用的系統(tǒng)設計方法,如瀑布設計方法,自頂向下設計的方法,自下向上的設計方法,螺旋向下設計的方法,自下向上的設計方法,螺旋設計方法,逐步細化設計方法和并行設計方法設計方法,逐步細化設計方法和并行設計方法等,根據(jù)設計對象復雜程度的不同,可以靈活等,根據(jù)設計對象復雜程度的不同,可以靈活的選擇不同的系統(tǒng)設計方法。的選擇不同的系統(tǒng)設計方法。顯然,在設計一個系統(tǒng)之前,必須清楚在顯然,

7、在設計一個系統(tǒng)之前,必須清楚在設計什么。在設計的最初階段,截取這些信設計什么。在設計的最初階段,截取這些信息,以此來設計系統(tǒng)的體系結(jié)構(gòu)和構(gòu)件。這息,以此來設計系統(tǒng)的體系結(jié)構(gòu)和構(gòu)件。這一階段的任務通常通過兩種過程來實現(xiàn):一階段的任務通常通過兩種過程來實現(xiàn):首先,從客戶那里收集系統(tǒng)的非形式描述首先,從客戶那里收集系統(tǒng)的非形式描述(這叫做需求);(這叫做需求);然后,對需求進行提煉,得到系統(tǒng)的規(guī)格然后,對需求進行提煉,得到系統(tǒng)的規(guī)格說明,這些規(guī)格說明里包含了進行系統(tǒng)體系說明,這些規(guī)格說明里包含了進行系統(tǒng)體系結(jié)構(gòu)設計所需要的足夠信息。結(jié)構(gòu)設計所需要的足夠信息。區(qū)分需求區(qū)分需求和和規(guī)格說明規(guī)格說明是必要

8、的,因為在客戶關(guān)于是必要的,因為在客戶關(guān)于所需系統(tǒng)的描述和體系結(jié)構(gòu)系統(tǒng)設計師所需的信息之所需系統(tǒng)的描述和體系結(jié)構(gòu)系統(tǒng)設計師所需的信息之間存在極大的距離。間存在極大的距離。嵌入式系統(tǒng)的客戶通常不是嵌入式系統(tǒng)的設計人嵌入式系統(tǒng)的客戶通常不是嵌入式系統(tǒng)的設計人員,甚至也不是最終產(chǎn)品的設計人員,他們對嵌入式員,甚至也不是最終產(chǎn)品的設計人員,他們對嵌入式系統(tǒng)的理解是建立在他們想象的與系統(tǒng)之間的交互的系統(tǒng)的理解是建立在他們想象的與系統(tǒng)之間的交互的基礎(chǔ)上的,對系統(tǒng)可能有一些不切實際的期望,或者基礎(chǔ)上的,對系統(tǒng)可能有一些不切實際的期望,或者是使用他們自己的話而不是專業(yè)術(shù)語來表達其需求。是使用他們自己的話而不是

9、專業(yè)術(shù)語來表達其需求。將客戶的描述轉(zhuǎn)化為系統(tǒng)設計者的描述的結(jié)構(gòu)化將客戶的描述轉(zhuǎn)化為系統(tǒng)設計者的描述的結(jié)構(gòu)化方法就是從客戶的需求中獲取一組一致性的需求,然方法就是從客戶的需求中獲取一組一致性的需求,然后從中整理成正式的規(guī)格說明。后從中整理成正式的規(guī)格說明。通常,需求包括功能部分和非功能部分。通常,需求包括功能部分和非功能部分。當然,我們必須從中獲取系統(tǒng)的基本功能,當然,我們必須從中獲取系統(tǒng)的基本功能,但是,只有功能的描述是不夠的。非功能需但是,只有功能的描述是不夠的。非功能需求包括:求包括:(1) 性能性能系統(tǒng)的處理速度通常是該系統(tǒng)的實用性和系統(tǒng)的處理速度通常是該系統(tǒng)的實用性和最終成本的主要決定

10、因素。正如我們已經(jīng)注最終成本的主要決定因素。正如我們已經(jīng)注意到的,性能是軟件性能度量意到的,性能是軟件性能度量(如執(zhí)行一個用如執(zhí)行一個用戶級函數(shù)的大致時間和必須完成的一個特定戶級函數(shù)的大致時間和必須完成的一個特定操作的硬時限操作的硬時限)的組合。的組合。(2) 價格價格產(chǎn)品最終的成本或者銷售價格也是一個主產(chǎn)品最終的成本或者銷售價格也是一個主要的考慮因素。產(chǎn)品的成本包含兩個主要部要的考慮因素。產(chǎn)品的成本包含兩個主要部分:生產(chǎn)成本,包括購買構(gòu)件以及組裝它們分:生產(chǎn)成本,包括購買構(gòu)件以及組裝它們的花費;不可再生的工程成本的花費;不可再生的工程成本(NRE), 包括包括人力成本以及設計系統(tǒng)的其他花費。

11、人力成本以及設計系統(tǒng)的其他花費。(3) 系統(tǒng)的尺寸和重量系統(tǒng)的尺寸和重量最終產(chǎn)品的物理特性會因為使用的領(lǐng)域不最終產(chǎn)品的物理特性會因為使用的領(lǐng)域不同而大不相同。一臺控制裝配線的工業(yè)控制同而大不相同。一臺控制裝配線的工業(yè)控制系統(tǒng)通常裝配在一個標準尺寸的柜子里,它系統(tǒng)通常裝配在一個標準尺寸的柜子里,它對重量沒有什么約束,但是手持設備對系統(tǒng)對重量沒有什么約束,但是手持設備對系統(tǒng)的尺寸和重量就有很嚴格的限制。的尺寸和重量就有很嚴格的限制。(4) 功耗功耗對于那些靠電池來供電的系統(tǒng)以及其對于那些靠電池來供電的系統(tǒng)以及其他一些電器來說,電源是十分重要的,他一些電器來說,電源是十分重要的,電源問題在需求階段以

12、電池壽命的方式電源問題在需求階段以電池壽命的方式提出。因為顧客通常不能夠以瓦為單位提出。因為顧客通常不能夠以瓦為單位描述允許的功率描述允許的功率。確認這一系列的需求不僅需要理解什么是用戶需確認這一系列的需求不僅需要理解什么是用戶需要的,而且需要理解他們是如何表達這些需求的。要的,而且需要理解他們是如何表達這些需求的。精煉系統(tǒng)需求的好方法,至少是精煉用戶界面部精煉系統(tǒng)需求的好方法,至少是精煉用戶界面部分的方法是建立一個模型。這個模型可以使用已存分的方法是建立一個模型。這個模型可以使用已存數(shù)據(jù)來模擬功能,并且可以在個人電腦或工作站上數(shù)據(jù)來模擬功能,并且可以在個人電腦或工作站上運行。運行。它應該讓用

13、戶了解系統(tǒng)是如何使用的,以及用戶它應該讓用戶了解系統(tǒng)是如何使用的,以及用戶如何和它進行交互。如何和它進行交互。通常,設備的非功能模型可以讓用戶了解系統(tǒng)的通常,設備的非功能模型可以讓用戶了解系統(tǒng)的特性,比如系統(tǒng)的尺寸和重量。特性,比如系統(tǒng)的尺寸和重量。對一個大系統(tǒng)進行需求分析是一項復雜對一個大系統(tǒng)進行需求分析是一項復雜而費時的工作,但是,取得相對少量的格而費時的工作,但是,取得相對少量的格式清晰、簡單的信息是理解系統(tǒng)需求的一式清晰、簡單的信息是理解系統(tǒng)需求的一個好的開始。個好的開始。表表1-2展示了一個需求表格的樣本,這個展示了一個需求表格的樣本,這個表格在某項工程的開始時填寫。在考慮系表格在某

14、項工程的開始時填寫。在考慮系統(tǒng)基本特征時可以將這個表格作為檢查表。統(tǒng)基本特征時可以將這個表格作為檢查表。表格內(nèi)容包括:表格內(nèi)容包括:(1) 名稱名稱這一項十分簡單,但卻十分有用。給該項這一項十分簡單,但卻十分有用。給該項工程取一個名字不僅在和別人討論這個工程工程取一個名字不僅在和別人討論這個工程時更加方便,也可以使設計的目的更加明確。時更加方便,也可以使設計的目的更加明確。(2) 目的目的這一項可以是簡單的一到兩行的關(guān)于系統(tǒng)這一項可以是簡單的一到兩行的關(guān)于系統(tǒng)將要滿足的需求的描述,如果你不能用一兩將要滿足的需求的描述,如果你不能用一兩句話來描述你所設計的系統(tǒng)的主要特性的話,句話來描述你所設計的

15、系統(tǒng)的主要特性的話,說明你還不是十分了解它。說明你還不是十分了解它。(3) 輸入和輸出輸入和輸出這兩項內(nèi)容比較復雜,對系統(tǒng)的輸入和輸這兩項內(nèi)容比較復雜,對系統(tǒng)的輸入和輸出包含了大量細節(jié):出包含了大量細節(jié): 數(shù)據(jù)類型:模擬電信號?數(shù)字數(shù)據(jù)?機械數(shù)據(jù)類型:模擬電信號?數(shù)字數(shù)據(jù)?機械輸入?輸入? 數(shù)據(jù)特性:周期性到達的數(shù)據(jù),比如數(shù)字數(shù)據(jù)特性:周期性到達的數(shù)據(jù),比如數(shù)字音頻信號音頻信號?或者是用戶的輸入或者是用戶的輸入?每個數(shù)據(jù)元素每個數(shù)據(jù)元素多少位多少位? 輸入輸出設備的類型:按鍵輸入輸出設備的類型:按鍵?模數(shù)轉(zhuǎn)模數(shù)轉(zhuǎn)換器換器?視頻顯示器?視頻顯示器?(4) 功能功能這一項是關(guān)于系統(tǒng)所做的工作的這一

16、項是關(guān)于系統(tǒng)所做的工作的更加詳細的描述。從輸入到輸出進更加詳細的描述。從輸入到輸出進行分析是提出功能的一種好方法:行分析是提出功能的一種好方法:當系統(tǒng)接收到輸入時,它執(zhí)行哪些當系統(tǒng)接收到輸入時,它執(zhí)行哪些動作動作?用戶通過界面輸入的數(shù)據(jù)如何用戶通過界面輸入的數(shù)據(jù)如何對該功能產(chǎn)生影響對該功能產(chǎn)生影響?不同功能之間是不同功能之間是如何相互作用的?如何相互作用的?(5) 性能性能許多嵌入式系統(tǒng)都要花費一定的許多嵌入式系統(tǒng)都要花費一定的時間來控制物理設備,或是處理從時間來控制物理設備,或是處理從外界輸入的數(shù)據(jù)。外界輸入的數(shù)據(jù)。在大部分情況下,這些計算必須在大部分情況下,這些計算必須在一定的時間內(nèi)處理完

17、,對性能的在一定的時間內(nèi)處理完,對性能的要求必須盡早地明確,因為這些要要求必須盡早地明確,因為這些要求在執(zhí)行過程中得認真加以考慮,求在執(zhí)行過程中得認真加以考慮,以便隨時檢查我們的系統(tǒng)是否達到以便隨時檢查我們的系統(tǒng)是否達到了這些要求。了這些要求。(6) 生產(chǎn)成本生產(chǎn)成本這中間主要包含了硬件構(gòu)件的花費。這中間主要包含了硬件構(gòu)件的花費。如果你不能確定將要花費在硬件構(gòu)件上如果你不能確定將要花費在硬件構(gòu)件上的費用的確切數(shù)目,那么你起碼得對最的費用的確切數(shù)目,那么你起碼得對最終產(chǎn)品的價格有一個粗略的了解。終產(chǎn)品的價格有一個粗略的了解。因為價格最終影響了系統(tǒng)的體系結(jié)構(gòu):因為價格最終影響了系統(tǒng)的體系結(jié)構(gòu):一臺

18、將要以一臺將要以10美元出售的設備的內(nèi)部結(jié)美元出售的設備的內(nèi)部結(jié)構(gòu)和一臺打算以構(gòu)和一臺打算以100美元出售的機器的美元出售的機器的內(nèi)部結(jié)構(gòu)肯定是不同的。內(nèi)部結(jié)構(gòu)肯定是不同的。(7) 功耗功耗對系統(tǒng)的功耗你可能只有一個粗略的了解。對系統(tǒng)的功耗你可能只有一個粗略的了解。但是,沒有關(guān)于這方面的信息是不行的。通但是,沒有關(guān)于這方面的信息是不行的。通常,決定系統(tǒng)是靠電池供電還是通過墻上的常,決定系統(tǒng)是靠電池供電還是通過墻上的插座供電是系統(tǒng)設計過程中的一個重大決定。插座供電是系統(tǒng)設計過程中的一個重大決定。靠電池供電的系統(tǒng)必須認真地對功耗問題進靠電池供電的系統(tǒng)必須認真地對功耗問題進行考慮。行考慮。(8) 物

19、理尺寸和重量物理尺寸和重量對系統(tǒng)的物理尺寸和重量有一定的了解有對系統(tǒng)的物理尺寸和重量有一定的了解有助于對系統(tǒng)體系結(jié)構(gòu)的設計。一臺臺式機在助于對系統(tǒng)體系結(jié)構(gòu)的設計。一臺臺式機在對構(gòu)件的選擇上比那些佩帶式錄音機要寬松對構(gòu)件的選擇上比那些佩帶式錄音機要寬松得多。得多。對一個大系統(tǒng)進行更加深入的需求分對一個大系統(tǒng)進行更加深入的需求分析可以使用與表析可以使用與表1-2類似的表格作為更長類似的表格作為更長的需求文檔的總結(jié)。的需求文檔的總結(jié)。在介紹完關(guān)于這個表格的章節(jié)之后,在介紹完關(guān)于這個表格的章節(jié)之后,更長的需求文檔包括上面提到的每一項更長的需求文檔包括上面提到的每一項的細節(jié)。的細節(jié)。例如,前面用一句話描

20、述的每個單個例如,前面用一句話描述的每個單個的特征可能在規(guī)格說明中被詳細描述為的特征可能在規(guī)格說明中被詳細描述為一節(jié)。一節(jié)。 在寫完需求分析以后,你應該對它在寫完需求分析以后,你應該對它們的內(nèi)部一致性進行檢查:們的內(nèi)部一致性進行檢查:是否忘記了給某個功能指定輸入或是否忘記了給某個功能指定輸入或輸出輸出?是否考慮了系統(tǒng)運行的所有方式是否考慮了系統(tǒng)運行的所有方式?是否把一些不切實際的要求放到了是否把一些不切實際的要求放到了一個電池供電、低成本的機器中了一個電池供電、低成本的機器中了?示例示例1.1 GPS移動地圖的需求分析,移動地圖的需求分析,移動地圖是一種手持設備,該設備為用移動地圖是一種手持設

21、備,該設備為用戶顯示他當前所處位置周圍的地形的一戶顯示他當前所處位置周圍的地形的一張地圖;地圖的內(nèi)容隨著用戶以及該設張地圖;地圖的內(nèi)容隨著用戶以及該設備所處的位置的改變而改變。備所處的位置的改變而改變。移動地圖從移動地圖從GPS上得到其位置信息,上得到其位置信息,GPS是一個衛(wèi)星導航系統(tǒng)。是一個衛(wèi)星導航系統(tǒng)。移動地圖的顯示移動地圖的顯示如圖如圖1-4所示所示。針對針對GPS移動地圖我們有什移動地圖我們有什么需求么需求?下面是一些最初的清單:下面是一些最初的清單:1.功能性功能性 本系統(tǒng)主要針對高速公路上開車的用戶或類本系統(tǒng)主要針對高速公路上開車的用戶或類似用戶,而不是需要使用更專用的數(shù)據(jù)庫和功

22、能的航似用戶,而不是需要使用更專用的數(shù)據(jù)庫和功能的航?;蚝娇杖藛T。系統(tǒng)應展示可在標準地形圖數(shù)據(jù)庫中?;蚝娇杖藛T。系統(tǒng)應展示可在標準地形圖數(shù)據(jù)庫中得到的主要道路和其他陸地標志。得到的主要道路和其他陸地標志。2.用戶界面用戶界面 屏幕至少應該有屏幕至少應該有400600像素分辨率。像素分辨率。該設備的控制按鈕不應多于三個。按下按鈕時菜單系該設備的控制按鈕不應多于三個。按下按鈕時菜單系統(tǒng)應在屏幕上彈出,允許用戶系統(tǒng)控制做出選擇。統(tǒng)應在屏幕上彈出,允許用戶系統(tǒng)控制做出選擇。3.性能性能 地圖應該平滑滾動。加電后,顯示在地圖應該平滑滾動。加電后,顯示在1秒鐘內(nèi)秒鐘內(nèi)出現(xiàn),系統(tǒng)應可以核查其位置并在出現(xiàn),系

23、統(tǒng)應可以核查其位置并在15秒內(nèi)顯示當前地秒內(nèi)顯示當前地圖。圖。(4)成本成本 單個設備售價單個設備售價(零售價零售價)不高于不高于500美元。美元。(5)設備物理尺寸和重量應非常適于放在手掌中。設備物理尺寸和重量應非常適于放在手掌中。(6)功耗功耗 四節(jié)四節(jié)AA電池至少可以連續(xù)運行電池至少可以連續(xù)運行8小時。小時。注意注意:上述許多需求并不是按工程單位規(guī)定的,:上述許多需求并不是按工程單位規(guī)定的,例如,物理尺寸是相對于手而不是用厘米標出例如,物理尺寸是相對于手而不是用厘米標出的。雖然這些需求必須最終轉(zhuǎn)換成可以被設計的。雖然這些需求必須最終轉(zhuǎn)換成可以被設計者使用的某種東西,但是保持某種顧客想要的

24、者使用的某種東西,但是保持某種顧客想要的記錄將有助于解決設計期間后期出現(xiàn)的有關(guān)規(guī)記錄將有助于解決設計期間后期出現(xiàn)的有關(guān)規(guī)格說明的問題。格說明的問題。名稱名稱CPS移動地圖移動地圖 目的目的為駕駛者提供的用戶級移動地圖為駕駛者提供的用戶級移動地圖 輸入輸入一個電源按鈕,兩個控制按鈕一個電源按鈕,兩個控制按鈕輸出輸出逆光逆光LCD,顯示,顯示400600像素分辨率像素分辨率 功能功能使用使用5種接收器的種接收器的GPS系統(tǒng);三種用戶系統(tǒng);三種用戶可選的分辨率總是顯示當前的經(jīng)緯度可選的分辨率總是顯示當前的經(jīng)緯度 性能性能0.25s內(nèi)即可更新一次屏幕內(nèi)即可更新一次屏幕 生產(chǎn)成本生產(chǎn)成本100美元美元

25、功耗功耗100mW物理尺寸和重量物理尺寸和重量不大于不大于216m2,12盎司(約盎司(約340g) 表表1-3加上了設計人員所要使用的加上了設計人員所要使用的某些用工程術(shù)語表述的需求。某些用工程術(shù)語表述的需求。例如例如,它提供了設備的實際尺寸。它提供了設備的實際尺寸。生產(chǎn)成本與銷售價格有關(guān),通過生產(chǎn)成本與銷售價格有關(guān),通過使用簡單的經(jīng)驗法則可以得到:銷使用簡單的經(jīng)驗法則可以得到:銷售價售價45倍于所售商品的成本倍于所售商品的成本(所有所有構(gòu)件的成本之和構(gòu)件的成本之和)。規(guī)格說明更精確一些,它起到客規(guī)格說明更精確一些,它起到客戶和生產(chǎn)者之間的合同的作用。戶和生產(chǎn)者之間的合同的作用。正因為如此,

26、規(guī)格說明必須小心正因為如此,規(guī)格說明必須小心編寫,以便精確地反映客戶的需求編寫,以便精確地反映客戶的需求并且作為設計時必須明確遵循的要并且作為設計時必須明確遵循的要求。求。規(guī)格說明應該足夠明晰,以便別人可以驗規(guī)格說明應該足夠明晰,以便別人可以驗證它是否符合系統(tǒng)需求并且完全滿足客戶的期證它是否符合系統(tǒng)需求并且完全滿足客戶的期望。它亦不能有歧義,設計者應知道什么是他望。它亦不能有歧義,設計者應知道什么是他們需要構(gòu)造的。們需要構(gòu)造的。設計者可能碰到各種不同類型的由于不明設計者可能碰到各種不同類型的由于不明確的規(guī)格說明而導致的問題。確的規(guī)格說明而導致的問題。如果在某個特定的狀況下的如果在某個特定的狀況

27、下的某些特性某些特性的行的行為在規(guī)格說明中不明確,那么設計者可能實現(xiàn)為在規(guī)格說明中不明確,那么設計者可能實現(xiàn)錯誤的功能。錯誤的功能。如果規(guī)格說明的如果規(guī)格說明的全局特征全局特征是錯的或者是不是錯的或者是不完整的,那么由該規(guī)格說明建造的整個系統(tǒng)體完整的,那么由該規(guī)格說明建造的整個系統(tǒng)體系結(jié)構(gòu)可能就不符合實現(xiàn)的要求系結(jié)構(gòu)可能就不符合實現(xiàn)的要求從從GPS衛(wèi)星接收到的數(shù)據(jù)。衛(wèi)星接收到的數(shù)據(jù)。地圖數(shù)據(jù)。地圖數(shù)據(jù)。 用戶界面。用戶界面。必須執(zhí)行的滿足客戶需求的操作。必須執(zhí)行的滿足客戶需求的操作。保持系統(tǒng)運行所需的后備動作,如操縱保持系統(tǒng)運行所需的后備動作,如操縱GPS接收機。接收機。為了理解體系結(jié)構(gòu)描述是

28、什么,讓我們來為了理解體系結(jié)構(gòu)描述是什么,讓我們來看一下示例看一下示例1.1的移動地圖樣例的體系結(jié)構(gòu)。的移動地圖樣例的體系結(jié)構(gòu)。圖圖1-5以框圖形式展示了樣例系統(tǒng)體系結(jié)構(gòu)以框圖形式展示了樣例系統(tǒng)體系結(jié)構(gòu),這些框圖展示了它的主要操作和其間的數(shù)據(jù)流這些框圖展示了它的主要操作和其間的數(shù)據(jù)流.框圖仍很抽象,還沒有規(guī)定運行在框圖仍很抽象,還沒有規(guī)定運行在CPU上上的軟件執(zhí)行什么操作,專用硬件完成什么等等的軟件執(zhí)行什么操作,專用硬件完成什么等等.不過不過,為描述如何實現(xiàn)在規(guī)格說明中規(guī)定的功能為描述如何實現(xiàn)在規(guī)格說明中規(guī)定的功能框圖還要做許多事情??驁D還要做許多事情。例如,可以清楚地看到需要搜索地形圖數(shù)例如

29、,可以清楚地看到需要搜索地形圖數(shù)據(jù)庫、繪制顯示的結(jié)果。我們已經(jīng)選擇分離那據(jù)庫、繪制顯示的結(jié)果。我們已經(jīng)選擇分離那些功能以便可能并行地完成這些工作,比如從些功能以便可能并行地完成這些工作,比如從搜索數(shù)據(jù)庫分離出繪制功能可以有助于更平滑搜索數(shù)據(jù)庫分離出繪制功能可以有助于更平滑地更新屏幕。地更新屏幕。 只有在設計了一個并未偏向于太多實現(xiàn)細節(jié)的只有在設計了一個并未偏向于太多實現(xiàn)細節(jié)的初始體系結(jié)構(gòu)之后,才可能把系統(tǒng)框圖細分成初始體系結(jié)構(gòu)之后,才可能把系統(tǒng)框圖細分成兩部兩部分框圖分框圖:一部分針對硬件,另一部分針對軟件。這:一部分針對硬件,另一部分針對軟件。這兩部分細化過的框圖兩部分細化過的框圖如圖如圖1

30、-6所示。所示。硬件框圖清楚地展示了有一個硬件框圖清楚地展示了有一個CPU,周圍有存,周圍有存儲器和儲器和I/O設備。尤其是,我們已選擇使用兩種存儲設備。尤其是,我們已選擇使用兩種存儲器:一種是針對像素顯示的幀緩沖器,另一種是器:一種是針對像素顯示的幀緩沖器,另一種是CPU使用的通用程序數(shù)據(jù)存儲器。使用的通用程序數(shù)據(jù)存儲器。軟件框圖基本上與系統(tǒng)框圖一致,但是增加了軟件框圖基本上與系統(tǒng)框圖一致,但是增加了一個計時器,控制何時讀取用戶界面上的按鈕,并一個計時器,控制何時讀取用戶界面上的按鈕,并在屏幕上繪制數(shù)據(jù)。為了得到一個真正完整的體系在屏幕上繪制數(shù)據(jù)。為了得到一個真正完整的體系結(jié)構(gòu)描述,我們需要

31、更多細節(jié),比如軟件框圖中的結(jié)構(gòu)描述,我們需要更多細節(jié),比如軟件框圖中的單元在硬件框圖的什么地方執(zhí)行,何時操作準時執(zhí)單元在硬件框圖的什么地方執(zhí)行,何時操作準時執(zhí)行等。行等。 體系結(jié)構(gòu)描述必須同時滿足功能上和體系結(jié)構(gòu)描述必須同時滿足功能上和非功能上的需求。不僅所需求的功能要體非功能上的需求。不僅所需求的功能要體現(xiàn),而且必須符合成本、速度、功率和其現(xiàn),而且必須符合成本、速度、功率和其他非功能上的約束。他非功能上的約束。先從系統(tǒng)體系結(jié)構(gòu)開始,逐步把這一先從系統(tǒng)體系結(jié)構(gòu)開始,逐步把這一結(jié)構(gòu)細化為硬件和軟件體系結(jié)構(gòu)是確保系結(jié)構(gòu)細化為硬件和軟件體系結(jié)構(gòu)是確保系統(tǒng)符合所有規(guī)格說明的一種好方法統(tǒng)符合所有規(guī)格說明

32、的一種好方法首先集中考慮系統(tǒng)框圖中的功能元素。首先集中考慮系統(tǒng)框圖中的功能元素。然后在建造硬件和軟件體系結(jié)構(gòu)時考然后在建造硬件和軟件體系結(jié)構(gòu)時考慮非功能約束。慮非功能約束。如何知道硬件和軟件體系結(jié)構(gòu)實際上符合如何知道硬件和軟件體系結(jié)構(gòu)實際上符合速度、成本等方面的限制呢速度、成本等方面的限制呢?必須有某種方式估算框圖中的構(gòu)件,如移必須有某種方式估算框圖中的構(gòu)件,如移動地圖系統(tǒng)中的搜索和繪制功能的特性。動地圖系統(tǒng)中的搜索和繪制功能的特性。精確估算源于經(jīng)驗,既有一般的設計經(jīng)驗精確估算源于經(jīng)驗,既有一般的設計經(jīng)驗也有類似系統(tǒng)的特定經(jīng)驗。也有類似系統(tǒng)的特定經(jīng)驗。不過,有時建造一個簡化的模型有助于做不過,

33、有時建造一個簡化的模型有助于做出更精確的估算。在體系結(jié)構(gòu)建造階段所有非出更精確的估算。在體系結(jié)構(gòu)建造階段所有非功能約束的合理估算是至關(guān)重要的,因為基于功能約束的合理估算是至關(guān)重要的,因為基于有問題的數(shù)據(jù)的決策在設計的最后階段會顯現(xiàn)有問題的數(shù)據(jù)的決策在設計的最后階段會顯現(xiàn)出來,表明我們的設計實際上不符合規(guī)格說明。出來,表明我們的設計實際上不符合規(guī)格說明。 體系結(jié)構(gòu)描述告訴我們需要什么樣的構(gòu)件。構(gòu)件設體系結(jié)構(gòu)描述告訴我們需要什么樣的構(gòu)件。構(gòu)件設計使得構(gòu)件與體系結(jié)構(gòu)和規(guī)格說明一致。計使得構(gòu)件與體系結(jié)構(gòu)和規(guī)格說明一致。構(gòu)件通常既包括硬件構(gòu)件通常既包括硬件現(xiàn)場可編程門陣列現(xiàn)場可編程門陣列(FPGA) 電

34、路板等等,還包括軟件模塊。電路板等等,還包括軟件模塊。一些構(gòu)件是現(xiàn)成的,例如一些構(gòu)件是現(xiàn)成的,例如CPU在任何情況下都是一在任何情況下都是一個標準構(gòu)件,同樣的還有存儲器芯片和很多其他構(gòu)件。個標準構(gòu)件,同樣的還有存儲器芯片和很多其他構(gòu)件。在移動地圖中,在移動地圖中,GPS接收器雖然是預先設計的標準構(gòu)接收器雖然是預先設計的標準構(gòu)件。利用標準軟件模塊,訪問標準地形數(shù)據(jù)庫。這些件。利用標準軟件模塊,訪問標準地形數(shù)據(jù)庫。這些數(shù)據(jù)庫的數(shù)據(jù)不僅使用預定義的格式,而且被高度地數(shù)據(jù)庫的數(shù)據(jù)不僅使用預定義的格式,而且被高度地壓縮以節(jié)省存儲空間。在這些訪問函數(shù)中使用標準軟壓縮以節(jié)省存儲空間。在這些訪問函數(shù)中使用標準

35、軟件不僅節(jié)約設計時間,也較快地實現(xiàn)像數(shù)據(jù)解壓縮這件不僅節(jié)約設計時間,也較快地實現(xiàn)像數(shù)據(jù)解壓縮這樣的專用函數(shù)。樣的專用函數(shù)。 但是,我們必須自己設計一些構(gòu)件,即使但是,我們必須自己設計一些構(gòu)件,即使使用標準集成電路,也必須設計連接它們的使用標準集成電路,也必須設計連接它們的印刷線路板。印刷線路板。同時,很有可能要做大量定制編程。當然同時,很有可能要做大量定制編程。當然,建立嵌入式軟件模塊時,你必須用你的專業(yè)建立嵌入式軟件模塊時,你必須用你的專業(yè)技能確保系統(tǒng)實時性良好并且在允許的范圍技能確保系統(tǒng)實時性良好并且在允許的范圍內(nèi)不占用更多的存儲空間。內(nèi)不占用更多的存儲空間。移動地圖軟件例子中的電能消耗特

36、別重要,移動地圖軟件例子中的電能消耗特別重要,你可能要非常小心地讀寫存儲器以減小功耗,你可能要非常小心地讀寫存儲器以減小功耗,例如,由于存儲器訪問是主要的功耗來源,例如,由于存儲器訪問是主要的功耗來源,存儲器事務必須精心安排以避免多次讀取同存儲器事務必須精心安排以避免多次讀取同樣的數(shù)據(jù)。樣的數(shù)據(jù)。只有建立構(gòu)件后才能將它們合并得到一個只有建立構(gòu)件后才能將它們合并得到一個能運轉(zhuǎn)的系統(tǒng),當然這個階段不僅僅是把所有能運轉(zhuǎn)的系統(tǒng),當然這個階段不僅僅是把所有的東西插在一起。在系統(tǒng)集成中通??梢园l(fā)現(xiàn)的東西插在一起。在系統(tǒng)集成中通??梢园l(fā)現(xiàn)錯誤,而好的計劃能幫助我們快速找到這些錯錯誤,而好的計劃能幫助我們快速

37、找到這些錯誤。誤。按階段架構(gòu)系統(tǒng)并且正確運行選好的測試,按階段架構(gòu)系統(tǒng)并且正確運行選好的測試,經(jīng)常能更容易地找到這些錯誤。如果每次只對經(jīng)常能更容易地找到這些錯誤。如果每次只對一部分模塊排錯,很可能更容易發(fā)現(xiàn)和識別簡一部分模塊排錯,很可能更容易發(fā)現(xiàn)和識別簡單的錯誤。只有在早期修正這些簡單的錯誤,單的錯誤。只有在早期修正這些簡單的錯誤,才能發(fā)現(xiàn)那些只有在系統(tǒng)高負荷時才能確定的、才能發(fā)現(xiàn)那些只有在系統(tǒng)高負荷時才能確定的、比較復雜或是含混的錯誤。比較復雜或是含混的錯誤。我們必須確保在體系結(jié)構(gòu)和各構(gòu)件我們必須確保在體系結(jié)構(gòu)和各構(gòu)件設計階段盡可能容易地按階段組裝系統(tǒng)設計階段盡可能容易地按階段組裝系統(tǒng)和相對獨立地測試系統(tǒng)功能。和相對獨立地測試系統(tǒng)功能。因為嵌入式系統(tǒng)使用的調(diào)試工具比因為嵌入式系統(tǒng)使用的調(diào)試工具比在桌面系統(tǒng)中可找到的工具有限得多,在桌面系統(tǒng)中可找到的工具有限得多,因此,要在系統(tǒng)集成時發(fā)現(xiàn)問題,需要因此,要在系統(tǒng)集成時發(fā)現(xiàn)問題,需要詳細地觀察系統(tǒng)以準確確定錯誤。詳細地觀察系統(tǒng)以準確確定錯誤。 嵌

溫馨提示

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

評論

0/150

提交評論