實用案例:嵌入式采煤工作面安全集中監控系統
3.4 系統軟件流程
根據3.3的分析,在軟件的設計方面,主要分為下位機和上位機兩個部分。嵌入式系統(下位機)與通用型計算機系統(上位機)相比具有很多不同點,首先嵌入式系統通常是面向特定用戶群而進行設計的,通常具有低功耗、體積小、集成度高等特點,再次嵌入式系統的硬件和軟件都必須高效率地設計,同時嵌入式系統本身一般不具備開發能力。因此嵌入式系統和通用計算機系統在軟件設計和實現方面存在許多差異。下面我們將分別闡述在下位機和上位機上運行的各主要功能模塊的設計流程,其中以下位機的講解為主。
3.4.1 uC/OS-II 系統控制模塊
在下位機上,為了充分利用系統的資源,嵌入了一個成熟、開源的嵌入式操作系統uC/OS-II 。在本次設計中,uC/OS-II 的主要功能如圖3.4.1所示:
uC/OS-II是有美國嵌入式系統專家Jean.J.Labrosse編寫的一款源代碼開放的實時嵌入式系統。與其他嵌入式操作系統系統相比,除具有源代碼開放的有點外,他的可移植性強、功能相對強大,而且其穩定性與可靠性很高,因此本次設計選用這一款操作系統。
系統上電以后先運行自檢程序,如果系統的功能模塊出現異常,則產生報警信號,為了避免因發出聲音警報可能造成的恐慌,本次設計通過EVK1100自帶的LED燈陣列來提示異常,工作人員可以通過LED燈陣列顯示的不同信號快速的查詢到問題的所在點,及時的排除問題。
待判斷系統各功能模塊運行正常以后啟動uC/OS-II。uC/OS-II可以大致分成核心、任務管理、時間處理、任務同步與通信和CPU移植等五個部分。在本次設計中,這五個部分都將涉及到。如圖3.4.1所示,uC/OS-II正常啟動以后,開始執行任務調度、任務同步、內存管理和時間管理等功能模塊。其中網絡通信功能在uC/OS-II中并沒有提供,需要自己移植相關網絡協議棧。在本次設計中,我們選擇在uC/OS-II中移植lwip來實現TCP/IP協議棧。
lwip是瑞典計算機科學院的一個開源的TCP/IP協議棧實現,lwip是一個輕型的IP協議,有無操作系統的支持都可以運行,其對內存的需求并不高,差不多幾百字節的RAM和40K左右的ROM就可以運行,這使lwip協議棧適合在低端的嵌入式系統中使用。因此lwip可以很好的滿足本次設計的對網絡功能的需求。
評論