電機(jī)數(shù)字控制平臺(tái)方案設(shè)計(jì)
0 引言
直接轉(zhuǎn)矩控制[1]是目前廣為研究的電機(jī)控制理論之一,已在異步機(jī)上取得了成功,而在同步機(jī)方面的應(yīng)用也已有了一定發(fā)展[2]。由于該理論直接對(duì)轉(zhuǎn)矩進(jìn)行控制,故瞬態(tài)性能得到了顯著的改善。但是,由于其采用的是Bang-Bang控制,控制周期過(guò)長(zhǎng)會(huì)使電流過(guò)大;同時(shí)大周期會(huì)使轉(zhuǎn)矩脈動(dòng)加大。為了解決這個(gè)問(wèn)題可以從控制策略上加以改進(jìn),比如采用SVM-DTC[3]來(lái)取代傳統(tǒng)DTC方案;也可以在控制平臺(tái)上加以考慮,提高處理器速度,縮短控制周期。以單個(gè)DSP為核心的控制平臺(tái)(常見(jiàn)的芯片如TI公司的2000系列),由于既要完成復(fù)雜的算法,還要執(zhí)行數(shù)據(jù)采集、控制信號(hào)輸出、系統(tǒng)保護(hù)以及人機(jī)交互等一系列操作,無(wú)法有效地縮短控制周期。在綜合考慮了各種數(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),即專(zhuān)用于電機(jī)控制領(lǐng)域的芯片TMS320LF2407A專(zhuān)注于控制;高速通用數(shù)據(jù)處理芯片TMS320VC33則著眼于復(fù)雜算法的實(shí)現(xiàn),從而充分利用了各自的特點(diǎn)。其次,針對(duì)電機(jī)控制這一特定領(lǐng)域,需要采集的數(shù)據(jù)相對(duì)較少,同時(shí)反饋的也只是計(jì)算結(jié)果,即PWM波發(fā)送策略,并無(wú)大量中間結(jié)果,因此,需要考慮的重點(diǎn)是控制方法的實(shí)現(xiàn),和數(shù)據(jù)采集的實(shí)現(xiàn)必須占用盡可能少的資源。同時(shí)由于數(shù)據(jù)量較少,可以用較小的代價(jià)來(lái)實(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ǔ)過(guò)程盡量少耗費(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ā)揮哈佛總線(xiàn)結(jié)構(gòu)所帶來(lái)的數(shù)據(jù)吞吐量大、運(yùn)算快的優(yōu)點(diǎn)。在算法實(shí)現(xiàn)上,由于采用了浮點(diǎn)計(jì)算格式,將使計(jì)算精度得到提高;采用編程語(yǔ)言C會(huì)使程序編寫(xiě)效率大大改善,這對(duì)于需要用復(fù)雜算法實(shí)現(xiàn)的控制策略來(lái)說(shuō)是很重要的。
雙口RAM的特點(diǎn)在于具有兩組相互獨(dú)立的地址線(xiàn)、數(shù)據(jù)線(xiàn)和控制線(xiàn),片內(nèi)包含的控制邏輯解決了三個(gè)重要的問(wèn)題:處理器之間的信號(hào)關(guān)系(中斷邏輯);兩個(gè)CPU正在使用同一地址時(shí)的時(shí)間關(guān)系(仲裁邏輯)和把一塊存儲(chǔ)器臨時(shí)分配到某一邊的硬件支持(旗語(yǔ)邏輯),從而保證雙機(jī)之間數(shù)據(jù)、信號(hào)交流的正確進(jìn)行。
仲裁邏輯(忙邏輯) 每塊CY7C025允許兩個(gè)CPU同時(shí)讀取任何存儲(chǔ)單元(包括同時(shí)讀同一地址單元),但是不允許同時(shí)寫(xiě)或者一讀一寫(xiě)同一地址單元,否則就會(huì)發(fā)生錯(cuò)誤。雙口RAM中已經(jīng)有相應(yīng)的仲裁邏輯電路來(lái)解決這一問(wèn)題:先行穩(wěn)定的地址端口通過(guò)仲裁邏輯電路優(yōu)先讀寫(xiě),同時(shí)內(nèi)部電路使另一個(gè)端口的BUSY信號(hào)有效,并在內(nèi)部禁止對(duì)方訪(fǎng)問(wèn),直到本端口的操作結(jié)束。BUSY信號(hào)可以作為CPURDY信號(hào)的來(lái)源,從而使得CPU處于等待狀態(tài)。
當(dāng)雙口RAM單片使用的時(shí)候,問(wèn)題相對(duì)簡(jiǎn)單,但是,在現(xiàn)代數(shù)字系統(tǒng)中,由于數(shù)據(jù)總線(xiàn)的寬度往往可以達(dá)到32位甚至更寬,這就需要多片雙口RAM來(lái)進(jìn)行位擴(kuò)展。此時(shí)如果出現(xiàn)同時(shí)訪(fǎng)問(wèn),將有多塊雙口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)作為寫(xiě)禁止輸入,當(dāng)主芯片處于BUSY狀態(tài)時(shí),從芯片接收這個(gè)狀態(tài),同樣處于忙狀態(tài),從而避免了死鎖的發(fā)生。
中斷邏輯 另一個(gè)重要的內(nèi)部電路結(jié)構(gòu),它允許雙CPU通過(guò)端口直接進(jìn)行通信。CY7C025最高位的存儲(chǔ)單元1FFF作為右邊端口的中斷信箱,
次高位存儲(chǔ)單元1FFE作為左邊端口的中斷信箱。各CPU可以讀取雙方的中斷信箱,但只能寫(xiě)對(duì)方的中斷信箱。當(dāng)一端寫(xiě)入對(duì)方的中斷信箱時(shí),對(duì)方就會(huì)產(chǎn)生一個(gè)中斷信號(hào);讀自己的中斷信箱則清除自己的中斷信號(hào),讀對(duì)方的中斷信箱不會(huì)清除中斷信號(hào)。
旗語(yǔ)通信邏輯 可以使雙口RAM暫時(shí)指定一塊存儲(chǔ)區(qū),只供一端的CPU使用,稱(chēng)之為獨(dú)占模式。CY7C025配置了獨(dú)立于RAM陣列的8個(gè)旗語(yǔ)鎖存器,用于標(biāo)志雙口RAM是否處于獨(dú)占模式。獨(dú)占模式也可以用來(lái)避免地址仲裁問(wèn)題,因?yàn)?,它是一種使兩邊不同時(shí)使用同一地址的方法,通常也叫做軟件仲裁。
控制平臺(tái)結(jié)構(gòu)框圖如圖2所示。
圖2 雙DSP系統(tǒng)結(jié)構(gòu)框圖
電機(jī)由IPM來(lái)驅(qū)動(dòng),霍爾元件檢測(cè)相關(guān)物理量,通過(guò)信號(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),通過(guò)接口電路來(lái)控制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ù)交流過(guò)程中,存在存儲(chǔ)空間爭(zhēng)用問(wèn)題,常見(jiàn)的解決方案有如下幾種。
——硬件方案 最簡(jiǎn)單的方法就是上面提到的使用雙口RAM內(nèi)部的仲裁邏輯,要求兩邊的CPU都具有RDY引腳,從而插入相應(yīng)的等待周期。對(duì)于8098單片機(jī),DSP都具有這樣的資源,而且只需要硬件支持,相對(duì)簡(jiǎn)單。如果不具備RDY引腳,如8031單片機(jī),則不能采用此種方法。
——中斷方案 需要硬件和軟件的同時(shí)支持。將雙口RAM的左右中斷信號(hào)輸出引腳和CPU的外部中斷輸入引腳相連,并編寫(xiě)相應(yīng)的中斷子程序。
評(píng)論