• <ul id="ikuqo"></ul>
    <tfoot id="ikuqo"></tfoot>
    <tfoot id="ikuqo"></tfoot>
  • <ul id="ikuqo"><sup id="ikuqo"></sup></ul>
  • 閱讀 | 訂閱
    閱讀 | 訂閱
    測試測量

    嵌入式多路信號數據采集系統(二)

    星之球激光 來源:工控網2012-09-23 我要評論(0 )   

    3 系統軟件實現 3.1 C/OS2Ⅱ 嵌入式 操作系統 當需要進行多任務處理和 調度 時,一個嵌入式實時操作系統就必不可少。為此系統中采用源碼公開的C/OS2Ⅱ操作系統,它具有...

            3 系統軟件實現

     

      3.1 μC/OS2Ⅱ嵌入式操作系統

      當需要進行多任務處理和調度時,一個嵌入式實時操作系統就必不可少。為此系統中采用源碼公開的μC/OS2Ⅱ操作系統,它具有執行效率高、占用空間小、實時性能優良以及可擴展性強等特點,最小內核可編譯至2K字節。

      μC/OS2Ⅱ的移植需要滿足以下要求:

      ·處理器的C編譯器可以產生可重入代碼;

      ·可以使用C調用進入和退出臨界區代碼;

      ·處理器必須支持硬件中斷,并且需要一個定時中斷源;

      ·處理器需要能夠容納一定數據的硬件堆棧;

      ·處理器需要有能夠在CPU寄存器與內核和堆棧交換數據的指令。

      本系統使用的LPC2134ARM7處理器滿足以上所有條件,因此可以對其進行移植。根據μC/OS2Ⅱ的要求,移植μC/OS2Ⅱ到一個LPC2134ARM7體系結構上需要提供2個或3個文件:OSCPU.

      H(C語言頭文件)、OS-CPU-C.C(C程序源文件)及OS-CPU-A.ASM(匯編程序源文件)。

      數據采集任務中,采用C語言進行編程,但對于系統的初始化,仍然采用匯編來制作啟動代碼,它可以實現向量表定義、堆棧初始化、系統變量的初始化、中斷系統初始化、I/O初始化、外圍初始化、地址映射等操作。#p#分頁標題#e#

      芯片復位后,系統初始化流程如圖2所示。

     

      系統初始化流程圖

      圖2 系統初始化流程圖

     

      3.2 接口程序及SD卡驅動的實現

      在實時內核下,接口程序讀取A/D采樣數據的方法通常有三種:程序延時法、ADC轉換完畢時產生中斷法和程序循環等待的方法。其中循環等待的方法CPU開銷小,不需要中斷服務,比較適合嵌入式系統中采用。

      循環等待A/D讀取數據的偽代碼如下:

     

      

     

      之間通過串口相連,采集數據先通過開發板串口UART0發送到無線數據終端AYG285C的緩沖區,然后緩沖區將數據打成一個個數據包,通過GPRS網絡發送到遠程數據處理中心。因此,在μC/OS2Ⅱ下LPC2134的UART底層接口驅動顯得尤為重要。

      UART0初始化函數片斷如下:#p#分頁標題#e#

     

      

     

      在本系統中,串口通信采用8位數據位,1位停止位,奇校驗,無流控制。在實際使用中為接收數據穩定波特率設置為9600bps效果較好。在測試系統中,測量到的數據范圍為10-6~101,有效數字為4位,所以在發送數據時采用每幀數據由3個字節組成,第1個字節為數據指數部分,高四位為0,低四位中的第四位表示指數符號,0表示正數,1表示負數;其余三位表示指數的數值部分。

      后續兩個字節為數據底數部分,采用壓縮的BCD碼編碼方式,高位在前,低位在后,即一個字節表示兩位十進制數,則兩個字節表示四位十進制數。

      LPC2134的UART0使用中斷方式進行通信,這樣不會占用CPU很多時間,效率比較高。當中斷服務處理子程序接收到一次中斷,它僅能知道UART0產生了中斷,還需要查詢中斷標志寄存器U0IIR,依據不同中斷源類型進行不同處理。在處理完當前的中斷源類型之后,不能立即退出服務,而應當繼續判斷U0IIR寄存器最低位是否為0。

      如果為0,則表示還有尚未處理的中斷,應該繼續根據U0IIR[3∶0]判斷中斷源類型,進行處理,直到U0IIR的最低位為1,最后發送中斷結束命令結束中斷服務處理程序。

      SD卡讀寫軟件移植到ARM7微處理器LPC2134上的結構圖如圖3所示。其中硬件抽象層是讀寫SD卡的硬件條件配置,是與硬件相關的函數;命令層包含SD卡的相關命令以及卡與主機之間數據流的控制,這一層與實時操作系統μC/OS2Ⅱ相關,與硬件無關;應用層是向應用程序提供卡的API函數,這一層由實時操作系統μC/OS2Ⅱ控制。

     

      SD卡讀寫軟件移植結構圖

      圖3 SD卡讀寫軟件移植結構圖#p#分頁標題#e#

          

            3.3 應用程序實現

      系統初始化完成后,創建各個任務,進入多任務調度處理。應用程序框架流程如圖4所示。

      本系統的主要任務是完成數據采集。系統在得到遠程數據中心的采集命令后,選擇適當的采集通道,并設置A/D模塊參數。在采集過程中判斷是否要停止,如果停止,任務處于等待掛起狀態。

     

      應用程序框架流程圖

      圖4 應用程序框架流程圖

     

      4 結語

       本系統采用了ARM+RTOS以及ARM+GPRS的方案,選取適當的器件構成了多路的數據采集系統,具有一定的實用價值。考慮到現場采集到的多是小信號,為了有較好的準確度和精確度,對A/D后的采集數據還要進行分析和調整,然后再發送到數據處理中心。為此,可以進行反復實驗,獲得多組數據,最后通過最小二乘法曲線擬合來提高準確度。另外,隨外界環境的變化,也可以修改擬合曲線以適應具體的應用。隨著3G時代的來臨,大量數據信息的傳輸成為可能,可以考慮采集現場的相關視頻信號。在短消息功能,數據加密技術以及軟件操作和文件管理上還有待進一步開發和優化。

     

    轉載請注明出處。

    暫無關鍵詞
    免責聲明

    ① 凡本網未注明其他出處的作品,版權均屬于激光制造網,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權范圍內使 用,并注明"來源:激光制造網”。違反上述聲明者,本網將追究其相關責任。
    ② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本媒贊同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯系我們刪除。
    ③ 任何單位或個人認為本網內容可能涉嫌侵犯其合法權益,請及時向本網提出書面權利通知,并提供身份證明、權屬證明、具體鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件后,將會依法盡快移除相關涉嫌侵權的內容。

    網友點評
    0相關評論
    精彩導讀