嵌入式系統中USB主機控制器的設計

2020-12-08 電子產品世界

過去USB僅應用於個人計算機,而在嵌入式系統領域的巨大潛力還沒有開發出來,USB嵌入式系統中的應用包括KVM開關、數位相機、PDA、印表機、機頂盒以及行動電話等。本文將介紹在嵌入式系統中應用USB時其主機控制器設計

本文引用地址:http://www.eepw.com.cn/article/152226.htm

嵌入式系統被定義為硬體和固件(獨立的或作為更大型系統的一部分)通常帶有某種作業系統,作業系統可以是Windows CE、VxWorks或其它由「自編代碼」構成的更簡單系統。根據這樣的定義,可以認為任何帶有處理器的電子裝置均可以作為USB嵌入式主機

嵌入式系統設計挑戰

在基於PC的系統中,USB操作一般需要三種部件,分別是通常作為PCI子系統的主機控制器、USB堆棧以及USB類驅動器。

主機控制器是集成主板晶片組的一部分,USB堆棧則包含主板晶片及通用主機控制器接口(UCHI)和開放主機控制器接口(OHCI)驅動程序以及USB驅動程序(usbd.sys),在PC上實現USB需要上述領域的專門技術。

在嵌入式USB系統中,其主要組成部分與PC系統類似,如嵌入式主機控制器晶片、帶OHCI堆棧的實時作業系統(RTOS)以及專用驅動程序。現有很多可供選擇的主機控制器晶片,有些帶有處理器,有些則是基於寄存器的,對器件的選擇將影響到其下面兩層。

很多公司都可提供RTOS,最好選擇一個能配合在一起工作的處理器和RTOS,然後在其上添加應用代碼。如果沒有真正的RTOS,某些控制器則用一個「框架」,可在其上構造應用程式。我們後面將介紹這種框架以及如何在上面構建應用。

在PC上實現USB具有非常豐富的可用資源,包括高達512MB的存儲器、20-60GB的硬碟以及2GHz或更快的微處理器。此外,多年來Windows、MAC OS以及Unix等作業系統也一直支持USB,而且世界上還有成千上萬的工程師在設計基於PC的USB應用程式和設備驅動程序。而對嵌入式系統來說,通常只有不超過64K的存儲器,以及運行於12MHz~33MHz的處理器,且沒有硬碟。由於USB對嵌入式系統相對較新,因此可能只有為數不多的工程師擁有這方面的經驗。

控制器與框架

下面我們以賽普拉斯EZ-Host為例介紹嵌入式系統USB控制器與框架結構。EZ-Host有兩個「串行接口引擎」,每個引擎包含兩個USB埠,因此無需使用額外硬體EZ-Host便可控制四個USB設備。

EZ-Host器件具有固件結構,可管理大多數USB主機的詳細請求。該結構另一個特點是支持網絡集線器。鍵盤/集線器組合在一起常常帶來這樣的問題,即它究竟是帶有集線器的鍵盤還是帶有鍵盤的集線器?答案應該是帶有鍵盤的集線器。因此要了解集線器後面的鍵盤,還需要提供集線器支持。幸好,這裡的框架代碼包含了對集線器的支持。

EZ-Host框架包含所有實現USB主機功能所必需的固件,包括任務調度、設備枚舉、帶寬分配以及功率管理。另外應用程式作為固件的一部分,控制專用USB設備並將其數據傳遞給最終應用。

框架的核心是TD處理器。TD處理器的運行基於一種稱為「任務描述器(TD)」的數據結構,使用其信息與USB硬體尤其是「串行接口引擎(SIE)」進行通信。需要注意的是每個SIE控制兩個埠,而且每個SIE具有一個TD處理器。EZ-Host框架使用了多種數據結構實現其操作,這些結構包括TD和USB請求模塊(URB)。

任務描述器是傳遞給硬體的數據結構,包含特定硬體接口(如SIE)和埠編號的數據欄位、終點數、收發數據緩衝器長度、數據包ID編碼以及URB結構指示器。

URB含有TD所需的邏輯信息,該邏輯信息包括USB設備緩衝器、安裝軟體包以及USB設備結構指示器。

進行USB事務處理時,URB帶有事務處理分配及其裝入的數據結構,而後URB提交給TD處理器,TD處理器再將URB加入TD列表。空閒時,TD處理器處理TD列表,安排傳輸時序,並將設定好的TD傳送給EZ-Host硬體進行處理。

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

相關焦點

  • 嵌入式系統USB接口的虛擬示波器設計
    嵌入式系統的發展使得基於嵌入式微處理器和實時作業系統的嵌入式虛擬儀器能夠滿足惡劣工作環境下的便攜虛擬儀器的需要。同時,基於USB總線的儀器設備克服了現有PC總線虛擬儀器的不足,可滿足自動化工業測量的要求,特別適合現場信號的測試。
  • 嵌入式整流模塊控制器設計
    單片機+μC/OS-II嵌入式實時作業系統作為軟硬體開發平臺的嵌入式整流模塊控制器的統一化設計方法。關鍵詞:AVR單片機;μC/OS-II;嵌入式控制器引言  雖然目前通信電源產品中嵌入式控制系統的研發技術比較成熟,但是同一系列(如DUM系列)不同功率型號的產品具有不同的性能參數,以致控制系統採用不同的控制方法;同時,在以往的產品研發過程中,不同的嵌入式系統工程師具有不同的軟硬體設計思想,帶來了晶片應用、電路體系、軟體結構的差異
  • 分析研究典型USB控制器晶片性能
    但由於USB是以主機為中心的分層的星狀總線拓撲結構,軟體比較複雜,對功率要求也比較高,所以在推出後的一段時期內,USB在基於PC的系統中得到了廣泛應用,而在嵌入式系統中應用不多。經過這兩次升級,隨著有越來越多的帶USB接口的廉價外設可供使用,有越來越多的嵌入式系統工程師想把USB接口技術應用到嵌入式系統的設計中。這種需求也促進了USB控制器晶片的研發,給開發者提供了越來越多的選擇。僅在最近兩年內,就有多種新型的USB控制器晶片推出。
  • 嵌入式Win CE中CAN總線控制器的驅動設計與實現
    嵌入式Win CE中CAN總線控制器的驅動設計與實現 秩名 發表於 2012-05-17 10:18:10   0 引 言   近年來,由於消費電子、
  • 無線USB接口鍵盤控制器的設計方案
    為有效地解決這個問題,本文設計了一種可遠距離操控計算機的無線通訊鍵盤控制器設備,通過把USB接口與無線發送、接收模塊整合,設計出一種智能化、簡便化的無線通訊鍵盤控制器。系統主要包括USB模塊、無線發送模塊和無線接收模塊。
  • 基於嵌入式WinCE的CAN總線控制器驅動設計
    嵌入式作業系統(:Real-time Embedded OperatingSystem,RTOs或EOs)作為一種實時的、支持嵌入式系統應用的作業系統軟體,成為嵌入式系統(包括硬、軟體系統)極為重要的組成部分,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器Browser等。
  • IoT設備中嵌入式微控制器的安全機制
    嵌入式設備的安全性對於阻止黑客獲得其控制權至關重要,更糟糕的一種情況是,黑客可能會對設備的連接系統發起更具破壞性的攻擊。但是,遠程攻擊只是對手採取的其中一種方式,對物理硬體設備的本地攻擊則是獲取機密信息的另一種方法,這些攻擊包括訪問系統驗證密碼,甚至包括應用代碼本身的智慧財產權等。本文將回顧在嵌入式微控制器中配置強大而可靠嵌入式安全機制的基本概念。
  • I2C總線驅動在嵌入式系統中的兩種實現
    一個或多個微控制器以及外圍器件可以通過I2C總線接口非常方便的連接在一起構成系統。這種總線結構的連線和連接引腳少,器件間總線簡單。結構緊湊,因此其構成系統的成本較低;並且在總線上增加器件不會影響系統的正常工作,所有的I。C器件共用一套總線,因此其系統修改和可擴展性好。
  • 如何使用STM32設計嵌入式乙太網控制門禁系統
    如何使用STM32設計嵌入式乙太網控制門禁系統 電子設計 發表於 2018-09-03 11:06:17 引言 當前,有很多的企業是採用佩戴工作證來完成門禁管理
  • 解決通用串行總線(USB)控制器有感嘆號
    通用串行總線控制器:由於其配置信息(註冊表中的)不完整或已損壞,Windows 無法啟動這個硬體設備開始,還以為滑鼠壞了,使用了其他的usb設備,都發現不了。然後,認為可能bios的設置問題,禁用了USB設備,重新開機進入bios觀察,並沒有關閉USB.最後進入系統,在設備管理中發現的usb設備都顯示黃色感嘆號。USB接口驅動都掛了?重新裝主板驅動,通過系統盤引導安裝驅動,都無濟於事。
  • 智能電網AMI中的智能電錶系統設計
    AMI是許多技術和應用集成的解決方案,其關鍵技術和功能主要包括:(1)智能電錶智能電網AMI中的智能電錶系統設計電價是電力改革的關鍵。在發展智能電網中,智能電錶受到前所未有的重視。智能電錶不但能顯示用電量,而且能顯示電能價格,將推動新的用電方式和生活方式。
  • 基於嵌入式技術的LED顯示屏控制系統淺析
    ,設計用於滿足某些專用性要求比較高的工程應用場合,這些要求可以體現在對嵌入式系統的成本、尺寸以及系統功耗等方面的特定需求,並且為了達成這種需求可以對組成嵌入式系統的軟體和硬體部分進行裁剪。針對嵌入式系統的工程項目開發不僅需要專業的嵌入式系統開發工具和集成開發環境IDE,例如IAR等,並且還需要在主機與嵌入式系統開發板之間進行交叉編譯過程。
  • 一種嵌入式Web伺服器的設計方案
    由於嵌入式系統硬體資源有限,嵌入式Web伺服器的硬體結構不能很複雜,實時作業系統的系統內核、TCP/IP協議棧、各種Web文檔都必須存儲在FLASH中,這對軟體系統設計提出了較高的要求。嵌入式Web伺服器應用系統的硬體結構如圖1所示。
  • 分時控制電熱水器的嵌入式控制器設計
    2 系統功能設計          本款電熱水器智能控制器,主要具有以下獨特功能:①帶柔和背光的液晶實時顯示溫度和實時時鐘;②具有漏電、幹燒、過熱、傳感器失效等多重保護;③方便的按鍵操作:系統開啟鍵;功率選擇鍵;定時狀態鍵;分段定時設定或時鐘校準狀態切換鍵;調整溫度、時鐘、定時開關機時間的數值設定鍵;④運行狀態指示;⑤故障聲光報警與指示。
  • 基於USB總線的多路電話錄音系統的設計
    設計一種基於USB接口技術的電話錄音系統,不僅充分利用USB規範的各種優越條件,很好地解決了上述問題,而且具有支持即插即用、使用方便的功能,市場前景廣闊。該微控制器內部集成有USB控制器來控制USB的傳輸,簡化了系統硬體電路的設計;軟體方面利用Cygnal/Silicon Laboratories公司提供的USBXpress軟體開發包進行PC端應用程式和微控制器端固件程序的編程。該方法充分利用已有資源,開發簡單,易於實現。
  • 嵌入式智能化傳感器的設計
    摘 要: 給出了智能化傳感器嵌入式控制器的開發環境、典型嵌入式微控制器硬體結構和軟體結構及設計方法,同時對智能化傳感器的信號處理方法作了簡單介紹,最後提供了一些目前廣泛應用的嵌入式微控制器晶片。
  • 基於USB總線和89C51單片機的數據採集系統設計
    多路模擬輸入信號經多路模擬開關控制將其中的一路接入串行A/D轉換器,A/D轉換器經光電隔離後串行輸出到移位寄存器,移位寄存器將此結果轉為8位並行數據,89C51系統通過8位的並行接口傳送A/D轉換器採集的數據,存儲在FIFO存儲器中;一旦FIFO存滿,SIE立刻對數據進行處理,然後89C51系統將數據從FIFO存儲器中讀出,由收發器通過數據線(D+、D-)送至主機。
  • usb軟碟機怎樣 usb軟碟機的全面介紹【詳解】
    usb軟碟機是一款在我們的日常生活中有著比較廣泛的運用的產品,它出色的便利性和合適的定價使得usb軟碟機逐漸成為不少人群必備的新工具。那麼接下來不妨就隨小編一起來了解幾個關於usb軟碟機的相關信息吧,我們將為大家介紹包括usb軟碟機的報價舉例、usb軟碟機的簡介以及usb軟碟機的特點、結構和工作原理幾個方面的圖片文字內容。
  • Android開放式架構平臺在物聯網嵌入式中的解決方案
    Android開放式架構平臺在物聯網嵌入式中的解決方案 電子設計 發表於 2019-03-25 09:19:00 Android 開放式架構平臺獲得了巨大成功,已贏得智慧型手機市場的最大份額
  • 嵌入式系統歷史及發展趨勢
    後來人們可以不必從選擇晶片開始來設計一臺專用的嵌入式計算機,而是只要選擇各功能模塊,就能夠組建一臺專用計算機系統。用戶和開發者都希望從不同的廠家選購最適合的 OEM產品,插入外購或自製的機箱中就能形成新的系統,因此希望插件相互兼容,從而導致了工業控制微機系統總線的誕生。1976年Intel公司推出 Multibus,1983年擴展為帶寬達40MB/s的MultibusⅡ。