1 總體描述
系統(tǒng)中的DSP采用TI公司的定點數(shù)字信號處理器TMS320C5402,。它采用4總線4級流水線的增強型哈佛結(jié)構(gòu),處理速度為100MIPS;具有片內(nèi)4K×16位的ROM和16K×16位的DARAM,, 2個多通道緩沖串行口(McBSP),,1個直接存儲控制器(DMA)等片內(nèi)外圍電路;外部可擴展至1M×16位存儲空間,,芯片采用3.3V電源電壓,。
TMS320C5402的多通道緩沖串行口(multi-channel buffercd scrial port)具備標(biāo)準(zhǔn)串行口的所有功能,可設(shè)定收發(fā)數(shù)據(jù)格式(8位~32位),;在8位不擴展模式下,,可選擇高位(MSB)先送或低位(LSB)先送。直接存儲控制器(DMA)可以實現(xiàn)數(shù)據(jù)在串行口McBSP和內(nèi)部DARAM間的直接交換,, 提高工作效率,, 節(jié)省運行時間。
CPLD采用Altera公司FLEX10K系列的EPFl0KIOA7C144-1,??捎觅Y源有576個邏輯單元(LE)、72個邏輯陣列塊(LAB),、3個嵌入式陣列塊(EAB)和102
個I/O引腳,,電源電壓為3.3V。
FLEX1OK的配置由Altera的專用串行配置PROM(EPCI)或系統(tǒng)控制器提供的數(shù)據(jù)宋完成,,也由編程硬件通過下載電纜(BytcBlastcrMV)進行在線配置,。依據(jù)控制配置過程的器件不同, 可將配置分為主動配置和被動配置兩類,;依據(jù)配置數(shù)據(jù)流的格式不同,, 可將配置分為串行配置和并行配置兩類。本文采用的是在微處理器控制下的被動串行配置(passivc serial)模式,。配置連接示意如圖1所示,。
其中,DSP的XF作為輸出控制CPLD的nCONFIG,,INTO和INT1作為輸入監(jiān)控CPLD的nSTATUS和1NT DONE,,緩沖串行口的BCLKX0和BDX0分別接CPLD的DCLK和DATA0,BCLKR0 作為輸入端檢測CONF DONE的信號,。TMS320C5402和EPFl0KIOATC144-1都采用3.3V電源電壓,。
2 配置數(shù)據(jù)的獲取和存儲
對CPLD的配置設(shè)計完成以后,MAX+PLUS II的編譯器在編譯過程中自動產(chǎn)生一個存儲器目標(biāo)文件(*.sof),。它包括一個專用數(shù)據(jù)頭和二進制配置數(shù)據(jù),, 供下載電纜(BvtcBlastcrMV)對器件進行被動申行配置時使用。在存儲器目標(biāo)文件(*.sof)的基礎(chǔ)上,,可以生成其它類型配置文件,。我們所用到的是十六進制文件(*.hex),是ASCII形式的配置數(shù)據(jù)文件。使用MAX+PLUSII生成十六進制文圖2十六進制文件(*.hex)的生成過程件(*hex)的過程,,如圖2所示,。
①完成編譯之后,從“FILE”菜單中選擇“ConvertSRAM Object Files|…”(圖中a),;
②選擇相應(yīng)的配置文件*.sof(圖中b),;
③設(shè)定輸出文件格式為.hex(圖中c);
④選擇對應(yīng)輸出文件•.hex(圖中d),;
⑤點擊“OK”確認(rèn)(圖中e),。
然后,在MAX+PLUSII環(huán)境下打開生成的十六進制文件(*.hex),,便可獲取到ASCIl格式的配置數(shù)據(jù)。將配置數(shù)據(jù)通過DSP的開發(fā)軟件轉(zhuǎn)化成二進制數(shù)據(jù),,通過DSP存入其外部大容量數(shù)據(jù)存儲器(flash memory)中,。
EPF10K10ATCl44_1的二進制配置數(shù)據(jù)大小約為120000位,即14.6KB,。TMS320C5402的內(nèi)部DARAM為16K×16位,,外部存儲空間為lM×1 6位,故可存儲數(shù)十個配置文件,。
1NT—DONE一狀態(tài)指示端,,配置時為低,配置數(shù)據(jù)初始化完成后釋放,,漏極開路,;
DCLK一配置時鐘信號端;
DATA0——配置數(shù)據(jù)輸入端,。
被動串行配置(PS模式)的時序如圖3所示,。
圖3中關(guān)鍵的時序參數(shù)如表1所列。
3.2配置過程描述
參照被動串行配置時序,,DSP控制下CPLD現(xiàn)場配置的實現(xiàn)過程如下所述,。
首先,DSP將一個方案的配置數(shù)據(jù)從外部數(shù)據(jù)存儲器中讀入內(nèi)部DARAM,。然后,,在DCONFIG上產(chǎn)生一個由低到高的跳變,使CPLD進入配置狀態(tài),,等待CPLD釋放nSTATUS,。nSTATuS變高之后,通過McBSP在時鐘(DCLK)上升沿將配置數(shù)據(jù)逐位送到DATA0上,,時鐘(DCLK)頻率選為10MHz,。因為配置要求每字節(jié)數(shù)據(jù)的最低位(LSB)先送出,故在初始化McBSP時,設(shè)定發(fā)送控制寄存器(XCRl和XCR2),,使McBSP工作于8位不擴展傳送模式和低位(LsB)先發(fā)模式,,DMA完成數(shù)據(jù)從DARAM到
McBSP口的直接傳送。CPLD接收完所有配置數(shù)據(jù)(120 000字節(jié))后,,會釋放CONF_DONE,,變成高電平,之后DSP仍須在DCLK上輸出脈沖來初始化CPLD器件,,直到INT_DONE被釋放變成高電平,,表示CPLD器件初始化完畢,進入用戶狀態(tài),,配置過程結(jié)束,。在配置的過程中,沒有握手信號,。一旦CPLD檢測到出錯,,會將nSTATus拉低,此時會產(chǎn)生DSP外部中斷,。DSP響應(yīng)中斷后,,在nCONFIG上產(chǎn)生一個由低到高的跳變,重新開始配置,,或者DSP檢測到配置出錯,,也要強制重新開始配置。
配置結(jié)束后,,DSP和CPLD將工作于該方案模式下,。當(dāng)需要進入其它方案模式時,DSP按照需求讀入新的配置方案數(shù)據(jù),,對CPLD重新進行配置,。由于DSP的高處理速度(100MIPS)和配置時鐘的高頻率(10MHz),使得CPLD的配置時間小于20ms,,因此可以快速,、靈活地實現(xiàn)各配置方案間的現(xiàn)場實時切換。
結(jié)語
在繼電保護測試裝置中,,要求測試端的輸入輸出特性隨被測試線圈阻抗的變化而改變,。CPLD作為測試端的核心器件,基于DSP實現(xiàn)其多方案現(xiàn)場可編程配置,,實現(xiàn)了多種類型繼電保護裝置通用測試器的設(shè)計,。本設(shè)計的思路及方法也適用于其它DSP+CPLD/FPGA或MCU+CPLD/FPGA系統(tǒng)。利用系統(tǒng)中現(xiàn)有的DSP/MCU和大容量通用數(shù)據(jù)存儲器,,省去專用的配置PROM,,方便靈活地實現(xiàn)對CPLD的現(xiàn)場可編程配置,。