1746-NI8為了提高通道的傳輸速率,系統(tǒng)中IDMA通道初始化應(yīng)該注意以下幾點(diǎn): ① 1746-NI8需要在SIU中為FPGA配置UPM模式控制MPC8260和FPGA之間的突發(fā)讀寫(xiě)。不要使用通用目的片選機(jī)(GeneralPurpose Chipselect Machine,GPCM)模式。因?yàn)?/span>1746-NI8內(nèi)存控制的GPCM模式不支持突發(fā)傳輸,IDMA工作在GPCM模式下一方不論傳輸數(shù)據(jù)的長(zhǎng)度是否滿足突發(fā)的要求,都只能以普通的單次讀寫(xiě)進(jìn)行。
② 1746-NI8把FPGA當(dāng)作存儲(chǔ)器操作,IDMA工作在內(nèi)存到內(nèi)存的雙地址模式下,緩沖區(qū)設(shè)為zui大的2 KB。
③ BD表的配置應(yīng)該與FPGA中的緩沖區(qū)一一對(duì)應(yīng)。BD表結(jié)構(gòu)中的CM(Continuous Mode)位應(yīng)該設(shè)置為緩沖鏈模式,在每一個(gè)BD表傳輸完之后,清BD表的有效位;同時(shí),CP根據(jù)下一個(gè)BD表的值自動(dòng)裝載IDMA寄存器進(jìn)行后面的傳輸。 1746-NI8通道初始化以后等待CP發(fā)出START_IDMA命令開(kāi)始傳輸。在zui后一個(gè)BD表傳輸結(jié)束時(shí)觸發(fā)中斷信號(hào)通知PowerPC內(nèi)核本次傳輸過(guò)程的完成。傳輸過(guò)程中會(huì)發(fā)生改變的通道設(shè)置寄存器包括IDMA BD表指針、源地址、目的地址和BD表有效位等,所以在BD表傳輸結(jié)束的中斷處理程序中需要恢復(fù)這些寄存器為下一次傳輸作準(zhǔn)備。
2.1.2 中斷處理 1746-NI8系統(tǒng)設(shè)計(jì)中使用了兩類(lèi)中斷方式: IRQ引腳引入的外部中斷和CPM觸發(fā)的內(nèi)部中斷。初始化過(guò)程包括:使能對(duì)應(yīng)的中斷屏蔽位、選擇中斷優(yōu)先級(jí)、連接對(duì)應(yīng)中斷向量號(hào)和中斷服務(wù)程序等。為了保證較好的傳輸實(shí)時(shí)性,需要把中斷優(yōu)先級(jí)盡量設(shè)得高一些。 與一般中斷處理過(guò)程的區(qū)別在于:MPC8260中斷處理控制器采用分級(jí)結(jié)構(gòu)來(lái)擴(kuò)展中斷信號(hào)總數(shù)。
1746-NI8內(nèi)的中斷就是二級(jí)中斷,需要通過(guò)CPM中斷控制器和SIU中斷控制器兩級(jí)中斷控制。本設(shè)計(jì)中用來(lái)通知內(nèi)核本次傳輸過(guò)程結(jié)束的中斷是CPM內(nèi)zui后一個(gè)BD表傳送結(jié)束的信號(hào)BC(BD Completed)。BC信號(hào)和命令結(jié)束等幾個(gè)信號(hào)一起通過(guò)SIU中斷掛起寄存器中的IDMA位向內(nèi)核發(fā)出中斷信號(hào)。所以在中斷初始化時(shí)要同時(shí)有效IDMA屏蔽寄存器和SIU中斷屏蔽寄存器對(duì)應(yīng)的比特位。具體的中斷初始化實(shí)例如下:
尤其要注意的是,1746-NI8中斷處理程序結(jié)束之前的清SIU中斷掛起寄存器,不能直接在SIU中斷掛起寄存器的IDMA位寫(xiě)1,而是要通過(guò)在IDMA事件寄存器的BC位寫(xiě)1來(lái)間接地清SIU中斷掛起寄存器。
CUTLER HAMMER CB4033T120K480 NSFP CB4033T120K480
ASEA BROWN BOVERI 52614759 USPP 52614759
TEKTRONIX 3001GPX USPP 3001GPX
PERCEPTRON 9110021 USPP 9110021
ALLEN BRADLEY 1771-NT1 FNFP 1771NT1
GENERAL ELECTRIC DS3800HVDB1K1G USPP DS3800HVDB1K1G
RELIANCE ELECTRIC 803456-21 USPP 80345621
MODICON AM-S980-800 USPP AMS980800
GENERAL ELECTRIC DS200SLCCG1A USPP DS200SLCCG1A
MODICON 140-CPU-434-12 NSFP 140CPU43412
INDRAMAT MAC071B-0-PS-2-?C/095-A-0-S047 NSFP MAC071B0PS2C095?1
ALLEN BRADLEY 8720-MC-RP-S065?-VB-M USPP 8720MCRPS065VBM