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