一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Linux的FTDI Android界面解決方案

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-02-25 09:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

到了90年代末,一種新的連接方案旨在為連接計算設(shè)備創(chuàng)建一個標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)是通用串行總線(USB)。顧名思義,USB已經(jīng)成為計算設(shè)備中事實上的標(biāo)準(zhǔn)。 USB規(guī)范定義了嚴(yán)格的主機到外設(shè)的安排。它還允許多個外圍設(shè)備通過一個或多個集線器連接到給定的USB主機。在所有情況下,主機PC最終控制所有外圍設(shè)備。外圍設(shè)備采用多種形式,如數(shù)碼相機,生物識別設(shè)備,傳感器和打印機。使用所有這些外設(shè),USB的控制權(quán)留給主機PC。 2007年,谷歌與開放手機聯(lián)盟一起公開推出了Android操作系統(tǒng),這是一個基于Linux的操作系統(tǒng)。大約一年后,推出了第一款帶有運行操作系統(tǒng)的ARM CPU的商用手機。該平臺在過去幾年中不斷發(fā)展,現(xiàn)已成為移動電話,平板電腦和眾多其他嵌入式應(yīng)用程序的一部分,如圖1所示。

圖1:應(yīng)用示例

FTDI提供以下三種不同的選項,通過USB連接到Android平臺。

在Android平臺上使用Android開放附件模式

利用Android的USB主機功能和FTDI的Android Java驅(qū)動程序

利用Android的USB主機功能和FTDI的傳統(tǒng)驅(qū)動程序

這些選項中的每一個都包含優(yōu)點和缺點,在決定使用哪個接口選項時需要考慮三個主要因素。 Android平臺是否支持USB主機或設(shè)備? Android平臺或外圍設(shè)備是否會提供USB電源?該平臺使用的是哪個版本的Android?

要考慮的第一個界面因素是Android平臺是否支持USB主機。 Android智能手機始終提供USB設(shè)備端口,但有些Android平板電腦同時提供USB主機和USB設(shè)備端口,如圖2所示.USB設(shè)備端口用于連接PC或嵌入式主機,以實現(xiàn)數(shù)據(jù)傳輸和電池充電。 USB主機端口用于連接USB外圍設(shè)備硬件。

圖2:USB主機和USB設(shè)備

許多Android平臺如圖3所示,現(xiàn)在提供On-The-Go(OTG)USB端口,允許USB端口為主機或設(shè)備。其中一些OTG端口僅為USB設(shè)備,有些將提供USB主機和設(shè)備功能。確定用戶的Android平臺是否支持USB主機和/或設(shè)備的一種方法是使用電纜類型。 Micro-AB電纜可能同時是USB主機和設(shè)備,而Micro-B電纜僅指示USB設(shè)備。

圖3:USB On-The-Go

確定使用哪個接口選項的另一個因素是決定Android平臺或外圍設(shè)備是否提供USB電源。根據(jù)USB規(guī)范,USB主機需要為下游外設(shè)提供電源。重要的是要記住,即使Android平臺可能提供USB主機支持,大多數(shù)Android設(shè)備都是便攜式的,需要電池供電才能運行。利用Android平臺上的USB客戶端端口,無需Android平臺提供電源以及復(fù)雜的USB主機連接和軟件堆棧。這樣可以減少Android平臺上的電池尺寸和成本。 Android平臺操作系統(tǒng)版本也在確定使用哪個界面選項時起作用,因為Android Open Accessories需要操作系統(tǒng)版本3.1以及Java驅(qū)動程序界面選項需要Android操作系統(tǒng)版本3.2以后。

一旦界面因素是確定后,可以使用三種界面選項之一。第一個界面選項是使用Android開放附件(AOA)模式(圖4)。

基于Linux的FTDI Android界面解決方案

圖4:Android開放附件(AOA)模式

谷歌于2011年5月推出AOA,以解決想要使用USB設(shè)備端口從Android平臺控制更簡單的外圍設(shè)備的困境。 AOA允許外圍設(shè)備使用USB嵌入式主機作為Android平臺的接口。在物理層并通過建立USB連接(又名Enumeration),可以實現(xiàn)傳統(tǒng)的主機 - 外設(shè)連接。電力安排也得以維持。外圍平臺可以為Android設(shè)備提供完整的500 mA電流??梢詫蓚€實體(Android主機和AOA外設(shè))視為交換邏輯功能。 Android平臺(USB設(shè)備)現(xiàn)在通過已安裝的應(yīng)用程序(APK)控制外圍設(shè)備(USB主機)。使用AOA的唯一要求是Android平臺正在運行操作系統(tǒng)版本3.1。

使用AOA連接外圍設(shè)備的一個關(guān)鍵優(yōu)勢是許多Android平臺只能充當(dāng)USB設(shè)備而不是一個USB主機。 AOA利用所有Android平臺擁有的Android的USB設(shè)備端口克服了這一局限。由于Android充當(dāng)USB設(shè)備,因此無需提供電源即可節(jié)省電池尺寸(圖5)。沒有必要開發(fā)特殊的驅(qū)動程序來加載Android平臺,也不需要Android平臺的生根。此外,復(fù)雜的USB主機連接和軟件堆棧不是Android平臺的責(zé)任。

基于Linux的FTDI Android界面解決方案

圖5:使用AOA的好處

要在開放附件模式下連接到Android平臺,平臺必須首先支持該模式。從操作系統(tǒng)版本3.1開始也是如此,但如果用戶已將該功能重新移植到此操作系統(tǒng)版本,則可能在早于2.3.4的操作系統(tǒng)版本上也可用。當(dāng)Open Accessory設(shè)備連接到Android時,它必須向Android發(fā)送供應(yīng)商請求以詢問設(shè)備是否支持開放附件模式。

下面的圖6顯示了此Get_Protocol命令的示例。如果答復(fù)為否,通訊將在此處停止。如果答復(fù)為是,則外圍設(shè)備發(fā)送其自己的唯一描述符字符串以標(biāo)識自身。然后有另一個USB供應(yīng)商請求啟用開放附件模式并在此配置中重新枚舉Android設(shè)備。當(dāng)枚舉為開放附件模式設(shè)備時,將有一個USB BULK IN端點和一個USB BULK OUT端點以及控制端點。該接口將是全速(12 Mbit/s)USB,允許數(shù)據(jù)傳入和傳出。

基于Linux的FTDI Android界面解決方案

圖6:Get_Protocol命令

為了利用Android Open Accessories,F(xiàn)TDI發(fā)布了FT311D。這是一款硬編碼的USB Android主機IC,專用于訪問Android平臺上的AOA模式。該IC允許設(shè)計人員通過Android USB設(shè)備端口將其外圍硬件上的接口橋接到Android平板電腦或智能手機平臺。 FT311D將枚舉Android平臺,并通過客戶的Android平臺及其外圍硬件之間的GPIO,UART,PWM,I 2 C Master,SPI Slave或SPI Master提供接口。只需在FT311D模式選擇引腳上選擇帶上拉/下拉電阻的接口模式,然后插入Android(3.1或更高版本)平臺,通過Androids的開放附件模式通過USB訪問外圍硬件。

FT311D系統(tǒng)允許提供商增強與移動生態(tài)系統(tǒng)的連接,能夠創(chuàng)建利用Android平臺資源的應(yīng)用程序,如高性能處理,加速度計和觸摸屏界面。

FT311D功能包括:接口通過三個模式選擇引腳配置; Rx,Tx,RTS,CTS的基本UART功能,Tx有效;四個PWM通道;主機堆棧,類驅(qū)動程序,Open Accessory驅(qū)動程序和IP橋接功能; 3.3 V單電源,具有5 V容差I(lǐng)/O; 32引腳LQFP或QFN封裝;延伸溫度范圍為-40 o C至+85 o C.此外,還提供廣泛的FT311D開發(fā)支持,包括開發(fā)硬件,應(yīng)用程序,白皮書和數(shù)據(jù)表。

UMFT311EV是FT311D的開發(fā)模塊。該模塊允許選擇每個FT311D接口:GPIO,UART,PWM,I 2 C主機,SPI從機或SPI主機。該模塊提供帶有電源開關(guān)的USB A型連接器,用于控制USB端口的5 V電源。 UMFT311GP是一個帶八個按鈕和八個LEDPCB。它可以插入FT311D開發(fā)板以測試GPIO操作。該模塊還有一個可接受5 VDC的電源插座,通過板載3.3 V穩(wěn)壓器和連接的Android設(shè)備為FT311D供電

另一種使用Android Open Accessory模式的FTDI解決方案是FTDI的Vinculum- II(VNC2)系列IC和模塊。這是一個單芯片嵌入式主機,可以編程為包含AOA支持。除了FT311D IC提供的接口外,Vinculum-II還包括第二個USB端口,可配置為USB主機或USB設(shè)備。通過為主機配置的Vinculum-II的第二個USB端口,可以為傳統(tǒng)的USB外設(shè)添加USB支持,例如已經(jīng)使用FTDI外設(shè)IC或連接為HID外設(shè)的條形碼掃描器。

Vinculum-II是基于FTDI USB體驗和客戶要求的第二代產(chǎn)品。它具有定制設(shè)計的CPU,與FTDI的第一代USB主機控制器Vinculum-I相比具有更高的處理能力。憑借提供完整解決方案的FTDI競爭優(yōu)勢,Vinculum-II通過降低設(shè)備成本,增強了Vinculum系列的初始成員Vinculum-I。 Vinculum-II支持全速和低速控制,批量,等時和中斷模式數(shù)據(jù)傳輸。此外,IC支持三種電源模式,一種是掛起模式,有六種不同的封裝。 FTDI的IDE設(shè)計工具免費提供給想要創(chuàng)建自己的固件的開發(fā)人員。

與FTDI的Vinculum-I IC一樣,預(yù)編譯固件可用于快速簡便的開發(fā)。 IDE和預(yù)編譯固件可從http://www.ftdichip.com/Products/ICs/VNC2.htm獲得。

Vinculum-II也可以使用開發(fā)平臺和模塊。 V2-Eval板是一個完整的評估模塊,可提供原型設(shè)計區(qū)域。 V2DIP模塊結(jié)構(gòu)緊湊,易于集成,并包含USB連接器。 Vinco開發(fā)平臺與Arduino屏蔽兼容。

第二個FTDI接口是FTDI的Java D2xx驅(qū)動程序,支持USB主機類庫。此界面要求Android平臺支持USB主機并運行OS 3.2版。 Java驅(qū)動程序支持FTDI的全套USB橋接從芯片,包括R芯片(232R/245R),H系列(USB2.0高速)和X芯片系列。當(dāng)其中一個USB設(shè)備端口配置為FT232仿真時,也支持Vinculum-II。此庫不需要特殊的root訪問權(quán)限來加載驅(qū)動程序,開發(fā)人員可以輕松地將其調(diào)整到應(yīng)用程序中。

API打包在d2xx.jar中,并與在線提供的演示應(yīng)用程序源代碼一起分發(fā),網(wǎng)址為http://www.ftdichip.com/Android.htm。使用此接口選項,Android平臺負(fù)責(zé)提供USB電源。

使用FTDI的JAVA類驅(qū)動程序的主要好處是安裝驅(qū)動程序不需要在Android平臺上使用root權(quán)限。因此,可以在Google Play商店中提供應(yīng)用程序和驅(qū)動程序。 Android平臺不是通過使用FTDI的Java驅(qū)動程序來要求FTDI的基于USB主機的芯片(FT311D和Vinculum-II),而是可以與FTDI更廣泛的現(xiàn)有“橋接”芯片集成。

使用FTDI Java D2XX for Android驅(qū)動程序,開發(fā)機器需要Eclipse IDE和最新的Android SDK,包括ADB程序和Eclipse的ADT插件。 Android開發(fā)人員網(wǎng)站上概述了這些工具的安裝和配置。請參閱(http://developer.android.com/sdk/index.html)。 Android設(shè)備還應(yīng)啟用USB調(diào)試以允許使用ADB實用程序進(jìn)行訪問。要在Android平臺上完成此操作,請導(dǎo)航到設(shè)置>應(yīng)用程序>開發(fā),然后選擇USB調(diào)試選項。

基于Linux的FTDI Android界面解決方案

圖7:使用FTDI開發(fā)應(yīng)用程序Java D2xx驅(qū)動程序

為支持多功能平板電腦使用方案,Google自3.2版開始在Android中添加了USB Host API。在3.2版之前,Android應(yīng)用程序無法在沒有root訪問權(quán)限的情況下自然訪問連接到系統(tǒng)的USB設(shè)備。 Android USB Host API消除了這一限制,允許使用附加到Android主機或OTG端口的USB小工具。

FTDI提供適應(yīng)應(yīng)用程序的Java類庫,因此開發(fā)人員可以專注于所需的輸入和輸出數(shù)據(jù)。類庫的設(shè)計目標(biāo)是提供對所有D2XX功能的訪問,包括EEPROM功能。 D2xx庫可以輕松地包含在Eclipse中的Android應(yīng)用程序項目中。為此,首先將庫文件(d2xx.jar)復(fù)制到項目的文件夾中,然后轉(zhuǎn)到“項目” - “屬性”添加它。

基于Linux的FTDI Android界面解決方案

圖8:添加Java D2xx庫步驟1

接下來,從左側(cè)列表中選擇“Java Build Path”。然后,選擇“Libraries”選項卡并單擊“Add JARs ...”按鈕(圖9)。

圖9:添加Java D2xx庫步驟2

選擇庫文件“d2xx.jarr”。 D2xxManager類允許訪問驅(qū)動程序范圍的信息(如VID和PID組合)以匹配設(shè)備信息列表,并提供API以打開返回相應(yīng)FT_Device對象的目標(biāo)設(shè)備。 FT_Device對象可以執(zhí)行UART,EEPROM和位模式相關(guān)操作,以控制器件狀態(tài)或讀/寫數(shù)據(jù)。當(dāng)不再需要該設(shè)備時,可以使用close()方法關(guān)閉FT_Device對象。使用Javadoc完整記錄了D2xx Java庫。有關(guān)D2xx Android庫方法,常量和子類的信息,請參見示例項目的/doc目錄中相應(yīng)的Javadoc條目。

基于Linux的FTDI Android界面解決方案

圖10:添加Java D2xx庫步驟3

FTDI的Java D2xx驅(qū)動程序可與FTDI的USB轉(zhuǎn)串口橋接芯片一起使用,包括X芯片系列。 X芯片器件具有低功耗,低引腳數(shù)和功能集,可實現(xiàn)從USB端口橋接到UART,I 2 C,增強型SPI或FIFO接口,易于設(shè)計和實現(xiàn)。

主要功能包括:

電池充電器檢測可實現(xiàn)更高電流和更快速充電

廣泛的時鐘功能,包括內(nèi)部時鐘生成和外部時鐘輸出

內(nèi)部3.3 V穩(wěn)壓器

集成晶體和多時間可編程(MTP)存儲器,以節(jié)省電路板空間并最大限度地提高靈活性

FTDI Java驅(qū)動程序還可以與FTDI的傳統(tǒng)芯片一起使用,例如FTDI的FT2232D和R芯片系列。此外,還可以使用FTDI的USB Hi-Speed單通道,雙通道和四通道芯片。這將為各種行業(yè)標(biāo)準(zhǔn)或并行接口提供USB。列出的所有IC都附帶可用的開發(fā)模塊。

除支持FTDI的IC和模塊外,F(xiàn)TDI的Java D2xx驅(qū)動程序還可以與任何FTDI的Instant USB全速到串行電纜連接。這些包括USB轉(zhuǎn)RS232RS422,RS485和TTL電平UART電纜。所有這些都可用于大量配置,包括電源輸出,電線長度和串行端接。

FTDI的高速USB轉(zhuǎn)數(shù)字電纜也可用于與Java D2xx驅(qū)動程序一起使用。

由于Vinculum-II有兩個可以為主機或設(shè)備獨立配置的USB端口,因此可以將兩個接口選項1和2通過單個芯片。 USB主機端口提供AOA支持。 Java D2xx可通過USB設(shè)備端口上的FT232仿真獲得。此解決方案現(xiàn)在支持所有Android設(shè)備,無論USB端口類型或電源配置如何。 USB設(shè)備端口上的接口可以支持傳統(tǒng)的PC環(huán)境,進(jìn)一步增強了外設(shè)的實用性。

第三個集成選項是使用FTDI的傳統(tǒng)驅(qū)動程序。 FTDI的VCP驅(qū)動程序提供虛擬COM端口,標(biāo)準(zhǔn)D2xx驅(qū)動程序通過DLL提供對USB設(shè)備的直接訪問。這兩個驅(qū)動程序是互斥的,不能同時使用。與Java D2xx驅(qū)動程序選項一樣,Android平臺必須具有USB主機,提供USB電源,并將與FTDI現(xiàn)有的橋接芯片,模塊和電纜配合使用。與Java D2xx驅(qū)動程序選項不同,Android平臺必須“root”才能安裝VCP和傳統(tǒng)D2xx驅(qū)動程序。雖然適用于所有Android版本,但僅在3.2版之前的Android平臺操作系統(tǒng)中建議使用舊版驅(qū)動程序。當(dāng)前的Android平臺操作系統(tǒng)版本建議使用接口選項1,選項2,AOA和Java驅(qū)動程序。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 智能手機
    +關(guān)注

    關(guān)注

    66

    文章

    18623

    瀏覽量

    183798
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7649

    瀏覽量

    167329
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213722
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Android開發(fā)各類常見錯誤解決方案【值得收藏】

    : '\ufeff' 解決方案|錯誤: 需要class, interface或enum原因:Eclipse可以智能的把UTF-8+BOM文件轉(zhuǎn)為普通的UTF-8文件,Android Studio還沒有這個功能
    發(fā)表于 09-26 23:12

    Linux下配置Android Studio與Eclipse

    fetching Android sdk compoment information界面或者出現(xiàn)選擇代理界面 解決方案:sudo gedit /opt/
    發(fā)表于 09-27 16:52

    艾睿電子(Arrow)與FTDI簽署全球經(jīng)銷協(xié)議

      艾睿電子與英商飛特蒂亞公司(FTDI)簽署了全球經(jīng)銷協(xié)議,FTDI是致力于將傳統(tǒng)串行和USB連接標(biāo)準(zhǔn)轉(zhuǎn)換的全面解決方案的專業(yè)的領(lǐng)導(dǎo)者和革新者?;谶@一協(xié)議,Arrow將經(jīng)銷FTDI
    發(fā)表于 05-22 08:43 ?2683次閱讀

    Imagination發(fā)布業(yè)界面積最小的 Android GPU解決方案

    Imagination Technologies 今天發(fā)布新款 PowerVR 圖形處理器 IP 內(nèi)核,這是目前市場上尺寸最小的兼容 Android 系統(tǒng)的 GPU 解決方案.
    發(fā)表于 07-22 10:03 ?686次閱讀

    Imagination 發(fā)布業(yè)界面積最小的 Android GPU 解決方案

    2014 年 7 月 22 日,Imagination Technologies 發(fā)布新款 PowerVR 圖形處理器 IP 內(nèi)核,這是目前市場上尺寸最小的兼容 Android 系統(tǒng)的 GPU 解決方案。
    發(fā)表于 07-23 10:44 ?1035次閱讀
    Imagination 發(fā)布業(yè)<b class='flag-5'>界面</b>積最小的 <b class='flag-5'>Android</b> GPU <b class='flag-5'>解決方案</b>

    Zytronic 簡化了 Android? 的觸摸用戶界面設(shè)計

      Zytronic 是一家領(lǐng)先的觸摸傳感器解決方案的領(lǐng)先開發(fā)商和制造商,隨著其 Android ZyConfig 應(yīng)用的發(fā)布,可更快和更輕松地為 Android? 設(shè)計功能強大和直觀的多點觸摸用戶
    發(fā)表于 04-05 11:10 ?1446次閱讀

    Linux電信基站軟件解決方案

    Linux電信基站軟件解決方案
    發(fā)表于 01-14 11:20 ?9次下載

    Android 仿蘋果通話界面源碼

    Android 仿蘋果通話界面源碼
    發(fā)表于 03-19 11:23 ?1次下載

    Android 仿樂淘的應(yīng)用界面源碼

    Android 仿樂淘的應(yīng)用界面源碼
    發(fā)表于 03-19 11:23 ?0次下載

    FTDI Android界面解決方案

    Towards the End of the 90年代,新的計劃,旨在創(chuàng)建一個連接的計算設(shè)備連接標(biāo)準(zhǔn)。本標(biāo)準(zhǔn)是通用串行總線(USB)。Just as the name implies,USB已成為事實上的標(biāo)準(zhǔn)among the計算的器件。
    發(fā)表于 05-12 09:32 ?23次下載

    Android界面設(shè)計

    Android界面設(shè)計規(guī)范,這些你都知道嘛?
    發(fā)表于 09-15 09:42 ?7次下載

    linux Android基礎(chǔ)知識總結(jié)

    linux Android基礎(chǔ)知識總結(jié)
    發(fā)表于 10-24 09:00 ?6次下載
    <b class='flag-5'>linux</b> <b class='flag-5'>Android</b>基礎(chǔ)知識總結(jié)

    Linux字符界面轉(zhuǎn)圖形界面

    本視頻主要詳細(xì)介紹了Linux字符界面轉(zhuǎn)圖形界面的操作教程,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 03-02 14:14 ?7728次閱讀

    LinuxAndroid有什么區(qū)別

    LinuxAndroid的區(qū)別是什么?
    發(fā)表于 06-09 09:01 ?3454次閱讀

    Linux上運行Android應(yīng)用程序的方案

    目前Android上的應(yīng)用已經(jīng)非常豐富,一些應(yīng)用非常不錯。想在Linux上使用安卓應(yīng)用嗎,想在Linux上玩Android游戲嗎,這里有幾個不錯的
    發(fā)表于 07-13 14:23 ?3044次閱讀
    <b class='flag-5'>Linux</b>上運行<b class='flag-5'>Android</b>應(yīng)用程序的<b class='flag-5'>方案</b>