<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

0 引言

本文引用地址:http://dyxdggzs.com/article/201808/387517.htm

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

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

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

1.1 級聯(lián)型高壓變頻器系統整體結構

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

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

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

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

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

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

2.1 串行加載的軟件實(shí)現

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

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

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

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

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

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

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

0000H 7980H 1000H

0002H 7980H 106FH

0004H 7980H 1035H

… …

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

2.2 多DSP片內Flash串行加載的實(shí)現

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

2.3 需要注意的問(wèn)題

針對實(shí)際應用的特點(diǎn),在實(shí)現中要注意以下問(wèn)題:

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

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

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

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

3 結語(yǔ)

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>