新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于MATLAB的蓄電池充放電監測系統

        基于MATLAB的蓄電池充放電監測系統

        作者: 時間:2012-03-07 來源:網絡 收藏

        3.1 MCU程序
        為協調各個功能的實現,本文參考了多任務調度算法和時間片輪轉算法。多任務調度算法,是按照實際要求將單片機要實現的功能劃分成多個任務模塊,并規定優先級別,由一個任務調度模塊統一控制執行順序。CPU的控制權按不同優先級分配給不同的任務模塊,各個模塊分別在自己的執行時間內訪問CPU,形成微觀上輪流執行,宏觀上并發運行的多任務效果,如圖3所示。

        本文引用地址:http://www.104case.com/article/177783.htm

        c.jpg


        中的幾個任務對時間要求比較敏感,單純使用多任務調度不能滿足需求。結合時間片輪轉算法,在任務分配時考慮時間限制,并將任務區分優先級。優先級高的任務先執行。為保證采樣周期的穩定,A/D轉換和啟動溫度轉換的優先級較高,串口發送晚幾十毫秒不會造成不良影響,所以優先級較低。程序簡要流程如圖4所示。

        d.jpg


        其中,任務調度模塊包含各任務的時間信息,如A/D轉換0.1s一次,啟動溫度檢測1s一次,讀溫度則40ms一次,串口發送0.1s一次。若任務中包含多個子功能快,借鑒有限狀態機(FSM)算法,每次執行一個子功能,直到本任務執行完成。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陈巴尔虎旗| 龙胜| 建瓯市| 吉林省| 白银市| 金湖县| 岳普湖县| 册亨县| 海南省| 津南区| 竹溪县| 常山县| 宜昌市| 宣汉县| 芮城县| 田东县| 长武县| 班玛县| 龙胜| 合肥市| 莲花县| 玉山县| 成都市| 井研县| 金秀| 榆社县| 云龙县| 周口市| 北流市| 海林市| 营口市| 卓尼县| 临澧县| 天镇县| 峨边| 澄迈县| 壶关县| 泉州市| 漠河县| 襄城县| 绥德县|