1756-DNB和60x總線、本地總線相連,并且可以直接訪問CPM內(nèi)部的雙口RAM。CP利用這兩個SDMA為每個外圍串行控制器提供了兩個虛擬SDMA通道:一個用于輸入,一個用于輸出。
同時,CPM還用這2個物理的SDMA通道模擬4個可編程控制的、獨立的DMA (Independent DMA,IDMA)通道,用于存儲器—存儲器及外設(shè)—存儲器之間的數(shù)據(jù)傳輸。 主控板上的FPGA和1756-DNB都是掛接在1756-DNB的60x總線上的,所以只能利用IDMA來實現(xiàn)二者之間的DMA傳輸。根據(jù)傳輸啟動的觸發(fā)方式不同,IDMA可分為握手信號控制的IDMA傳輸和CP命令控制的IDMA傳輸兩種。下面分別介紹兩種方式的特點。
1.1 握手信號控制的1756-DNB傳輸 握手信號控制的IDMA傳輸主要用于外設(shè)和內(nèi)存之間的數(shù)據(jù)傳輸。每個IDMA通道都有3個握手信號用于傳輸握手控制:DMA請求信號DREQ[1~4]、DMA應(yīng)答信號DACK[1~4]和DMA結(jié)束信號DONE[1~4]。 在這種方式下,PowerPC內(nèi)核只需要參與IDMA通道初始化,之后的傳輸過程全部由CP按照通道參數(shù)設(shè)置和握手信號控制數(shù)據(jù)的收發(fā),在zui大程度上釋放內(nèi)核。握手信號控制的缺點在于:
① 1756-DNB中的數(shù)據(jù)和MPC8260的數(shù)據(jù)同步比較復(fù)雜。
② 每次發(fā)出請求信號后都要進行總線仲裁,并且在得到總線使用權(quán)之后一次只能夠傳輸外設(shè)端口大小或者32位的數(shù)據(jù),總線利用率低。
③ 1756-DNB握手控制邏輯和時序比較復(fù)雜,加重了FPGA內(nèi)部控制邏輯設(shè)計的負擔(dān)。 雖然這種傳輸方式基本上不占用內(nèi)核資源,但是由于總線帶寬有限且利用率較低,所以在連續(xù)高速的通信條件下會造成內(nèi)核長時間得不到總線使用權(quán)而一直處于等待狀態(tài)。因此,握手信號控制的IDMA一般只適用于由外設(shè)發(fā)起的、數(shù)據(jù)不是太頻繁的傳輸使用。
1.2 CP命令控制的1756-DNB傳輸 MPC8260的IDMA還可以通過向CP命令寄存器中寫入START_IDMA命令進行內(nèi)部觸發(fā)。每次啟動傳輸以后PowerPC內(nèi)核就被釋放,傳輸?shù)脑吹刂贰⒛康牡刂泛蛡鬏敂?shù)據(jù)長度等參數(shù)由CP按照在IDMA通道初始化的信息控制執(zhí)行。每次傳輸?shù)膠ui大長度為4 GB。
GENERAL ELECTRIC 04019J47G0001 NSFP 04019J47G0001
SIEMENS 6ES5-928-3UB21 NSFP 6ES59283UB21
SAFTRONICS GP10E9ST34150B1 USPP GP10E9ST34150B1
SIEMENS 6ES5-948-3UA13 USPP 6ES59483UA13
ALLEN BRADLEY 1756-L63 NSFP 1756L63
ALLEN BRADLEY 20DD077A0NNNACA?NE NSFP 20DD077A0NNNACA?N
ALLEN BRADLEY 1387-AOB145-A73 USPP 1387AOB145A73
LANDIS & GYR PXC100-PE96.A FNFP PXC100PE96A
KAIJO ELECTRIC 8801B-MR NSPP 8801BMR
FISHER ROSEMOUNT 620641 USPP 620641
PHOENIX CONTACT OPC5515-003-AB USPP OPC5515003AB
CUTLER HAMMER HMA31000T USPP HMA31000T
SQUARE D MA-31000-T USPP MA31000T
ALLEN BRADLEY 6180-FLIEHLDZHZ?Z NSFP 6180FLIEHLDZHZZ
MIYACHI IS-471B USPP IS471B