[發明專利]基于嵌入式操作系統的通用定時器及其工作方法在審
| 申請號: | 201410504029.3 | 申請日: | 2014-09-28 |
| 公開(公告)號: | CN104268020A | 公開(公告)日: | 2015-01-07 |
| 發明(設計)人: | 曾慶釗;李政;吳蘇卓 | 申請(專利權)人: | 天津凱發電氣股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 天津市宗欣專利商標代理有限公司 12103 | 代理人: | 常靜彬 |
| 地址: | 300384 天津市*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 嵌入式 操作系統 通用 定時器 及其 工作 方法 | ||
1.一種基于嵌入式操作系統的通用定時器,包括普通定時器管理任務模塊(1)、普通定時器列表(2)、精確定時器中斷處理模塊(3)、精確定時器列表(4)、定時器計數信號量通知模塊(5)以及硬件定時器(6),其特征在于:所述的硬件定時器連接定時器計數信號量通知模塊(5)和精確定時器中斷處理模塊(3),所述的定時器計數信號量通知模塊(5)在操作系統tick定時中斷處理模塊中,所述的定時器計數信號量通知模塊(5)連接普通定時器管理任務模塊(1),所述的所述的普通定時器管理任務模塊(1)連接普通定時器列表(2),所述的精確定時器中斷處理模塊(3)連接精確定時器列表(4),所述的括普通定時器管理任務模塊(1)、精確定時器中斷處理模塊(3)連接應用任務;
所述的普通定時管理任務模塊(1)對普通定時器進行定時管理,每次收到定時器計數信號量通知模塊(5)發送的通知后,掃描普通定時器列表(2),通過消息方式通知定時器關聯的應用任務;
所述的普通定時器列表(2)記錄通用定時器信息,并通過通用定時器創建、刪除接口實現增加和刪除,普通定時器任務定時修改每個普通定時器中的當前計數;
所述的精確定時器中斷處理模塊(3)對所有精確定時器進行定時管理,通過消息方式通知該定時器關聯的應用任務;
所述的精確定時器列表(4)記錄精確定時器信息,并通過精確定時器創建、刪除接口實現增加和刪除,精確定時器中斷處理模塊(3)定時修改每個普通定時器中的當前計數;
所述的定時器計數信號量通知模塊(5)在操作系統tick定時中斷處理模塊中執行,每個tick時間間隔通過計數信號量方式通知普通定時管理任務模塊(1);
所述的硬件定時器(6)由CPU提供,為定時器計數信號量通知模塊(5)、普通定時管理任務模塊(1)提供時鐘信號。
2.根據權利要求1所述的基于嵌入式操作系統的通用定時器,其特征在于:所述的通用定時器信息或所述的精確定時器信息包括定時器計數閥值、定時器計數當前值、關聯的任務號、定時器狀態。
3.根據權利要求1所述的基于嵌入式操作系統的通用定時器,其特征在于:所述的普通精度定時器中斷時間隔為1tick,精確定時器中斷時間間隔為1ms。
4.一種基于嵌入式操作系統的通用定時器工作方法,其特征在于:包括以下步驟:
(i)根據嵌入式操作系統接口創建普通定時管理任務,并啟動此任務,創建普通定時器計數信號量;
(ii)根據CPU硬件定時器資源特點,初始化精確定時硬件定時器,啟動硬件定時器功能;
(iii)在操作系統tick定時中斷函數中,每次tick定時到來后,執行一次定時器計數信號量通知模塊,以信號量方式通知普通定時管理任務,開始處理普通定時器列表;
(iv)根據需要為應用任務創建所需要的普通定時器或精確定時器,設定定時時間間隔,記錄此定時器與應用任務的對應關系;
(v)普通定時管理任務以阻塞方式等待普通定時器計數信號量,一旦信號量有效后,檢查普通定時器列表中的每一個定時器,對于定時時間間隔滿足條件的定時器,以消息方式通知此定時器關聯的應用任務,應用任務收到消息后,執行對應的普通定時處理內容;
(vi)每次硬件定時中斷發生時,精確定時器中斷處理模塊執行一遍所有精確定時器的掃描處理,對于定時時間間隔滿足條件的精確定時器,以消息方式通知此定時器關聯的應用任務,應用任務收到消息后,執行對應的精確定時處理內容。
5.根據權利要求4所述的基于嵌入式操作系統的通用定時器工作方法,其特征在于:所述的步驟(i)中所述的普通定時器管理任務優先級高于應用任務優先級。
6.根據權利要求4所述的基于嵌入式操作系統的通用定時器工作方法,其特征在于:所述的步驟(i)中所述的設定定時中斷間隔為1ms。
7.根據權利要求4所述的基于嵌入式操作系統的通用定時器工作方法,其特征在于:所述的工作方法應用于計算機時采用以下流程步驟:
(i)??開始(S1);
(ii)??創建普通定時器信號量、普通定時器任務(S2);
(iii)?初始化硬件精確定時器及終端(S3);
(iv)??操作系統tick定時中斷函數中增加定時器計數信號量通知模塊(S4);
(v)???創建需要的精確定時器和普通定時器(S5);
(vi)??以阻塞方式等待普通定時器信號量(S6);
(vii)?禁止任務搶占(S7);
(viii)獲取普通定時器列表頭(S8);
(ix)??本有效定時器當前計數值是否為0(S9);
(x)???消息通知定時器對應的任務(S10);
(xi)??定時器當前計數減1(S10);
(xii)?定時器全部處理完成(S12);
(xiii)恢復任務搶占(S13);
(xiv)?切換到下一個有效定時器(S14)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津凱發電氣股份有限公司,未經天津凱發電氣股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410504029.3/1.html,轉載請聲明來源鉆瓜專利網。





