Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案
Android 開放式架構(gòu)平臺獲得了巨大成功,已贏得智能手機市場的最大份額。 Android 操作系統(tǒng)于 2005 年得到了 Google 的支持并被其收購,自 2007 年公開以來,已有超過 10 億部手機和平板電腦在使用該系統(tǒng)。隨著“物聯(lián)網(wǎng)”嵌入式解決方案的出現(xiàn),該系統(tǒng)已為繼續(xù)拓展應用范圍做好了準備。
獲得開放手機聯(lián)盟 (Open Handset Alliance) 的認可是 Android 系統(tǒng)加速發(fā)展的關(guān)鍵助推劑。該聯(lián)盟通過開放式標準,確保硬件、軟件和電信通信都得到明確的定義。 確保 Android 操作系統(tǒng)成功的另一關(guān)鍵便是其相對直觀的用戶界面,該界面充分利用了觸摸動作和手勢,為用戶提供更高水品的鏈接。 而且,經(jīng)過改進的語音識別、多個靈活的通訊鏈接、逼真的高清顯示以及超越普通分辨率的相機模塊也僅僅是幫助 Android 產(chǎn)品大獲全勝的少數(shù)幾個原因。
對設(shè)備和用戶界面設(shè)計人員來說,這究竟意味著什么呢? 本文將介紹 Android 產(chǎn)品設(shè)計的所有元素,討論有助于進行 Android 產(chǎn)品的主要和/或擴展硬件開發(fā)的現(xiàn)有工程方法、資源、工具和參考設(shè)計。
開源與閉源
開源與閉源之間的戰(zhàn)爭從未停止過,已經(jīng)蔓延了好幾代設(shè)計。 閉源意味著僅能讓一組較少的創(chuàng)新者進行自由創(chuàng)造,就像開發(fā)資源和許可意味著設(shè)計人員需要作出更多承諾一樣。 在開源情況下,每個人都通常能免費或者支付很少費用后,在一個傘形框架下開發(fā)產(chǎn)品。 閉源產(chǎn)品看起來從一開始就做得很好,這是因為其背后(通常)有一個紀律更嚴明的團隊。
然而毋庸置疑的是,Android 產(chǎn)品憑借低成本、迷人的屏幕和用戶界面以及多元化應用程序 (app),在銷量上完勝勁敵 - 蘋果 (Apple) 的 iPhone 和 iPad。 制造商如推出 Galaxy 級產(chǎn)品 Samsung、包括 Barnes、Noble 在內(nèi)的其它許多非傳統(tǒng)硬件公司以及 Amazon 都在提供風格多樣并捆綁了各種功能和 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)的能力,且至少應有 512 M RAM。 處理器必須能夠運行使處理任務保持開放狀態(tài)的存儲器管理方案,而不僅是被掛起后用于節(jié)能。
這里還有許多值得去玩味。 用一個運行頻率高達 1GHz 的處理器管理、指揮許多對實時性敏感且常常重疊的功能并非易事,如圖形處理、加速儀和其其它感器、可識別手勢的投射式電容觸摸屏、攝像頭、USB、GPS、Wi-Fi 和 音頻 I/O,而這些也僅是其中一少部分。
當開發(fā)一個兼容 Android 產(chǎn)品的硬件平臺設(shè)計時,可能需要首先考慮可提供 ARM、MIPS 或者 X86 處理器的芯片制造商,因這些芯片可支持和運行作為 Android 個性化基礎(chǔ)的 Linux 打包操作系統(tǒng)。 然而此時還需注意,除了高端 GHz 級處理器外還有體積更小的集成式專用處理器,它們能分擔許多處理任務,從而爭取引起注意、獲得資源。
例如, 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 枚舉序列任務并支持 Android 開放配件模式(圖 1)。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 1:通過分擔開放式配件模式的功能,該協(xié)處理器能執(zhí)行所有枚舉和再枚舉任務,而無需任何驅(qū)動程序或 Android 處理器開銷。
該協(xié)處理器支持 USB 2.0 的 12 MHz 速度,能夠完成所有以 USB 為中心的功能,從而減少主處理器負載,尤其是將外設(shè)與 USB 連接時。 FTDI 在 Digi-Key 網(wǎng)站上推出了 Android 接口解決方案培訓模塊 。
PIC 處理器制造商 Microchip 也支持深受大眾歡迎的 Arduino 產(chǎn)品平臺。 考慮到滿足 Android 產(chǎn)品開發(fā)的需求,Microchip 推出了 DM240415 配件開發(fā)入門套件。該套件基于 PIC24F 處理器。 該平臺還提供了一種支持 OAM 的專用協(xié)處理器方法,由微控制器或 USB 分擔關(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)指示燈、一個電位計和用戶接口按鈕,以便能用作應用開發(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)建而成。[!--empirenews.page--]
FTDI 和 Microchip 均對各自的器件提供開發(fā)支持,但也可由第三方提供開發(fā)支持。 Embedded Artists 通過其 EA-APP-001 Android 開放配件應用套件提供了一種開源演示和開發(fā)板。 按照相同的分離式處理器任務管理分配方案,該套件采用了兩個協(xié)處理器: NXP Semiconductors 的 LPC1769(這是一款高端、32 位、120 MHz ARM Cortex-M3 器件)與 NXP 的 LPC11C24(這是一款體積更小的 50 MHz、32 位 ARM Cortex-M0 零件),用于向并行運行流分配較高或較低水平的處理任務。
LPC1769 側(cè)可支持 10/100 以太網(wǎng)、CAN、ZigBee (NXP Jennic) 和串行任務。 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)品培訓模塊 與其 LPC11xx 編碼密度產(chǎn)品培訓模塊同時提供。
Android開放式架構(gòu)平臺在物聯(lián)網(wǎng)嵌入式中的解決方案圖 3:雙協(xié)處理器能夠分配與 Android 有關(guān)的外設(shè)和任務,并用作 Android 硬件擴展的開發(fā)平臺。
為運行而生
除了外設(shè)開發(fā)和 OAM 支持外,板級系統(tǒng)、參考設(shè)計以及開發(fā)套件還能為主要 Android 應用運行頻率達到數(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ù)任務和/或密集型處理任務。
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è)計法寶。