新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于引言DSP平臺的USB接口設計

        基于引言DSP平臺的USB接口設計

        作者: 時間:2010-12-22 來源:網絡 收藏

        1.3 時序芯片

        為了降低成本、簡化電路,本方案不使用DMA傳輸方式,而以TI公司的TMS320C2XX作為微控制器(使用20MHz晶振)。它的并口速度非常高,遠遠高于PDID12所要求的最高限制2MB/s。此處是硬件最關鍵的地方。

        經過詳細的時序分析發現,大部分問題可以通過在固件的加入延時,或者設置的WSGR寄存器來解決。但是有一個問題,必須在硬件上加以解決。圖2是(TMS320C2XX)的寫時序。

        圖2中,參數th(W-D)是指在WE信號變高(無效)以后,所寫的數據將仍然保持有效的時間。這個值最小為3ns,最大為14ns,所以所寫的數據在WE信號無效以后還會維持有效,大約3~14ns(實際的延時介于這兩個值之間)。

        圖3是PDID12所要求的寫時序。圖中,參量tWDH是與DSP (TMS320C2XX)參量th(W-D)相對應的另外一個參量。這個參量反映了PDID12要求微控制器在向其中寫數據時,所寫的數據在WR信號無效之后,要繼續保持有效的時間。這個參量最小值為10ns。也就是說,PDIUSBD12要求所寫的數據最少要保持有效10ns(在WR無效之后)。

        由此可以看出,DSP(TMS320C2XX)的寫時序不能可靠地保證滿足 PDIUSBD12的要求,而且這個問題無法通過軟件加延時的方法來解決,必須通過硬件來處理。經過分析對比,最后決定采用一個很簡單但是后來事實證明非常有效的方法來調整它們之間的時序。那就是在DSP(TMS320C2XX)與PDIUSBD12的總線之間加一個雙向緩沖器-74LS245。這個芯片可以在它們的時序之間引入一個延時。雖然這個延時并不可靠、但是由于DSP(TMS320C2XX)本身會在WR無效后,繼續保持數據有效一段時間(前面已講過),這要僅僅需要將延時適當延長一點就可以了。74LS245所造成的延時典型值為15ns,最小也為8ns。這樣,加上原來DSP寫時序的延時,就可以滿足PDIUSBD12所要求的寫時序了。

        另外由于加入74LS245所造成的對其它時序的影響,可以通過設置DSP(TMS320C2XX)的WSGR寄存器來消除,所以這個方案是可行的。(事實上,后來制造好的電路也證明了這個方案是完全可行的)

        對其余時序上的配合,經過仔細的計算與核對證明,也是完全可行的。在硬件上,哂方案還采用了一片GAL(16V8)來實現對PDIUSBD12芯片的片選,以及實現對它的軟件和手動復位。硬件總體框圖如圖4所示。

        2 軟件

        2.1 固件設計

        由于采用的是不帶MCU內核的USB芯片,所以關于USB1.1協議規范的實現都必須靠DSP(TMS320C2XX)控制PDIUSBD12芯片來完成。固件的主要設計任務是:在DSP(TMS320C2XX)的上編寫程序,以完成 USB1.1規范所要求的標準請求及用戶根據產品需要自己定義的請求。

        為了不影響程序的執行效率,本方案采用中斷方式完成固件的編寫;同時,為了保證程序的模塊化及良好的可移植性,在設計中采用分層結構進行固件的編寫,如圖5所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南木林县| 三都| 垣曲县| 益阳市| 麦盖提县| 广灵县| 仪陇县| SHOW| 安庆市| 四川省| 富民县| 财经| 漳州市| 松滋市| 波密县| 安岳县| 黔江区| 张家界市| 濮阳县| 绍兴市| 通州区| 鄯善县| 芷江| 浦北县| 合肥市| 曲周县| 陆丰市| 鹿泉市| 建始县| 武川县| 崇文区| 思南县| 顺义区| 邓州市| 新营市| 阿拉善右旗| 铁岭市| 太仓市| 建湖县| 遂川县| 固始县|