新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM9和μC/OSII的多頻道數據采集系統的智能化設計

        基于ARM9和μC/OSII的多頻道數據采集系統的智能化設計

        作者: 時間:2012-05-07 來源:網絡 收藏
        引言

        隨著IT技術、電子技術、通信技術、以及自動控制技術的飛速發展,對工業現場數據的高速實時采集就成為電子產品和工業控制技術發展不可避免的一個環節。

        本文針對高速實時多任務數據采集中的多任務實現算法以及實時性、實效性和高速性的要求,提出了基于和μC/OSII操作系統的智能化設計方案,實現了任務優先級動態調度、系統工作參數動態設定、系統內部軟件智能化設計,針對低速外圍設備進行了系統優化,并提高了系統可靠性改善了內部任務同步性。

        1 整體電路設計

        整個采集系統的硬件電路如圖1所示。首先利用多路調制電路對12路信號進行調制,這部分包含相應的信號轉換、抗干擾、以及初步的信號處理等,使得各路采集信號能夠達到內核對信號采集的要求。經多路選擇和ADC采樣后進入內核。為了實現對整個系統工作狀態的實時監視、實時控制和實時調節,設置了上位機監視器和現場顯示觸摸屏,將用戶所有要求顯示的信息在上位機顯示輸出或者在現場LCD同步顯示輸出。采樣按照采樣頻段分為高頻段(300~200 ksps)、中頻段(200~100 ksps)、和低頻段(小于100 ksps)3個頻段,每個頻段由4個外部采樣通道組成。ARM9內核與上位機的通信利用UART和RS232轉換電路來實現。系統工作電源由統一的電源供給,在實現電壓轉換后對PC機和ARM9內核以及相應的工作電路提供電源支持。

        圖1 硬件電路

        2 系統總體軟件設計思路

        系統的軟件設計原理如圖2所示。12路采集信號經調制電路多路選擇和ADC采樣后進入各個采集任務內部通道。每一路采集通道都設計獨立的數據采集、數據存儲、數據處理以及數據提交任務。也就是說,每一路外部采集通道都對應一個獨立的內部數據通道,而且本通道數據只在本通道內進行存儲、處理和傳遞。各個內部數據通道任務之間只有在系統調度時執行時間上的先后關系、優先級關系,沒有數據耦合關系。

        圖2 系統軟件設計原理圖

        命令掃描部分由獨立的上位機和下位機掃描任務完成對上位機監視器和下位機觸摸屏的實時監控,一旦檢測到用戶命令,立即將其發送給命令解析和處理任務,由該任務對用戶命令進行分析處理。命令處理完后將提取的結果發送給用戶要操作的采樣通道,使之按照用戶要求運行。

        各個頻段的各個通道采集任務均設置兩個數據緩沖區。雙數據緩沖區為采樣任務順利存儲提供了雙重保證,使得采樣工作一旦結束就有可用緩沖區,就可立即將數據存儲而后進行下一次采集。也使得后續的數據處理任務減少數據等待時間,能迅速得到當前采樣通道需要處理的數據,并在最短的時間內處理發送給下一級任務。
        采樣、數據顯示、命令掃描都涉及外圍設備,是整個系統所有任務里面運行速度最慢的,針對采樣任務設置雙數據緩沖區可以很大幅度地改善由于采樣速度慢而造成的系統速率下降問題,顯示和命令掃描部分的優化設計將在下文中詳細說明。

        3 內部軟件調度算法

        系統內部各個頻段命令如圖3所示。命令掃描函數捕捉到用戶命令后,對用戶命令進行驗證、分析、提取,而后將提取結果以廣播的方式發送至各個頻段的命令等待隊列。該隊列如得到新的命令,將用戶命令發送給本隊列下轄的各個采樣任務函數,用戶命令將立即得到執行,包括通道切換、變換采樣周期、改變當前任務優先級、顯示特定通道數據等。如沒有得到新的命令,等待超時后采樣任務按照原有方式繼續工作。這也是一種智能化設計,以很簡單的方式實現了按照用戶命令隨時對任何通道的查看、監督、操作、工作狀態切換、通道切換、由單通道到所有通道并行實時采集切換等所有功能的任意切換。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 双城市| 盘锦市| 崇义县| 工布江达县| 高安市| 沙田区| 鹤山市| 望谟县| 峡江县| 湄潭县| 辽宁省| 太保市| 灌云县| 云霄县| 确山县| 长沙市| 保康县| 平果县| 丹江口市| 辰溪县| 遂川县| 青阳县| 东丰县| 霸州市| 巴中市| 宁乡县| 丹东市| 洪雅县| 雷州市| 石楼县| 黑水县| 黑龙江省| 德令哈市| 竹溪县| 宜川县| 大石桥市| 南漳县| 万源市| 格尔木市| 沭阳县| 寿宁县|