新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于DSP的級聯(lián)型高壓變頻器控制軟件在線升級方法

基于DSP的級聯(lián)型高壓變頻器控制軟件在線升級方法

作者: 時間:2018-08-23 來源:網(wǎng)絡(luò) 收藏

0 引言

本文引用地址:http://m.butianyuan.cn/article/201808/387517.htm

目前,多電平高壓變頻器是高壓變頻器研究的熱點之一。多電平變頻器具有電平階數(shù)多、諧波含量小、開關(guān)頻率低、開關(guān)損耗小、開關(guān)應(yīng)力小和電壓等級高等優(yōu)點,容易滿足高壓大容量場合的要求。多電平高壓變頻器的拓撲結(jié)構(gòu)主要有:二極管箝位式、電容箝位式、單元級聯(lián)式、三相逆變器串聯(lián)式、電壓自平衡式等。其中,級聯(lián)式多電平變頻器是以單相全橋逆變電路(以下稱單元模塊)為基本單元串聯(lián)構(gòu)成的。它不僅具有多電平變頻器的共同特點,還具有自身獨特的特點,即單元模塊易封裝,易模塊化,便于冗余設(shè)計和故障檢修。本文中的級聯(lián)型高壓變頻器單元模塊采用DSP TMS320LF2407A為芯片,提高了單元模塊的智能化和模塊化,簡化了主控模塊,使系統(tǒng)可靠性提高。但與此同時,在單元軟件的升級上,由于單元模塊安裝在整機中,仿真器不易接到板上,因此要將控制板一一拆下來分別進行DSP軟件加載,這會耗費很多的時間和人力。

本文分析了現(xiàn)有的DSP 片內(nèi)Flash (閃速存儲器)的程序加載方法,針對級聯(lián)型高壓變頻器的結(jié)構(gòu)特點,提出多DSP 片內(nèi)Flash 串行加載的方法,可實現(xiàn)高壓變頻器的單元模塊控制軟件的在線升級,無需拆卸,操作簡單,節(jié)省了時間和人力。

1 級聯(lián)型高壓變頻器控制單元軟件在線升級的基本思想

1.1 級聯(lián)型高壓變頻器系統(tǒng)整體結(jié)構(gòu)

本文多DSP 片內(nèi)Flash 串行加載方法是根據(jù)級聯(lián)型高壓變頻器的結(jié)構(gòu)特點提出的。圖1 為級聯(lián)型高壓變頻器系統(tǒng)結(jié)構(gòu)框圖。變頻器主控系統(tǒng)與監(jiān)控系統(tǒng)(上位機)通過RS485總線進行通訊。RS485 總線采用差分信號進行傳輸,具有共模干擾抑制能力,抗干擾性能較強。主控發(fā)送的信號通過CPLD 發(fā)送給各單元控制系統(tǒng)。由于主控與單元模塊距離較長,且單元模塊高頻干擾大、電壓等級高、工作環(huán)境惡劣,故CPLD轉(zhuǎn)換的主控信號通過光纖傳輸。

1.2 多DSP片內(nèi)Flash串行加載的主要思想

目前,LF240xA 片內(nèi)Flash 通過PC 加載實現(xiàn)的方法有兩種:一種是通過DSP開發(fā)板自帶的JTAG接口(Joint Test Action Group)與PC 并口或USB串口相連實現(xiàn)編程(JTAG編程方式),JTAG接口提供數(shù)據(jù)、地址及控制信號,當(dāng)程序在PC 上調(diào)試完畢后借助仿真器通過JTAG 燒寫到片內(nèi)Flash 中;另一種是利用DSP 的串行通信接口(SCI),通過RS232 與PC的串口連接實現(xiàn)編程(串口編程方式)。根據(jù)閃存指令集編寫程序,編譯通過后分段下載到DSP的RAM中,最后轉(zhuǎn)移到Flash中。該方式需要用到DSP的引導(dǎo)加載ROM。當(dāng)DSP的BOOT-EN引腳為高電平并且DSP運行于微控制器(MCU)方式時,DSP 執(zhí)行片內(nèi)閃存程序,系統(tǒng)正常運行。當(dāng)BOOT-EN為低電平、編程電壓引腳為+5 V,并且DSP運行于微控制器方式時,DSP執(zhí)行片內(nèi)ROM加載程序,執(zhí)行串行加載。

現(xiàn)有的方法一次只能對單個DSP燒寫,且需要拆卸。多DSP串行加載的思想是,通過主控與單元間的通訊,實現(xiàn)主控向單元進行Flash 串行燒寫的功能,從而在不需要對硬件做任何修改的情況下實現(xiàn)多DSP同時加載。

具體思想是:先將串行加載算法程序(以下稱為Loader程序)用JTAG口燒寫到單元DSP 片內(nèi)Flash的固定位置,且永不擦除改變。在系統(tǒng)上電后,單元先運行Loader程序,與主控建立通訊。同時上位機與主控建立通訊,上位機監(jiān)控系統(tǒng)提供了“指定單元升級”、“全部單元升級”或“正常運行”模式的選擇。在需要軟件升級時,選擇“指定單元升級”或“全部單元升級”,下發(fā)給單元。單元通過主控獲得升級指令,繼續(xù)運行Loader程序,并將主控傳送的升級程序代碼加載到Flash。若不需要軟件升級,選擇“正常運行”跳轉(zhuǎn)到現(xiàn)有程序正常運行。若等待一段時間后未下發(fā)任何指令,系統(tǒng)將默認為正常運行。

2 變頻器控制軟件在線升級的實現(xiàn)

2.1 串行加載的軟件實現(xiàn)

將要加載的升級程序利用dsphex命令,轉(zhuǎn)換為HEX文件,存放在主控或上位機的存儲器中。根據(jù)上位機的升級指令,控制單元模塊的動作,并為單元模塊提供升級軟件的HEX文件。

1)存儲在單元DSP中的Loader程序內(nèi)含F(xiàn)lash加

載算法的HEX文件算法包括內(nèi)核子程序(也稱為監(jiān)控子程序)、清除(clear)、擦除(erase)、編程(program)子程序(可統(tǒng)稱為讀寫子程序)。在對Flash編程過程中,由于對DSP內(nèi)部的Flash 進行清零、擦除及編程操作時,F(xiàn)lash 的閃存陣列處于高電壓,故里面的代碼是不能運行的,于是就要將清零、擦除及編程算法放到DSP內(nèi)部的RAM 中運行。內(nèi)核程序作為監(jiān)控程序也在RAM 中運行,用以調(diào)用清零、擦除及編程算法。故Loader程序的功能就是在初始化DSP、與主控建立通訊后,等待接收程序下載命令,若在5 s內(nèi)接收到下載命令,將存儲在Flash中的內(nèi)核、清除、擦除、編程子程序的HEX文件轉(zhuǎn)存至DSP的SARAM區(qū)的固定位置后運行內(nèi)核程序。其中,DSP 的SARAM 區(qū)既可做數(shù)據(jù)存儲區(qū)又可做程序存儲區(qū),本文將其作為程序存儲區(qū),經(jīng)過一個中間數(shù)據(jù)變量,軟件從Flash程序存儲區(qū)轉(zhuǎn)存至SARAM程序存儲區(qū)。

若5 s內(nèi)未接收到指令或接收到正常運行指令,程序跳轉(zhuǎn)到用戶程序開始處運行。這里要注意,由于Loader程序是固定不變的,所以用戶程序的跳轉(zhuǎn)地址也是固定不變的。本文中定為1000H,那么要求用戶程序的入口地址INT0 分配為1000H。

2)內(nèi)核子程序控制讀寫子程序的調(diào)度調(diào)用清零、擦除子程序,并在操作成功后向上位機發(fā)送成功標志,上位機在接收到擦除成功標志后傳輸單元升級程序HEX 代碼,下位機接收到HEX 代碼運行編程子程序,將代碼加載到Flash。整個串行加載的流程如圖2所示。其中,升級程序代碼接收到后被存儲在DARAM 數(shù)據(jù)存儲器的B1區(qū)。因為B1 區(qū)的存儲空間為256字,故一次最多可存放256個字的程序代碼。根據(jù)程序代碼的長度,可分多次傳輸,多次運行編程程序。

3)高壓變頻器單元板選用DSP TMS320LF2407A作為控制芯片查閱資料可知,芯片中Flash 0000H到003FH 為中斷向量表。其中,0000H 存儲的是INT0,即程序入口地址。DSP 上電復(fù)位后,芯片從0000H地址處讀取INT0 跳轉(zhuǎn)地址,跳轉(zhuǎn)到程序入口開始執(zhí)行。因此,要實現(xiàn)芯片上電復(fù)位后跳到Loader子程序處運行,就需要將Loader子程序的入口地址寫入中斷向量表,本設(shè)計中Loader 子程序放置在Flash 7000H 開始的地址處且永不改動,其INT0 地址為7000H,故在加載單元升級程序時,中斷向量表的INT0 地址要改為7000H,其他中斷向量地址不變。即上電復(fù)位后不轉(zhuǎn)入單元程序而是轉(zhuǎn)入Loader程序,在判斷不進行程序加載時再跳轉(zhuǎn)到單元程序起始處,同時不影響單元程序的中斷正常執(zhí)行。具體實現(xiàn)舉例如:

程序存儲器地址程序存儲器代碼

0000H 7980H 1000H

0002H 7980H 106FH

0004H 7980H 1035H

… …

7980H 是跳轉(zhuǎn)語句“B”的HEX 碼,即單元程序跳轉(zhuǎn)到1000H處運行。將程序存儲器0000H處的跳轉(zhuǎn)語句改為7980H 7000H,使芯片上電復(fù)位跳轉(zhuǎn)到Loader程序處執(zhí)行。

2.2 多DSP片內(nèi)Flash串行加載的實現(xiàn)

由圖1可知,高壓變頻器主控模塊通過CPLD與多個單元模塊通訊。主控通過廣播方式與所有單元模塊通訊,或通過點對點方式與單個單元模塊通訊。這樣,就可根據(jù)需要,選通一個特定單元或選通所有單元,下發(fā)升級指令。相應(yīng)的單元模塊接收指令,判斷本單元需不需要升級。若要升級,執(zhí)行串行加載程序,并接收升級代碼,從而可實現(xiàn)多DSP同時編程。

2.3 需要注意的問題

針對實際應(yīng)用的特點,在實現(xiàn)中要注意以下問題:

1)在對Flash編程時,LF240XA的引腳Vccp接+5 V的編程電壓。在編程結(jié)束后,把引腳Vccp接地,則陣列中的內(nèi)容不易被改變。片內(nèi)CPU的工作時鐘不得高于40 MHz,否則會使程序加載過程出現(xiàn)錯誤,從而導(dǎo)致程序加載失敗。

2)由于Loader 程序占用了一部分Flash 存儲空間,而Flash 存儲空間分成四個扇區(qū)加載,分別為0000-0FFFH、1000H-3FFFH、4000H-6FFFH、7000H-7FFFH,故Loader 程序占用了一個Flash 的扇區(qū)7000H-7FFFH,因此正常運行程序的大小限制在片內(nèi)Flash存儲空間的另外3個扇區(qū)內(nèi)。

3)數(shù)據(jù)傳輸?shù)目煽啃?。鑒于高壓變頻器的工作環(huán)境,要保證數(shù)據(jù)可靠傳輸和升級程序的可靠燒寫,以免引起系統(tǒng)控制上的失誤,造成不必要的損失。

4)使用要簡單方便。為實現(xiàn)數(shù)據(jù)可靠傳輸,采用一一校驗的方式,即單元接收到一個數(shù)據(jù)之后就回發(fā)給主控,主控判斷是否與發(fā)送數(shù)據(jù)相同,相同就繼續(xù)發(fā)送,不同就結(jié)束發(fā)送。

3 結(jié)語

本文設(shè)計的多DSP片內(nèi)Flash串行加載方法,實現(xiàn)了級聯(lián)型高壓變頻器單元模塊控制軟件的在線升級。通過在高壓變頻系統(tǒng)上應(yīng)用,驗證了其可行性。

這種方法同以往的程序加載方法相比,簡單省時,為解決類似多DSP控制芯片系統(tǒng)的程序加載提供了一種方便、簡單、可靠的方法。



關(guān)鍵詞: 控制 功率

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉