基于DSP的USB接口設(shè)計與實現(xiàn)
3 接口操作原理
CY7C68001 有兩個外部接口:
(1) 命令接口:用來訪問CY7C68001 寄存器、Endpoint 0緩沖器,以及描述表。
(2) FIFO數(shù)據(jù)接口:用來訪問4個1K字節(jié)的FIFO中的數(shù)據(jù)。
這兩個外部接口均可以通過同步或異步的方式進行訪問。
本設(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)的寄存器。
寫入命令口的內(nèi)容稱為命令字,命令字包含要尋址的寄存器的子地址,或要寫入寄存器的數(shù)據(jù)的高4位或低4位。讀命令口必須要跟在給命令口寫讀命令字之后,讀出的為相應(yīng)寄存器的8位數(shù)據(jù)。所以,寄存器的寫操作由3 個步驟組成:
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論