新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于DSP的級聯型高壓變頻器控制軟件在線升級方法

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

        作者: 時間:2018-08-23 來源:網絡 收藏

        0 引言

        本文引用地址:http://www.104case.com/article/201808/387517.htm

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

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

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

        1.1 級聯型高壓變頻器系統整體結構

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

        1.2 多DSP片內Flash串行加載的主要思想

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

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

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

        2 變頻器控制軟件在線升級的實現

        2.1 串行加載的軟件實現

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

        1)存儲在單元DSP中的Loader程序內含Flash加

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

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

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

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

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

        0000H 7980H 1000H

        0002H 7980H 106FH

        0004H 7980H 1035H

        … …

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

        2.2 多DSP片內Flash串行加載的實現

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

        2.3 需要注意的問題

        針對實際應用的特點,在實現中要注意以下問題:

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

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

        3)數據傳輸的可靠性。鑒于高壓變頻器的工作環境,要保證數據可靠傳輸和升級程序的可靠燒寫,以免引起系統控制上的失誤,造成不必要的損失。

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

        3 結語

        本文設計的多DSP片內Flash串行加載方法,實現了級聯型高壓變頻器單元模塊控制軟件的在線升級。通過在高壓變頻系統上應用,驗證了其可行性。

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



        關鍵詞: 控制 功率

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 任丘市| 巩义市| 博客| 新乡市| 岳阳县| 咸宁市| 龙海市| 金堂县| 娱乐| 青田县| 平南县| 砚山县| 寻甸| 合作市| 山丹县| 房山区| 吉木乃县| 古交市| 克拉玛依市| 郑州市| 德化县| 林口县| 苗栗市| 正阳县| 蒙城县| 报价| 化州市| 鹤岗市| 安岳县| 社旗县| 长阳| 上虞市| 信宜市| 遵化市| 五大连池市| 介休市| 宁德市| 衡山县| 思南县| 镇坪县| 北辰区|