基于Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案的研究
近年來隨著“物聯(lián)網(wǎng)”嵌入式解決方案的出現(xiàn),該系統(tǒng)已為繼續(xù)拓展應(yīng)用范圍做好了準(zhǔn)備。
獲得開放手機(jī)聯(lián)盟 (Open Handset Alliance) 的認(rèn)可是 Android 系統(tǒng)加速發(fā)展的關(guān)鍵助推劑。該聯(lián)盟通過開放式標(biāo)準(zhǔn),確保硬件、軟件和電信通信都得到明確的定義。 確保 Android 操作系統(tǒng)成功的另一關(guān)鍵便是其相對直觀的用戶界面,該界面充分利用了觸摸動作和手勢,為用戶提供更高水品的鏈接。 而且,經(jīng)過改進(jìn)的語音識別、多個靈活的通訊鏈接、逼真的高清顯示以及超越普通分辨率的相機(jī)模塊也僅僅是幫助 Android 產(chǎn)品大獲全勝的少數(shù)幾個原因。
對設(shè)備和用戶界面設(shè)計人員來說,這究竟意味著什么呢? 本文將介紹 Android 產(chǎn)品設(shè)計的所有元素,討論有助于進(jìn)行 Android 產(chǎn)品的主要和/或擴(kuò)展硬件開發(fā)的現(xiàn)有工程方法、資源、工具和參考設(shè)計。
開源與閉源
開源與閉源之間的戰(zhàn)爭從未停止過,已經(jīng)蔓延了好幾代設(shè)計。 閉源意味著僅能讓一組較少的創(chuàng)新者進(jìn)行自由創(chuàng)造,就像開發(fā)資源和許可意味著設(shè)計人員需要作出更多承諾一樣。 在開源情況下,每個人都通常能免費(fèi)或者支付很少費(fèi)用后,在一個傘形框架下開發(fā)產(chǎn)品。 閉源產(chǎn)品看起來從一開始就做得很好,這是因為其背后(通常)有一個紀(jì)律更嚴(yán)明的團(tuán)隊。
然而毋庸置疑的是,Android 產(chǎn)品憑借低成本、迷人的屏幕和用戶界面以及多元化應(yīng)用程序 (app),在銷量上完勝勁敵 - 蘋果 (Apple) 的 iPhone 和 iPad。 制造商如推出 Galaxy 級產(chǎn)品 Samsung、包括 Barnes、Noble 在內(nèi)的其它許多非傳統(tǒng)硬件公司以及 Amazon 都在提供風(fēng)格多樣并捆綁了各種功能和 app 的 Android 產(chǎn)品。
這說明了兩點(diǎn)。 第一,我們能定制自己的硬件,以更低的成本擴(kuò)展 OEM Android 產(chǎn)品,將 Android 系統(tǒng)用于我們的顯示、通信鏈接和用戶界面。 第二,也可設(shè)計一個與我們的專用硬件或者專有系統(tǒng)緊密聯(lián)系的嵌入式 Android 系統(tǒng),充分發(fā)揮開放式資源的優(yōu)勢,擺脫硬件束縛,自由選擇我們的新一代處理器、模塊、電路板或者 OEM 平板電腦,只要這些器件滿足 Android 產(chǎn)品要求。
需要什么
隨著產(chǎn)品性能和功能的不斷提升,最低要求也在變化。 現(xiàn)代 Android 設(shè)計至少需要能夠驅(qū)動一個 32 位 ARM7、MIPS 或者 x86 架構(gòu)的能力,且至少應(yīng)有 512 M RAM。 處理器必須能夠運(yùn)行使處理任務(wù)保持開放狀態(tài)的存儲器管理方案,而不僅是被掛起后用于節(jié)能。
這里還有許多值得去玩味。 用一個運(yùn)行頻率高達(dá) 1GHz 的處理器管理、指揮許多對實時性敏感且常常重疊的功能并非易事,如圖形處理、加速儀和其其它感器、可識別手勢的投射式電容觸摸屏、攝像頭、USB、GPS、Wi-Fi 和 音頻 I/O,而這些也僅是其中一少部分。
當(dāng)開發(fā)一個兼容 Android 產(chǎn)品的硬件平臺設(shè)計時,可能需要首先考慮可提供 ARM、MIPS 或者 X86 處理器的芯片制造商,因這些芯片可支持和運(yùn)行作為 Android 個性化基礎(chǔ)的 Linux 打包操作系統(tǒng)。 然而此時還需注意,除了高端 GHz 級處理器外還有體積更小的集成式專用處理器,它們能分擔(dān)許多處理任務(wù),從而爭取引起注意、獲得資源。
例如, FTDI 的 FT311D-32L1C-R 專用型 USB Android 產(chǎn)品枚舉器和通信鏈接控制器。 該控制器稱作 USB Android 主機(jī) IC,旨在允許在 Android 產(chǎn)品系統(tǒng)內(nèi)通過 USB 訪問外設(shè)硬件。
Android 開放配件模式(OAM,OS 3.1 以及更高版本)允許帶有 USB 硬件的外部設(shè)備能以特定的配件模式進(jìn)行交互。 此時,由外部設(shè)備提供電源,因此平板電腦或者智能手機(jī)無需作為一個主機(jī)側(cè)控制器提供 500 mA 電源,以滿足 USB 需要。 這種模式下,不需要 Android 設(shè)備上的任何驅(qū)動程序、軟件或者開銷。
這款相對較小的 32 引腳 FT311D 能作為一個獨(dú)立的協(xié)處理器執(zhí)行全部 USB 枚舉序列任務(wù)并支持 Android 開放配件模式。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 1:通過分擔(dān)開放式配件模式的功能,該協(xié)處理器能執(zhí)行所有枚舉和再枚舉任務(wù),而無需任何驅(qū)動程序或 Android 處理器開銷。
該協(xié)處理器支持 USB 2.0 的 12 MHz 速度,能夠完成所有以 USB 為中心的功能,從而減少主處理器負(fù)載,尤其是將外設(shè)與 USB 連接時。 FTDI 在 Digi-Key 網(wǎng)站上推出了 Android 接口解決方案培訓(xùn)模塊 。
PIC 處理器制造商 Microchip 也支持深受大眾歡迎的 Arduino 產(chǎn)品平臺。 考慮到滿足 Android 產(chǎn)品開發(fā)的需求,Microchip 推出了 DM240415 配件開發(fā)入門套件。該套件基于 PIC24F 處理器。 該平臺還提供了一種支持 OAM 的專用協(xié)處理器方法,由微控制器或 USB 分擔(dān)關(guān)鍵鏈接和功能,如 Android 產(chǎn)品接收和發(fā)出數(shù)據(jù)。
這款免版權(quán)費(fèi)、無許可費(fèi)的 DM240415 配件開發(fā)入門套件提供了一個嵌入式調(diào)試器、電源、支持圖形庫的軟件、IrDA 協(xié)議棧、USB 協(xié)議棧、閃盤驅(qū)動文件系統(tǒng)、電容式觸摸軟件、TCP/IP 協(xié)議棧和 MiWi 個人 Wi-Fi 支持功能。 為了將定制硬件與 Android 系統(tǒng)連接,該開發(fā)板還提供了八個 LED 狀態(tài)指示燈、一個電位計和用戶接口按鈕,以便能用作應(yīng)用開發(fā)和測試板。 參考文獻(xiàn) [1] 中給出了一個參考原理圖,可作為平板電腦的一種參考設(shè)計。 該 Android 客戶端驅(qū)動程序被作為 PIC USB 主機(jī)協(xié)議棧以上的一個層來執(zhí)行。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 2:這款由 Microchip 提供的免版權(quán)費(fèi) Android OAM 模式軟件通過加入一個 Android 客戶端程序并基于其 USB 協(xié)議棧構(gòu)建而成。
FTDI 和 Microchip 均對各自的器件提供開發(fā)支持,但也可由第三方提供開發(fā)支持。 Embedded Artists 通過其 EA-APP-001 Android 開放配件應(yīng)用套件提供了一種開源演示和開發(fā)板。 按照相同的分離式處理器任務(wù)管理分配方案,該套件采用了兩個協(xié)處理器: NXP Semiconductors 的 LPC1769(這是一款高端、32 位、120 MHz ARM Cortex-M3 器件)與 NXP 的 LPC11C24(這是一款體積更小的 50 MHz、32 位 ARM Cortex-M0 零件),用于向并行運(yùn)行流分配較高或較低水平的處理任務(wù)。
LPC1769 側(cè)可支持 10/100 以太網(wǎng)、CAN、ZigBee (NXP Jennic) 和串行任務(wù)。 LPC11C24 側(cè)不僅共享 CAN 互連,還利用其 RGB LED、按鈕、溫度和光線傳感器管理硬件開發(fā)和傳感器連接。 該套件也可用于通過其某一個低功耗 I/O(PIO1_4) 進(jìn)行低功耗喚醒功能的開發(fā)測試。
一個漂亮的特性便是充電器饋通模式。 除了 5 V 備用電源外,這個 USB 型充電器接口還能從被測裝置抽取電能。 板上有一個原型開發(fā)區(qū)域,允許通過充電器訪問 USB 數(shù)據(jù)信號和 OAM 模式。 然后,充電器能在充電時自動通過 Wi-Fi 進(jìn)行音樂和圖像同步。 NXP 的 LPC1700 系列產(chǎn)品培訓(xùn)模塊 與其 LPC11xx 編碼密度產(chǎn)品培訓(xùn)模塊同時提供。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 3:雙協(xié)處理器能夠分配與 Android 有關(guān)的外設(shè)和任務(wù),并用作 Android 硬件擴(kuò)展的開發(fā)平臺。
為運(yùn)行而生
除了外設(shè)開發(fā)和 OAM 支持外,板級系統(tǒng)、參考設(shè)計以及開發(fā)套件還能為主要 Android 應(yīng)用運(yùn)行頻率達(dá)到數(shù)個 GHz 的高端處理器。 讓我們了解一下基于 ARM Cortex-A8 的 1 GHz Olimex A13-OLINUXINO-MICRO 板,該板用于基于 Linux 的 Android 產(chǎn)品開發(fā)。 該板以 Allwinner SoC 為基礎(chǔ),是基于各種高端處理器(A8、A13、MX233 等)的 OLinuXino GHz 級處理器板的一塊。這些都是您希望在更高端控制中使用的處理器(圖 4)。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 4:這款高集成度 Olimex Linux Android 開發(fā)平臺基于 Allwinner A13 處理器,采用 SoC 技術(shù),實現(xiàn)了高性能、低功耗和很好的 Android 兼容性。
在這樣的速度下,單核與多核處理器能夠吸收不同外設(shè)功能的所有開銷,并直接執(zhí)行如 NAND 閃存、DDR RAM, SD 卡、3D 圖形、USB 等數(shù)據(jù)任務(wù)和/或密集型處理任務(wù)。
Olimex 還有一款基于 1 GHz ARM Cortex-A8 處理器的 A10S-OLINUXINO-MICRO Linux 開發(fā)板,這是一臺開源式 Android/Linux 單板微型計算機(jī)。 該板支持 USB 2.0 和 HDMI 圖形功能,支持 VGA TFT 分辨率。 該板還配有 50 個 I/O 線路,用于協(xié)助原生硬件和接口的開發(fā)。
總之,可將這一 Android 處理器模塊視作具有一組標(biāo)準(zhǔn)化外設(shè)、功能、特性和開源代碼的下一代嵌入式處理器。 其高端性能和設(shè)計選項會讓 Android 系統(tǒng)成為廣受制造商歡迎的一種全新用戶接口,同時又為 OEM Android 系統(tǒng)打開一扇門,成為嵌入式設(shè)計人員的設(shè)計法寶。