基于 Android 平臺的 USB 數(shù)據(jù)采集系統(tǒng)
隨著科技的發(fā)展, 嵌入式及移動互聯(lián)網(wǎng)的應(yīng)用越來越廣泛,二者以其自身的優(yōu)勢在各自領(lǐng)域都占有一席之地。目前基于Android操作系統(tǒng)的手機(jī)進(jìn)行移動應(yīng)用開發(fā)非?;馃幔珹ndroid以其源代碼開放,硬件選擇豐富,無縫結(jié)合google 等特點(diǎn),自發(fā)布以來 Android 立刻受到了業(yè)界的廣泛關(guān)注。而嵌入式ARM7 微處理器LPC2142具有較高的集成度和高性價比, 很適合于數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)。因此,了解Android平臺的組成、系統(tǒng)架構(gòu)API和應(yīng)用程序框架,并掌握該平臺移動應(yīng)用的開發(fā)方法將為從事移動互聯(lián)網(wǎng)開發(fā)的企業(yè)和個人帶來非常廣闊的前景。
Google 對Android平臺的SDK更新很快,目前已發(fā)布的平板Android 3.1(API level 12)及以上版本實(shí)現(xiàn)了對USB 外設(shè)模式和主機(jī)模式的支持,并遵循USB2. 0 通訊協(xié)議。本文結(jié)合兩者的突出優(yōu)點(diǎn)設(shè)計(jì)了一種新型數(shù)據(jù)采集系統(tǒng),以下將詳細(xì)闡述Android 3. 1平臺下的USB 應(yīng)用程序開發(fā)的完整過程,以及與LPC2142之間的USB 通信功能。
1 Android USB應(yīng)用程序開發(fā)
1 . 1 Android 開發(fā)框架
Android系統(tǒng)架構(gòu)由5部分組成,分別是:Linux Kernel 、Android Runtime、Libraries 、Application Frame-work、Applications。
Android開發(fā)主要有三種類型( 如圖1 所示) :
移植開發(fā)和電話系統(tǒng);
Android應(yīng)用程序開發(fā);
Android系統(tǒng)開發(fā);
本文中的Android應(yīng)用程序的開發(fā)是在Android系統(tǒng)第三個層次(Java 框架) 和第四個層次(Java 應(yīng)用)之間的接口之上開發(fā)出來的。
圖1 Android開發(fā)詳解
1 . 2 Android USB 接口
Android支持各種USB 外圍設(shè)備,通過兩種模式來支持Android USB外設(shè)( 實(shí)現(xiàn)了Android外設(shè)協(xié)議的硬件) :USB 外設(shè)模式和USB 主機(jī)模式。Android將在新的平板電腦版Honeycomb 3 . 1 和智能手機(jī)版Gingerbread 2. 3 .4 中首次支持USB 外設(shè)模式,該支持包括一種新的Open Accessory API,含有谷歌提供的一個USB 支持庫。而在Android3 . 1 及以上版本才支持主機(jī)模式。Android從機(jī)設(shè)備只能和Android主機(jī)設(shè)備連接,而主機(jī)模式可以連接其他USB 設(shè)備,故本設(shè)計(jì)采用Android3 . 1主機(jī)模式連接LPC2142USB 接口。當(dāng)Android設(shè)備處于主機(jī)模式時,它扮演USB主機(jī)角色并為總線供電。如圖2 所示。
Android3 .1(API 12)更新的API為Android開發(fā)者提供了應(yīng)用程序開發(fā)直接可用的USB A PI ,這個USB類是在android.Hardware. usb 包下,具體介紹如下:
圖2 USB 主機(jī)模式
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
分頻器相關(guān)文章:分頻器原理
評論