基于 Android 平臺的 USB 數(shù)據(jù)采集系統(tǒng)
UsbAccessory 本類是針對Open Accessory API設(shè)計的。UsbConstants作為USB 常量定義,在Linux內(nèi)核文件linux/usb/ch9 . h中。UsbDevice獲取USB設(shè)備的信息,比如說類型、制造商等等。
UsbDeviceConnection 這個是USB 設(shè)備傳輸控制的核心。UsbEndpoint 獲取一個USB 終端信息。UsbInt erface USB 底層接口,獲取一些信息底層信息,比如說通訊協(xié)議,等等。UsbManager USB管理類,它提供了識別和使用的USB 設(shè)備和USB 配件通訊方法。應(yīng)用程序可以獲取一個UsbManager實例,然后用于連接的設(shè)備或配件清單查詢,管理、通信。UsbRequest 核心的USB請求處理類,支持讀寫操作,以字節(jié)數(shù)組方式處理一個 UsbEndpoint,
Android12.3提示這個類類似WinCE串口通訊的CreateFile部分,可以進行數(shù)據(jù)流的讀寫。
1.3 Android 應(yīng)用程序組件
Android應(yīng)用程序由松散耦合的組件組成。各個應(yīng)用是相互獨立的,并運行在自己的進程當(dāng)中,要進行Android的移動應(yīng)用程序的開發(fā),開發(fā)人員需要熟悉以下幾個基本組件:
Activity(活動) 應(yīng)用程序中每個屏幕都是Activity類的擴展,活動使用視圖來形成顯示信息和響應(yīng)用戶動作的圖形界面。Broadcast Receiver(廣播接收器) 通過創(chuàng)建和注冊廣播接收器,應(yīng)用程序可以監(jiān)聽到那些匹配特定的過濾標準的廣播。Intent( 意圖) 應(yīng)用程序間傳遞消息的框架。View 是Android中圖形用戶界面的基類,提供可視化界面的展示。
1 . 4 Android 應(yīng)用程序設(shè)計
Android應(yīng)用程序開發(fā)是由Java語言實現(xiàn)的,具體是由Google為開發(fā)者提供的一些類和接口組成。本設(shè)計主要用到USB 類、數(shù)據(jù)存儲SQLiteDatabase類、視圖顯示SurfaceView 類以及一些Android 小組件類等。程序設(shè)計框架如圖3。
圖3 Android 程序框架
該設(shè)計共創(chuàng)建五個Activity來實現(xiàn)人機交互界面,使用戶操作起來方便快捷。MainMenuActivity 是主界面,由這一界面可以進入以下三個界面:USBconnect Activity是USB 連接界面,在這個類里實現(xiàn)設(shè)置要連接的USB 的端口參數(shù),查找并發(fā)現(xiàn)USB 設(shè)備,按條件枚舉USB 設(shè)備,得到連接設(shè)備的權(quán)限,連接USB設(shè)備,終止已連接的USB 設(shè)備等功能,如USB 設(shè)備連接成功則進入下一界面;USBMonitorActivity 是接收USB 數(shù)據(jù)的界面,USB 連接成功后,開始接收數(shù)據(jù),并把已接收的數(shù)據(jù)以文件形式存入 SD 卡中;FileListActivity 是顯示已存入SD卡所有文件的列表界面,單擊文件進入顯示波形界面。除了Acti vity ,該程序還注冊了BroadcastReceiver( 廣播消息) 來接收系統(tǒng)USB 連接消息的通知。同時各個Activity之間的通信是由Intent 實現(xiàn)的,界面的一些按鈕、布局等是由View實現(xiàn)的。
2 LPC2142 前端采集平臺設(shè)計
本設(shè)計前端采用ARM7處理器LPC2142作為硬件開發(fā)平臺,LPC2142是PHILIPS公司生產(chǎn)的基于支持仿真和嵌入式跟蹤的32位ARM7TDMI-S內(nèi)核的CPU ,帶有64kB的高速Flash存儲器和16kB 的RAM,最高工作頻率能夠高達60M Hz。同時集成了A/D 、定時器、串口等資源, 與LPC2132 相比最突出的特點就是內(nèi)置了USB2.0 Device( 全速) 控制器。該芯片內(nèi)部資源比較豐富, 特別適用于工業(yè)控制等嵌人式系統(tǒng)。該設(shè)計總體框圖如圖4 所示。
圖4 系統(tǒng)總體框架
2 . 1 A/D 采集接口
LPC2142 包含2個模-數(shù)轉(zhuǎn)換器,提供6/14 路模擬輸入,每個通道的轉(zhuǎn)換時間低至2.44vs 。具體特性如下:
10位逐次逼近模數(shù)轉(zhuǎn)換器6 或8 個管腳復(fù)用為輸入腳測量范圍:0~3 . 3V單路或多路輸入的突發(fā)轉(zhuǎn)換模式可選擇由輸入跳變或定時器匹配信號觸發(fā)轉(zhuǎn)換2個轉(zhuǎn)換器全部啟動命令A(yù)/D 轉(zhuǎn)換器的基本時鐘由VPB 時鐘提供,每個轉(zhuǎn)換器包含一個可編程分頻器,可將時鐘調(diào)整至逐步逼近轉(zhuǎn)換所需的4 . 5MHz 。
2 . 2 LPC2142與USB 模塊接口
LPC2142 微控制器內(nèi)部帶有一個USB 設(shè)備控制器,該控制器支持32個固定配置的物理端點,并完全兼容USB2. 0 全速規(guī)范。該控制器嵌于CPU 芯片內(nèi)部,這樣的集成方式不僅使 USB 設(shè)備控制器與 CPU 之間的數(shù)據(jù)交換可以穩(wěn)定地達到很高的速度,而且提高了芯片的性價比。USB 接口電路如圖 5. LPC2142 的P0.27和P0.26 引腳的第二功能控制 USB 數(shù)據(jù)的傳輸。Android USB 主機與LPC2142 USB設(shè)備之間的通信完全遵循USB2. 0 全速規(guī)范,根據(jù)規(guī)范建立USB 連接的命令流程如圖6 。
圖5 USB 接口電路
圖6 USB 通信命令
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
分頻器相關(guān)文章:分頻器原理
評論