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

          新聞中心

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

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

          作者: 時間:2013-08-06 來源:網(wǎng)絡(luò) 收藏
          通用串行總線已經(jīng)很普遍了,這是由于其使用簡單,隨插即用,并具有魯棒性的優(yōu)點。USB已經(jīng)找到了進(jìn)入曾經(jīng)使用串口、并口作為其host接口的計算機外設(shè)的方式,需要接口到host計算機的產(chǎn)品現(xiàn)在也把USB作為其主要選擇。USB提供多種帶寬選擇--低速、全速、高速、和現(xiàn)在的超高速--迎合了各種計算機外設(shè)以及工業(yè)和醫(yī)療設(shè)備的需要。

            USB提供的吞吐量足夠大,適合高帶寬應(yīng)用,如硬盤驅(qū)動器和掃描器。事實上,對于大部分計算機外設(shè),如鍵盤,鼠標(biāo),PDA,游戲鍵盤,操縱桿,掃描儀,數(shù)碼相機,打印機,USB已經(jīng)是互連標(biāo)準(zhǔn)。

            除了簡單的電腦外圍設(shè)備,應(yīng)用也廣泛存在,其可以受益于高速USB接口的增加。數(shù)字信號示波器、心電圖、攝像機和數(shù)據(jù)采集系統(tǒng)是其中的一些例子。將USB接口添加到設(shè)備里將會大大擴(kuò)展其能力。例如,在數(shù)據(jù)記錄系統(tǒng)中(如數(shù)字儲存示波器和心電圖),得到實時數(shù)據(jù)可以通過主機實時傳輸,也可以通過網(wǎng)絡(luò)傳輸這個數(shù)據(jù),如圖1所示。對于遠(yuǎn)程數(shù)據(jù)采集應(yīng)用,將數(shù)字記錄儀設(shè)備通過USB連接到主機也可以使設(shè)備進(jìn)行遠(yuǎn)程控制,主機可以位于幾英里以外,通過網(wǎng)絡(luò)連接到USB主機。本文將探討其設(shè)計方法,可以在或ASIC系統(tǒng)中實現(xiàn)高效高速USB 2.0接口。

          圖1 基于USB的分布式數(shù)據(jù)采集系統(tǒng)

            在介紹整合通用串行總線接口到或ASIC系統(tǒng)的各種方法之前,我們需要了解一下典型USB系統(tǒng)的工作原理。典型的USB系統(tǒng)由收發(fā)器,串行接口引擎(SIE),和接口控制器構(gòu)成,如圖2所示。

          圖2 典型的USB系統(tǒng)

            收發(fā)器實現(xiàn)了USB協(xié)議的物理層。收發(fā)器形成了主設(shè)備和從設(shè)備之間數(shù)據(jù)連結(jié)的兩端。USB接收器會有差分和單端兩種輸出。SIE進(jìn)行串行數(shù)據(jù)的編碼和解碼,位填充,錯誤校驗和其他信號級處理任務(wù)。它還將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),反之亦然。SIE應(yīng)該連接到智能master,其通過控制端點相應(yīng)主設(shè)備請求實施高級USB協(xié)議。master也將實現(xiàn)器件功能所需的應(yīng)用級任務(wù)。

            在這篇文章中,我們將討論三種不同的方法,實現(xiàn)USB接口添加到FPGA或者ASIC系統(tǒng)。

            使用USB協(xié)議棧知識產(chǎn)權(quán)(IP)及外部收發(fā)器

            在第一種方法中,我們可以在FPGA或ASIC中實現(xiàn)SIE(見圖3)。

          圖3 FPGA + USB協(xié)議棧IP + USB收發(fā)器


          上一頁 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); })();