基于DSP的USB接口設(shè)計(jì)
這兩個(gè)外部接口均可以通過(guò)同步或異步的方式進(jìn)行訪問(wèn)。
本設(shè)計(jì)采用異步的方式進(jìn)行訪問(wèn)。根據(jù)圖3 的地址分配,利用TMS320VC5416 的三根高位地址線(A11、A12、A13)連接CY7C68001 的FIFOAD0/1/2,用以選擇FIFO2、FIFO4、FIFO6、FIFO8以及命令接口,其地址表如圖3所示。CY7C68001的地址線FIFOADR[2:0]為100B 時(shí),選中CY7C68001 的命令口(Command)。通過(guò)CY7C68001的命令口,可以訪問(wèn)37個(gè)寄存器、Endpoint 0緩沖器(64個(gè)字節(jié)FIFO)和描述表(500個(gè)字節(jié)FIFO)等,對(duì)這些寄存器進(jìn)行讀寫(xiě)方式采用二次尋址方式,即首先通過(guò)命令口將要尋址的寄存器的子地址和操作類(lèi)型(讀或?qū)?寫(xiě)入,然后再通過(guò)命令口將數(shù)據(jù)讀出或?qū)懭胂鄳?yīng)的寄存器。


4 USB 接口的軟件設(shè)計(jì)
USB接口的軟件設(shè)計(jì)由兩部分組成:一是在PC機(jī)Windows中運(yùn)行USB 2.0 Utility 工具,是一個(gè)Windows 圖形用戶(hù)界面軟件,提供CY7C68001 與Windows 操作系統(tǒng)的接口程序,使得CY7C68001的開(kāi)發(fā)變得簡(jiǎn)單。二是在在DSP中運(yùn)行嵌入式應(yīng)用程序代碼,提供硬件的驅(qū)動(dòng),用來(lái)管理CY7C68001進(jìn)行不同方式的數(shù)據(jù)處理,從而實(shí)現(xiàn)USB2.0 傳輸協(xié)議。
4.1 USB 接口的軟件設(shè)計(jì)流程
USB接口的軟件設(shè)計(jì),DSP端代碼大致包括DSP芯片初始化(vc5416_init 函數(shù))、USB芯片初始化(sx2_init 函數(shù))、USB芯片配置程序( s x 2 _ s e t u p 函數(shù)) 以及USB 芯片數(shù)據(jù)讀寫(xiě)程序(sx2_processdata 函數(shù)),程序流程如圖4 所示。
DSP芯片初始化(vc5416_init函數(shù))主要負(fù)責(zé)設(shè)置VC5416的工作頻率,配置SWCR以及SWWSR寄存器,另外本應(yīng)用系統(tǒng)采用一個(gè)GPIO引腳作為68001的復(fù)位信號(hào),所以還需要對(duì)其進(jìn)行相關(guān)設(shè)置。

USB芯片初始化(sx2_init函數(shù))主要負(fù)責(zé)清除Buffer緩沖區(qū)以及使能VC5416 的外部中斷INT1
相關(guān)推薦
-
-
wuren_13 | 2004-11-08
-
電子陽(yáng)光 | 2004-11-04
-
wuren_13 | 2004-11-08
-
-
-
-
-
-
-
ping1125 | 2005-03-03
-
fancy_wind | 2004-10-29
技術(shù)專(zhuān)區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車(chē)電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論