AMCCS5933 在PCI板卡設計中的應用
通過設置MCSR寄存器啟動DMA傳輸。
由本地邏輯控制的DMA傳輸步驟,只需將控制方式改為本地邏輯控制,然后由本地邏輯來設置相應的寄存器。
3.5 PASS THRU方式下的數據傳輸
配置空間中的基址寄存器為PCI系統資源分配(內存和I/O空間的分配)提供了一種機制,PCI設備在基址寄存器中填入所需資源的類型和大小,基址寄存器的0位為1表示為內存空間,為0則表示為I/O空間,1、2位則指定內存或I/O空間是分配在1M地址以下,還是分配在任意地址空間,3位表示能否預取,4~31位表示所需分配的內存或I/O空間的大小。PCI BIOS啟動后讀取各個PCI設備配置空間中的基址寄存器,獲取每個PCI設備分配所需的資源類型和大小等信息,并且為這些PCI設備分配好所設定的資源,然后再將分配的內存空間或地址空間的基地址回寫到PCI設備的各個基址寄存器中。
配置空間中有6個基址寄存器,與PASS THRU方式有關的是基址寄存器1~4,基址寄存器0被指定為AMCCS5933分配I/O資源,基址寄存器6保留不用。
PASS THRU 方式下的數據傳輸的有關引腳:PTATN#、PTRDY#、PTNUM[1:0]、PTBE[3:0]#、BE[3..0]#、PTADR#、 PTWR、PTBURST#、DQ[31..0]
PTNUM[1:0]表示由哪個基址寄存器所分配的內存空間或I/O空間。
PASS THRU方式下的數據傳輸主要由AMCCS5933芯片與本地邏輯電路通過上述引腳信號的交互、握手來完成,時序如圖4所示。
PASS THRU的握手時序可以通過可編程邏輯以同步狀態(tài)機的方式實現,用ALTERA的AHDL硬件編程語言可以很容易地實現它。
3.6 中斷的設置與產生
AMCCS5933有兩個中斷引腳:INTA#和IRQ#。INTA#為PCI總線信號用于產生系統PCI中斷,IRQ#是本地總線信號用于產生本地邏輯的中斷。
MAILBOX的空滿變化、DMA讀寫傳送的完成都可以產生中斷,中斷的使用方法如下:
A PCI設備中斷INTA#
(1)在配置空間中斷引腳寄存器填入中斷引腳,單功能設備選INTA#。
(2)從配置空間矢量寄存器中獲取中斷矢量。
(3)在PCI總線控制寄存器中,設置產生的條件,如MAILBOX變滿產生中斷、DMA寫完成產生中斷等。
(4)在中斷處理程序中,讀取PCI總線控制寄存器INTCSR和MBEF當前值,確定中斷源并做相應中斷處理。
(5)清中斷及退出中斷處理程序,清中斷通過往INTCSR相應的中斷標志位寫“1”來完成。
評論