• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 便攜式數據采集系統的設計

    便攜式數據采集系統的設計

    作者: 時間:2009-12-08 來源:網絡 收藏

    Linux設備驅動程序實現的功能包括驅動程序的注冊與注銷、設備的打開與釋放、設備的讀寫操作、設備的控制操作等。當用戶需要通過設備文件與硬件通信時,必須通過調用open、read、write、close、ioctl等函數實現,這些函數都由file_operations結構體的函數指針成員給出入口地址,file_operations結構體的每一個成員名都對應一個函數嗍。用戶進程利用調用在對設備文件進行諸如read、write操作時,系統調用通過設備文件的主設備號找到相應的設備驅動程序,然后讀取該數據結構相應的函數指針,接著把控制權交給該函數。因此,編寫設備驅動程序就是編寫file_operations數據結構的各個函數指針對應的各個函數,隨著Linux設備驅動程序的復雜程度越來越高,file operations結構體的成員數越來越多,但并不是每種設備的驅動程序都需要利用file_operations中的全部功能,大多數驅動程序只是利用其中一部分,對于驅動程序中無需提供的功能,只需將相應位的數值設為NULL。本系統將作為字符型設備驅動程序,對于字符設備來說,file_operations結構體中要提供的主要入口有:打開設備文件open()、釋放設備文件release()、讀取A/D轉換的數據read()、啟動A/D轉換和選取A/D轉換的讀數通道號write()、A/D轉換參數快速設置ioctl()。
    結合與S3c24lO的接口電路,驅動程序時,采用中斷方式或者查詢方式讀取轉換數據。采用查詢方式在驅動程序中需將通用輸入輸出引腳GPF4設置成輸入模式,在應用程序中反復查詢GPF4的輸入狀態,當查詢到低電平時表明A/D轉換器完成一次轉換,此時可調用驅動程序中的read()函數讀取轉換結果;采用中斷方式需在驅動程序中將GPF4設置中斷方式,將中斷觸發方式設置下降沿觸發,產生的EOC信號觸發Linux系統的外中斷EINT4,應用程序只需打開ADS8364所對應的設備文件,并采用write()函數啟動相應通道開始轉換,然后由驅動程序中的中斷服務函數將數據存放到一個全局變量中,應用程序通過read()函數讀取數據,因此,利用中斷方式采集數據速度更高、讀數控制更簡單。圖4為采用中斷方式的程序流程。


    5 測試結果
    該系統已應用于某油田的井口多參數采集裝置,前端分別接壓力、流量、流速、溫度等傳感器,用來測量采油井井口的多種參數。經測試,該系統與傳統的基于單片機的多參數測量裝置相比,具有界面美觀,易操作,精度高,可方便利用存儲卡或U盤存儲重要設置參數、系統運行狀態的數據和測量數據,便于使用者管理和維修等優點。表1為該系統所測量值與實際值的對比情況。

    從表1看出,該系統的測量誤差很小,其中所測量的多個電壓點,相對誤差都小于O.08%,這樣的精度可滿足應用需求。


    6 結束語
    本文提出的基于嵌入式Linux技術的系統,與傳統的單片機或DSP技術實現的系統相比較,具有功耗低、體積小、用戶操作界面友好、采集精度高、便于擴展升級等優點。ARM的片上資源豐富,Linux操作系統的功能強大,該系統通過外接不同傳感器可實現多種參數采集,利用系統的豐富GPIO接口編程設計多個外部設備控制動作,完成多通道PWM輸出。該系統在石油鉆采、工廠自動化等領域具著廣泛的應用前景。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 德清县| 柳州市| 石景山区| 内乡县| 元江| 天全县| 石城县| 景洪市| 广平县| 临桂县| 绥宁县| 军事| 格尔木市| 华阴市| 驻马店市| 江北区| 扎囊县| 长沙市| 罗城| 永清县| 恩施市| 陆良县| 建昌县| 商水县| 祥云县| 砀山县| 乌兰察布市| 华亭县| 河北省| 隆子县| 克什克腾旗| 普兰店市| 射阳县| 瓦房店市| 安阳市| 常山县| 年辖:市辖区| 临澧县| 苏尼特左旗| 富顺县| 鹤峰县|