關(guān)于Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案
開源與閉源
開源與閉源之間的戰(zhàn)爭從未停止過,已經(jīng)蔓延了好幾代設(shè)計。 閉源意味著僅能讓一組較少的創(chuàng)新者進行自由創(chuàng)造,就像開發(fā)資源和許可意味著設(shè)計人員需要作出更多承諾一樣。 在開源情況下,每個人都通常能免費或者支付很少費用后,在一個傘形框架下開發(fā)產(chǎn)品。 閉源產(chǎ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)品。
這說明了兩點。 第一,我們能定制自己的硬件,以更低的成本擴展 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。 處理器必須能夠運行使處理任務(wù)保持開放狀態(tài)的存儲器管理方案,而不僅是被掛起后用于節(jié)能。
這里還有許多值得去玩味。 用一個運行頻率高達 1GHz 的處理器管理、指揮許多對實時性敏感且常常重疊的功能并非易事,如圖形處理、加速儀和其其它感器、可識別手勢的投射式電容觸摸屏、攝像頭、USB、GPS、Wi-Fi 和 音頻 I/O,而這些也僅是其中一少部分。
當開發(fā)一個兼容 Android 產(chǎn)品的硬件平臺設(shè)計時,可能需要首先考慮可提供 ARM、MIPS 或者 X86 處理器的芯片制造商,因這些芯片可支持和運行作為 Android 個性化基礎(chǔ)的 Linux 打包操作系統(tǒng)。 然而此時還需注意,除了高端 GHz 級處理器外還有體積更小的集成式專用處理器,它們能分擔(dān)許多處理任務(wù),從而爭取引起注意、獲得資源。
例如, FTDI 的 FT311D-32L1C-R 專用型 USB Android 產(chǎn)品枚舉器和通信鏈接控制器。 該控制器稱作 USB Android 主機 IC,旨在允許在 Android 產(chǎn)品系統(tǒng)內(nèi)通過 USB 訪問外設(shè)硬件。
Android 開放配件模式(OAM,OS 3.1 以及更高版本)允許帶有 USB 硬件的外部設(shè)備能以特定的配件模式進行交互。 此時,由外部設(shè)備提供電源,因此平板電腦或者智能手機無需作為一個主機側(cè)控制器提供 500 mA 電源,以滿足 USB 需要。 這種模式下,不需要 Android 設(shè)備上的任何驅(qū)動程序、軟件或者開銷。
這款相對較小的 32 引腳 FT311D 能作為一個獨立的協(xié)處理器執(zhí)行全部 USB 枚舉序列任務(wù)并支持 Android 開放配件模式(圖 1)。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 1:通過分擔(dān)開放式配件模式的功能,該協(xié)處理器能執(zhí)行所有枚舉和再枚舉任務(wù),而無需任何驅(qū)動程序或 Android 處理器開銷。
該協(xié)處理器支持 USB 2.0 的 12 MHz 速度,能夠完成所有以 USB 為中心的功能,從而減少主處理器負載,尤其是將外設(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)費、無許可費的 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ā)和測試板。 參考文獻 [1] 中給出了一個參考原理圖,可作為平板電腦的一種參考設(shè)計。 該 Android 客戶端驅(qū)動程序被作為 PIC USB 主機協(xié)議棧以上的一個層來執(zhí)行。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 2:這款由 Microchip 提供的免版權(quán)費 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 零件),用于向并行運行流分配較高或較低水平的處理任務(wù)。
LPC1769 側(cè)可支持 10/100 以太網(wǎng)、CAN、ZigBee (NXP Jennic) 和串行任務(wù)。 LPC11C24 側(cè)不僅共享 CAN 互連,還利用其 RGB LED、按鈕、溫度和光線傳感器管理硬件開發(fā)和傳感器連接。 該套件也可用于通過其某一個低功耗 I/O(PIO1_4) 進行低功耗喚醒功能的開發(fā)測試。
一個漂亮的特性便是充電器饋通模式。 除了 5 V 備用電源外,這個 USB 型充電器接口還能從被測裝置抽取電能(圖 3)。 板上有一個原型開發(fā)區(qū)域,允許通過充電器訪問 USB 數(shù)據(jù)信號和 OAM 模式。 然后,充電器能在充電時自動通過 Wi-Fi 進行音樂和圖像同步。 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 硬件擴展的開發(fā)平臺。
為運行而生
除了外設(shè)開發(fā)和 OAM 支持外,板級系統(tǒng)、參考設(shè)計以及開發(fā)套件還能為主要 Android 應(yīng)用運行頻率達到數(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 單板微型計算機。 該板支持 USB 2.0 和 HDMI 圖形功能,支持 VGA TFT 分辨率。 該板還配有 50 個 I/O 線路,用于協(xié)助原生硬件和接口的開發(fā)。
總之,可將這一 Android 處理器模塊視作具有一組標準化外設(shè)、功能、特性和開源代碼的下一代嵌入式處理器。 其高端性能和設(shè)計選項會讓 Android 系統(tǒng)成為廣受制造商歡迎的一種全新用戶接口,同時又為 OEM Android 系統(tǒng)打開一扇門,成為嵌入式設(shè)計人員的設(shè)計法寶。