国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種支持Android的多通道數(shù)據(jù)采集卡設(shè)計(jì)

2014-03-08 06:41羅健飛吳仲城
自動(dòng)化與儀表 2014年7期
關(guān)鍵詞:采集卡固件驅(qū)動(dòng)程序

蘇 湘,羅健飛,吳仲城,申 飛

(中國(guó)科學(xué)院合肥物質(zhì)科學(xué)研究院,合肥 230031)

數(shù)據(jù)采集技術(shù)應(yīng)用廣泛,如科學(xué)研究、生產(chǎn)過(guò)程及現(xiàn)場(chǎng)施工中瞬態(tài)信號(hào)和環(huán)境參數(shù)的采集[1-2]。Android是目前最為流行的移動(dòng)終端操作系統(tǒng),并保持迅猛的發(fā)展,并擴(kuò)展到平板和智能電視等領(lǐng)域[3]??蒲泻蜕a(chǎn)領(lǐng)域的數(shù)據(jù)采集在精度和速度上有較高要求,而Android是針對(duì)娛樂(lè)多媒體應(yīng)用的,在軟硬件架構(gòu)上并沒(méi)有像傳統(tǒng)桌面電腦一樣提供方便的數(shù)據(jù)采集接口和驅(qū)動(dòng)。但設(shè)備的便攜化是大勢(shì)所趨,如果能在Android移動(dòng)設(shè)備上實(shí)現(xiàn)數(shù)據(jù)采集接口,方便構(gòu)建專(zhuān)業(yè)的測(cè)試與分析系統(tǒng),將在科研與工業(yè)生產(chǎn)等領(lǐng)域有廣闊應(yīng)用前景。

目前移動(dòng)終端已具備較強(qiáng)的處理能力[4],CPU主頻可達(dá)2 GHz,機(jī)身存儲(chǔ)容量可達(dá)64 GB,這為移動(dòng)設(shè)備上測(cè)試分析系統(tǒng)的構(gòu)建提供了條件,但其具體實(shí)現(xiàn)仍有諸多難點(diǎn),如軟件開(kāi)發(fā)上涉及內(nèi)容廣,要同時(shí)熟悉操作系統(tǒng)底層架構(gòu)和上層應(yīng)用程序的設(shè)計(jì),另外用于數(shù)據(jù)傳輸?shù)慕涌谶x擇也相對(duì)較少。

本文基于C8051F320設(shè)計(jì)了16位精度的數(shù)據(jù)采集卡,支持6通道模擬電壓信號(hào)的實(shí)時(shí)采集,設(shè)計(jì)了多種數(shù)據(jù)連接方式便于不同應(yīng)用場(chǎng)合的使用,并設(shè)計(jì)了該數(shù)據(jù)采集卡的Android驅(qū)動(dòng)程序以及基于該驅(qū)動(dòng)程序接口的多維力傳感器[5]實(shí)時(shí)數(shù)據(jù)采集Android應(yīng)用程序。

該采集卡的設(shè)計(jì)是對(duì)Android下實(shí)現(xiàn)較高要求的數(shù)據(jù)采集任務(wù)的探索研究,對(duì)Android移動(dòng)設(shè)備下專(zhuān)業(yè)測(cè)試測(cè)量系統(tǒng)的構(gòu)建具有一定的參考作用。

1 系統(tǒng)設(shè)計(jì)

1.1 硬件電路設(shè)計(jì)

C8051F320為增強(qiáng)型51內(nèi)核單片機(jī),采用流水線指令結(jié)構(gòu),速度可達(dá)25 MIPS。片內(nèi)集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。C8051F320片內(nèi)自帶有USB收發(fā)器。系統(tǒng)的硬件架構(gòu)圖如圖1所示。

圖1 系統(tǒng)硬件架構(gòu)圖Fig.1 Hardware structure of the system

該采集卡用于實(shí)時(shí)采集外部傳感器輸出的模擬電壓信號(hào),進(jìn)行數(shù)據(jù)處理并傳輸至Android主機(jī),其硬件電路設(shè)計(jì)有電源管理、模數(shù)轉(zhuǎn)換和數(shù)據(jù)接口3個(gè)部分:

1)電源管理:設(shè)計(jì)的供電電壓為5 V,使用線性直流電壓轉(zhuǎn)換芯片轉(zhuǎn)換為3.3 V用于板上芯片供電。外部可選擇USB供電和外接直流電源供電,適合不同的使用場(chǎng)合。

2)模數(shù)轉(zhuǎn)換:提供6路模擬電壓輸入接口,對(duì)每通道模擬輸入進(jìn)行濾波去除高頻噪聲,模擬信號(hào)經(jīng)16位的AD芯片轉(zhuǎn)換為數(shù)字信號(hào)。

3)數(shù)據(jù)接口:設(shè)計(jì)了3種接口用于接入Android終端,分別是 USB Host(USB 主機(jī)方式),USB Device(USB從機(jī)方式)和UART,使用時(shí)通過(guò)電路板的短路帽連接進(jìn)行選擇。3種接口方式均由C8051F320的同一串口引出,這樣在使用不同的接口方式與Android終端連接時(shí)只需改變短路帽連接,而不需要修改采集卡的固件程序。與Android終端的USB Host和USB Device接口的連接是通過(guò)使用FTDI公司的FT230和FT312D芯片來(lái)完成橋接的。

1.2 固件程序設(shè)計(jì)

該采集卡的固件程序用于控制模擬電壓信號(hào)的采集與傳輸,同時(shí)可接受主機(jī)發(fā)送來(lái)的命令字執(zhí)行相應(yīng)的處理,如采集的開(kāi)始與停止、采樣通道數(shù)和采樣頻率的改變。程序流程如圖2所示。

圖2 采集卡固件程序流程圖Fig.2 Flow chart of the DAQ card firmware

C8051F320上電后進(jìn)行一系列初始化,包括IO口、系統(tǒng)時(shí)鐘、定時(shí)器等,并對(duì)AD轉(zhuǎn)換器進(jìn)行初始配置。進(jìn)入主程序后首先會(huì)查詢定時(shí)器時(shí)間是否到達(dá),若定時(shí)時(shí)間到,則控制AD轉(zhuǎn)換器采集固定通道數(shù)的數(shù)據(jù),對(duì)采集的數(shù)據(jù)進(jìn)行平均濾波[6]去除白噪聲,然后將處理后的數(shù)據(jù)發(fā)送給主機(jī)。若定時(shí)時(shí)間未到,則直接進(jìn)行下一步操作。接下來(lái)會(huì)查詢主機(jī)是否有命令到達(dá),主機(jī)發(fā)送來(lái)的命令用中斷方式接收,如沒(méi)有收到命令,則回到上一步判斷定時(shí)時(shí)間是否到。一旦接收到主機(jī)發(fā)送的命令,就解析出命令字,執(zhí)行對(duì)應(yīng)的動(dòng)作,例如開(kāi)始采集和停止采集命令會(huì)導(dǎo)致開(kāi)或關(guān)定時(shí)器,采樣速率控制命令會(huì)改變定時(shí)時(shí)間的裝載值從而達(dá)到改變采樣速率的目的。采樣通道數(shù)可設(shè)置為1~6個(gè)通道,采樣頻率可設(shè)置到500 Hz。

2 數(shù)據(jù)采集性能測(cè)試與優(yōu)化

本文在Windows操作系統(tǒng)下用LabVIEW圖形化編程語(yǔ)言[7]設(shè)計(jì)了該采集卡的測(cè)試系統(tǒng),測(cè)試系統(tǒng)的功能包括數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析與實(shí)時(shí)顯示等部分。圖3和圖4分別是采集的外部多維力傳感器原始數(shù)據(jù)的時(shí)域波形圖和FFT變換后的頻域波形圖。

圖3 多通道模擬輸入信號(hào)波形Fig.3 Oscillograph of Multi-channel analog input

圖4 某通道FFT頻域波形圖Fig.4 FFT oscillograph of one channel

從獲取的傳感器時(shí)域波形圖可看出該采集卡能實(shí)時(shí)穩(wěn)定的進(jìn)行多通道的模擬電壓信號(hào)的采集,數(shù)據(jù)隨著施加在多維力傳感器上力的改變而波動(dòng)。

傳感器靜止放置時(shí)對(duì)其中某一通道輸入信號(hào)進(jìn)行FFT變換后得到的頻域波形圖有一個(gè)很大的直流分量,其余頻率對(duì)應(yīng)的幅度均接近于0,微小的波動(dòng)為電路的隨機(jī)噪聲導(dǎo)致?;谝陨系臏y(cè)試結(jié)果,后期在采集卡的固件程序中設(shè)計(jì)了平均值濾波算法,獲得了更加精確穩(wěn)定的數(shù)據(jù)。

另外在測(cè)試系統(tǒng)中設(shè)計(jì)了采集卡的采樣頻率測(cè)試功能,通過(guò)對(duì)每秒最終采集的點(diǎn)數(shù)進(jìn)行統(tǒng)計(jì)分析,對(duì)比理論設(shè)計(jì)的采樣速率與實(shí)際能達(dá)到的采樣速率之間的差異。圖5為設(shè)置為120 Hz采樣速率下每秒實(shí)際的采樣點(diǎn)數(shù)的統(tǒng)計(jì)情況。

圖5 120Hz采樣速率下采樣點(diǎn)數(shù)統(tǒng)計(jì)結(jié)果Fig.5 Statistical result of 120Hz sample rate

從圖中可看到120 Hz的理論采樣率下實(shí)際能獲得118 Hz的平均采樣率,該采集卡能非常穩(wěn)定地進(jìn)行模擬電壓信號(hào)的采集。

3 采集卡相關(guān)Android程序設(shè)計(jì)

本文使用的Android終端主板基于S5PV210開(kāi)發(fā),S5PV210是三星公司推出的ARM CortexTMA8內(nèi)核的處理器,主頻可達(dá)1 GHz,可實(shí)現(xiàn)2000 DMIPS的高性能運(yùn)算,并在該主板上移植了Android 4.0操作系統(tǒng)。該終端同時(shí)具備UART接口、USB Host接口和USB Device接口,便于采集卡的Android驅(qū)動(dòng)程序和數(shù)據(jù)采集應(yīng)用程序的設(shè)計(jì)和測(cè)試,下面將對(duì)程序設(shè)計(jì)的工作進(jìn)行介紹。

3.1 采集卡驅(qū)動(dòng)程序設(shè)計(jì)

驅(qū)動(dòng)程序用于Android終端與采集卡之間的通信,包括采集卡的控制和數(shù)據(jù)的傳輸,應(yīng)用開(kāi)發(fā)者只需調(diào)用驅(qū)動(dòng)程序提供的接口就可方便構(gòu)建數(shù)據(jù)采集應(yīng)用系統(tǒng)。本文基于Google的開(kāi)源項(xiàng)目android-serialport-api(用于帶串口的Android設(shè)備與外部設(shè)備之間的串口通信項(xiàng)目)和FTDI公司官方的J2xx相關(guān)軟件包設(shè)計(jì)了采集卡的Android驅(qū)動(dòng)程序,實(shí)現(xiàn)了多種接口方式下Android終端與采集卡之間的通信,該驅(qū)動(dòng)程序提供的接口方法描述如表1所示。

表1 采集卡Android應(yīng)用程序接口方法描述Tab.1 Method description of the DAQ card API

3.2 數(shù)據(jù)采集Android應(yīng)用程序設(shè)計(jì)

Android是支持多任務(wù)多線程的移動(dòng)操作系統(tǒng),其應(yīng)用程序使用Java編程語(yǔ)言開(kāi)發(fā)。Android數(shù)據(jù)采集應(yīng)用程序采用了生產(chǎn)者/消費(fèi)者架構(gòu),創(chuàng)建一個(gè)線程用于傳感器數(shù)據(jù)的讀取,并將讀取到的有效數(shù)據(jù)放入緩沖隊(duì)列中,該數(shù)據(jù)讀取線程就是“生產(chǎn)者”。另外創(chuàng)建一個(gè)用于傳感器數(shù)據(jù)刷新顯示的線程,從緩沖隊(duì)列取出數(shù)據(jù)并實(shí)時(shí)刷新界面顯示,該數(shù)據(jù)刷新線程就是“消費(fèi)者”。Android的觸控界面交互是使用UI線程的事件觸發(fā)機(jī)制來(lái)完成的,對(duì)界面的控件注冊(cè)事件監(jiān)聽(tīng)器,當(dāng)有用戶界面事件發(fā)生時(shí)就執(zhí)行相應(yīng)的操作。圖6為Android數(shù)據(jù)采集應(yīng)用程序的流程圖。

圖6 數(shù)據(jù)采集Android應(yīng)用程序流程圖Fig.6 Flow chart of the DAQ application

在本文使用的Android終端下能實(shí)現(xiàn)多維力傳感器數(shù)據(jù)的實(shí)時(shí)采集,用戶界面交互流暢,采集卡運(yùn)行穩(wěn)定,Android下數(shù)據(jù)采集應(yīng)用程序運(yùn)行效果圖如圖7所示。

圖7 Android數(shù)據(jù)采集應(yīng)用程序運(yùn)行效果圖Fig.7 Effect of plans of Android DAQ application

4 結(jié)語(yǔ)

數(shù)據(jù)采集系統(tǒng)更加小巧和便攜是未來(lái)的發(fā)展趨勢(shì)。創(chuàng)建測(cè)試測(cè)量應(yīng)用系統(tǒng)一般都在傳統(tǒng)桌面電腦環(huán)境下進(jìn)行,而便攜式Android終端下測(cè)試測(cè)量應(yīng)用系統(tǒng)的構(gòu)建因?yàn)殡y點(diǎn)頗多而沒(méi)有取得較大進(jìn)展。

本文設(shè)計(jì)的支持Android的多通道數(shù)據(jù)采集卡,是對(duì)Android移動(dòng)終端下專(zhuān)業(yè)數(shù)據(jù)采集任務(wù)實(shí)現(xiàn)的探究。系統(tǒng)的設(shè)計(jì)包括硬件電路設(shè)計(jì)與測(cè)試,硬件固件程序的設(shè)計(jì),數(shù)據(jù)采集卡的Android驅(qū)動(dòng)程序設(shè)計(jì)以及數(shù)據(jù)采集應(yīng)用程序的開(kāi)發(fā),最終該采集模塊能穩(wěn)定精確的獲取外部傳感器的數(shù)值并能實(shí)時(shí)顯示。

該采集模塊的設(shè)計(jì)對(duì)Android移動(dòng)設(shè)備下專(zhuān)業(yè)測(cè)試測(cè)量系統(tǒng)的構(gòu)建具有一定的參考作用,在科研工作和工業(yè)生產(chǎn)現(xiàn)場(chǎng)等場(chǎng)景下有很好的應(yīng)用前景。

[1] 馬明建.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,2009.

[2] 張少敏,羅壯強(qiáng),宗勁沖.基于Android的平板電腦現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)在供電公司的應(yīng)用與研究[J].電腦知識(shí)與技術(shù),2012,8(19):4581-4583.

[3] Reto Meier.Professinal Android 4 Application Development[M].Indiana:John Wiley&Sons,Inc,2012.

[4] 張寧.基于Android的移動(dòng)終端數(shù)據(jù)采集的實(shí)現(xiàn)[D].內(nèi)蒙古:內(nèi)蒙古大學(xué)電子信息工程學(xué)院,2013.

[5] Baoyuan Wu,JianfeiLuo,F(xiàn)eiShen,etal.Optimum design method of multi-axis force sensor integrated in humanoid robot foot system[J].Measurement,2011,44(9):1651-1660.

[6] 劉葉平.基于單片機(jī)系統(tǒng)的數(shù)字濾波方法[J].科技傳播,2012(17):205-206.

[7] Jeffrey Travis,Jim Kring.LabVIEW大學(xué)實(shí)用教程[M].喬瑞萍,等譯.北京:電子工業(yè)出版社,2009. ■

猜你喜歡
采集卡固件驅(qū)動(dòng)程序
高精度AD采集卡性能測(cè)試及評(píng)價(jià)方法研究
血液采集卡存儲(chǔ)裝置的設(shè)計(jì)與應(yīng)用
阻止Windows Update更新驅(qū)動(dòng)程序
計(jì)算機(jī)硬件設(shè)備驅(qū)動(dòng)程序分析
面向數(shù)控機(jī)床的多通道傳感數(shù)據(jù)采集卡設(shè)計(jì)
基于SHA1的SCADA系統(tǒng)PLC固件完整性驗(yàn)證方法
脈沖采集卡的開(kāi)發(fā)
基于固件的遠(yuǎn)程身份認(rèn)證
英特爾發(fā)布免費(fèi)固件引擎
提取ROM固件中的APP
遂昌县| 武冈市| 自贡市| 南漳县| 双辽市| 镇远县| 西盟| 宜黄县| 桃园市| 乡宁县| 获嘉县| 淳化县| 同仁县| 合阳县| 秦安县| 沿河| 台湾省| 和田市| 佛山市| 定陶县| 淮滨县| 莆田市| 乌拉特前旗| 霍林郭勒市| 民乐县| 遂宁市| 永新县| 密云县| 双流县| 宿州市| 彰化县| 新泰市| 锡林浩特市| 静宁县| 铁岭市| 贵定县| 沙河市| 宁武县| 固阳县| 应用必备| 习水县|