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