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