女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-02-25 09:49 ? 次閱讀

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

圖1:應用示例

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

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

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

利用Android的USB主機功能和FTDI的傳統驅動程序

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

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

圖2:USB主機和USB設備

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

圖3:USB On-The-Go

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

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

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

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

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

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

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

圖5:使用AOA的好處

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

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

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

圖6:Get_Protocol命令

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

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

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

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

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

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

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

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

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

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

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

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

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

圖7:使用FTDI開發應用程序Java D2xx驅動程序

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

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

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

圖8:添加Java D2xx庫步驟1

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

圖9:添加Java D2xx庫步驟2

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

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

圖10:添加Java D2xx庫步驟3

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

主要功能包括:

電池充電器檢測可實現更高電流和更快速充電

廣泛的時鐘功能,包括內部時鐘生成和外部時鐘輸出

內部3.3 V穩壓器

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

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

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

FTDI的高速USB轉數字電纜也可用于與Java D2xx驅動程序一起使用。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 智能手機
    +關注

    關注

    66

    文章

    18609

    瀏覽量

    183008
  • 存儲器
    +關注

    關注

    38

    文章

    7632

    瀏覽量

    166378
  • Linux
    +關注

    關注

    87

    文章

    11456

    瀏覽量

    212754
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    Linux下配置Android Studio與Eclipse

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

    艾睿電子(Arrow)與FTDI簽署全球經銷協議

      艾睿電子與英商飛特蒂亞公司(FTDI)簽署了全球經銷協議,FTDI是致力于將傳統串行和USB連接標準轉換的全面解決方案的專業的領導者和革新者。基于這一協議,Arrow將經銷FTDI
    發表于 05-22 08:43 ?2647次閱讀

    Imagination發布業界面積最小的 Android GPU解決方案

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

    Imagination 發布業界面積最小的 Android GPU 解決方案

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

    Zytronic 簡化了 Android? 的觸摸用戶界面設計

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

    Linux電信基站軟件解決方案

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

    Android 仿蘋果通話界面源碼

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

    Android 仿樂淘的應用界面源碼

    Android 仿樂淘的應用界面源碼
    發表于 03-19 11:23 ?0次下載

    FTDI Android界面解決方案

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

    Android界面設計

    Android界面設計規范,這些你都知道嘛?
    發表于 09-15 09:42 ?7次下載

    Linux操作系統的Android手機的即時通信系統客戶端的解決方案介紹

    核心是基于開源的WebKit 引擎, 對基于HTML 的各種語言具有良好的支持。圖像引擎使用基于openGLES1. 0 的三維圖形庫。本文的研究目的就是基于Android 平臺, 提出一種能為多種移動客戶端提供即時通信服務系統的客戶端解決方案
    的頭像 發表于 11-22 08:00 ?2590次閱讀
    <b class='flag-5'>Linux</b>操作系統的<b class='flag-5'>Android</b>手機的即時通信系統客戶端的<b class='flag-5'>解決方案</b>介紹

    Linux字符界面轉圖形界面

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

    LinuxAndroid有什么區別

    LinuxAndroid的區別是什么?
    發表于 06-09 09:01 ?3416次閱讀

    Linux上運行Android應用程序的方案

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