《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 雙DSP電機(jī)控制數(shù)字平臺(tái)設(shè)計(jì)
雙DSP電機(jī)控制數(shù)字平臺(tái)設(shè)計(jì)
林利華,胡育文
摘要: 直接轉(zhuǎn)矩控制目前已經(jīng)應(yīng)用到同步機(jī)和異步機(jī)的各種控制系統(tǒng)中,,由于其采用BangBang控制,,長(zhǎng)控制周期將導(dǎo)致大電流和大的轉(zhuǎn)矩脈動(dòng)這兩個(gè)突出問題,要使控制性能更為優(yōu)越必然對(duì)控制周期提出更高的要求,。提高控制平臺(tái)性能是解決這些問題的有效途徑之一,。TI公司的2000系列DSP是電機(jī)控制領(lǐng)域常用芯片,針對(duì)電機(jī)控制設(shè)計(jì)的事件管理器具有突出優(yōu)點(diǎn),。3X系列DSP則是性價(jià)比很好的通用芯片,,浮點(diǎn)運(yùn)算,數(shù)據(jù)處理速度快,。為此采用雙DSP系統(tǒng)結(jié)構(gòu),,從電機(jī)控制領(lǐng)域特點(diǎn)出發(fā),利用TMS320LF2407A控制上的強(qiáng)大功能而專注于控制方面的工作,;TMS320VC33浮點(diǎn)運(yùn)算能力強(qiáng),,則進(jìn)行數(shù)據(jù)的分析和處理。使用雙口RAMCY7C025實(shí)現(xiàn)雙機(jī)之間的高速數(shù)據(jù)交流和通信,,使得不同MDSP優(yōu)勢(shì)充分體現(xiàn),,協(xié)同工作,大大提高控制平臺(tái)的性能,。
Abstract:
Key words :

0    引言

    直接轉(zhuǎn)矩控制[1]是目前廣為研究的電機(jī)控制理論之一,已在異步機(jī)上取得了成功,,而在同步機(jī)方面的應(yīng)用也已有了一定發(fā)展[2],。由于該理論直接對(duì)轉(zhuǎn)矩進(jìn)行控制,故瞬態(tài)性能得到了顯著的改善,。但是,,由于其采用的是Bang-Bang控制,控制周期過長(zhǎng)會(huì)使電流過大,;同時(shí)大周期會(huì)使轉(zhuǎn)矩脈動(dòng)加大,。為了解決這個(gè)問題可以從控制策略上加以改進(jìn),比如采用SVM-DTC[3]來取代傳統(tǒng)DTC方案,;也可以在控制平臺(tái)上加以考慮,,提高處理器速度,縮短控制周期,。以單個(gè)DSP為核心的控制平臺(tái)(常見的芯片如TI公司的2000系列),,由于既要完成復(fù)雜的算法,還要執(zhí)行數(shù)據(jù)采集,、控制信號(hào)輸出,、系統(tǒng)保護(hù)以及人機(jī)交互等一系列操作,無法有效地縮短控制周期,。在綜合考慮了各種數(shù)字信號(hào)處理器的性能之后,,決定采用雙DSP并行工作的體系結(jié)構(gòu);并同時(shí)考慮到該控制系統(tǒng)的特點(diǎn),,即在每個(gè)控制周期內(nèi)兩個(gè)DSP之間交換的信息很少,不同于諸如圖像采集系統(tǒng)[4]那樣,,需要大流量的數(shù)據(jù)交換,。由此采取了一系列特殊的設(shè)計(jì)思想。首先,,在芯片的選型上兼顧了各自不同的特點(diǎn),,即專用于電機(jī)控制領(lǐng)域的芯片TMS320LF2407A專注于控制;高速通用數(shù)據(jù)處理芯片TMS320VC33則著眼于復(fù)雜算法的實(shí)現(xiàn),,從而充分利用了各自的特點(diǎn),。其次,針對(duì)電機(jī)控制這一特定領(lǐng)域,,需要采集的數(shù)據(jù)相對(duì)較少,,同時(shí)反饋的也只是計(jì)算結(jié)果,即PWM波發(fā)送策略,,并無大量中間結(jié)果,,因此,需要考慮的重點(diǎn)是控制方法的實(shí)現(xiàn),和數(shù)據(jù)采集的實(shí)現(xiàn)必須占用盡可能少的資源,。同時(shí)由于數(shù)據(jù)量較少,,可以用較小的代價(jià)來實(shí)現(xiàn)數(shù)據(jù)的冗余,使得數(shù)據(jù)處理時(shí)更加靈活和方便,,DSP之間并不一定保持同步工作狀態(tài),。為了實(shí)現(xiàn)兩個(gè)DSP之間的數(shù)據(jù)交換和通信,選擇了雙口RAM作為兩者之間的媒介,。并從硬件和軟件上相互配合,,避免存儲(chǔ)空間爭(zhēng)用[5]的同時(shí),使得數(shù)據(jù)存儲(chǔ)過程盡量少耗費(fèi)各種資源,。

1    硬件系統(tǒng)構(gòu)成

    TMS320LF2407A最突出的特點(diǎn)在于其事件管理器模塊:共有兩個(gè)事件管理器EVA及EVB,,提供了8個(gè)16位脈寬調(diào)制(PWM)通道。這些都是針對(duì)電機(jī)控制而設(shè)計(jì)的,,在PWM波的產(chǎn)生上相當(dāng)方便可靠,;可編程的PWM死區(qū)控制可以防止上下橋臂同時(shí)輸出觸發(fā)脈沖而導(dǎo)致直通。同時(shí)每個(gè)模塊還提供了兩個(gè)外部引腳PDPINTA和PDPINTB,,當(dāng)該引腳上出現(xiàn)低電平時(shí)事件管理器模塊將快速關(guān)閉相應(yīng)的PWM通道,,起到保護(hù)作用。片內(nèi)模數(shù)轉(zhuǎn)換模塊為數(shù)據(jù)采集提供了高性能的A/D轉(zhuǎn)換器,,最小轉(zhuǎn)換時(shí)間只有500ns,。由于轉(zhuǎn)換時(shí)間是整個(gè)控制周期的組成部分之一,快速A/D對(duì)于縮短控制周期是非常有利的,。

    TMS320C3X系列DSP芯片是一種性能價(jià)格比很好的浮點(diǎn)處理芯片,,具有很高的數(shù)據(jù)處理速度。片內(nèi)部分擁有34K×32位的RAM,,在程序運(yùn)行期間,,所有的數(shù)據(jù)都位于其中,從而能夠充分發(fā)揮哈佛總線結(jié)構(gòu)所帶來的數(shù)據(jù)吞吐量大,、運(yùn)算快的優(yōu)點(diǎn),。在算法實(shí)現(xiàn)上,由于采用了浮點(diǎn)計(jì)算格式,,將使計(jì)算精度得到提高,;采用編程語言C會(huì)使程序編寫效率大大改善,這對(duì)于需要用復(fù)雜算法實(shí)現(xiàn)的控制策略來說是很重要的,。

    雙口RAM的特點(diǎn)在于具有兩組相互獨(dú)立的地址線,、數(shù)據(jù)線和控制線,片內(nèi)包含的控制邏輯解決了三個(gè)重要的問題:處理器之間的信號(hào)關(guān)系(中斷邏輯),;兩個(gè)CPU正在使用同一地址時(shí)的時(shí)間關(guān)系(仲裁邏輯)和把一塊存儲(chǔ)器臨時(shí)分配到某一邊的硬件支持(旗語邏輯),,從而保證雙機(jī)之間數(shù)據(jù),、信號(hào)交流的正確進(jìn)行。

    仲裁邏輯(忙邏輯)    每塊CY7C025允許兩個(gè)CPU同時(shí)讀取任何存儲(chǔ)單元(包括同時(shí)讀同一地址單元),,但是不允許同時(shí)寫或者一讀一寫同一地址單元,,否則就會(huì)發(fā)生錯(cuò)誤。雙口RAM中已經(jīng)有相應(yīng)的仲裁邏輯電路來解決這一問題:先行穩(wěn)定的地址端口通過仲裁邏輯電路優(yōu)先讀寫,,同時(shí)內(nèi)部電路使另一個(gè)端口的BUSY信號(hào)有效,,并在內(nèi)部禁止對(duì)方訪問,直到本端口的操作結(jié)束,。BUSY信號(hào)可以作為CPURDY信號(hào)的來源,,從而使得CPU處于等待狀態(tài)。

    當(dāng)雙口RAM單片使用的時(shí)候,,問題相對(duì)簡(jiǎn)單,,但是,在現(xiàn)代數(shù)字系統(tǒng)中,,由于數(shù)據(jù)總線的寬度往往可以達(dá)到32位甚至更寬,,這就需要多片雙口RAM來進(jìn)行位擴(kuò)展。此時(shí)如果出現(xiàn)同時(shí)訪問,,將有多塊雙口RAM處于工作狀態(tài),,如果依然象單片工作時(shí)那樣,每塊雙口RAM都使用自己的仲裁邏輯,,則很可能出現(xiàn)一種情況,,即第一片仲裁使得BUSYL變低,而第二片仲裁使BUSYR變低,,這樣兩邊的CPU都會(huì)處于等待狀態(tài),。為了避免這種情況的發(fā)生(BUSY信號(hào)死鎖),可以使用主從模式,,使得當(dāng)多塊芯片一起工作時(shí),,只使用主片的仲裁邏輯,并迫使從片跟隨主片,。主從模式的電路連接如圖1所示。

圖1    主從連接電路

    主芯片的BUSY信號(hào)接上拉電阻作為輸出,,從芯片的BUSY信號(hào)作為寫禁止輸入,,當(dāng)主芯片處于BUSY狀態(tài)時(shí),從芯片接收這個(gè)狀態(tài),,同樣處于忙狀態(tài),,從而避免了死鎖的發(fā)生。

    中斷邏輯    另一個(gè)重要的內(nèi)部電路結(jié)構(gòu),,它允許雙CPU通過端口直接進(jìn)行通信,。CY7C025最高位的存儲(chǔ)單元1FFF作為右邊端口的中斷信箱,,

    次高位存儲(chǔ)單元1FFE作為左邊端口的中斷信箱。各CPU可以讀取雙方的中斷信箱,,但只能寫對(duì)方的中斷信箱,。當(dāng)一端寫入對(duì)方的中斷信箱時(shí),對(duì)方就會(huì)產(chǎn)生一個(gè)中斷信號(hào),;讀自己的中斷信箱則清除自己的中斷信號(hào),,讀對(duì)方的中斷信箱不會(huì)清除中斷信號(hào)。

    旗語通信邏輯    可以使雙口RAM暫時(shí)指定一塊存儲(chǔ)區(qū),,只供一端的CPU使用,,稱之為獨(dú)占模式。CY7C025配置了獨(dú)立于RAM陣列的8個(gè)旗語鎖存器,,用于標(biāo)志雙口RAM是否處于獨(dú)占模式,。獨(dú)占模式也可以用來避免地址仲裁問題,因?yàn)?,它是一種使兩邊不同時(shí)使用同一地址的方法,,通常也叫做軟件仲裁。

    控制平臺(tái)結(jié)構(gòu)框圖如圖2所示,。

圖2    雙DSP系統(tǒng)結(jié)構(gòu)框圖

    電機(jī)由IPM來驅(qū)動(dòng),,霍爾元件檢測(cè)相關(guān)物理量,通過信號(hào)調(diào)理電路給A/D轉(zhuǎn)換器,,轉(zhuǎn)換結(jié)果由LF2407A存儲(chǔ)于雙口RAM中,,并由VC33讀取用于計(jì)算。調(diào)理的同時(shí)保護(hù)電路也進(jìn)行相應(yīng)的檢測(cè),,在意外狀況發(fā)生時(shí)隨時(shí)切斷觸發(fā)信號(hào),。VC33將獲取的數(shù)據(jù)進(jìn)行分析和計(jì)算,所有的數(shù)據(jù)處理都由VC33完成,,只將計(jì)算結(jié)果反饋給LF2407A,,并由此產(chǎn)生相應(yīng)的控制信號(hào),通過接口電路來控制IPM工作,。同時(shí)預(yù)留了D/A及串口輸出等相關(guān)外圍電路,,用于實(shí)現(xiàn)顯示、檢測(cè),、與其它系統(tǒng)通信等各項(xiàng)功能,。LF2407A和VC33優(yōu)勢(shì)互補(bǔ),并行工作,,控制周期的長(zhǎng)短主要取決于算法實(shí)現(xiàn)時(shí)間,。原有的控制軟件(以C32為控制平臺(tái))需要100μs左右,在采用了新的控制平臺(tái)后,,整個(gè)控制周期減小到20μs左右,。

2    雙端口RAM存儲(chǔ)爭(zhēng)用解決方案

    在雙機(jī)的數(shù)據(jù)交流過程中,,存在存儲(chǔ)空間爭(zhēng)用問題,常見的解決方案有如下幾種,。

    ——硬件方案    最簡(jiǎn)單的方法就是上面提到的使用雙口RAM內(nèi)部的仲裁邏輯,,要求兩邊的CPU都具有RDY引腳,從而插入相應(yīng)的等待周期,。對(duì)于8098單片機(jī),,DSP都具有這樣的資源,而且只需要硬件支持,,相對(duì)簡(jiǎn)單,。如果不具備RDY引腳,如8031單片機(jī),,則不能采用此種方法,。

    ——中斷方案    需要硬件和軟件的同時(shí)支持。將雙口RAM的左右中斷信號(hào)輸出引腳和CPU的外部中斷輸入引腳相連,,并編寫相應(yīng)的中斷子程序,。

    ——旗語方案    同樣需要硬件和軟件的同時(shí)支持,我們也稱之為軟件仲裁,。其步驟為申請(qǐng)獨(dú)占區(qū)域,、判斷申請(qǐng)是否成功、釋放獨(dú)占區(qū)域,。由于兩邊不同時(shí)使用同一地址,,所以也可以避免爭(zhēng)用的發(fā)生。

    本系統(tǒng)設(shè)計(jì)時(shí)綜合了各種情況最后選用了硬件方案,。這是因?yàn)槭褂弥袛喾桨杠浖帉憦?fù)雜,,頻繁中斷跳轉(zhuǎn)在算法和控制都較復(fù)雜的情況下,對(duì)于軟件的可靠性和穩(wěn)定性是不利的,;采用旗語方案則控制相對(duì)復(fù)雜一些,;硬件方案具有簡(jiǎn)單可靠的特點(diǎn),存儲(chǔ)空間的爭(zhēng)用完全由硬件解決,,即當(dāng)發(fā)生存儲(chǔ)空間爭(zhēng)用的時(shí)候,,決定先行穩(wěn)定的端口優(yōu)先進(jìn)行訪問,另一端口則插入等待周期,。由于DSP的快速性,,不同于以往的單片機(jī)將產(chǎn)生很長(zhǎng)的等待周期。針對(duì)本系統(tǒng)考慮,,即使是最壞的情況:每個(gè)控制周期內(nèi)傳遞數(shù)據(jù)8個(gè),LF2407A一次讀/寫周期50ns記,,共需要0.4μs,。當(dāng)然這完全由硬件來實(shí)現(xiàn),,若考慮軟件上共同配合,則可以更有效地減少等待時(shí)間,。而且0.4μs和20μs的控制周期相比,,所占的比重非常小,并不會(huì)給系統(tǒng)性能帶來顯著影響,,系統(tǒng)可靠性和穩(wěn)定性也能夠得到保證,。這也正是本系統(tǒng)的特點(diǎn)所在。

3    TMS320C2407A/TMS320VC33與CY7C025之間通信的實(shí)現(xiàn)

    LF2407A的數(shù)據(jù)總線寬度和地址總線寬度都是16位,,單片CY7C025就足夠了,。VC33的數(shù)據(jù)總線寬度是32位,可以采用兩片CY7C025以主從模式進(jìn)行寬度擴(kuò)展(見圖3),,這樣每次VC33讀取數(shù)據(jù)時(shí)就能一次讀入兩個(gè)LF2407A的采樣數(shù)據(jù),。也可以采用單片CY7C025,雖然沒有完全利用VC33的數(shù)據(jù)寬度,,但是,,從電路設(shè)計(jì)上來講相對(duì)簡(jiǎn)潔。由于本系統(tǒng)雙口RAM的作用主要是起到數(shù)據(jù)傳遞的作用,,不需要保存大量的中間結(jié)果以及已經(jīng)使用過的數(shù)據(jù),,因此,需要的存儲(chǔ)空間不是很大,,單片雙口RAM就已經(jīng)足夠,。具體的接口電路見圖3,片選等控制信號(hào)由譯碼電路產(chǎn)生,。

圖3    接口電路實(shí)現(xiàn)

 

    地址空間分配綜合了不同DSP的空間資源分配要求,,具體見表1。

表1    地址空間分配表

  起始地址 終止地址
LF2407A 0X8000H 0X9FFFH
VC33 010000H 011FFFH

 

 

4    軟件功能實(shí)現(xiàn)

    雙DSP協(xié)同工作的關(guān)鍵是相互通信和數(shù)據(jù)交流上的密切配合,,可通過硬件仲裁電路來完成這一任務(wù),。但是如果僅僅用硬件完成,如上分析,,畢竟等待時(shí)間還要0.4μs左右,。如果輔以軟件配合,則可以有效地減少等待產(chǎn)生的情況,。

    首先,,沖突可能發(fā)生在同時(shí)寫同一個(gè)存儲(chǔ)單元。在數(shù)據(jù)寫的時(shí)候采用如下措施可以避免這種情況的發(fā)生:如圖4所示,,將讀/寫的存儲(chǔ)空間獨(dú)立開來,,顯然LF2407A和VC33在寫的時(shí)候就不可能產(chǎn)生沖突,避免了等待的發(fā)生,。

圖4    讀/寫存儲(chǔ)空間分開

    其次,,沖突可能發(fā)生在一讀一寫同一存儲(chǔ)單元的情況下,。以LF2407A寫數(shù)據(jù),VC33讀數(shù)據(jù)為例,,上面分析的產(chǎn)生0.4μs等待時(shí)間的情況是基于如下假設(shè):將8個(gè)數(shù)據(jù)依順序存儲(chǔ)于同一地址單元,。即LF2407A存第一個(gè)數(shù)據(jù)時(shí)發(fā)生沖突,VC33產(chǎn)生等待時(shí)間50ns,,等待結(jié)束VC33讀數(shù)據(jù),,此后LF2407A將第二個(gè)數(shù)據(jù)覆蓋前一個(gè)數(shù)據(jù)存儲(chǔ),依次類推得出的結(jié)果就是8×50ns=400ns,。事實(shí)是我們有足夠的地址空間用來存儲(chǔ)每批數(shù)據(jù),,將8個(gè)數(shù)據(jù)按順序存放在不同的地址空間,此時(shí)的情況如下:LF2407A存第一個(gè)數(shù)據(jù)時(shí)發(fā)生沖突,,VC33產(chǎn)生等待時(shí)間50ns,,等待結(jié)束VC33讀數(shù)據(jù),與此同時(shí)LF2407A也開始寫第二個(gè)數(shù)據(jù)于下一個(gè)存儲(chǔ)單元中,。兩者同時(shí)進(jìn)行,,我們只要保證VC33讀完的時(shí)候,LF2407A第二個(gè)數(shù)據(jù)已經(jīng)寫完,,則不會(huì)有沖突發(fā)生,。針對(duì)本例,由于兩者時(shí)間不同(LF2407A為50ns,,VC33為13.3ns),,VC33讀得較快,只要在軟件編寫上增加40ns左右的循環(huán),,就能保證如上的要求,。當(dāng)讀/寫反過來的時(shí)候,則不存在這樣的情況而能順利配合,。這樣,,最終的結(jié)果是只增加50ns的等待周期,對(duì)于本系統(tǒng)完全可以接受,。

    由于兩個(gè)DSP并不同步工作,,所以,LF2407A可以采樣盡可能多的數(shù)據(jù)并保存,,VC33只選用最新的數(shù)據(jù)用于計(jì)算,,這樣就能保證數(shù)據(jù)的冗余。程序流程如圖5所示,。

(a)LF2407A流程圖

(b)VC33流程圖

圖5    利用雙口RAM進(jìn)行雙機(jī)通信流程圖

5    結(jié)語

    雙DSP控制系統(tǒng)綜合利用了TMS320LF2407A和TMS320VC33芯片的優(yōu)勢(shì)和特長(zhǎng),,兩者在控制和計(jì)算上分工明確,并行工作。利用雙口RAM實(shí)現(xiàn)數(shù)據(jù)和信息的交流的時(shí)候,,針對(duì)電機(jī)控制系統(tǒng)采樣數(shù)據(jù)相對(duì)較少的特點(diǎn),,從硬件和軟件上相互配合,在解決存儲(chǔ)空間爭(zhēng)用的同時(shí),,很好地解決了等待時(shí)間等資源的浪費(fèi),也避免了數(shù)據(jù)交換時(shí)利用中斷造成的軟件不穩(wěn)定,。實(shí)現(xiàn)了兩者之間的協(xié)調(diào)工作,,大大縮短了控制周期,提高了控制平臺(tái)的性能,。對(duì)于低電感同步電機(jī)直接轉(zhuǎn)矩控制時(shí),,由于控制周期過長(zhǎng)而引起電流上升過大的問題能很好地加以解決,同時(shí)也使轉(zhuǎn)矩脈動(dòng)明顯減小,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。