基于μC/OS-Ⅱ農田信息采集系統的研究與設計
3.2 任務優先級及任務關聯設計
在本項目中,為實現農田信息采集系統的功能要求,在μC/OS-Ⅱ中設計以下任務:時鐘節拍任務、鍵盤任務、顯示任務、數據采集任務(土壤水分、土壤養分、土壤壓實、多點溫度數據采集)、數據處理及存儲任務、串口通訊任務。數據采集任務、數據處理與存儲任務設置為周期性任務。在這些任務中,μC/OS-Ⅱ時鐘節拍服務是通過中斷服務子程序調用時鐘節拍函數來實現的。因而采用定時器1產生中斷,定時周期10ms。除此以外,該函數還要啟動A/D轉換以及每隔一段時間發送消息給相應的任務,從而觸發相應的任務執行等。因此,優先級最高;數據采集任務、串口接收任務和串口發送任務實時性要求比較高。其中,串口接收任務是關鍵任務和緊迫任務,遺漏接收內容是不允許的;數據采集任務是緊迫任務,但不是關鍵任務,遺漏一個數據還不至于發生重大問題;在串行口發送任務中,CPU是主動方,慢一些也可行,只要將數據發出去就可以。顯示任務和鍵盤任務是人機接口任務,實時性要求較低。由于顯示任務要等數據處理及存儲任務所得的數據,故數據處理及存儲任務的優先級可安排得比鍵盤任務和顯示任務高一些。農機設備控制任務的實時性要得到保證,因此要設為較高優先級。
由于系統的實際運行效果是各個任務配合運行的結果,這種配合過程又是通過操作系統的管理來實現的,即通過調用操作系統服務函數來實現的。“何時調用系統服務”和“調用什么系統服務”是任務設計中的關鍵問題,這個問題與任務之間的相互關聯程度有關,需要通過分析這種關聯關系才能確定。為了進行任務設計,必須把這些任務之間的相互關系搞清楚。本文引用地址:http://cqxgywz.com/article/194066.htm

根據農田信息采集系統功能需求,設計任務關聯圖如圖3所示。系統應用軟件包含10個任務:傳感器數據采集任務為周期性任務,以一定的時間間隔采集數據,通過消息隊列將所采集數據傳輸給LCD顯示任務,并通過郵箱1#傳遞給數據處理與存儲任務,同時,GPS接收的位置信息通過郵箱2#及時插入采集的數據當中;數據處理與存儲任務以信號量1#將數據通過串口通訊任務傳遞給計算機,并在計算機上生成田間土壤水分分布圖、養分分布圖和溫度變化圖等數據,計算機生成的數據又經串口通訊任務由信號量2#發給擴展CAN總線任務,以此來控制農田機械設備執行相應的程序,完成自動變量施肥、變量噴灑農藥等;鍵盤掃描任務、數據處理與存儲任務等和顯示任務同步,以消息隊列1#通知顯示任務更新顯示。
4 結束語
本文以嵌入式微處理器S3CA4B0X芯片為主體,構建農田信息采集系統的軟硬件平臺,分析了μC/OS-Ⅱ操作系統的特點,并在嵌入式微處理器S3C44B0X芯片內嵌入μC/OS-Ⅱ實時操作系統,闡述了基于μC/OS-Ⅱ操作系統的農田信息采集系統的設計與實現方法。由此開發的農田信息采集系統的實時響應速度快,并實現軟件設計模塊化,可大大提高系統的穩定性和實時響應能力,增強系統的可靠性、可擴展性、可移植性,有著廣泛的應用前景。







評論