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