基于DSP的USB接口設(shè)計
這兩個外部接口均可以通過同步或異步的方式進行訪問。
本設(shè)計采用異步的方式進行訪問。根據(jù)圖3 的地址分配,利用TMS320VC5416 的三根高位地址線(A11、A12、A13)連接CY7C68001 的FIFOAD0/1/2,用以選擇FIFO2、FIFO4、FIFO6、FIFO8以及命令接口,其地址表如圖3所示。CY7C68001的地址線FIFOADR[2:0]為100B 時,選中CY7C68001 的命令口(Command)。通過CY7C68001的命令口,可以訪問37個寄存器、Endpoint 0緩沖器(64個字節(jié)FIFO)和描述表(500個字節(jié)FIFO)等,對這些寄存器進行讀寫方式采用二次尋址方式,即首先通過命令口將要尋址的寄存器的子地址和操作類型(讀或?qū)?寫入,然后再通過命令口將數(shù)據(jù)讀出或?qū)懭胂鄳?yīng)的寄存器。
4 USB 接口的軟件設(shè)計
USB接口的軟件設(shè)計由兩部分組成:一是在PC機Windows中運行USB 2.0 Utility 工具,是一個Windows 圖形用戶界面軟件,提供CY7C68001 與Windows 操作系統(tǒng)的接口程序,使得CY7C68001的開發(fā)變得簡單。二是在在DSP中運行嵌入式應(yīng)用程序代碼,提供硬件的驅(qū)動,用來管理CY7C68001進行不同方式的數(shù)據(jù)處理,從而實現(xiàn)USB2.0 傳輸協(xié)議。
4.1 USB 接口的軟件設(shè)計流程
USB接口的軟件設(shè)計,DSP端代碼大致包括DSP芯片初始化(vc5416_init 函數(shù))、USB芯片初始化(sx2_init 函數(shù))、USB芯片配置程序( s x 2 _ s e t u p 函數(shù)) 以及USB 芯片數(shù)據(jù)讀寫程序(sx2_processdata 函數(shù)),程序流程如圖4 所示。
DSP芯片初始化(vc5416_init函數(shù))主要負責(zé)設(shè)置VC5416的工作頻率,配置SWCR以及SWWSR寄存器,另外本應(yīng)用系統(tǒng)采用一個GPIO引腳作為68001的復(fù)位信號,所以還需要對其進行相關(guān)設(shè)置。
USB芯片初始化(sx2_init函數(shù))主要負責(zé)清除Buffer緩沖區(qū)以及使能VC5416 的外部中斷INT1
相關(guān)推薦
-
-
-
wuren_13 | 2004-11-08
-
電子陽光 | 2004-11-04
-
wuren_13 | 2004-11-08
-
-
-
-
-
-
-
-
ping1125 | 2005-03-03
-
fancy_wind | 2004-10-29
評論