亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看

  • 嵌入式操作系統uC/OS-II在電能計量電表中的應用研究
    控制工程

    [摘要]:目前嵌入式系統正在不斷地向智能化、網絡化的方向發展,在實時控制系統中采用嵌入式操作系統已成為當前嵌入式應用系統中的一個發展方向。本文以開發電能計量電表中應用C/OS-II為實例,介紹了將實時嵌入式操作系統C/OS-II移植到目標系統中的方法,分析和研究了在單片機系統中使用嵌入式操作系統的有關問題?!?/P>

    [關鍵詞]:嵌入式操作系統; mC/OS-II; 內核; 實時性; 電能計量電表 

    1 引言

           隨著后PC時代和網絡以及通信技術時代的到來,嵌入式操作系統在通信、電子、自動化等領域受已經到了越來越多的關注。因為一個好的嵌入式實時操作系統能夠提高產品的研制效率,縮短產品的開發周期,所以許多生產廠家正在紛紛考慮采用嵌入式操作系統技術來開發自己的產品。

           實時嵌入式操作系統的種類繁多,大體可分為兩種——商用型及免費型。商用型的實時操作系統功能穩定、可靠、有完善技術支持及售后服務,但其昂貴價格限制了它在為數眾多的低端低成本的場合的應用。并且對這些場合來講,一個包含網絡協議核、文件管理,內存管理的操作系統實在顯得過于龐大了。它們需要的僅僅是一個穩定的包含任務管理及進程調度的實時內核,對一個 8位或16位單片機的應用場合,一個代碼長度不超過10KB,占用系統資源不超過10%象mC/OS-II這樣的實時內核是非常適合的。

    2 mC/OS-II 系統簡介

        mC/OS-II 是由Labrose先生編寫的開放式內核,具有源碼公開,可移植、可固化、可裁剪,穩定性及可靠性高的特點。其內核提供任務調度與管理、時間管理任務同步與通信、內存管理及中斷服務等功能,支持64用戶服務。90%的代碼函數用標準的ANSI C語言書寫,程序可讀性強、移植性好。適合于小型控制系統,具有執行效率高,占用空間小,實時性能優良,可擴展性強的特點,加之它穩定、可靠,現已被廣泛應用在航空、醫療器械、工業控制等領域,被證明是一個成熟穩定的實時內核。
       
    3 在AT89C51上運行mC/OS-II

        要使用mC/OS-II,首先就必須把這個內核成功地移植到使用的CPU上去。下面就給出在電能計量電表所用的AT89C51上移植mC/OS-II過程。mC/OS-II移植的軟件部分要完成以下工作。

    3.1 與編譯器有關的代碼

        在不同的處理器中有不同的字長,所以必須定義一系列數據類型以確保移植的正確性。在C/OS-II中,不使用C的char、int和long等數據類型,這些都是和編譯器相關的,在AT89C51處理器中,各種數據類型定義如下:
    typedef unsigned char BOOLEAN;
    typedef unsigned char  INT8U;
    typedef signed char INT8S;
    typedef unsigned int INT16U;
    typedf signed int INT16S;
    typedef unsigned long INT32U;
    typedef signed long INT32S;
    typedef float FP32;
    typedef double FP64;
    typedef unsigned char OS_STK;

    mC/OS-II需要先禁止中斷訪問代碼的臨界區,并且在訪問完畢后重新允許中斷。mC/OS-II定義了兩個宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來禁止和允許中斷。實現方法如下:
    #define OS_ENTER_CRITICAL()  EA = 0
    #define OS_EXIT_CRITICAL()   EA = 1
    #define OS_STK_GROWTH  0
    #define OS_TASK_SWO  0SCtxSW()

    3.2  4個匯編語言函數
           這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫。mC/OS-II的移植要求用戶編寫4個簡單的匯編語言函數:OSStarHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。

           OSStarHighRdy()在多任務系統啟動函數OSStar()中調用。主要功能是將就緒表中最高優先級任務的棧指針加載到SP中,并強制中斷返回。這樣就緒的最高優先級任務就如同從中斷處理返回到運行態一樣,使得整個系統得以運轉。

           OSCtxSw()在任務級任務切換函數中調用。任務級的切換問題是通過發軟中斷命令或依靠處理器執行陷阱指令來完成的。由于AT89C51沒有軟中斷命令或依靠處理器執行陷阱指令,所以用OS_TASK_SW()直接調用OSCtxSw()來完成。

           OSIntCtxSw()通過調用OSIntCtxSw()來從ISR中執行切換功能。具體完成任務是調整堆棧指針,保存當前任務的SP,載入就緒最高優先級任務的SP,恢復就緒最高優先級任務的環境變量,中斷返回,從而完成中斷級任務切換。

          OSTickISR()是系統時鐘節拍中斷服務函數。這是一個周期性中斷,為內核提供時鐘節拍,頻率越高系統負荷越重。此外還要編寫6個與操作系統有關的函數,有關這些函數具體功能更詳細的闡述,請參考文獻[1][2]。做完以上工作后,mC/OS-II就可以運行了。

    4 在電能計量電度表中應用mC/OS-II

    4.1 電能計量電度表的功能與任務分配

           電能計量電度表是為了方便供電局進行用量管理,同時也為了使用戶合理用電而進行“尖、峰、平、谷”不同時段分別計費的智能儀器。圖1是電能計量電度表結構原理圖。該系統主要由兩個部分構成,一是電能計量芯片AD7755,二是數據的采集、存儲、顯示和報警系統。

     


    圖1 電能計量電度表結構原理圖

           根據電能計量電度表的工作原理,結合mC/OS-II可以把電能計量儀器的軟件結構劃分為下述幾個任務:

        (1)RS-485口命令讀取。串口命令是從上位PC主機或紅外線抄表儀器發送到電能計量儀器的數據讀取或設置命令。這些命令必須為串口完全接收,不允許電能計量表在接收命令時發生數據丟失。實時要求很高。

        (2)1s將保存在RAM中的當前用電量存儲到EEPROM。以防止單片機失電時電量計量丟失,實時要求高。

        (3)100ms完成一次時鐘芯片實時鐘讀取,以便更新當前的年、月、日、時、分秒。每100ms進行一次,或接收上位機廣播校時時鐘芯片,實時要求很高。

        (4)溫度芯片數值的讀取和存儲每300ms進行一次,實時要求較高。

        (5)RS-485或紅外線抄表儀器口數據回送,電能計量電表接收到上位機命令后,完成指定操作,并將處理結果送回上位機或紅外線抄表儀器,實時要求低。

        (6)液晶顯示內容每3s更新一次,液晶每3s更新顯示數據。實時要求很低。

        (7)如果5min內沒有按鍵操作,則關閉液晶顯示以降低功耗。實時要求很低。

          上面將實現的功能劃分為7個任務,并對這些任務的實時要求作了分析。在實時設計中,任務的的實時要求越高,對應的優先級就應該越高。另外,需要增加一個最高優先級任務來提供準確的100ms事件流,上述任務劃分如表1所示。


    表1 任務劃分表

    4.2 基于mC/OS-II的中斷處理
           在mC/OS-II中,中斷處理也非常重要的,電能計量電表的中斷源及各種中斷用途以及優先級如表2所示。
    表2  電能計量電表的中斷


           雖然mC/OS-II允許使用多個中斷,并允許多層中斷嵌套,但為了減少中斷處理時間,提高系統響應速度,中斷處理程序或發出信號燈,通知相應的任務去處理?;蜻M行簡單的數據處理,中斷處理的結構非常簡單,處理時間也很短,所以極少會出現多層中斷嵌套的情況。

          在完成任務劃分后,還需要考慮任務的通信,在初始化mC/OS-II時創建了以下信號燈和消息郵箱用于任務間通信:

        (1)串口命令信號燈SemCmd。該信號燈由串口接收緩沖區滿中斷處理程序發出,由任務2(RS-485或紅外抄表儀器命令讀取)接收。表示上位機已經有命令通過串口發送過來。

        (2)時鐘芯片讀取或校準消息郵箱Mbox。該消息由任務1或任務2發出,由任務3(100ms一次系統時間校正或廣播校時時鐘芯片)接收。

        (3)電量存儲信號燈Sem1s。該信號燈由任務3發出,由任務4接收。以1s為周期存儲當前電量到EEPROM。

        (4)溫度數值的讀取信號燈Sem300ms。該信號燈由任務3發出,由任務5接收。以300ms為周期發出,通知任務5存儲溫度。

        (5)顯示更新信號燈Sem5s。該信號燈由任務3發出,由任務7(3s一次液晶顯示內容更新)接收,以3s為周期發出,通知任務7刷新液晶顯示。

        (6)液晶自動關閉信號燈Sem5min。該信號燈由任務3發出,由任務8(5min液晶自動關閉)接收,以5min為周期發出,通知任務8。如果過去5min內沒有按鍵,則關閉液晶顯示。

        (7)串口命令緩沖區滿信號燈SemCmdProc。該信號燈由任務2(RS-485口命令讀取)發出,由任務6(RS-485或紅外抄表儀器口數據回送)接收。用于向上位機發送數據。

        每個任務都沒有被刪除,其軟件流程如圖2所示:            
        初始化消息郵箱, 信號燈     

              
       
    5 結 語

           目前我們開發的這個基于mC/OS-II內核的電能計量電表應用系統在系統的實時響應速度、軟件設計的模塊化問題、系統的抗干擾能力等方面都解決得比較好。已經在實際中投入運行,獲得了比較好的效果。




     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看
    欧美极品少妇全裸体| 欧美日韩国产限制| 日韩电视剧在线观看免费网站| 亚洲最大福利视频| 亚洲最新av网址| 亚洲一区二区三区sesese| 久久久精品一区二区三区| 国产欧美精品久久久| 97国产精品人人爽人人做| 日韩精品在线影院| 国产亚洲精品久久久| 色一情一乱一区二区| 疯狂做受xxxx欧美肥白少妇| 久久久久久有精品国产| 国产91色在线| 日韩av资源在线播放| 久久成人18免费网站| 一区二区欧美日韩视频| 亚洲影院高清在线| 久久香蕉精品香蕉| 国产精品吹潮在线观看| 久久久久久久久网站| 亚洲一区第一页| 精品亚洲一区二区三区在线观看| 国产精品视频播放| 国产精品偷伦免费视频观看的| 欧美黑人极品猛少妇色xxxxx| 欧美激情xxxx性bbbb| 成人激情视频在线| 国产97在线|亚洲| 欧美激情按摩在线| 91精品国产成人www| 亚洲男子天堂网| 久久久久久久久久久免费| 日韩美女在线观看| 日韩美女视频免费看| 日本视频久久久| 欧美另类99xxxxx| 91亚洲精品久久久| 欧美中文字幕视频在线观看| 亚洲美女免费精品视频在线观看| 国产一区二区三区直播精品电影| 国产91精品在线播放| 日韩精品在线电影| 亚洲性av网站| 亚洲另类图片色| 69久久夜色精品国产69| 国产精品稀缺呦系列在线| 欧美激情中文字幕在线| 中文日韩在线观看| 91精品国产免费久久久久久| 在线成人一区二区| 久久精品国产91精品亚洲| 亚洲第一精品福利| 亚洲第一偷拍网| 国产精品私拍pans大尺度在线| 91久久精品国产91久久性色| 日韩av一卡二卡| 日韩av在线网页| 国产成人一区二| 51午夜精品视频| 久久精品中文字幕免费mv| 欧美电影免费观看| 欧美精品在线免费播放| 久久久久久久国产精品视频| 国产精品成久久久久三级| 欧美大秀在线观看| 韩国视频理论视频久久| 欧美精品video| 中文字幕成人精品久久不卡| 久久精品国产v日韩v亚洲| 亚洲片av在线| 91系列在线播放| 超碰97人人做人人爱少妇| 亚洲性线免费观看视频成熟| 上原亚衣av一区二区三区| 亚洲最大成人在线| 日韩欧美有码在线| 日韩av日韩在线观看| 国产成人精品日本亚洲| 亚洲美女www午夜| 上原亚衣av一区二区三区| 亚洲国产天堂久久综合| 日韩av在线免费观看一区| 中文字幕日韩在线播放| 色综合久综合久久综合久鬼88| 亚洲欧美国产高清va在线播| 欧美丰满老妇厨房牲生活| 在线电影中文日韩| 国产一区深夜福利| 色久欧美在线视频观看| 91视频免费在线| 欧美乱大交做爰xxxⅹ性3| 日日狠狠久久偷偷四色综合免费| 国产成人中文字幕| 国产亚洲免费的视频看| 97精品视频在线播放| 日韩美女中文字幕| 国产精品中文久久久久久久| 97视频在线观看免费高清完整版在线观看| 日本精品久久久久影院| 98精品在线视频| 国产亚洲精品久久久久久777| 精品自拍视频在线观看| 亚洲人线精品午夜| 精品国产老师黑色丝袜高跟鞋| 亚洲欧美中文另类| 亚洲国产精品久久久久久| 韩国19禁主播vip福利视频| 国产主播欧美精品| 日本一区二区三区四区视频| 日韩av日韩在线观看| 精品国产鲁一鲁一区二区张丽| 久久久精品免费视频| 欧美—级a级欧美特级ar全黄| 国产一区二区三区在线观看视频| 国内精品久久久久| 欧美在线性视频| 亚洲国产欧美一区| 日日骚久久av| 欧美性猛交xxxx乱大交3| 九九热精品视频在线播放| 午夜精品一区二区三区av| 国产精品美女在线| 国产精品一区二区三区免费视频| 国产亚洲精品美女久久久| 亚洲精品国精品久久99热| 亚洲精品美女久久久| 高清亚洲成在人网站天堂| 亚洲天堂av电影| 亚洲国产美女精品久久久久∴| 欧美国产中文字幕| 亚洲福利在线看| 日韩成人av网址| 亚洲综合中文字幕在线| 日韩有码在线视频| 亚洲a在线观看| 亚洲国产精品久久久久秋霞不卡| 亚洲成年人在线播放| 亚洲xxxxx电影| 午夜精品国产精品大乳美女| 成人观看高清在线观看免费| 中国人与牲禽动交精品| 亚洲成人动漫在线播放| 国产精选久久久久久| 69国产精品成人在线播放| 亚洲最大福利视频| 国产日韩欧美自拍| 8090理伦午夜在线电影| 亚洲欧美www| 日韩风俗一区 二区| 欧美激情国产高清| 欧美又大又硬又粗bbbbb| 在线视频精品一| 成人字幕网zmw| 国产精品久久久久福利| 欧美亚洲一级片| 精品福利樱桃av导航| 欧美日本啪啪无遮挡网站| 成人久久一区二区| 亚洲男人天堂网| 久久琪琪电影院| 国产精品高潮粉嫩av| 91精品国产自产在线老师啪|