采用電力電子應(yīng)用平臺(tái)DSP通用板的設(shè)計(jì)原理
2.2 DSP56F803通用板主要功能模塊的設(shè)計(jì)
2.2.1脈寬調(diào)制模塊PWM。PWM模塊主要用于電力電子變流器開(kāi)關(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),通過(guò)電流傳感器的輸出波形扭曲校正和獨(dú)立得頂、底輸出引腳極性控制,可以實(shí)現(xiàn)無(wú)級(jí)變頻。
2.2.2 模數(shù)轉(zhuǎn)換模塊ADC。ADC可以用于采樣各種電流、電壓、轉(zhuǎn)速等信號(hào)。ADC包括8路輸入通道和兩個(gè)獨(dú)立的采樣保持電路,轉(zhuǎn)換精度為12位。轉(zhuǎn)換過(guò)程可以被同步信號(hào)觸發(fā),也可以被控制寄存器的START位寫(xiě)操作觸發(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板就可以通過(guò)隔離的485與通用板進(jìn)行通信了。
2.2.4 定時(shí)器模塊TIMER。定時(shí)器的兩個(gè)主要功能:定時(shí)觸發(fā)一定的事件;記錄兩個(gè)外部事件之間所經(jīng)歷的內(nèi)部時(shí)鐘周期數(shù),也就是得到外部事件的時(shí)間周期。因此接口可用于各種信號(hào)的過(guò)零點(diǎn)檢測(cè),用于并網(wǎng)運(yùn)行的各種裝置時(shí),可以檢測(cè)電網(wǎng)的過(guò)零點(diǎn)和周期。
2.2.5 由于電力電子一般只需要故障數(shù)據(jù),本文就沒(méi)有通過(guò)總線外擴(kuò)存儲(chǔ)器,只通過(guò)兩個(gè)通用輸入/輸出口擴(kuò)展了64K鐵電非易失性存儲(chǔ)器FM24CL64。FM24CL64是8192x8bit的結(jié)構(gòu),允許連續(xù)讀寫(xiě)和隨機(jī)讀寫(xiě),讀寫(xiě)沒(méi)有延遲,高可靠性的鐵電物質(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í)還具有看門(mén)狗定時(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)用需求來(lái)修改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)合。電力電子主電路部分的過(guò)壓、過(guò)流信號(hào)輸入到CPLD,經(jīng)過(guò)一定的邏輯,觸發(fā)DSP外中斷IRQA、IRQB或PWM出錯(cuò)保護(hù)引腳PWMFAULT來(lái)實(shí)現(xiàn)保護(hù)功能。DSP56F803的數(shù)據(jù)選擇線DS連在XC95XL144,與低位地址線配合,控制4組每組8路輸入輸出口的讀寫(xiě)操作。在使用輸入輸出口時(shí)一般都確定了具體是輸入還是輸出,因此本文設(shè)計(jì)時(shí)為提高穩(wěn)定性,確定其中兩組輸入口和兩組輸出口。
3 軟件設(shè)計(jì)
對(duì)于DSP56800系列產(chǎn)品,Motorola提供兩種軟件開(kāi)發(fā)工具:一個(gè)是Codewarrior集成開(kāi)發(fā)環(huán)境,是一種可靠的用語(yǔ)交叉匯編、交叉C編譯、鏈接和調(diào)試的開(kāi)發(fā)工具。Metrowerks公司屬M(fèi)otorola,它的Codewarrior集成開(kāi)發(fā)環(huán)境包含了一個(gè)可視化的工程創(chuàng)建和管理系統(tǒng),對(duì)源代碼文件和庫(kù)進(jìn)行全面的管理,降低了工程的復(fù)雜性。另外一種是軟件開(kāi)發(fā)工具Embedded SDK,它并不是DSP開(kāi)發(fā)必需的,但是它可以大大的減輕開(kāi)發(fā)工作的難度,加快開(kāi)發(fā)的速度。對(duì)于DSP外設(shè)的各模塊的子程序的編寫(xiě)采用Embedded SDK很容易掌握,這里就不詳細(xì)介紹了。
對(duì)于CPLD,本文首先采用Xilinx Foudation3.li軟件編譯仿真。通過(guò)低位地址選擇和地位數(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) //寫(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綜合調(diào)試時(shí),針對(duì)DSP56F803對(duì)XC95XL144輸入輸出口的讀寫(xiě),本文根據(jù)DSP56800系列匯編指令集,開(kāi)發(fā)了對(duì)CPLD I/O 讀寫(xiě)操作的SDK軟件包,對(duì)相應(yīng)的I/O口讀寫(xiě)只需簡(jiǎn)單的調(diào)用軟件包程序。
4 結(jié)束語(yǔ)
本文設(shè)計(jì)的基于電力電子應(yīng)用平臺(tái)的DSP通用板,DSP的各外設(shè)擴(kuò)展功能模塊已經(jīng)在DSP56800的軟件開(kāi)發(fā)工具Embedded SDK基礎(chǔ)上,通過(guò)編寫(xiě)一些小程序調(diào)試完畢。XC95XL144在Xilinx Foudation 3.li軟件仿真通過(guò)后,進(jìn)行綜合試驗(yàn),然后燒入芯片進(jìn)行實(shí)驗(yàn),并根據(jù)實(shí)際運(yùn)行情況,對(duì)程序進(jìn)行了改進(jìn)。本文作者創(chuàng)新點(diǎn)是開(kāi)發(fā)了DSP對(duì)CPLD 四組I/O口讀寫(xiě)操作的SDK軟件包并完成了DSP和CPLD的綜合調(diào)試,提高了通用板的靈活性。
評(píng)論