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