<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

引言

本文引用地址:http://dyxdggzs.com/article/86353.htm

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

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

方案選擇

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

硬件設計

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

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

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

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

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

軟件設計

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

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

  固件程序設計成中斷驅動(dòng)模式,采用模塊化設計,其總體結構如圖2所示。


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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: DSP USB 測量?jì)x器 MCU

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>