嵌入式軟件設計-洗衣機程序需求分析與詳細設計知識講解_第1頁
嵌入式軟件設計-洗衣機程序需求分析與詳細設計知識講解_第2頁
嵌入式軟件設計-洗衣機程序需求分析與詳細設計知識講解_第3頁
嵌入式軟件設計-洗衣機程序需求分析與詳細設計知識講解_第4頁
嵌入式軟件設計-洗衣機程序需求分析與詳細設計知識講解_第5頁
免費預覽已結束,剩余5頁可下載查看

下載本文檔

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

文檔簡介

1、基于DARTS的洗衣機控制軟件設計1.洗衣機控制軟件需求分析與說明洗衣機是日常家用電器,它是人們日常使用頻率較高的家用電器,有全自動、半自動等不同類型。根據題目中提出的需求概述,結合日常生活中人們的使用習慣,在這里給出其功能需求和相應的非功能需求以及相應的外部接口等的定義和描述。1)功能需求定義和描述(1)默認狀態下洗衣機處于關閉狀態。用戶按下電源開關后,洗衣機上電工作;當洗衣機處于工作狀態時,用戶按下電源開關后,無論洗衣機處于何種運行狀態均斷電、停止工作;(2)電源開關開啟后,洗衣機默認的程序功能是洗衣、漂洗、脫水,默認水位時中等水位,運行狀態是等待狀態;(3)洗衣機有運行狀態和等待狀態;當

2、用戶按下暫停啟動開關后,若洗衣機原來處于等待狀態,則轉入運行狀態,執行等待狀態時的程序執行狀態;若洗衣機處于運行狀態,則轉入等待狀態,并保存程序的執行狀態;(4)當洗衣機處于運行狀態時,用戶的程序控制,即洗衣、漂洗、脫水按鍵和水位按鍵的輸入無效;只有當洗衣機處于等待狀態時其輸入才有效;(5)程序控制的洗衣、漂洗、脫水這三個鍵可以按下一個、兩個或者三個,洗衣機總是按洗衣-漂洗-脫水的順序執行程序并且只執行用戶選擇的程序;(6)水位按鍵每次只能選擇高、中、低三種水位的一個值;(7)洗衣機顯示面板顯示洗衣機的電源狀態、暫停啟動狀態、當前執行的程序以及即將執行的程序和水位狀態,并且能根據用戶輸入以后及

3、時改變顯示信息。2)非功能需求定義和描述(1)洗衣機開關機的響應時間控制在500ms以內;(2)洗衣機在運行狀態和等待狀態之間的才換控制在800ms以內;(3)洗衣機功能和水位的輸入控制在600ms以內;(4)洗衣機顯示面板的響應控制在1200ms以內;(5)這里假設洗衣機洗衣用600s的時間,漂洗用300s的時間,脫水用100s的時間。3)外部接口描述外部接口描述如下所述:共有八個按鈕,分為四組,分別是電源、暫停/啟動、程序控制和水位。按鈕旁邊的指示燈顯示每個按鈕對應的狀態:電源指示燈亮表示電源打開,暗則表示關閉;暫停/啟動按鈕亮表示正在運行,暗表示處于暫停狀態;程序控制按鈕亮表示正在執行或

4、者將要執行,暗則表示不能執行;水位按鈕亮表示當前處于某個水位。4)系統狀態變遷圖電源關閉程序水位控制2 .洗衣機控制軟件系統設計以及數據流分析根據以上所提出的需求,相應的數據流圖如下所示:說明:(1)洗衣機程序狀態信息是一組數據,包含四個項:電源狀態、運行情況、程序狀態和水位信息,與輸入面板的相對應;(2)時鐘中斷的時間間隔是20ms,通過具有一定頻率的時鐘中斷來查看當前洗衣機程序執行的執行情況、按鍵輸入和面板輸出,以提高效率、降低復雜性。(3)洗衣機狀態、指令集是洗衣機在裝變為相應狀態的時候所需要運行的指令等,這些設局存儲在快速讀寫存儲器之中,讀取這些數據的時間非常快,在100ms的量級。3

5、 .洗衣機控制軟件任務劃分以及任務模塊設計1)洗衣機控制軟件任務劃分根據設計的數據流圖,洗衣機程序的任務劃分如下圖所示(在數據流圖中被劃入相同的任務的數據處理過程用相同顏色的虛線方框來表示):按下按鍵動作輸出信號響按鍵輸入按鍵無效發動機機處理電信號按鍵有效狀態變化觸發信息有效按鍵狀態信息觸發信息狀態信息狀態信息洗衣機狀態信息狀態信息改變顯示管觸發信息面板輸按鍵狀態轉換讀取按鍵輸入按鍵輸入處理按鍵有效性檢狀態判斷器解釋程序信息定時20個時鐘查看程序狀態定時10個時鐘定時15個時鐘洗衣機狀態、指令集進行以上任務劃分的理由:在DARTS設計方法中,劃分任務的原則包括以下幾種:I/O依賴性、功能的時間

6、關鍵性、計算需求、功能內聚、時間內聚和周期執行,正是根據以上原則進行整體考慮得到以上的功能劃分。(1)按鍵輸入任務:功能內聚原則;(2)中斷定時任務:周期執行原則;(3)洗衣機狀態信息處理任務:計算需求和功能內聚原則;(4)信號輸出任務:I/O依賴性原則。另外,為了提高效率,將數據流圖中的洗衣機狀態信息和洗衣機狀態指令集整合在一起作為洗衣機程序的信息存儲,以便各個任務的訪問能夠有一個統一的入口。2)洗衣機控制軟件任務接口3)任務模塊設計(1)按鍵輸入任務按鍵輸入任務的主要功能是在面板上的按鍵按下以后,得到正確的按鍵信息傳遞給狀態信息任務對按鍵信息進行處理。這里的正確信息是指每次只能有同一種類的

7、按鍵信息按下,比如不能同時按下暫停啟動鍵和洗衣程序任務鍵或者洗衣程序任務鍵和水位鍵等。而且需要將按鍵的電信號轉換成可以識別的程序信號傳遞下去。按鍵輸入任務的數據流圖如下所示:按鍵輸入的模塊結構圖如下所示:(2)狀態信息處理任務狀態信息處理任務的主要功能是(1)每隔一段時間,把得到的按鍵輸入轉換成為相應的狀態信息,根據得到的按鍵輸入和當前的運行信息進行比較得到一個正確的運行信息寫入信息存儲器;(2)每隔一段時間,將運行信息傳遞給信號輸出單元執行要運行的程序。狀態信息處理的數據流圖如下所示:狀態信息處理的模塊結構如下所示:(3)中斷定時任務中斷定時任務的主要功能是為程序的執行提供時間控制,狀態信息

8、處理和信號輸出均需要中斷定時任務的控制。中斷定時任務為每一個需要的任務設置定時器,如果定時器時間到達就發送觸發信息,并重置相應的中斷定時器。中斷定時任務的數據流圖如下:時鐘中斷觸發信息觸發信息定時器的任務模塊如下所示:獲取定時信息(4)信號輸出任務信號輸出任務主要是將程序的執行狀態轉化為用戶可見的顯示和洗衣機的動作輸出。數據流圖如下所示:信號輸出任務模塊如下所示:4 .主要的功能流程設計通過以上的分析與設計,程序框架基本建立,大部分模塊的形成和設計如上面設計過程中的功能所示,這里對按鍵輸入任務中的按鍵提取、判斷和狀態信息處理任務中的狀態信息處理的算法實現進行描述。按鍵提取、判斷的流程:當得到輸入鍵值以后,檢測按鍵的類型,如果類型大于1便認為是錯誤輸入;按鍵的類型等于1則認為是正確輸入,才能將其進行傳遞。狀態信息處理的流程:(1) 如果輸入的是電源開關按鍵值,直接傳遞給動作輸出信號任務改變電源狀態,并將洗衣機狀態信息設為初始狀態,因為電源狀態在洗衣機軟件中具有最重要的地位和最高優先級;(2) 如果輸入的是暫停啟動按鍵值,應先判斷電源狀態是否為開,如果為開啟狀態就改變運行狀態為相對的狀態,如果為關則將洗衣機狀態設置為初始狀態,因為在電源為關閉的狀態下不應檢測到該按鍵值,這說明系統運行信息被非法修改;(3) 如果輸入的是運行程序值,同(2)一樣

溫馨提示

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

評論

0/150

提交評論