幾乎所有的現(xiàn)代系列MCU具有USB外設(shè)。因為USB是一個標準的,則可能期望所有USB實現(xiàn)都是相同的。如果是的話,你會通過各種符合標準,而且還提供了額外的功能和特性,可能只是做一個特定的MCU適合您的下一個設(shè)計的實現(xiàn)驚訝。本文將介紹一些差異化的USB功能,你會發(fā)現(xiàn),在流行的MCU系列。一旦你了解一些關(guān)鍵的不同,你可以更好地尋找,將提供完美的適合你的下一個設(shè)計的實現(xiàn)。
USB基礎(chǔ)知識
同時在硬件和軟件的水平 - 通用串行總線或USB,已由于其簡單的物理層接口,它的靈活性,并且易于整合越來越流行。標準化和集成連接器可以很容易地接口的MCU的USB連接線,共同驅(qū)動程序和應(yīng)用程序接口,或API,可以很容易地訪問通過USB連接來傳輸和接收信息的數(shù)據(jù)包所需要的數(shù)據(jù)和控制元件?,F(xiàn)成的參考設(shè)計,評估板和代碼示例進一步簡化基于MCU的實施。最近引入的在USB 3.1標準,具有高達10 Gbit / s的數(shù)據(jù)信號速率示出了標準的不斷發(fā)展和可能是左右對許多,許多年。
USB使用非對稱拓撲結(jié)構(gòu),包括一臺主機的在連接“金字塔”,用于管理整個網(wǎng)絡(luò)的頂部。下游的USB端口(通常稱為器件或功能)中的所有連接成直接主機或經(jīng)由中間集線器,可以在星型拓撲擴展網(wǎng)絡(luò)。主機可以有多個主機控制器,每個控制器管理多達127個端口。 USB通信使用的管道,或邏輯信道,即一個主控制器和一個設(shè)備的端點之間進行連接。 USB設(shè)備最多可以有32個端點(在16和16出)。有兩種類型的管道:一個流,以用于數(shù)據(jù)傳輸,以及一個消息,用于短命令和狀態(tài)轉(zhuǎn)移。數(shù)據(jù)傳輸可以是同步(以保證數(shù)據(jù)速率),中斷傳輸(當需要快速,低延遲的傳輸),或批量傳輸(通常用于文件傳輸,其中的延遲和數(shù)據(jù)傳輸速率并不重要)。
之一的USB標準的更多有用的方面是,有多個數(shù)據(jù)傳輸速率可能的(低速1.5 Mbit / s的,全速在12兆比特/秒,高速在480兆比特/秒,超5 Gbit / s的,和超高速+個10Gbit / s)和主機可以確定用于使用特殊枚舉過程的每個設(shè)備的數(shù)據(jù)速率。這簡化了連接管理和便于應(yīng)用程序集中于剛傳輸數(shù)據(jù),而不是管理建立低層的物理連接。
一些產(chǎn)品培訓(xùn)模塊可從Digi-Key的討論顯著詳細的USB標準(從FDTI和伍爾特電子,等等),如果讀者希望深入挖掘。然而,這篇文章的目的,上述描述足以讓我們來看看一些不同的特點和基于微控制器的USB外設(shè)功能,以更好地滿足特定應(yīng)用的要求,具有最佳的USB-實現(xiàn)功能設(shè)置。
USB實現(xiàn)
對于一些USB的基本知識的了解,我們就可以開始看看不同類型的MCU供應(yīng)商在他們的設(shè)備所提供的實現(xiàn)。因為微控制器經(jīng)常被發(fā)現(xiàn)控制USB外圍設(shè)備,如傳感器,指點設(shè)備和音頻設(shè)備(僅舉幾例),而不是在主機控制器更經(jīng)常在個人電腦和手持設(shè)備發(fā)現(xiàn)我們將通過觀察一個示例函數(shù)實現(xiàn)啟動在Spansion的FM3 MCU系列中,尤其是Spansion公司MB9AF3 MCU。
Spansion的MB9AF3 MCU采用了ARM的Cortex-M3的CPU,并擁有多種先進的外設(shè),包括電機控制定時器,高速ADC,UART,SPI,I2C,DMA,和外部總線接口。一個USB外設(shè)同時具有一個主機和功能接口和功能的方框圖顯示在圖1中。的CPU接口,在右側(cè)的圖,可以訪問端點緩沖器,其中數(shù)據(jù)傳輸?shù)奈恢?。進出緩沖器是由經(jīng)由UDC接口的USB數(shù)據(jù)控制器(UDC)管理。中斷可用于通知的數(shù)據(jù)傳輸?shù)臓顟B(tài)的CPU和在CPU接口提供從CPU或DMA控制器訪問緩沖器。
Spansion公司MB9AF3 MCU USB功能框圖
該飛索USB實現(xiàn)的關(guān)鍵要素是源USB時鐘,端點,緩沖器的數(shù)量,和DMA訪問到端點緩沖器。這些特征可以,因為它們不是由USB標準規(guī)定不同MCU供應(yīng)商之間變化。例如,USB時鐘由片上PLL可使用MCU的主時鐘源,。這消除了對外部時鐘減少了元件數(shù)量。并非所有的USB外設(shè)包括此功能。
最后,USB實現(xiàn)之間的差異化的公共區(qū)域包括使用DMA的。常它是更有效的有來自CPU的獨立管理,從而CPU可以操作的其它更復(fù)雜的任務(wù),或可放在一個低功耗狀態(tài),直到有足夠的數(shù)據(jù)可開始處理端點緩沖區(qū)。該MB9AF3 MCU提供了訪問端點緩沖區(qū)的DMA控制器,還提供了一些中斷,可用于更輕松地管理緩沖區(qū)傳輸。尋找這些功能時,電源效率是您的應(yīng)用程序的關(guān)鍵。
端點控制
您需要端點的數(shù)量可以選擇您的USB外設(shè)時,是一個關(guān)鍵的區(qū)別。的靈活性有與每個端點的量可以是在選擇中的一個重要因素,也是。例如,賽普拉斯的PSoC CY8C24794有一個USB外設(shè)有五個端點和每個人都可以被單獨分配響應(yīng)中斷,批量或同步IN或OUT請求。圖2示出了各種可分配給每個端點任務(wù)。選擇性這一級別避免了顯著量的,否則將被需要的確定任務(wù)的類型,然后控制轉(zhuǎn)移到所需的常規(guī)處理器開銷。
表賽普拉斯的PSoC CY8C24794(點擊查看全尺寸)
Cypress的USB實現(xiàn)使用共享內(nèi)存來存儲端點數(shù)據(jù),這可能會導(dǎo)致訪問瓶頸,但使用的PSoC存儲器仲裁(PMA)的優(yōu)先處理器和USB外圍設(shè)備之間的訪問。這保證了移動指令由處理器連續(xù)流甚至在USB流量的最大速率處理將進行維修。
所述USB PMA具有足夠的靈活性,使得端點數(shù)據(jù)不需要被處理接收到下一USB分組之前。這是通過簡單地改變信道的寫入位置或讀位置寄存器值完成的。例如,當一個中斷收到的資料表明,一個包已經(jīng)收到,而不是處理數(shù)據(jù),然后使終端接收更多的數(shù)據(jù),你可以簡單地改變寫地址所使用的端點自由區(qū)的PMA通道的USB內(nèi)存。通過這樣做,你讓USB SIE接收更多數(shù)據(jù),而M8C正在處理先前接收的數(shù)據(jù)。類似的方法可用于制備數(shù)據(jù)到由IN事務(wù)的方式被發(fā)送。
當比較端點實現(xiàn)確保你不僅要看支持的端點的數(shù)量,而且在靈活性和軟件支持USB外設(shè)提供量。這可以提高性能,降低功耗,并簡化編碼。
USB在旅途中
USB也發(fā)展到可以很容易地創(chuàng)建智能的USB設(shè)備,可以在任何一個主機或功能模式動態(tài)連接。這個“在轉(zhuǎn)到”的能力使得有可能使用該設(shè)備作為外設(shè)(也許作為存儲裝置),然后作為宿主(或許以控制和功率的傳感器,記錄心臟速率活性)。這種能力是在各種的IoT應(yīng)用中特別有用。 Microchip的DSPIC33EP256 MCU,例如,支持USB主機,設(shè)備和外出模式。在許多情況下,這樣就可以看到什么低功耗的設(shè)施,可為USB外設(shè)是重要的低功率運行是在旅途中應(yīng)用很重要。
Microchip的DSPIC33EP256 MCU使USB外圍設(shè)備來操作,即使在一些低功耗模式。例如,當CPU被放置在空閑模式的周仍可操作。在空閑模式下,CPU的時鐘被切斷,并大大降低了這種動態(tài)功耗。 USB模塊可以繼續(xù)運行,當CPU處于空閑狀態(tài),一旦收到需要CPU干預(yù)的消息時,CPU可以帶出空閑的。 USB外設(shè)和CPU都可以放在一個更低的功耗狀態(tài),睡眠,甚至更多的權(quán)力將被保存。該USB活動中斷可用于從休眠模式喚醒器件,只要有USB總線上的總線活動。
您可能需要從您的USB外設(shè)的另一項功能是先進的測試功能。特別是,如果您使用的是USB首次一些你可能要具體包括板級測試功能的USB端口。 Microchip的DSPIC33EP256 MCU有一個特殊的USB測試模式,可以產(chǎn)生對USB輸出即用于板級測試有用的連續(xù)測試碼模式。正如圖3此測試模式生成連續(xù)的JK / JK位序列來切換USB輸出產(chǎn)生一個簡單的“眼圖”常用來測試信號的完整性。
Microchip的DSPIC33EP256單片機圖
USB高端微控制器
USB不僅在低收入和中端MCU的發(fā)現(xiàn),它是高端設(shè)備的一個非常有用的接口也是如此。例如,德州儀器F28M35H52C1RFPT是一款雙核MCU具有非常先進的處理能力,它包括一個USB外設(shè)與在轉(zhuǎn)到能力。如圖中F28M35H52C1RFPT(圖4)的框圖,USB外設(shè),在圖的左上方,經(jīng)由從AHB總線矩陣訪問的AHB總線連接到ARM Cortex-M3的CPU。
德州儀器的框圖F28M35x協(xié)奏曲MCU(點擊查看全尺寸)
在ARM Cortex-M3 CPU充當通道控制器,負責管理所有的通信端口。這是當USB包含在高端設(shè)備,使得USB通信可以正確地對所有其他的,競爭的,通信端口進行優(yōu)先排序的一個重要功能。例如,通常的USB端口用于外部文件存儲和數(shù)據(jù)傳輸活動,可能需要提出了很高的優(yōu)先級,以便處理不拖延數(shù)據(jù)缺乏。
結(jié)論
有許多不同的方法來實現(xiàn)USB和了解一些通過各種MCU系列提供的主要功能和差異化的功能是非常重要的。這是很容易找到合適的適合你的下一個USB應(yīng)用,當你知道了一些最常見和最重要的差別。
審核編輯 黃宇
-
mcu
+關(guān)注
關(guān)注
146文章
17149瀏覽量
351224 -
usb
+關(guān)注
關(guān)注
60文章
7945瀏覽量
264703
發(fā)布評論請先 登錄
相關(guān)推薦
評論