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