新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于MATLAB的蓄電池充放電監(jiān)測(cè)系統(tǒng)

基于MATLAB的蓄電池充放電監(jiān)測(cè)系統(tǒng)

作者: 時(shí)間:2012-03-07 來(lái)源:網(wǎng)絡(luò) 收藏

3.1 MCU程序
為協(xié)調(diào)各個(gè)功能的實(shí)現(xiàn),本文參考了多任務(wù)調(diào)度算法和時(shí)間片輪轉(zhuǎn)算法。多任務(wù)調(diào)度算法,是按照實(shí)際要求將單片機(jī)要實(shí)現(xiàn)的功能劃分成多個(gè)任務(wù)模塊,并規(guī)定優(yōu)先級(jí)別,由一個(gè)任務(wù)調(diào)度模塊統(tǒng)一控制執(zhí)行順序。CPU的控制權(quán)按不同優(yōu)先級(jí)分配給不同的任務(wù)模塊,各個(gè)模塊分別在自己的執(zhí)行時(shí)間內(nèi)訪問(wèn)CPU,形成微觀上輪流執(zhí)行,宏觀上并發(fā)運(yùn)行的多任務(wù)效果,如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/177783.htm

c.jpg


中的幾個(gè)任務(wù)對(duì)時(shí)間要求比較敏感,單純使用多任務(wù)調(diào)度不能滿足需求。結(jié)合時(shí)間片輪轉(zhuǎn)算法,在任務(wù)分配時(shí)考慮時(shí)間限制,并將任務(wù)區(qū)分優(yōu)先級(jí)。優(yōu)先級(jí)高的任務(wù)先執(zhí)行。為保證采樣周期的穩(wěn)定,A/D轉(zhuǎn)換和啟動(dòng)溫度轉(zhuǎn)換的優(yōu)先級(jí)較高,串口發(fā)送晚幾十毫秒不會(huì)造成不良影響,所以優(yōu)先級(jí)較低。程序簡(jiǎn)要流程如圖4所示。

d.jpg


其中,任務(wù)調(diào)度模塊包含各任務(wù)的時(shí)間信息,如A/D轉(zhuǎn)換0.1s一次,啟動(dòng)溫度檢測(cè)1s一次,讀溫度則40ms一次,串口發(fā)送0.1s一次。若任務(wù)中包含多個(gè)子功能快,借鑒有限狀態(tài)機(jī)(FSM)算法,每次執(zhí)行一個(gè)子功能,直到本任務(wù)執(zhí)行完成。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉