基于DSP的CPLD多方案現(xiàn)場(chǎng)可編程配置
出處:互聯(lián)網(wǎng) 發(fā)布于:2011-06-19 17:59:48
20世紀(jì)70年代,早的可編程邏輯器件--PLD誕生了。其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因?yàn)樗挠布Y(jié)構(gòu)設(shè)計(jì)可由軟件完成(相當(dāng)于房子蓋好后人工設(shè)計(jì)局部室內(nèi)結(jié)構(gòu)),因而它的設(shè)計(jì)比純硬件的數(shù)字電路具有很強(qiáng)的靈活性,但其過(guò)于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。為彌補(bǔ)PLD只能設(shè)計(jì)小規(guī)模電路這一缺陷,20世紀(jì)80年代中期,推出了復(fù)雜可編程邏輯器件--CPLD.
CPLD主要是由可編程邏輯宏單元(MC,Macro Cell)圍繞中心的可編程互連矩陣單元組成。其中MC結(jié)構(gòu)較復(fù)雜,并具有復(fù)雜的I/O單元互連結(jié)構(gòu),可由用戶根據(jù)需要生成特定的電路結(jié)構(gòu),完成一定的功能。由于CPLD內(nèi)部采用固定長(zhǎng)度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計(jì)的邏輯電路具有時(shí)間可預(yù)測(cè)性,避免了分段式互連結(jié)構(gòu)時(shí)序不完全預(yù)測(cè)的缺點(diǎn)。
在繼電保護(hù)測(cè)試裝置中, 既有復(fù)雜的算法, 又涉及多種檢測(cè)與控制方案。用DSP實(shí)現(xiàn)算法和多方案的配置,用CPLD進(jìn)行實(shí)時(shí)檢測(cè)和控制,是一種較好的獨(dú)立運(yùn)行模式。一般CPLD的配置依靠專(zhuān)用配置PROM或電纜來(lái)完成。本文介紹基于DSP的CPLD多方案現(xiàn)場(chǎng)可編程配置方法。
1 總體描述
系統(tǒng)中的DSP采用TI公司的定點(diǎn)數(shù)字信號(hào)處理器TMS320C5402.它采用4總線4級(jí)流水線的增強(qiáng)型哈佛結(jié)構(gòu),處理速度為100MIPS;具有片內(nèi)4K×16位的ROM和16K×16位的DARAM, 2個(gè)多通道緩沖串行口(McBSP),1個(gè)直接存儲(chǔ)控制器(DMA)等片內(nèi)外圍電路;外部可擴(kuò)展至1M×16位存儲(chǔ)空間,芯片采用3.3V電源電壓。
TMS320C5402的多通道緩沖串行口(multi-channel buffercd scrial port)具備標(biāo)準(zhǔn)串行口的所有功能,可設(shè)定收發(fā)數(shù)據(jù)格式(8位~32位);在8位不擴(kuò)展模式下,可選擇高位(MSB)先送或低位(LSB)先送。直接存儲(chǔ)控制器(DMA)可以實(shí)現(xiàn)數(shù)據(jù)在串行口McBSP和內(nèi)部DARAM間的直接交換, 提高工作效率, 節(jié)省運(yùn)行時(shí)間。
CPLD采用Altera公司FLEX10K系列的EPFl0KIOA7C144-1.可用資源有576個(gè)邏輯單元(LE)、72個(gè)邏輯陣列塊(LAB)、3個(gè)嵌入式陣列塊(EAB)和102個(gè)I/O引腳,電源電壓為3.3V.
FLEX1OK的配置由Altera的專(zhuān)用串行配置PROM(EPCI)或系統(tǒng)控制器提供的數(shù)據(jù)宋完成,也由編程硬件通過(guò)電纜(BytcBlastcrMV)進(jìn)行在線配置。依據(jù)控制配置過(guò)程的器件不同, 可將配置分為主動(dòng)配置和被動(dòng)配置兩類(lèi);依據(jù)配置數(shù)據(jù)流的格式不同, 可將配置分為串行配置和并行配置兩類(lèi)。本文采用的是在微處理器控制下的被動(dòng)串行配置(passivc serial)模式。配置連接示意如圖1所示。

其中,DSP的XF作為輸出控制CPLD的nCONFIG,INTO和INT1作為輸入監(jiān)控CPLD的nSTATUS和1NT DONE,緩沖串行口的BCLKX0和BDX0分別接CPLD的DCLK和DATA0,BCLKR0 作為輸入端檢測(cè)CONF DONE的信號(hào)。TMS320C5402和EPFl0KIOATC144-1都采用3.3V電源電壓。
2 配置數(shù)據(jù)的獲取和存儲(chǔ)
對(duì)CPLD的配置設(shè)計(jì)完成以后,MAX+PLUS II的編譯器在編譯過(guò)程中自動(dòng)產(chǎn)生一個(gè)存儲(chǔ)器目標(biāo)文件(*.sof)。在存儲(chǔ)器目標(biāo)文件(*.sof)的基礎(chǔ)上,可以生成其它類(lèi)型配置文件。我們所用到的是十六進(jìn)制文件(*.hex),是ASCII形式的配置數(shù)據(jù)文件。使用MAX+PLUSII生成十六進(jìn)制文圖2十六進(jìn)制文件(*.hex)的生成過(guò)程件(*hex)的過(guò)程,如圖2所示。

①完成編譯之后,從"FILE"菜單中選擇"ConvertSRAM Object Files|…"(圖中a);
?、谶x擇相應(yīng)的配置文件*.sof(圖中b);
?、墼O(shè)定輸出文件格式為。hex(圖中c);
④選擇對(duì)應(yīng)輸出文件·。hex(圖中d);
?、蔹c(diǎn)擊"OK"確認(rèn)(圖中e)。
然后,在MAx+PLUSII環(huán)境下打開(kāi)生成的十六進(jìn)制文件(*.hex),便可獲取到ASCIl格式的配置數(shù)據(jù)。將配置數(shù)據(jù)通過(guò)DSP的開(kāi)發(fā)軟件轉(zhuǎn)化成二進(jìn)制數(shù)據(jù),通過(guò)DSP存入其外部大容量數(shù)據(jù)存儲(chǔ)器(flash memory)中。
EPF10K10ATCl44_1的二進(jìn)制配置數(shù)據(jù)大小約為120000位,即14.6KB.TMS320C5402的內(nèi)部DARAM為16K×16位,外部存儲(chǔ)空間為lM×1 6位,故可存儲(chǔ)數(shù)十個(gè)配置文件。
3 對(duì)CPLD多方案現(xiàn)場(chǎng)可編程配置的實(shí)現(xiàn)
在DSP的控制下,將所需配置方案的配置數(shù)據(jù),采用被動(dòng)串行配置方式完成cPLD的配置。
3.1 引腳描述與配置時(shí)序
FLExlOK的引腳及功能如下:
MSELO、MSEL1一配置方式選擇端;
nSTATus一器件的狀態(tài)輸出端,器件配置發(fā)生問(wèn)題時(shí)被拉低,漏極開(kāi)路;
nCONFIG一配置控制輸入端,低電平復(fù)位器件,上升沿跳變啟動(dòng)配置,漏極開(kāi)路;
CONF一DONE一狀態(tài)輸出端,配置時(shí)為低,配置數(shù)據(jù)接收完畢后釋放,漏極開(kāi)路;
1NT-DONE一狀態(tài)指示端,配置時(shí)為低,配置數(shù)據(jù)初始化完成后釋放,漏極開(kāi)路;
DCLK一配置時(shí)鐘信號(hào)端;
DATA0--配置數(shù)據(jù)輸入端。
被動(dòng)串行配置(PS模式)的時(shí)序如圖3所示。

圖3中關(guān)鍵的時(shí)序參數(shù)如表1所列。

3.2配置過(guò)程描述
參照被動(dòng)串行配置時(shí)序,DSP控制下CPLD現(xiàn)場(chǎng)配置的實(shí)現(xiàn)過(guò)程如下所述。
首先,DSP將一個(gè)方案的配置數(shù)據(jù)從外部數(shù)據(jù)存儲(chǔ)器中讀入內(nèi)部DARAM.然后,在DCONFIG上產(chǎn)生一個(gè)由低到高的跳變,使CPLD進(jìn)入配置狀態(tài),等待CPLD釋放nSTATUS.nSTATuS變高之后,通過(guò)McBSP在時(shí)鐘(DCLK)上升沿將配置數(shù)據(jù)逐位送到DATA0上,時(shí)鐘(DCLK)頻率選為10MHz。CPLD接收完所有配置數(shù)據(jù)(120 000字節(jié))后,會(huì)釋放CONF_DONE,變成高電平,之后DSP仍須在DCLK上輸出脈沖來(lái)初始化CPLD器件,直到INT_DONE被釋放變成高電平,表示CPLD器件初始化完畢,進(jìn)入用戶狀態(tài),配置過(guò)程結(jié)束。在配置的過(guò)程中,沒(méi)有握手信號(hào)。一旦CPLD檢測(cè)到出錯(cuò),會(huì)將nSTATus拉低,此時(shí)會(huì)產(chǎn)生DSP外部中斷。DSP響應(yīng)中斷后,在nCONFIG上產(chǎn)生一個(gè)由低到高的跳變,重新開(kāi)始配置,或者DSP檢測(cè)到配置出錯(cuò),也要強(qiáng)制重新開(kāi)始配置。
配置結(jié)束后,DSP和CPLD將工作于該方案模式下。當(dāng)需要進(jìn)入其它方案模式時(shí),DSP按照需求讀入新的配置方案數(shù)據(jù),對(duì)CPLD重新進(jìn)行配置。由于DSP的高處理速度(100MIPS)和配置時(shí)鐘的高頻率(10MHz),使得CPLD的配置時(shí)間小于20ms,因此可以快速、靈活地實(shí)現(xiàn)各配置方案間的現(xiàn)場(chǎng)實(shí)時(shí)切換。
結(jié)束語(yǔ)
本設(shè)計(jì)的思路及方法也適用于其它DSP+CPLD/FPGA或MCU+CPLD/FPGA系統(tǒng),利用系統(tǒng)中現(xiàn)有的DSP/MCU和大容量通用數(shù)據(jù)存儲(chǔ)器,省去專(zhuān)用的配置PROM,方便靈活地實(shí)現(xiàn)對(duì)CPLD的現(xiàn)場(chǎng)可編程配置。
參考文獻(xiàn):
[1]. CPLD datasheet http://www.hbjingang.com/datasheet/CPLD_1136600.html.
[2]. FLEX10K datasheet http://www.hbjingang.com/datasheet/FLEX10K_328755.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時(shí)執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號(hào)完整性2022/9/26 16:45:38
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- PCB焊盤(pán)與過(guò)孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車(chē)電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









