專利名稱:一種多任務操作系統下的高精度定時器及其實現方法
技術領域:
本發明主要涉及計算機控制領域,尤其涉及一種高精度定時器及其實現方法。
背景技術:
隨著現代自動化技術的發展,利用計算機實現的實時控制技術被廣泛應用于工業生產。定時器作為計算機控制系統特別是實時控制系統中的重要組成部分,被經常使用在定時信號輸出、數據讀取、設備控制等操作中,特別是對精度控制要求較高的系統,更要求精確的定時操作。傳統的精確定時常采用DOS計時器中斷技術,可以獲取精確到毫秒級的時間間隔,很方便地開發出實時控制軟件。但DOS是單任務系統,一旦系統進入延時操作,則無法進行其他操作,只能完成簡單的定時工作。同時,由于任務處理的時間不確定,定時精度也受到一定的影響。在DOS下很難開發出具有良好人機交互功能的應用程序,且程序擴展性較差,這種方法的適用面比較窄。相對于單任務DOS操作系統的多任務操作系統,如Windows操作系統,環境下開發程序,可以利用系統提供的某些函數或操作功能等編寫程序進行精確定時,其最高精度也能達到毫秒級。但由于在使用這些函數或操作功能時,消息會被放在常規的消息隊列中,并與其他消息一起排隊,有時并不能立即得到響應。當進行實時控制時,如果經常進行定時操作,那么這些時間段就不能接受到任何其它消息。顯然,這種情況下,對于需要精確時間間隔的實時控制系統來說是致命的。因此目前在多任務操作系統中編寫高精度的定時器程序非常困難,特別是精確度在微秒級的程序基本上是不可行的。
發明內容
本發明是為避免上述現有技術所存在的不足,提供一種多任務操作系統下的高精度定時器及其實現方法,以期達到在多任務操作系統下實現精確度為微秒級的高精度定時的發明目的。本發明為解決技術問題采用如下技術方案本發明多任務操作系統下的高精度定時器的特點是以外部方波振蕩器產生基準信號,采用計算機并口中斷,實現微秒級的高精度定時。本發明多任務操作系統下的高精度定時器的特點也在于設置所述外部方波振蕩器是由外部方波振蕩電路和外部頻率調節器構成,在所述外部方波振蕩器與計算機并口之間以連線相連接,所述連線包括由計算機并口 DO D7中任意一條數據線與方波振蕩器供電電源VCC之間的電源接線、由計算機并口任意一條GND線與方波振蕩器GND相連接的接地線,以及由計算機并口中的ACK應答接收線與方波振蕩器輸出時鐘信號相連接的時鐘信號線。本發明多任務操作系統下的高精度定時器的實現方法的特點是按以下步驟完成a、調節頻率調節器,確定外部方波振蕩器輸出端時鐘基準;b、將計算機并口設置為允許中斷;C、開啟計算機并口中斷,置電源接線為高電位,啟動外部方波振蕩器,開始方波信號的輸出;d、利用中斷服務程序的設定,確定對方波振蕩器輸出的方波個數,開始定時操 作;e、置電源接線為低電位,關閉外部方波振蕩器,停止方波信號的輸出,關閉計算機并口中斷,停止定時操作。與已有技術相比,本發明有益效果體現在I、本發明通過在計算機并口上安裝頻率可調的方波振蕩器作為時鐘基準,利用中斷進行定時操作,就能達到在多任務操作系統下實現精確度為微秒級的高精度定時目的。2、本發明是在多任務操作系統環境下,同一計時周期內,只要確定對方波振蕩器輸出的方波個數即可實現相應的定時功能。3、本發明是以外部方波振蕩信號為基準,采用并口中斷,以硬件中斷的方式避免了在多任務操作系統下軟件編程調用函數的不確定性或過度占用資源等問題,可以實現微秒級的高精度定時。
圖I是本發明多任務操作系統下高精度定時器定時原理圖。
具體實施例方式參見圖1,本實施例中設置外部方波振蕩器是由外部方波振蕩電路101和外部頻率調節器102構成,在外部方波振蕩器與計算機并口 103之間以連線相連接,連線包括由計算機并口 2-9引腳即DO D7中任意一條數據線與方波振蕩器供電電源VCC之間的電源接線104、由計算機并口 18-25引腳中任意一條即任意一條GND線與方波振蕩器GND相連接的接地線105,以及由計算機并口中第10引腳即ACK應答接收線與方波振蕩器輸出時鐘信號相連接的時鐘信號線106。方波振蕩器中的方波振蕩電路101用于產生周期小于微秒的方波信號,頻率調節器102用于調節方波振蕩器的方波信號周期,確定方波振蕩器輸出端時鐘基準。當電源接線104電位為I即高電位時,方波振蕩器電源被接通,相當于開啟方波振蕩器,時鐘信號線106有方波信號輸出。當電源接線104的電位為0即低電位時,方波振蕩器電源被撤除,相當于關閉方波振蕩器,其時鐘信號線106無輸出。針對這一電路結構,本實施例中的多任務操作系統下高精度定時器按如下流程工作步驟201 :將頻率可調的方波振蕩器與計算機并口 103相連;步驟202 :調節頻率調節器102,確定方波振蕩器輸出端時鐘基準;
步驟203 :將計算機并口的端口設置為允許中斷;步驟204 :開啟并口中斷;步驟205 :置電源接線104的電位為I即高電位,啟動方波振蕩器,開始方波輸出;步驟206 :利用中斷服務程序的設定,確定對方波振蕩器輸出的方波個數,開始定時操作;步驟207 :置電源接線104的電位為0即低電位,關閉方波振蕩器,停止方波輸出;步驟208 :關閉計算機并口中斷,停止定時操作。
上述工作流程中,執行步驟204 208,即可實現微秒級的高精度定時;另一方面,執行步驟204 208時運用并口中斷技術,即避免了在多任務操作系統下軟件編程調用函數出現的不確定性或過度占用資源等問題。
權利要求
1.一種多任務操作系統下的高精度定時器的實現方法,其特征是 設置所述多任務操作系統下的高精度定時器為 以外部方波振蕩器產生基準信號,采用計算機并口中斷,實現微秒級的高精度定時; 設置所述外部方波振蕩器是由外部方波振蕩電路(101)和外部頻率調節器(102)構成,在所述外部方波振蕩器與計算機并口(103)之間以連線相連接,所述連線包括由計算機并口 DO D7中任意一條數據線與方波振蕩器供電電源VCC之間的電源接線(104)、由計算機并口任意一條GND線與方波振蕩器GND相連接的接地線(105),以及由計算機并口中的ACK應答接收線與方波振蕩器輸出時鐘信號相連接的時鐘信號線(106); 方波振蕩器中的方波振蕩電路(101)用于產生周期小于微秒的方波信號,頻率調節器(102)用于調節方波振蕩器的方波信號周期,確定方波振蕩器輸出端時鐘基準;當電源接線(104)電位為I即高電位時,方波振蕩器電源被接通,相當于開啟方波振蕩器,時鐘信號線(106)有方波信號輸出;當電源接線(104)的電位為O即低電位時,方波振蕩器電源被撤除,相當于關閉方波振蕩器,其時鐘信號線(106)無輸出; 所述多任務操作系統下的高精度定時器的實現方法是按以下步驟完成 a、調節頻率調節器(102),確定外部方波振蕩器輸出端時鐘基準; b、將計算機并口(103)設置為允許中斷; C、開啟計算機并口中斷,置電源接線(104)為高電位,啟動外部方波振蕩器,開始方波信號的輸出; d、利用中斷服務程序的設定,確定對方波振蕩器輸出的方波個數,開始定時操作; e、置電源接線(104)為低電位,關閉外部方波振蕩器,停止方波信號的輸出,關閉計算機并口中斷,停止定時操作。
全文摘要
本發明公開了一種多任務操作系統下的高精度定時器及其實現方法,其特征是以外部方波振蕩器產生基準信號,采用計算機并口中斷,實現微秒級的高精度定時。本發明能夠達到在多任務操作系統下實現精確度為微秒級的高精度的定時。
文檔編號G06F1/04GK102637060SQ201210115620
公開日2012年8月15日 申請日期2011年2月21日 優先權日2011年2月21日
發明者劉福峽, 吳本科, 袁自鈞, 陳向東, 高峰 申請人:合肥工業大學