新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式便攜數據采集分析儀

        一種嵌入式便攜數據采集分析儀

        作者: 時間:2012-04-20 來源:網絡 收藏

        USB固件

        儀器上的USB驅動程序也稱為USB固件。儀器連接到上位機后,PDIUSBD12響應上位機的信號,并向ARM7發出中斷請求。ARM7響應中斷并調用固件中的程序處理上位機的請求,發送數據。數據從SDRAM或FLASH傳輸到PDIUSBD12,由后者發送給上位機。數據傳輸采用bulk方式以保證準確性。實際傳輸實驗表明,傳輸速度達到1Mbytes。

        應用軟件

        數據分析軟件是本儀器應用軟件的主要部分。目前已開發出的數據分析軟件是示波器功能軟件。本儀器在采集數據的同時可以由大屏幕液晶顯示器進行波形示蹤。這個功能的實現充分體現了ARM7比單片機運算速度快的優勢。A/D的最高采樣速率是200ksps,即每個采樣周期為5ηs。ARM7運行在64MHz主頻下,每個周期為15.625ns。這樣每個采樣周期包括320個主頻周期。ARM7具有0.97MIPSMHz的指令效率,320個主頻周期可以運行約 310條的指令。在計數器觸發A/D采樣的情況下,處理器的工作是每采樣周期從A/D讀取一次數據并保存到RAM中,代碼如下:

        LDRr0,[r1];/*寄存器r1中保存了A/D數據寄存器的地址;需要3周期*/

        STRr0,[r2,#4]!;/*寄存器r2中保存了RAM中數據存儲空間的起始地址;需要2周期*/

        這個操作需要5個主頻周期。利用剩余的A/D轉換時間,ARM7就可以將上一次采集的數據顯示在大屏幕液晶上,實現波形示蹤,方便使用者進行現場信號觀察,省去了攜帶示波器的麻煩。這是其他的數據采集儀所不具備的。

        充分利用ARM7高性能的優勢,還可以進行其他數據分析處理。目前其他數據處理功能正在開發中。μC/OS-II操作系統大部分用C語言編寫,開發方便。除儀器自帶的軟件模塊外,用戶可以自己開發新的模塊,不斷擴展功能。

        實驗數據

        按照上述思路設計的已經初步實現。使用s3c44b0x內置A/D變換器進行實驗。選擇內觸發方式和倍頻觸發方式分別采集714Hz三角波。內觸發方式選擇最高采樣頻率fs=100kHz,采樣長度為512點;倍頻觸發模式選擇32倍頻(N=32),采集4個周期(M=4);各采樣兩組。將采集到的數據通過USB傳輸到電腦,用Matlab軟件進行數據處理,分別繪制波形圖;進行FFT后繪制幅頻圖。結果如圖4所示。

        從圖4中各圖可以看出由本儀器采集的數據繪制的波形平滑沒有雜波,說明儀器實現了其性能指標。

        43.jpg
        圖4 對三角波的采樣對比分析圖

        對比圖4中各圖可以看出這兩種觸發方式的幾點區別:

        (1)圖4a和圖4c中兩個波形存在相位差異;而圖4e和圖4g的相位是相同的。這說明內觸發采樣開始和結束的時間是隨機的;而倍頻觸發采樣的起點(開始于外觸發)和終點(結束于整周期末尾),都是相對固定的。

        (2)圖4a和圖4c的波形都不是整周期的;圖4e和圖4g的波形都是整4個周期。

        (3)反映在各自的FFT幅頻圖上:圖4b和圖4d都有明顯的泄漏效應和柵欄效應,最大旁瓣幅值為一倍頻幅值的5.75%;圖4f和圖4h都是干凈的三角波n次諧波分量的譜線,最大旁瓣幅值僅為一倍頻幅值的1.09%。上述現象說明倍頻觸發方式能保證采樣數據序列的整周期截斷,保證采樣頻率是待測信號基頻的整數倍,有利于提高FFT信號分析的準確性;內觸發采樣則由于其采樣頻率和截斷長度的人為性,以及開始和結束的隨機性,不具備這個特點。要得到好的 FFT結果,或者修改采樣頻率和截斷長度,或者加特種窗函數,給測試過程帶來許多麻煩。

        每一種被測信號均有不同的特性。選擇合適的觸發方式可以過濾無用的信號,獲得更多有用的信號。例如進行旋轉機械振動測試時選用本儀器提供的倍頻觸發方式就可以獲得適合進行FFT的整周期信號,利于后續分析;其他的觸發方式就顯得不適合。而采集激勵振動信號就需要選用電平觸發方式,以準確獲得從激勵開始的信號。作為儀器設計者,應當多進行各種測試實踐,了解各種測試的實際需要,不斷豐富儀器的采樣觸發方式,以適應不同測試環境的需要。


        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 静安区| 东港市| 增城市| 万宁市| 广灵县| 衡东县| 离岛区| 微博| 西丰县| 丽水市| 衢州市| 汉源县| 孝感市| 林口县| 新晃| 县级市| 龙海市| 宝坻区| 兴义市| 武强县| 龙里县| 凤台县| 宁陕县| 博爱县| 大宁县| 义乌市| 永平县| 东辽县| 乐安县| 定日县| 乳源| 邯郸市| 顺昌县| 开阳县| 平凉市| 普兰县| 甘孜县| 绵阳市| 扶沟县| 仙游县| 榆树市|