基于DSP的USB接口設(shè)計(jì)
這兩個(gè)外部接口均可以通過同步或異步的方式進(jìn)行訪問。
本設(shè)計(jì)采用異步的方式進(jìn)行訪問。根據(jù)圖3 的地址分配,利用TMS320VC5416 的三根高位地址線(A11、A12、A13)連接CY7C68001 的FIFOAD0/1/2,用以選擇FIFO2、FIFO4、FIFO6、FIFO8以及命令接口,其地址表如圖3所示。CY7C68001的地址線FIFOADR[2:0]為100B 時(shí),選中CY7C68001 的命令口(Command)。通過CY7C68001的命令口,可以訪問37個(gè)寄存器、Endpoint 0緩沖器(64個(gè)字節(jié)FIFO)和描述表(500個(gè)字節(jié)FIFO)等,對這些寄存器進(jìn)行讀寫方式采用二次尋址方式,即首先通過命令口將要尋址的寄存器的子地址和操作類型(讀或?qū)?寫入,然后再通過命令口將數(shù)據(jù)讀出或?qū)懭胂鄳?yīng)的寄存器。
![基于DSP的USB接口設(shè)計(jì)](http://editerupload.eepw.com.cn/fetch/20131227/205688_2_0.jpg)
![基于DSP的USB接口設(shè)計(jì)](http://editerupload.eepw.com.cn/fetch/20131227/205688_2_1.jpg)
4 USB 接口的軟件設(shè)計(jì)
USB接口的軟件設(shè)計(jì)由兩部分組成:一是在PC機(jī)Windows中運(yùn)行USB 2.0 Utility 工具,是一個(gè)Windows 圖形用戶界面軟件,提供CY7C68001 與Windows 操作系統(tǒng)的接口程序,使得CY7C68001的開發(fā)變得簡單。二是在在DSP中運(yùn)行嵌入式應(yīng)用程序代碼,提供硬件的驅(qū)動,用來管理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ù)讀寫程序(sx2_processdata 函數(shù)),程序流程如圖4 所示。
DSP芯片初始化(vc5416_init函數(shù))主要負(fù)責(zé)設(shè)置VC5416的工作頻率,配置SWCR以及SWWSR寄存器,另外本應(yīng)用系統(tǒng)采用一個(gè)GPIO引腳作為68001的復(fù)位信號,所以還需要對其進(jìn)行相關(guān)設(shè)置。
![程序流程圖](http://editerupload.eepw.com.cn/fetch/20131227/205688_2_2.jpg)
USB芯片初始化(sx2_init函數(shù))主要負(fù)責(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
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論