<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2009-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏

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


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

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


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


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>