嵌入式軟件設(shè)計(jì)洗衣機(jī)程序需求分析與詳細(xì)設(shè)計(jì)_第1頁(yè)
嵌入式軟件設(shè)計(jì)洗衣機(jī)程序需求分析與詳細(xì)設(shè)計(jì)_第2頁(yè)
嵌入式軟件設(shè)計(jì)洗衣機(jī)程序需求分析與詳細(xì)設(shè)計(jì)_第3頁(yè)
嵌入式軟件設(shè)計(jì)洗衣機(jī)程序需求分析與詳細(xì)設(shè)計(jì)_第4頁(yè)
嵌入式軟件設(shè)計(jì)洗衣機(jī)程序需求分析與詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于DARTS的洗衣機(jī)控制軟件設(shè)計(jì) 1.洗衣機(jī)控制軟件需求分析與說(shuō)明洗衣機(jī)是日常家用電器,它是人們?nèi)粘J褂妙l率較高的家用電器,有全自動(dòng)、半自動(dòng)等不同類型。根據(jù)題目中提出的需求概述,結(jié)合日常生活中人們的使用習(xí)慣,在這里給出其功能需求和相應(yīng)的非功能需求以及相應(yīng)的外部接口等的定義和描述。1)功能需求定義和描述(1) 默認(rèn)狀態(tài)下洗衣機(jī)處于關(guān)閉狀態(tài)。用戶按下電源開關(guān)后,洗衣機(jī)上電工作;當(dāng)洗衣機(jī)處于工作狀態(tài)時(shí),用戶按下電源開關(guān)后,無(wú)論洗衣機(jī)處于何種運(yùn)行狀態(tài)均斷電、停止工作;(2) 電源開關(guān)開啟后,洗衣機(jī)默認(rèn)的程序功能是洗衣、漂洗、脫水,默認(rèn)水位時(shí)中等水位,運(yùn)行狀態(tài)是等待狀態(tài);(3) 洗衣機(jī)有運(yùn)行狀態(tài)和等待

2、狀態(tài);當(dāng)用戶按下暫停啟動(dòng)開關(guān)后,若洗衣機(jī)原來(lái)處于等待狀態(tài),則轉(zhuǎn)入運(yùn)行狀態(tài),執(zhí)行等待狀態(tài)時(shí)的程序執(zhí)行狀態(tài);若洗衣機(jī)處于運(yùn)行狀態(tài),則轉(zhuǎn)入等待狀態(tài),并保存程序的執(zhí)行狀態(tài);(4) 當(dāng)洗衣機(jī)處于運(yùn)行狀態(tài)時(shí),用戶的程序控制,即洗衣、漂洗、脫水按鍵和水位按鍵的輸入無(wú)效;只有當(dāng)洗衣機(jī)處于等待狀態(tài)時(shí)其輸入才有效;(5) 程序控制的洗衣、漂洗、脫水這三個(gè)鍵可以按下一個(gè)、兩個(gè)或者三個(gè),洗衣機(jī)總是按洗衣->漂洗->脫水的順序執(zhí)行程序并且只執(zhí)行用戶選擇的程序;(6) 水位按鍵每次只能選擇高、中、低三種水位的一個(gè)值;(7) 洗衣機(jī)顯示面板顯示洗衣機(jī)的電源狀態(tài)、暫停啟動(dòng)狀態(tài)、當(dāng)前執(zhí)行的程序以及即將執(zhí)行的程序和水

3、位狀態(tài),并且能根據(jù)用戶輸入以后及時(shí)改變顯示信息。2)非功能需求定義和描述(1) 洗衣機(jī)開關(guān)機(jī)的響應(yīng)時(shí)間控制在500ms以內(nèi);(2) 洗衣機(jī)在運(yùn)行狀態(tài)和等待狀態(tài)之間的才換控制在800ms以內(nèi);(3) 洗衣機(jī)功能和水位的輸入控制在600ms以內(nèi);(4) 洗衣機(jī)顯示面板的響應(yīng)控制在1200ms以內(nèi);(5) 這里假設(shè)洗衣機(jī)洗衣用600s的時(shí)間,漂洗用300s的時(shí)間,脫水用100s的時(shí)間。3)外部接口描述電源暫停/啟動(dòng)漂洗甩干高水位中水位低水位洗滌外部接口描述如下所述:共有八個(gè)按鈕,分為四組,分別是電源、暫停/啟動(dòng)、程序控制和水位。按鈕旁邊的指示燈顯示每個(gè)按鈕對(duì)應(yīng)的狀態(tài):電源指示燈亮表示電源打開,暗則表

4、示關(guān)閉;暫停/啟動(dòng)按鈕亮表示正在運(yùn)行,暗表示處于暫停狀態(tài);程序控制按鈕亮表示正在執(zhí)行或者將要執(zhí)行,暗則表示不能執(zhí)行;水位按鈕亮表示當(dāng)前處于某個(gè)水位。4)系統(tǒng)狀態(tài)變遷圖斷電態(tài)通電等待態(tài)通電執(zhí)行態(tài)電源打開電源關(guān)閉程序水位控制啟動(dòng)暫停電源關(guān)閉2.洗衣機(jī)控制軟件系統(tǒng)設(shè)計(jì)以及數(shù)據(jù)流分析根據(jù)以上所提出的需求,相應(yīng)的數(shù)據(jù)流圖如下所示:讀取按鍵輸入按下按鍵按鍵有效性檢查按鍵輸入按鍵輸入處理按鍵有效無(wú)效處理按鍵無(wú)效洗衣機(jī)狀態(tài)信息查看程序狀態(tài)狀態(tài)信息按鍵狀態(tài)轉(zhuǎn)換狀態(tài)信息有效按鍵輸入定時(shí)20個(gè)時(shí)鐘中斷觸發(fā)信息狀態(tài)判斷器輸入信息定時(shí)10個(gè)時(shí)鐘中斷面板輸出觸發(fā)信息狀態(tài)信息改變顯示管狀態(tài)信息解釋程序信息狀態(tài)變化信息發(fā)動(dòng)機(jī)

5、機(jī)械、電信號(hào)信號(hào)響應(yīng)動(dòng)作輸出定時(shí)15個(gè)時(shí)鐘中斷觸發(fā)信息洗衣機(jī)狀態(tài)、指令集指令信息說(shuō)明:(1)洗衣機(jī)程序狀態(tài)信息是一組數(shù)據(jù),包含四個(gè)項(xiàng):電源狀態(tài)、運(yùn)行情況、程序狀態(tài)和水位信息,與輸入面板的相對(duì)應(yīng);(2)時(shí)鐘中斷的時(shí)間間隔是20ms,通過(guò)具有一定頻率的時(shí)鐘中斷來(lái)查看當(dāng)前洗衣機(jī)程序執(zhí)行的執(zhí)行情況、按鍵輸入和面板輸出,以提高效率、降低復(fù)雜性。(3)洗衣機(jī)狀態(tài)、指令集是洗衣機(jī)在裝變?yōu)橄鄳?yīng)狀態(tài)的時(shí)候所需要運(yùn)行的指令等,這些設(shè)局存儲(chǔ)在快速讀寫存儲(chǔ)器之中,讀取這些數(shù)據(jù)的時(shí)間非???,在100ms的量級(jí)。3.洗衣機(jī)控制軟件任務(wù)劃分以及任務(wù)模塊設(shè)計(jì)1)洗衣機(jī)控制軟件任務(wù)劃分根據(jù)設(shè)計(jì)的數(shù)據(jù)流圖,洗衣機(jī)程序的任務(wù)劃分如

6、下圖所示(在數(shù)據(jù)流圖中被劃入相同的任務(wù)的數(shù)據(jù)處理過(guò)程用相同顏色的虛線方框來(lái)表示):讀取按鍵輸入按下按鍵按鍵有效性檢查按鍵輸入按鍵輸入處理按鍵有效無(wú)效處理按鍵無(wú)效洗衣機(jī)狀態(tài)信息查看程序狀態(tài)狀態(tài)信息按鍵狀態(tài)轉(zhuǎn)換狀態(tài)信息有效按鍵輸入定時(shí)20個(gè)時(shí)鐘中斷觸發(fā)信息狀態(tài)判斷器輸入信息定時(shí)10個(gè)時(shí)鐘中斷面板輸出觸發(fā)信息狀態(tài)信息改變顯示管狀態(tài)信息解釋程序信息狀態(tài)變化信息發(fā)動(dòng)機(jī)機(jī)械、電信號(hào)信號(hào)響應(yīng)動(dòng)作輸出定時(shí)15個(gè)時(shí)鐘中斷觸發(fā)信息洗衣機(jī)狀態(tài)、指令集指令信息進(jìn)行以上任務(wù)劃分的理由:在DARTS設(shè)計(jì)方法中,劃分任務(wù)的原則包括以下幾種:I/O依賴性、功能的時(shí)間關(guān)鍵性、計(jì)算需求、功能內(nèi)聚、時(shí)間內(nèi)聚和周期執(zhí)行,正是根據(jù)以上

7、原則進(jìn)行整體考慮得到以上的功能劃分。(1)按鍵輸入任務(wù):功能內(nèi)聚原則;(2)中斷定時(shí)任務(wù):周期執(zhí)行原則;(3)洗衣機(jī)狀態(tài)信息處理任務(wù):計(jì)算需求和功能內(nèi)聚原則;(4)信號(hào)輸出任務(wù):I/O依賴性原則。另外,為了提高效率,將數(shù)據(jù)流圖中的洗衣機(jī)狀態(tài)信息和洗衣機(jī)狀態(tài)指令集整合在一起作為洗衣機(jī)程序的信息存儲(chǔ),以便各個(gè)任務(wù)的訪問(wèn)能夠有一個(gè)統(tǒng)一的入口。2)洗衣機(jī)控制軟件任務(wù)接口洗衣機(jī)信息存儲(chǔ)按鍵輸入任務(wù)信號(hào)輸出任務(wù)狀態(tài)信息處理任務(wù)中斷定時(shí)任務(wù)觸發(fā)信息觸發(fā)信息按鍵輸入消息隊(duì)列存儲(chǔ)信息消息隊(duì)列存儲(chǔ)信息消息隊(duì)列修改存儲(chǔ)信號(hào)面板、動(dòng)作輸出按鍵輸入3)任務(wù)模塊設(shè)計(jì)(1)按鍵輸入任務(wù)按鍵輸入任務(wù)的主要功能是在面板上的按鍵

8、按下以后,得到正確的按鍵信息傳遞給狀態(tài)信息任務(wù)對(duì)按鍵信息進(jìn)行處理。這里的正確信息是指每次只能有同一種類的按鍵信息按下,比如不能同時(shí)按下暫停啟動(dòng)鍵和洗衣程序任務(wù)鍵或者洗衣程序任務(wù)鍵和水位鍵等。而且需要將按鍵的電信號(hào)轉(zhuǎn)換成可以識(shí)別的程序信號(hào)傳遞下去。按鍵輸入任務(wù)的數(shù)據(jù)流圖如下所示:讀取按鍵按鍵輸入提取按鍵信息錯(cuò)誤信息處理按鍵信息轉(zhuǎn)換按鍵信息傳遞不同類型按鍵相同類型按鍵傳遞給狀態(tài)信息任務(wù)處理忽略按鍵信息按鍵類型判斷按鍵輸入的模塊結(jié)構(gòu)圖如下所示:讀取按鍵按鍵信息提取、判斷錯(cuò)誤信息處理正確信息傳遞(2)狀態(tài)信息處理任務(wù)狀態(tài)信息處理任務(wù)的主要功能是(1)每隔一段時(shí)間,把得到的按鍵輸入轉(zhuǎn)換成為相應(yīng)的狀態(tài)信息

9、,根據(jù)得到的按鍵輸入和當(dāng)前的運(yùn)行信息進(jìn)行比較得到一個(gè)正確的運(yùn)行信息寫入信息存儲(chǔ)器;(2)每隔一段時(shí)間,將運(yùn)行信息傳遞給信號(hào)輸出單元執(zhí)行要運(yùn)行的程序。狀態(tài)信息處理的數(shù)據(jù)流圖如下所示:定時(shí)信號(hào)得到按鍵信息是得到運(yùn)行狀態(tài)信息按鍵信息洗衣機(jī)信息存儲(chǔ)運(yùn)行信息按鍵信息與運(yùn)行信息判斷是否有按鍵是按鍵是否與運(yùn)行信息矛盾否寫入運(yùn)行信息運(yùn)行信息發(fā)送狀態(tài)變化信息狀態(tài)變化信息定時(shí)信號(hào)得到運(yùn)行狀態(tài)信息否運(yùn)行信息判斷信息是否應(yīng)該改變否是不予相應(yīng),空操作更改的運(yùn)行信息狀態(tài)信息處理的模塊結(jié)構(gòu)如下所示:獲取按鍵信息狀態(tài)判斷運(yùn)行信息更改動(dòng)作信號(hào)傳遞查看運(yùn)行信息(3)中斷定時(shí)任務(wù)中斷定時(shí)任務(wù)的主要功能是為程序的執(zhí)行提供時(shí)間控制,狀

10、態(tài)信息處理和信號(hào)輸出均需要中斷定時(shí)任務(wù)的控制。中斷定時(shí)任務(wù)為每一個(gè)需要的任務(wù)設(shè)置定時(shí)器,如果定時(shí)器時(shí)間到達(dá)就發(fā)送觸發(fā)信息,并重置相應(yīng)的中斷定時(shí)器。中斷定時(shí)任務(wù)的數(shù)據(jù)流圖如下:判斷20個(gè)定時(shí)時(shí)間是否到是重設(shè)20個(gè)定時(shí)時(shí)間,發(fā)送處罰信息否定時(shí)器重置信號(hào)設(shè)置定時(shí)器定時(shí)器是指減1定時(shí)器設(shè)置信號(hào)觸發(fā)信息判斷15個(gè)定時(shí)時(shí)間是否到時(shí)鐘中斷是重設(shè)15個(gè)定時(shí)時(shí)間,發(fā)送處罰信息否定時(shí)器重置信號(hào)設(shè)置定時(shí)器定時(shí)器是指減1定時(shí)器設(shè)置信號(hào)觸發(fā)信息判斷10個(gè)定時(shí)時(shí)間是否到是重設(shè)10個(gè)定時(shí)時(shí)間,發(fā)送處罰信息否定時(shí)器重置信號(hào)設(shè)置定時(shí)器定時(shí)器是指減1定時(shí)器設(shè)置信號(hào)觸發(fā)信息定時(shí)器的任務(wù)模塊如下所示:設(shè)置定時(shí)信息發(fā)送觸發(fā)信號(hào)獲取定時(shí)

11、信息判斷10個(gè)定時(shí)時(shí)間判斷15個(gè)定時(shí)時(shí)間判斷20個(gè)定時(shí)時(shí)間重置定時(shí)信息是是是否否否(4)信號(hào)輸出任務(wù)信號(hào)輸出任務(wù)主要是將程序的執(zhí)行狀態(tài)轉(zhuǎn)化為用戶可見(jiàn)的顯示和洗衣機(jī)的動(dòng)作輸出。其數(shù)據(jù)流圖如下所示:程序執(zhí)行狀態(tài)讀取執(zhí)行信息存儲(chǔ)顯示面板輸出觸發(fā)信息狀態(tài)、指令讀取狀態(tài)和指令比對(duì),選擇正確指令指令轉(zhuǎn)化為電信號(hào),出書信號(hào)狀態(tài)改變信息狀態(tài)改變信息,指令信息指令信息電信號(hào)運(yùn)行信息指令信息信號(hào)輸出任務(wù)模塊如下所示:執(zhí)行信息讀取顯示面板輸出指令轉(zhuǎn)換、電信號(hào)輸出4.主要的功能流程設(shè)計(jì)通過(guò)以上的分析與設(shè)計(jì),程序框架基本建立,大部分模塊的形成和設(shè)計(jì)如上面設(shè)計(jì)過(guò)程中的功能所示,這里對(duì)按鍵輸入任務(wù)中的按鍵提取、判斷和狀態(tài)信息處理任務(wù)中的狀態(tài)信息處理的算法實(shí)現(xiàn)進(jìn)行描述。按鍵提取、判斷的流程:當(dāng)?shù)玫捷斎腈I值以后,檢測(cè)按鍵的類型,如果類型大于1便認(rèn)為是錯(cuò)誤輸入;按鍵的類型等于1則認(rèn)為是正確輸入,才能將其進(jìn)行傳遞。狀態(tài)信息處理的流程:(1) 如果輸入的是電源開關(guān)按鍵值,直接傳遞給動(dòng)作輸出信號(hào)任務(wù)改變電源狀態(tài),并將洗衣機(jī)狀態(tài)信息設(shè)為初始狀態(tài),因?yàn)殡娫礌顟B(tài)在洗衣機(jī)軟件中具有最重要的地位和最高優(yōu)先級(jí);(2) 如果輸入的是暫停啟動(dòng)按鍵值,應(yīng)先判斷電源狀態(tài)是否為開,如果為開啟狀態(tài)就改變運(yùn)行狀態(tài)為相對(duì)的狀態(tài),如果為關(guān)則將洗衣機(jī)狀態(tài)設(shè)置為初始狀態(tài),因?yàn)樵陔娫礊殛P(guān)閉的狀態(tài)下

溫馨提示

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

評(píng)論

0/150

提交評(píng)論