AMCCS5933 在PCI板卡設計中的應用
3.2 總線(xiàn)控制寄存器的訪(fǎng)問(wèn)
PCI總線(xiàn)控制寄存器只有主機才能訪(fǎng)問(wèn),主機通過(guò)PCI總線(xiàn)進(jìn)行I/O讀寫(xiě)操作來(lái)訪(fǎng)問(wèn)這些寄存器。
本地總線(xiàn)控制寄存器只有本地邏輯才能訪(fǎng)問(wèn),與其有關(guān)的引腳有ADR[6..2]、BE[3..0]#、SELECT#、WR#、RD#和數據地址總線(xiàn)DQ[31..0]。
讀時(shí)序如圖3所示,寫(xiě)時(shí)序將圖中RD#替換為WR#即可。
ADR[6..2]提供被訪(fǎng)問(wèn)寄存器的地址,BE[3..0]#制定訪(fǎng)問(wèn)是雙字中的哪些字節,WR#為寫(xiě)使能,RD#為讀使能,SELECT#為操作使能,都為低電平有效。
3.3 MAILBOX方式的使用
AMCCS5933內部有8個(gè)MAILBOX:4個(gè)輸出MAILBOX,四個(gè)輸入MAILBOX。PCI方的輸入MAILBOX對應于本地的輸出MAILBOX,輸出MAILBOX則對應于輸入MAILBOX。
MAILBOX主要用于主機方與本地邏輯之間的通信,例如傳輸一些自定義的控制字、狀態(tài)信息等。
主機對MAILBOX的訪(fǎng)問(wèn)通過(guò)I/O讀寫(xiě)來(lái)完成,本地邏輯對MAILBOX的訪(fǎng)問(wèn)則通過(guò)訪(fǎng)問(wèn)本地控制寄存器的方式來(lái)完成。
MIALBOX的空滿(mǎn)狀態(tài)由控制寄存器MBEF(PCI)和AMBEF(本地)來(lái)表征。
3.4 FIFO方式下的數據傳輸
3.4.1基本數據傳輸
AMCCS5933內部有兩個(gè)單向FIFO:輸出FIFO和輸入FIFO,主機和本地邏輯可以以訪(fǎng)問(wèn)控制寄存器的方式來(lái)訪(fǎng)問(wèn)FIFO,也可以通過(guò)WRFIFO#、RDFIFO#、WFULL、RDEMPTY、BPCLK這幾個(gè)引腳來(lái)直接讀寫(xiě)FIFO。在設計當中一般采用后一種方法。直接讀寫(xiě)FIFO有兩種工作方式:同步方式和異步方式。在同步方式下,WRFIFO#、RDFIFO#為FIFO讀寫(xiě)使能信號,在BPCLK的上跳沿寫(xiě)入和讀出數據,輸出引腳BPCLK輸出33MHz信號。在異步方式下,WRFIFO#、RDFIFO#為FIFO讀寫(xiě)信號。WRFULL為輸出FIFO滿(mǎn)信號,RDEMPTY為輸入FIFO空信號。
3.4.2 DMA的實(shí)現
在FIFO方式下可以實(shí)現DMA傳輸。
DMA傳輸的實(shí)現步驟:
(1)通過(guò)NVBUILD軟件設置DMA傳輸的控制方為主機或本地邏輯,以下假設為主機控制。
(2)設置有關(guān)的PCI總線(xiàn)控制寄存器。
MWAR DMA寫(xiě)地址寄存器 填入接收數據存放的起始地址
MWTC DMA寫(xiě)計數器 填入接收數據的字節數
MRAR DMA 讀地址寄存器 填入發(fā)送數據起始地址
MRTC DMA 讀計數器 填入發(fā)送數據的字節數
(3) 啟動(dòng)DMA傳輸
評論