<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è) > 嵌入式系統 > 設計應用 > j基于雙DSP電機控制數字平臺設計

j基于雙DSP電機控制數字平臺設計

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

0 引言

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

TI公司的2000系列DSP是領(lǐng)域常用芯片,針對設計的事件管理器具有突出優(yōu)點(diǎn)。3X系列DSP則是性?xún)r(jià)比很好的通用芯片,浮點(diǎn)運算,數據處理速度快。為此采用系統結構,從領(lǐng)域特點(diǎn)出發(fā),利用TMS320LF2407A控制上的強大功能而專(zhuān)注于控制方面的工作;TMS320VC33浮點(diǎn)運算能力強,則進(jìn)行數據的分析和處理。使用雙口RAMCY7C025實(shí)現雙機之間的高速數據交流和通信,使得不同MDSP優(yōu)勢充分體現,協(xié)同工作,大大提高控制平臺的性能。

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

1 硬件系統構成

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

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

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

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

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

圖1 主從連接電路

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

中斷邏輯

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

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

旗語(yǔ)通信邏輯可以使雙口RAM暫時(shí)指定一塊存儲區,只供一端的CPU使用,稱(chēng)之為獨占模式。CY7C025配置了獨立于RAM陣列的8個(gè)旗語(yǔ)鎖存器,用于標志雙口RAM是否處于獨占模式。獨占模式也可以用來(lái)避免地址仲裁問(wèn)題,因為,它是一種使兩邊不同時(shí)使用同一地址的方法,通常也叫做軟件仲裁。
控制平臺結構框圖如圖2所示。

圖2 系統結構框圖

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

2 雙端口RAM存儲爭用解決方案

在雙機的數據交流過(guò)程中,存在存儲空間爭用問(wèn)題,常見(jiàn)的解決方案有如下幾種。

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

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

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

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

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

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

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

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

表1 地址空間分配表  

4 軟件功能實(shí)現

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

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

圖4 讀/寫(xiě)存儲空間分開(kāi)

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

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

(a)LF2407A流程圖

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

5 結語(yǔ)

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



關(guān)鍵詞: 雙DSP 電機控制 數字平臺

評論


相關(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>