基于時代民芯SoC的MXT?RTOS51實時系統(tǒng)
本文引用地址:http://cafeforensic.com/article/271635.htm
MXT8051是北京時代民芯科技有限公司的一款高速單指令周期8051為核的SoC,集成有豐富的片上資源,包括大容量存儲空間32kBFlash和1kB XRAM ;數(shù)字部分包括3路PWM、串口UART、看門狗WDT、2個16位Timer、5個外部中斷源、RTC時鐘、內(nèi)部OSC和外部時鐘可選等模塊;模擬部分包括4通道2kHz 10位AD轉(zhuǎn)換器、可編程增益放大器(PGA)、2個軌對軌 OP放大器、0.64V和0.98V參考電壓源輸出等模塊;此外還集成了4com*36seg LCD驅(qū)動器。
MXT8051有PGA、OP、AD等諸多片上資源,使用這些資源只要在BSP包的文件SOC.h中作簡單定義,編譯時由MCU_init()自動完成片內(nèi)相關(guān)寄存器的設(shè)定。圖1是該包中可編程增益放大器(PGA)和LCD驅(qū)動定義的片段。
MXT8051豐富的片上資源以及大容量存儲空間32kBFlash和1kB XRAM能夠滿足實時系統(tǒng)代碼裝載和系統(tǒng)對片外數(shù)據(jù)存儲器的容量要求。雖然該MCU內(nèi)部RAM僅有128Bytes、也無非易失性存儲器,但量身定制的MXT?RTOS51仍能流暢運(yùn)行,為其在嵌入式系統(tǒng)中的推廣應(yīng)用提供了良好的軟件開發(fā)平臺。
MXT?RTOS51實時系統(tǒng),它包含了用作硬件boot的一個中間層、一個實時核和板上資源的驅(qū)動程序。由于它的存在,用戶任務(wù)得到了實時性很好的管理,且代碼具有與硬件無關(guān)的優(yōu)點,便于產(chǎn)品的升級及軟件的維護(hù)和移植。
MXT?RTOS51 V0.3版本的文件結(jié)構(gòu)如圖所示,共有RTOS、BSP和user三個文件夾,編譯后得到的執(zhí)行文件MXTRTOS.hex 代碼長度僅3246個字節(jié)。
實例一:倒計時器
實例一是在MXT?RTOS51 V0.3版本的模板上,添加一個軟定時任務(wù),實現(xiàn)間隔時間為0.01秒的倒計時。其鍵盤具有定時數(shù)據(jù)輸入、計時開始、暫停等功能;LCD屏上下兩排分別顯示設(shè)定值和剩余時間。本實例故意把定時任務(wù)的服務(wù)周期設(shè)為0.01秒,與系統(tǒng)一個“嘀嗒”10mS一樣以強(qiáng)化任務(wù)的負(fù)荷。實驗表明,在任務(wù)很繁重、共有五個任務(wù)并行運(yùn)行的環(huán)境下,系統(tǒng)仍有很好的實時響應(yīng)能力。
實例二:0.1℃分辨率的溫度計
實例二為“-20.0℃~80.0℃,0.1℃分辨率的溫度計”。該溫度計由一個PN結(jié)作為溫度傳感器,另加普通的金屬膜電阻構(gòu)成測溫電橋(見圖5)。MXT8051內(nèi)部運(yùn)放OP0組成的恒流源向PN結(jié)供電,電橋各臂直接接在開發(fā)板PGA輸入和片內(nèi)參考電壓VREF2的插口,硬件結(jié)構(gòu)十分簡潔(見圖6)。
本例軟件是在MXT?RTOS51 V0.3版本的模板上添加一個測溫任務(wù)和若干用戶函數(shù)構(gòu)成。由于使用片上可編程增益運(yùn)放PGA,本溫度計的標(biāo)定有條件采用軟件法。通過標(biāo)定消除了橋臂電阻、PN結(jié)和參考電壓的離散性對測溫精度的影響,降低了對器件的要求,標(biāo)定后實際測溫誤差小于0.5℃。
結(jié)語
MXT?RTOS51實時系統(tǒng)經(jīng)過多個實例和在無菌均質(zhì)器監(jiān)控系統(tǒng)中的測試,已顯示出系統(tǒng)穩(wěn)定性、健壯性和實時性好的優(yōu)勢。此外,由于本系統(tǒng)在SoC、目標(biāo)板等硬件與用戶任務(wù)之間插入了BSP,實現(xiàn)了用戶代碼開發(fā)的硬件無關(guān)性,為嵌入式產(chǎn)品日后的升級、軟件維護(hù)帶來了極大的便捷??傊贛XT?RTOS51平臺進(jìn)行嵌入式系統(tǒng)的開發(fā),可以取得事半功倍的效果。
pwm相關(guān)文章:pwm是什么
評論