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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于DSP和專用接口芯片的USB實(shí)現(xiàn)方案

          基于DSP和專用接口芯片的USB實(shí)現(xiàn)方案

          作者:黨瑞榮 劉 蔚 茍 娜 時間:2008-07-29 來源:中電網(wǎng) 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/86353.htm

            各種檢測到的數(shù)據(jù)常常需要傳送到PC機(jī)進(jìn)行數(shù)據(jù)處理與存檔,以充分利用PC機(jī)豐富的硬件和軟件資源,獲得更為完善和強(qiáng)大的數(shù)據(jù)處理、分析和存儲能力。傳統(tǒng)PC平臺的數(shù)據(jù)采集卡受PC機(jī)插槽數(shù)目、地址、中斷等硬件和軟件資源的限制,可擴(kuò)展性較差,安裝拆卸困難,成本高。

            自1994年11月提出通用串行總線()以來,以其傳輸速率高、支持熱插拔、易于擴(kuò)展的突出優(yōu)勢,發(fā)展速度驚人,迅速席卷電子產(chǎn)品世界。在市場需求的強(qiáng)力驅(qū)動下,從1998年開始,接口進(jìn)入領(lǐng)域,并逐步被許多著名儀器公司接納。在中擴(kuò)展USB接口已經(jīng)成為一種發(fā)展趨勢。針對不同的測量儀器,尋求一種普遍適用的USB接口解決方案,對于測量儀器的開發(fā)設(shè)計(jì)有十分重要的意義。

          方案選擇

            開發(fā)USB設(shè)備一般有三種方式:一種是使用帶USB接口的專用微控制器(),這類有自己的系統(tǒng)結(jié)構(gòu)和指令,從底層專用于USB控制,比如Cypress公司的CY7C63xxx和CY7C64013,這類的開發(fā)需要用專用工具,且性能有限;第二種方式是使用帶USB接口的通用MCU,這類MCU只是基于一般芯片內(nèi)核增加了USB接口,比如Intel公司的8x931、8x930以及Cypress公司的EZUSB等,這類MCU的開發(fā)語言和開發(fā)工具都和一般MCU相似,因而較易入手,但其缺點(diǎn)是成本較高;第三種方式是使用純粹的USB接口芯片,通過外加MCU對其控制。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。這類USB接口芯片價格較低、接口方便、靈活性高,針對不同的硬件環(huán)境可以配合多種MCU使用,如單片機(jī)、、FPGA都可以。綜合各方面因素考慮,本設(shè)計(jì)選用第三種方式,即采用專用USB接口芯片為測量儀器擴(kuò)展USB接口。

          硬件設(shè)計(jì)

            USB控制器
            USB控制器通過控制USB接口芯片實(shí)現(xiàn)協(xié)議處理和數(shù)據(jù)交換。在本設(shè)計(jì)中選用芯片TMS320VC33作為微控制器,這主要是基于兩方面的考慮:一是其運(yùn)算速度較快,指令周期僅為13nS,可以最大限度地發(fā)揮USB接口芯片的潛力;二是該芯片性價比高,且具有浮點(diǎn)運(yùn)算功能,擴(kuò)展浮點(diǎn)精度可達(dá)40位。

            USB接口芯片
            USB接口芯片用以完成USB通信底層的數(shù)據(jù)鏈路級交換,并對本地微控制器提供一個并行接口。
          本文選用PHILIPS公司的PDIUSBD12作為USB接口芯片。該芯片可與任何微控制器實(shí)現(xiàn)高速并行接口(2Mb/s),允許使用現(xiàn)存的體系結(jié)構(gòu)并使固件投資減到最小。這種靈活性減少了開發(fā)時間、風(fēng)險和成本,是開發(fā)高效低成本的USB外圍設(shè)備的一種快捷途徑。

            PDIUSBD12一共有三組端點(diǎn):端點(diǎn)0完成控制傳輸;端點(diǎn)1可以配置成中斷傳輸;端點(diǎn)2有128B的緩沖區(qū),是主要的數(shù)據(jù)傳輸端點(diǎn)。

            接口電路
            DSP與PDIUSBD12的連接如圖1所示。采用單獨(dú)地址/數(shù)據(jù)總線配置,即用DSP的某地址線控制PDIUSBD12的A0引腳,實(shí)現(xiàn)命令數(shù)據(jù)的選擇。A0=1表示傳送命令,A0=0表示傳送數(shù)據(jù)。片選(CS )及掛起(SUSPEND)信號分別由DSP的I/O口控制。讀寫選通信號WR 、RD 可以用DSP的R/W引腳及其取反后控制。但這樣需要在電路中增加反相器,為了節(jié)約器件從而縮小電路體積,可以另外選擇一個I/O口控制PDIUSBD12的讀選通RD。本設(shè)計(jì)中選用PAGE1,通過對不同地址的訪問來區(qū)分對PDIUSBD12的讀寫操作。這樣PDIUSBD12只占用微控制器的三個地址資源,其一用來向PDIUSBD12寫命令,其二用來向PDIUSBD12寫數(shù)據(jù),另外一個用來從PDIUSBD12讀數(shù)據(jù)。對DSP而言,PDIUSBD12就相當(dāng)于一個有8位數(shù)據(jù)總線和3個地址的存儲器件。

            設(shè)備采用自供電方式,需要將EOT 通過一個10k?的電阻接至USB電纜的VCC(+5V)端,并加1M?下拉電阻,借此檢測USB設(shè)備是否已經(jīng)連接到USB口。

          軟件設(shè)計(jì)

            USB軟件設(shè)計(jì)包括固件(firmware)程序、PC端的驅(qū)動程序和應(yīng)用程序。其中固件程序要求編寫者對復(fù)雜的USB通信協(xié)議有深刻的理解,編程難度較高,在本論文中將詳細(xì)介紹。

            固件編程
            固件程序是寫入MCU內(nèi)的程序,使MCU可以完全按照USB協(xié)議,識別接收到的信息包類型,對包的內(nèi)容、意義進(jìn)行分析,并按照要求完成相應(yīng)的動作。通過這些不同類型包的傳遞,完成MCU與接口芯片的命令及數(shù)據(jù)交換,進(jìn)而實(shí)現(xiàn)主機(jī)與設(shè)備間的通信。

            固件程序設(shè)計(jì)成中斷驅(qū)動模式,采用模塊化設(shè)計(jì),其總體結(jié)構(gòu)如圖2所示。


             主循環(huán)
            主循環(huán)中主要完成DSP的寄存器及端口初始化,向PDIUSBD12發(fā)送設(shè)置模式命令,接通SoftConnect。判斷是否接收到建立包(setup package),若收到則調(diào)用標(biāo)準(zhǔn)請求處理程序進(jìn)行處理,若收到主機(jī)請求信號,則調(diào)用數(shù)據(jù)發(fā)送程序發(fā)送數(shù)據(jù)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: DSP USB 測量儀器 MCU

          評論


          相關(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); })();