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