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