<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何在FPGA和ASIC設(shè)計(jì)中結(jié)合高速USB功能

          如何在FPGA和ASIC設(shè)計(jì)中結(jié)合高速USB功能

          作者: 時(shí)間:2013-08-06 來源:網(wǎng)絡(luò) 收藏

            SIE IP的主要功能是要執(zhí)行數(shù)據(jù)編碼和解碼,CRC生成和錯(cuò)誤校驗(yàn),位填充,數(shù)據(jù)包ID生成,串到并以及并到串轉(zhuǎn)換。這個(gè)IP可以自己開發(fā)或者可以從第三方供應(yīng)商購買。也要執(zhí)行上層USB協(xié)議。外部要使用一個(gè)收發(fā)器IC,比如賽普拉斯的TX2UL收發(fā)器芯片。這款收發(fā)器是USB 2.0認(rèn)證的符合收發(fā)器紅單元接口(UTMI)相關(guān)標(biāo)準(zhǔn)。所需的所有終端,包括Dplus 線上的1.5 K歐姆的上拉電阻,都是在芯片里內(nèi)置了。

            該方法的優(yōu)點(diǎn)是所需外部硬件最少。使用這種方法的缺點(diǎn)是開發(fā)復(fù)雜的USB堆棧IP需要時(shí)間以及工程資源。SIE IP執(zhí)行,上層協(xié)議和應(yīng)用功能也占用了的大量資源。使用第三方的IP成本會(huì)很昂貴。

            使用集成SIE和收發(fā)器芯片的USB橋

            另一種把USB接口整合到設(shè)計(jì)的方式是連接一個(gè)外部串行接口引擎IC和收發(fā)器(見圖4)。

          圖4. FPGA +橋芯片(SIE+ PHY)

            在這里,F(xiàn)PGA只需要實(shí)現(xiàn)上層USB協(xié)議。任何從USB主設(shè)備收到的命令都會(huì)通過SIE傳遞到FPGA.FPGA需要包含邏輯來對這些命令進(jìn)行恰當(dāng)?shù)捻憫?yīng)。例如,在枚舉過程中,USB外設(shè)會(huì)

            從主設(shè)備得到一個(gè)命令,請求它的描述符。在這個(gè)實(shí)現(xiàn)中,外部硬件,即收發(fā)器和SIE,會(huì)收到封包,并通過一個(gè)中斷通知FPGA命令已收到。FPGA就會(huì)在STE讀寄存器,并了解到外設(shè)已收到來自主設(shè)備的GET描述符命令。它會(huì)把正確的描述符發(fā)送給SIE.和使用外部收發(fā)器的SIE IC 不同,USB橋芯片如賽普拉斯的Mobl-USB芯片內(nèi)置了SIE以及收發(fā)器。該控制器有兩個(gè)雙緩高速端點(diǎn),其共享2 KB FIFO空間,最大化了靈活度和吞吐量,還有控制端點(diǎn)0.

            這種實(shí)現(xiàn)的最大好處是,減少了FPGA一半的復(fù)雜性(例如,信號(hào)級協(xié)議管理)。然而,即使在這種情況下,還要占用一定數(shù)量的FPGA資源來執(zhí)行上層USB協(xié)議。在這種情況下,需要做的決定是,要分析要分析所需外部硬件成本 vs. 節(jié)省的FPGA資源。

            使用USB控制器與FPGA

          圖5. USB控制器+ FPGA

            最后一種方式是,連接全功能 USB控制器到FPGA(見圖5)。在這種情況下,所有的USB協(xié)議管理都會(huì)發(fā)生在FPGA以外。專門的USB控制器IC包含PHY,SIE,協(xié)議控制邏輯。

            控制器可以提供靈活的端點(diǎn)可配置數(shù)量,F(xiàn)IFO大小,甚至可能包含一個(gè)微控制器來處理上層USB協(xié)議管理。這種外設(shè)控制器可以處理一些應(yīng)用功能,從而不再需要FPGA或ASIC處理這些事務(wù)。如果他們包含RAM架構(gòu),開發(fā)人員還可以進(jìn)行靈活的現(xiàn)場固件升級。

            現(xiàn)在FPGA只需要掌握和這個(gè)芯片的邏輯接口。USB控制器和FPGA之間的接口可以是任何的標(biāo)準(zhǔn)接口,例如SPI,I2C,或HPI.還可能是自定義的接口,這在USB控制器IC中很普遍。

            賽普拉斯的FX2LP 是專門的外設(shè)控制器芯片,其可以減少將USB集成到FPGA或ASIC系統(tǒng)的開發(fā)時(shí)間。它包含了一個(gè)簡單的"從FIFO"接口,使得和FPGA系統(tǒng)互聯(lián)很簡單。從FIFO接口功能具備從讀和從寫信號(hào),可以讀或?qū)憯?shù)據(jù)到FX2LP 4 K FIFO空間。

            對于與ASIC系統(tǒng)互聯(lián),F(xiàn)X2LP包含一個(gè)GPIF或通用可編程接口邏輯接口,可以為ASIC處理或通訊的任何標(biāo)準(zhǔn)接口生成接口波形。GPIF還可以通過USB接口配置FPGA,這樣就不需要一個(gè)單獨(dú)的配置芯片,例如PROM或處理器。通過USB配置FPGA也不再需要JTAG.因此,通用的專用的USB控制器可以不僅僅作為一個(gè)數(shù)據(jù)通道,還可以減少線路板尺寸和成本。

            這篇文章里提到的這三種設(shè)計(jì)方法都有自己的優(yōu)點(diǎn)和缺點(diǎn)。選擇時(shí)要進(jìn)行仔細(xì)分析,要權(quán)衡成本,線路板空間,和FPGA資源。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();