基于電力電子應(yīng)用平臺(tái)DSP通用板的設(shè)計(jì)
摘要:隨著電力電子市場(chǎng)需求與日俱增,為了縮短電力電子硬件設(shè)計(jì)的開發(fā)時(shí)間,本文設(shè)計(jì)開發(fā)了DSP56F803通用板作為各種電力電子應(yīng)用的硬件開發(fā)平臺(tái)。為了增強(qiáng)它的應(yīng)用靈活性,該通用板在擴(kuò)展出DSP主要功能模塊的同時(shí),通過采用復(fù)雜可編程邏輯器件XC95XL144實(shí)現(xiàn)各種保護(hù)邏輯以及輸入輸出口的擴(kuò)展功能.DSP和CPLD綜合利用作為通用板的核心是本文設(shè)計(jì)的主要特色。
關(guān)鍵詞:DSP56800;XC95XL144;脈寬調(diào)制模塊;數(shù)模轉(zhuǎn)換器模塊
引言
近年來,電力電子技術(shù)飛速發(fā)展,電力電子控制裝置也廣泛應(yīng)用于各種領(lǐng)域。例如:不停電電源、開關(guān)電源、機(jī)車輔助電源、蓄電池充電放電、電子模擬負(fù)載、電力機(jī)車、電傳動(dòng)內(nèi)燃機(jī)車等。此外,在有些國(guó)家,例如丹麥、德國(guó)、美國(guó)等,電力電子控制并網(wǎng)逆變器已經(jīng)逐步應(yīng)用于太陽(yáng)能發(fā)電以及風(fēng)能發(fā)電裝置與電力系統(tǒng)的連接。
為了與電力電子技術(shù)的迅速發(fā)展同步, 同時(shí)提高電力電子硬件開發(fā)的模塊化,縮短硬件開發(fā)的時(shí)間,本文設(shè)計(jì)開發(fā)了DSP56F803通用板作為各種電力電子應(yīng)用的硬件開發(fā)平臺(tái)。此外,復(fù)雜可編程邏輯器件CPLD具有可編程性強(qiáng)和應(yīng)用靈活的特點(diǎn),可以極大的降低系統(tǒng)開發(fā)成本和縮短開發(fā)周期。為了提高該通用板的應(yīng)用靈活性,本文采用Xilinx公司的高性能低電壓的復(fù)雜可編程邏輯器件CPLD XC95XL144 實(shí)現(xiàn)了各種保護(hù)邏輯以及四組輸入輸出口的擴(kuò)展,DSP56F803和XC95XL144的綜合應(yīng)用作為通用板的核心部分是本文設(shè)計(jì)的主要特色。
1 設(shè)計(jì)思想
本文設(shè)計(jì)通用板遵循的主要原則是在滿足功能盡量全面的同時(shí)提高抗干擾能力和應(yīng)用靈活性,這樣可以大大的降低電力電子應(yīng)用的硬件開發(fā)成本,縮短開發(fā)時(shí)間,提高應(yīng)用穩(wěn)定性。本文設(shè)計(jì)的通用板綜合使用DSP和CPLD作為核心部分,開發(fā)了豐富靈活的外圍電路。本文首先基于Xilinx Foudation 3.li軟件用硬件描述語(yǔ)言VHDL編程進(jìn)行仿真綜合,最后,本文采用了Xlinx公司的XC95XL144高性能的可編程邏輯器件CPLD 實(shí)現(xiàn)了各種保護(hù)邏輯以及四組輸入輸出口的擴(kuò)展。
設(shè)計(jì)DSP通用板時(shí)首先考慮是應(yīng)該擴(kuò)展的功能模塊。1、脈寬調(diào)制技術(shù)已經(jīng)廣泛應(yīng)用于各種電力電子控制場(chǎng)合,因此首先擴(kuò)展了脈寬調(diào)制模塊PWM的輸出。DSP56800系列的PWM的頻率和占空比可以連續(xù)變化,這樣可以實(shí)現(xiàn)無級(jí)變頻調(diào)速。2、電力電子控制必然要采樣各種電壓、電流信號(hào),因此,本文擴(kuò)展了DSP的8路12位模數(shù)轉(zhuǎn)換模塊ADC。3、目前大部分的電力電子控制需要進(jìn)行DSP與DSP或DSP與PC機(jī)的通信,因此本文擴(kuò)展了異步串行通信模塊SCI,為了提高抗干擾能力,增長(zhǎng)傳輸距離,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,本文采用RS-485差分通信。4、越來越多的電力電子裝置是并網(wǎng)運(yùn)行的,因此需要檢測(cè)電網(wǎng)的過零點(diǎn)和周期,本文擴(kuò)展了定時(shí)器模塊TIMER,它的接口可用于各種信號(hào)的過零點(diǎn)和周期檢測(cè)。5、電力電子應(yīng)用一般只需要記錄少量的故障數(shù)據(jù),因此本文僅擴(kuò)展了64K鐵電非易失性存儲(chǔ)器FM24CL64,它讀寫只需要兩根線,而且讀寫沒有延時(shí)。6、一般的系統(tǒng)都會(huì)有時(shí)鐘,記錄故障時(shí)同時(shí)記錄故障發(fā)生的時(shí)刻,以備分析故障數(shù)據(jù)。本文擴(kuò)展了實(shí)時(shí)時(shí)鐘X1226,它和FM24CL64共用時(shí)鐘線和讀寫信號(hào)線,只是兩個(gè)器件的物理地址不同。7、最后,本文還擴(kuò)展了電源監(jiān)測(cè)和硬件看門狗芯片MAX706RESA。
DSP56F803和XC95XL144的接口主要包括電力電子主電路檢測(cè)到的過壓、過流保護(hù)信號(hào)通過CPLD的邏輯操作后觸發(fā)DSP外中斷或PWM出錯(cuò)保護(hù)引腳PWMFAULT來實(shí)現(xiàn)保護(hù)功能;利用低位地址線和低位數(shù)據(jù)線來擴(kuò)展輸入輸出口。
DSP56F803外設(shè)模塊的子程序的編寫采用Embedded SDK,因?yàn)樗峁└鞣N外設(shè)模塊的驅(qū)動(dòng)程序和接口,即使不需要熟悉DSP的內(nèi)部硬件結(jié)構(gòu)也可以方便的使用。對(duì)于DSP56F803對(duì)XC95XL144的讀寫操作,本文根據(jù)DSP56800系列匯編指令集,開發(fā)自己的SDK軟件包。
2 硬件設(shè)計(jì)
印制電路板(PCB)的抗干擾設(shè)計(jì)與具體電路有著密切的聯(lián)系,在設(shè)計(jì)通用板的硬件時(shí),本文充分考慮了抗干擾設(shè)計(jì)的要求。為了提高通用板的穩(wěn)定性以及抗干擾能力,本文設(shè)計(jì)了高速四層板,中間兩層分別鋪電源和地,上下兩個(gè)表面走信號(hào)線。為了提高電源和地的抗干擾能力,數(shù)字電源和模擬電源之間以及數(shù)字地和模擬地之間使用磁珠相連,模擬地和模擬電源以及數(shù)字地和數(shù)字電源之間連接電容。為了消除公共阻抗耦合,每個(gè)芯片的關(guān)鍵部位都配置了容量適當(dāng)?shù)娜ヅ弘娙荨?/P>
圖一:DSP通用版硬件結(jié)構(gòu)圖
2.1核心芯片介紹
本文采用的DSP是DSP56800系列數(shù)字信號(hào)處理器中的DSP56F803。DSP56800系列采用哈佛結(jié)構(gòu),將程序空間和地址空間分開編址,這樣在處理數(shù)據(jù)空間運(yùn)算與數(shù)據(jù)傳輸?shù)耐瑫r(shí)可以并行的從程序空間讀取下一條指令,提高處理速度。DSP56800系列數(shù)字信號(hào)處理器具有豐富的I/O口和多種外圍設(shè)備。DSP芯片上集成了通用輸入輸出模塊GPIO、異步串行通信模塊SCI、脈寬調(diào)制模塊PWM、模數(shù)轉(zhuǎn)換模塊ADC、同步串行通信模塊SSI、控制局域網(wǎng)模塊CAN2.0A/B、定時(shí)器模塊TIMER等多種外設(shè)模塊,實(shí)現(xiàn)完全的單片化。
XC95XL144是Xilinx公司推出的一款高性能低電壓的可編程邏輯器件,它共有100 個(gè)引腳,內(nèi)部集成了3200個(gè)典型可用門,有144個(gè)邏輯單元,74個(gè)可用I/O口,可單獨(dú)配置為輸入、輸出及雙向工作方式,3個(gè)全局時(shí)鐘及3個(gè)全局使能端和1個(gè)全局清除端,它支持3.3V和2.5V電壓工作,其傳輸延時(shí)僅為5 ns。同時(shí),XC95XL144支持在線編程,程序通過JTAG接口下載,使用簡(jiǎn)單方便。
2.2 DSP56F803通用板主要功能模塊的設(shè)計(jì)
2.2.1脈寬調(diào)制模塊PWM。PWM模塊主要用于電力電子變流器開關(guān)器件的控制以及各種電機(jī)控制。模塊有六路輸出通道,它們可以根據(jù)需求在軟件中被配置成3對(duì)互補(bǔ)對(duì);2對(duì)互補(bǔ)對(duì)和2路獨(dú)立通道;1對(duì)互補(bǔ)對(duì)和4路獨(dú)立通道;6路獨(dú)立通道。在互補(bǔ)操作方式下,允許可編程死區(qū)時(shí)間的插入,以防止上下橋臂的貫穿短路。PWM的頻率和占空比連續(xù)可調(diào),通過電流傳感器的輸出波形扭曲校正和獨(dú)立得頂、底輸出引腳極性控制,可以實(shí)現(xiàn)無級(jí)變頻。
2.2.2 模數(shù)轉(zhuǎn)換模塊ADC。ADC可以用于采樣各種電流、電壓、轉(zhuǎn)速等信號(hào)。ADC包括8路輸入通道和兩個(gè)獨(dú)立的采樣保持電路,轉(zhuǎn)換精度為12位。轉(zhuǎn)換過程可以被同步信號(hào)觸發(fā),也可以被控制寄存器的START位寫操作觸發(fā)。輸入模式可以分為單邊輸入和差分輸入。
2.2.3 串行通信模塊SCI。SCI是全雙工異步通訊接口,使用標(biāo)準(zhǔn)不歸零NRZ數(shù)據(jù)格式,可編程選擇8位或9位數(shù)據(jù)格式,功能獨(dú)立的SCI發(fā)送器和接收器以及中斷請(qǐng)求。雖然大多數(shù)PC機(jī)都采用RS-232接口,但是它的傳輸距離只有50英尺左右,通用板采用RS-485差分通信,提高抗干擾能力,最大傳輸距離可以達(dá)到4000英尺以上,適用于遠(yuǎn)程監(jiān)控。這樣PC機(jī)或其它DSP板就可以通過隔離的485與通用板進(jìn)行通信了。
2.2.4 定時(shí)器模塊TIMER。定時(shí)器的兩個(gè)主要功能:定時(shí)觸發(fā)一定的事件;記錄兩個(gè)外部事件之間所經(jīng)歷的內(nèi)部時(shí)鐘周期數(shù),也就是得到外部事件的時(shí)間周期。因此接口可用于各種信號(hào)的過零點(diǎn)檢測(cè),用于并網(wǎng)運(yùn)行的各種裝置時(shí),可以檢測(cè)電網(wǎng)的過零點(diǎn)和周期。
2.2.5 由于電力電子一般只需要故障數(shù)據(jù),本文就沒有通過總線外擴(kuò)存儲(chǔ)器,只通過兩個(gè)通用輸入/輸出口擴(kuò)展了64K鐵電非易失性存儲(chǔ)器FM24CL64。FM24CL64是8192x8bit的結(jié)構(gòu),允許連續(xù)讀寫和隨機(jī)讀寫,讀寫沒有延遲,高可靠性的鐵電物質(zhì),存儲(chǔ)時(shí)間長(zhǎng)到45年。本文還擴(kuò)展了實(shí)時(shí)時(shí)鐘X1226,這樣在記錄故障數(shù)據(jù)的同時(shí)記錄故障發(fā)生的時(shí)間,以便分析故障時(shí)使用。X1226帶有兩個(gè)報(bào)警器和512字節(jié)的電可擦除只讀寄存器,內(nèi)部集成晶振補(bǔ)償電路和電池后備,編程可以控制PHZ/IRQ引腳輸出報(bào)警信號(hào)或與時(shí)鐘頻率相關(guān)的三種不同頻率的信號(hào)。
2.2.6為了防止電源低電壓,本文采用了電源電壓監(jiān)測(cè)芯片MAX706RESA,它檢測(cè)電路在上電和電源電壓低時(shí)都發(fā)出復(fù)位信號(hào)使整個(gè)系統(tǒng)復(fù)位,同時(shí)還具有看門狗定時(shí)器功能,在1.6s內(nèi)DSP的WDI引腳電平不翻轉(zhuǎn),就會(huì)給DSP發(fā)一個(gè)可靠復(fù)位信號(hào),增強(qiáng)了抗干擾能力。
2.3 DSP56F803與XC95XL144的接口的設(shè)計(jì)
本文在安排XC95XL144引腳時(shí)遵循的主要原則是電氣特性相似的同一組輸入輸出口盡量放在同一個(gè)宏單元,排列順序根據(jù)布線方便為原則。通用板DSP56F803與XC95XL144的接口包括:數(shù)據(jù)選擇線DS、低位數(shù)據(jù)線D0-D7、低位地址線A0-A3以及A6 作為XC95XL144的復(fù)位控制端、六路PWM輸出信號(hào)以及三路出錯(cuò)保護(hù)引腳PWMFAULTA0- PWMFAULTA2、外中斷IRQA和IRQB。這里只介紹一下XC95XL144的通用功能,其它具體的功能要根據(jù)具體的電力電子應(yīng)用需求來修改VHDL語(yǔ)言程序。
DSP56F803的地址線A6模式設(shè)置為通用輸入輸出口,作為XC95XL144的復(fù)位控制RESET,當(dāng)RESET置低時(shí),XC95XL144復(fù)位,輸出口置為低電平(高電平有效)。DSP56F803的六路PWM輸出作為XC95XL144的輸入與它連接,對(duì)應(yīng)有六個(gè)輸出口,可對(duì)它們進(jìn)行一定的邏輯操作后輸出,這樣可應(yīng)用于更廣泛的控制場(chǎng)合。電力電子主電路部分的過壓、過流信號(hào)輸入到CPLD,經(jīng)過一定的邏輯,觸發(fā)DSP外中斷IRQA、IRQB或PWM出錯(cuò)保護(hù)引腳PWMFAULT來實(shí)現(xiàn)保護(hù)功能。DSP56F803的數(shù)據(jù)選擇線DS連在XC95XL144,與低位地址線配合,控制4組每組8路輸入輸出口的讀寫操作。在使用輸入輸出口時(shí)一般都確定了具體是輸入還是輸出,因此本文設(shè)計(jì)時(shí)為提高穩(wěn)定性,確定其中兩組輸入口和兩組輸出口。
3 軟件設(shè)計(jì)
對(duì)于DSP56800系列產(chǎn)品,Motorola提供兩種軟件開發(fā)工具:一個(gè)是Codewarrior集成開發(fā)環(huán)境,是一種可靠的用語(yǔ)交叉匯編、交叉C編譯、鏈接和調(diào)試的開發(fā)工具。Metrowerks公司屬M(fèi)otorola,它的Codewarrior集成開發(fā)環(huán)境包含了一個(gè)可視化的工程創(chuàng)建和管理系統(tǒng),對(duì)源代碼文件和庫(kù)進(jìn)行全面的管理,降低了工程的復(fù)雜性。另外一種是軟件開發(fā)工具Embedded SDK,它并不是DSP開發(fā)必需的,但是它可以大大的減輕開發(fā)工作的難度,加快開發(fā)的速度。對(duì)于DSP外設(shè)的各模塊的子程序的編寫采用Embedded SDK很容易掌握,這里就不詳細(xì)介紹了。
對(duì)于CPLD,本文首先采用Xilinx Foudation3.li軟件編譯仿真。通過低位地址選擇和地位數(shù)據(jù)線實(shí)現(xiàn)對(duì)兩組輸入、輸出口控制部分的源程序如下:
PROCESS(RD,RESET) //讀進(jìn)程
BEGIN
IF(RESET='1' )THEN //復(fù)位信號(hào)
internal_bus_in="ZZZZZZZZ";//內(nèi)部總線信號(hào)
ELSIF( RD='0')THEN
IF(A0='0' AND A1='0')THEN //地址選擇
internal_bus_in=IOA;
ELSIF( A1='0' AND A0='1')THEN
internal_bus_in=IOB;
END IF;
ELSE
internal_bus_in="ZZZZZZZZ";
END IF;
D=internal_bus_in;
END PROCESS;
PROCESS(WRR,RESET) //寫進(jìn)程
BEGIN
IF(RESET='1') THEN
IOC="00000000";
IOD="00000000";
ELSIF( WR'EVENT AND WR='1') THEN
IF( A0='0' AND A1='0') THEN
IOC=D;
ELSIF(A1='0' AND A0='1') THEN
IOD=D;
END IF;
END IF;
END PROCESS;
在進(jìn)行DSP和CPLD綜合調(diào)試時(shí),針對(duì)DSP56F803對(duì)XC95XL144輸入輸出口的讀寫,本文根據(jù)DSP56800系列匯編指令集,開發(fā)了對(duì)CPLD I/O 讀寫操作的SDK軟件包,對(duì)相應(yīng)的I/O口讀寫只需簡(jiǎn)單的調(diào)用軟件包程序。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)的基于電力電子應(yīng)用平臺(tái)的DSP通用板,DSP的各外設(shè)擴(kuò)展功能模塊已經(jīng)在DSP56800的軟件開發(fā)工具Embedded SDK基礎(chǔ)上,通過編寫一些小程序調(diào)試完畢。XC95XL144在Xilinx Foudation 3.li軟件仿真通過后,進(jìn)行綜合試驗(yàn),然后燒入芯片進(jìn)行實(shí)驗(yàn),并根據(jù)實(shí)際運(yùn)行情況,對(duì)程序進(jìn)行了改進(jìn)。本文作者創(chuàng)新點(diǎn)是開發(fā)了DSP對(duì)CPLD 四組I/O口讀寫操作的SDK軟件包并完成了DSP和CPLD的綜合調(diào)試,提高了通用板的靈活性。
參考文獻(xiàn):
[1]邵貝貝,龔光華,劉永毅等。Motorola DSP型16位單片機(jī)原理與實(shí)踐。北京:北京航空航天大學(xué)出板社,2003
[2]DSP56800 16-bit Digital Signal Processor Family Manual。2003。(12)
[3]DSP56F801/803/805/807 16-Bit Digital Signal Processor User’s Manual
[4]陳仕高,姜久春,牛利勇。DSP在直流無刷電機(jī)中的應(yīng)用。微計(jì)算機(jī)信息,2006,1:143-145
評(píng)論