關(guān)于μC/OS-II系列軟件版權(quán)的說明
本文給出了在蓄電池化成工藝過程控制系統(tǒng)設(shè)計(jì)中,將嵌入式操作系統(tǒng)μC/OS-II用于系統(tǒng)軟件設(shè)計(jì),并將系統(tǒng)各功能模塊劃分成不同優(yōu)先級的任務(wù)由系統(tǒng)內(nèi)核進(jìn)行調(diào)度,從而通過人機(jī)操作界面顯示系統(tǒng)任務(wù)的具體方法。
工業(yè)以太網(wǎng)具有比現(xiàn)場總線更好的性能,正處于不斷發(fā)展完善當(dāng)中,因此研制基于工業(yè)以太網(wǎng)的設(shè)備具有很好的市場前景。本文設(shè)計(jì)的嵌入式控制器采用了基于ARM7TDMIS的微控制器LPC2292[12]??刂破鞯牡讓优c現(xiàn)場總線CAN相連,向上與Ethernet/IP工業(yè)以太網(wǎng)相連。為提高可靠性,應(yīng)用了冗余控制技術(shù),備有一個(gè)一模一樣的冗余控制器。通過LVDS接口,控制器與冗余控制器相連,并相互在線監(jiān)測。同時(shí),本文采用了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[3]。
文章首先介紹了uC/OS-II在ARM上的移植。在此基礎(chǔ)上,根據(jù)以太網(wǎng)控制器ENC28J60的特點(diǎn),設(shè)計(jì)了該系統(tǒng)的硬件結(jié)構(gòu)。闡述了如何在嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II上移植實(shí)現(xiàn)LwIP這套TCP/IP協(xié)議棧,并詳細(xì)地描述了ENC28J60網(wǎng)卡驅(qū)動(dòng)的軟件流程,給μC/OS-II加上了網(wǎng)絡(luò)支持。
自嵌入式系統(tǒng)開發(fā)以來,很長時(shí)間都采用前后臺系統(tǒng)軟件設(shè)計(jì)模式:主程序?yàn)橐粋€(gè)無限循環(huán),單任務(wù)順序執(zhí)行。通過設(shè)置一個(gè)或多個(gè)中斷 來處理異步事件。這種系統(tǒng)對于簡單的應(yīng)用是可以的,但對于實(shí)時(shí)性要求比較高的、處理任務(wù)較多的應(yīng)用,就會(huì)暴露出實(shí)時(shí)性差、系統(tǒng)可靠性低、穩(wěn)定性差等缺點(diǎn)。μC/OS-II 是一種基于優(yōu)先級的搶占式多 任務(wù)實(shí)時(shí)操作系統(tǒng), 包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)間通信同步(信號量,郵箱,消息 隊(duì)列)和內(nèi)存管理等功能。它可以使各個(gè)任務(wù)獨(dú)立工作,互不干涉,很容易實(shí)現(xiàn)準(zhǔn)時(shí)而且無誤執(zhí)行,使實(shí)時(shí)應(yīng)用程序的設(shè)
在μC/OS-II平臺下開發(fā)程序,首先要掌握內(nèi)核。通過上述移植過程,能夠?qū)θ蝿?wù)堆棧,任務(wù)調(diào)度有深刻理解。作為一種開放源代碼的操作系統(tǒng),以其優(yōu)越的性能在嵌入式系統(tǒng)應(yīng)用領(lǐng)域占據(jù)了非常廣泛的發(fā)展空間。移植結(jié)果表明,經(jīng)過裁剪的μC/OS-II在S3C44B0X上的移植是成功的。