葛研軍, 趙 楊, 楊均悅
(1.大連交通大學 機械工程學院,遼寧大連 116028;
2.大連交通大學 電氣信息學院,遼寧大連 116028)
多電機協(xié)同控制在造紙、印染、軋鋼等工業(yè)領(lǐng)域有著廣泛應(yīng)用[1-3]。隨著生產(chǎn)工藝的不斷提高,對電機控制的高效性和實時性也提出了更高的要求[4]。DSP作為一種高性能處理芯片,能高效地完成對電機的控制。為了滿足多電機控制性能和系統(tǒng)的協(xié)調(diào)運行,可構(gòu)造雙DSP協(xié)同處理核心,共同完成對電機的控制。DSP之間的數(shù)據(jù)傳輸是實現(xiàn)多電機協(xié)同工作的關(guān)鍵,針對控制系統(tǒng)實時性要求,往往采用共享存儲器方式。共享存儲器方式就是多個處理器之間通過一個共有的存儲單元來完成數(shù)據(jù)的交互,其特點是實時性好、接口電路簡單、數(shù)據(jù)傳輸量大[5]。雙口RAM技術(shù)是一種數(shù)據(jù)共享的有效方式。
雙口RAM是具有兩組完全對稱的地址線、數(shù)據(jù)線和控制線的靜態(tài)RAM,同時還具有兩套獨立的中斷邏輯、“忙”邏輯信號。雙口RAM內(nèi)部具有完善的仲裁邏輯電路,能很好地協(xié)調(diào)多處理器的讀/寫操作,十分便于多處理器系統(tǒng)的外部擴展應(yīng)用。本文采用的雙口RAM為IDT7024,是IDT公司研制的4 k×16的低功耗COMS型雙端口靜態(tài)RAM,其工業(yè)級最大訪問時間為55 ns,非常適合芯片間高速、實時的數(shù)據(jù)通信要求,其功能框圖如圖1所示。
圖1 IDT7024功能框圖
DSP對雙口RAM的讀寫操作有如下4種情況:(1)兩端異步讀寫同一單元數(shù)據(jù);(2)兩端同時讀同一單元數(shù)據(jù);(3)兩端同時對同一單元讀寫數(shù)據(jù);(4)兩端對同一單元分別進行讀寫操作。在第一、二種情況時,兩個端口的存取不會出現(xiàn)錯誤,第三種情況會出現(xiàn)寫入錯誤,第四種情況會出現(xiàn)讀出錯誤[6]。
BUSY方式主要是通過將雙口RAM的BUSY信號與DSP的READY信號相連,當一側(cè)DSP先訪問到雙口RAM時,會使另一側(cè)DSP產(chǎn)生響應(yīng)等待信號,以達到同一時刻雙口RAM的單側(cè)使用。
中斷方式是將DSP的外部中斷源與雙口RAM的左右中斷信號相連。當一側(cè)DSP向指定單元寫入數(shù)據(jù)時,會使另一側(cè)產(chǎn)生中斷信號。此時DSP響應(yīng)中斷,并再向上級數(shù)據(jù)單元寫入數(shù)據(jù),從而釋放中斷。
旗語方式則是一種軟件和硬件相結(jié)合的控制分配方式。雙口RAM在硬件上提供了8個獨立于存儲器且具有鎖存功能的SEM單元。將與存儲器相連的地址線A0~A2經(jīng)譯碼電路輸入到SEM端口,雙口RAM被分割成相互獨立的存儲單元。此時,數(shù)據(jù)最低位D0向雙口RAM發(fā)送“0”后,讀取SEM狀態(tài),檢測存儲單元的使用狀態(tài),從而制定相應(yīng)的控制策略。在DSP使用完對應(yīng)存儲單元后,再向此單元對應(yīng)的SEM寫入“1”并釋放其所占用的資源。
多電機協(xié)同控制系統(tǒng)中,一般要求各電機按某種比例關(guān)系同步協(xié)調(diào)運轉(zhuǎn),才能保證生產(chǎn)的正常運行。實際由于負載、干擾等因素使某些執(zhí)行單元參數(shù)發(fā)生變化時,若協(xié)同控制中其他執(zhí)行單元未及時響應(yīng),則會造成系統(tǒng)性能下降,甚至崩潰。
本文多電機控制系統(tǒng)實現(xiàn)四組異步電機系統(tǒng)的協(xié)同工作,系統(tǒng)原理圖如圖2所示。兩組DSP TMS320LF2407A構(gòu)成控制核心,各DSP輸出的PWM控制信號通過經(jīng)驅(qū)動模塊完成對電機的調(diào)速控制。電機的轉(zhuǎn)速、電流等反饋信號傳回到DSP,形成對電機的閉環(huán)控制,提高了控制系統(tǒng)的穩(wěn)定性。上位機通過串口發(fā)送調(diào)速指令,完成對電機速度的在線調(diào)控,IDT 7024采用中斷仲裁方式實現(xiàn)DSP之間的數(shù)據(jù)傳輸。
圖2 多電機協(xié)同控制原理圖
雙DSP的控制核心,通過雙口RAM完成數(shù)據(jù)傳輸,其硬件接口電路連接如圖3所示。
DSP與雙口RAM之間需要進行電壓匹配。DSP TMS320LF2407A為3.3 V供電的COMS芯片,雙口RAM IDT7024為5 V供電的TTL芯片,這兩組芯片之間需要進行電平轉(zhuǎn)換,否則會造成數(shù)據(jù)無法識別。本系統(tǒng)基于SN74ALVC16244和SN74ALVC16245驅(qū)動DSP的地址線和數(shù)據(jù)線,以保證雙DSP系統(tǒng)擴展的可靠性。
DSP對雙口RAM讀寫操作時,要求讀寫操作與雙口RAM的存儲時間相匹配。若存儲器的存儲速度跟不上DSP的讀寫要求,則會造成數(shù)據(jù)丟失,從而使整個系統(tǒng)無法正常工作。本系統(tǒng)中的DSP讀寫一個字的時間約為100 ns、200 ns,雙口RAM IDT7024的讀寫存儲時間約為50 ns。雙口RAM存儲速度完全滿足DSP的讀寫需求,無需等待時序。
圖3 雙DSP硬件接口電路
軟件編制中,可將雙口RAM的存儲單元進行分割,以構(gòu)造一個雙向數(shù)據(jù)通路。兩端DSP通過中斷響應(yīng)完成相關(guān)數(shù)據(jù)的傳輸。分割存儲區(qū)可從根本上避免讀寫錯誤的發(fā)生,而且能提高數(shù)據(jù)傳輸效率。中斷響應(yīng)過程中可將數(shù)據(jù)讀取到指定的數(shù)據(jù)區(qū),以便于軟件控制且能保證DSP性能。
系統(tǒng)中使用的雙口RAM為IDT7024,為高速4×16 bit雙端口靜態(tài)RAM,其存取單元地址為0x000~0xFFF,為了保證系統(tǒng)的高效傳遞,將雙口RAM分割為兩個數(shù)據(jù)存儲區(qū)0x000~0x7FF和0x800~0xF00。
兩側(cè)DSP經(jīng)過CPLD輸出雙口RAM片選信號EXCS2,其信號邏輯為 EXCS2≤‘0’WHEN A15=‘0’AND A14=‘0’AND A13=‘0’AND IOS=‘0’AND STRB=‘0’ELSE‘1’;雙口RAM存儲器在DSP中被擴展為外部IO空間,其數(shù)據(jù)區(qū)域為0x0000~0x1FFF。雙口RAM的存儲區(qū)完全被覆蓋,DSP對0x0000~0x0FFF操作就是對雙口RAM的空間進行操作,同時需對DSP的CMD文件中對應(yīng)的IO區(qū)域進行相關(guān)定義,然后在DSP的集成開發(fā)環(huán)境中觀測IO數(shù)據(jù)區(qū)域0x0000~0x0FFF。若兩側(cè)數(shù)據(jù)一致,并且一側(cè)DSP修改數(shù)據(jù)時,另一側(cè)DSP可同時檢測數(shù)據(jù)發(fā)生變化,則說明兩側(cè)DSP已經(jīng)通過雙口RAM連通。
兩側(cè)DSP通過中斷響應(yīng)來完成數(shù)據(jù)讀寫及更新,數(shù)據(jù)傳輸如圖4所示。
圖4 采用雙口RAM的雙DSP數(shù)據(jù)傳輸
根據(jù)雙口RAM中斷工作方式,利用存儲區(qū)的0xFFF和0xFFE作為數(shù)據(jù)傳輸“信號”,以左側(cè)DSP的中斷響應(yīng),對數(shù)據(jù)傳輸過程進行說明。
(1)對兩側(cè)DSP進行初始化,包括DSP存儲器配置、外部I/O配置、中斷程序設(shè)置等。初始化完畢后,DSP運行主程序。
(2)若右側(cè) DSP向雙口 RAM的0x000~0x7FF單元寫入數(shù)據(jù)后,向0xFFE單元寫入任意數(shù)據(jù)時,可使雙口RAM左側(cè)產(chǎn)生中斷信號。
(4)右側(cè)DSP對雙口RAM的中斷響應(yīng)同上,其數(shù)據(jù)傳輸信號單元為0xFFF。
該電機協(xié)同控制系統(tǒng)中,其軟件流程如圖5所示。主程序中,系統(tǒng)起動時DSP輸出指定速度控制信號。當接收到上位機發(fā)送的調(diào)速指令后,DSP運算修改受控電機的調(diào)速信號,并將另一側(cè)DSP速度指令發(fā)送到雙口RAM的數(shù)據(jù)單元中,同時激活另一側(cè)DSP的數(shù)據(jù)接收中斷信號。DSP采用速度、電流閉環(huán)控制,保證了電機運行的穩(wěn)定。
為驗證多電機協(xié)同控制系統(tǒng)速度調(diào)整的高效性和實時性。試驗采用了雙DSP同時控制4臺Y系列異步電機協(xié)同工作。起動時4組電機按一定比例關(guān)系運行。運行過程中,上位機通過串口在線修改4臺電機速度。定義左側(cè)DSP的PWM1~PWM6控制電機為電機1,PWM7~PWM12控制電機為電機2,同理定義右側(cè)電機為電機3和電機4。
電機控制過程中,DSP輸出電機控制信號為PWM波形。在系統(tǒng)調(diào)試過程中,可通過PWM波來檢測數(shù)據(jù)通信效果,將右側(cè)DSP的PWM參數(shù)傳輸?shù)阶髠?cè)DSP后,令左側(cè)DSP輸出占空比比例為3∶4的PWM波形,其波形如圖6所示。
圖5 各DSP程序流程圖
圖6 雙DSP的PWM波形
此DSP控制的多電機調(diào)速控制系統(tǒng)中,各DSP輸出兩組SVPWM控制信號,經(jīng)驅(qū)動模塊對電機進行調(diào)速控制,起始狀態(tài)時電機1~4的轉(zhuǎn)速比例為1∶2∶3∶6,電機 1 轉(zhuǎn)速為 50 r/min 時,電機2 ~4 分別為 100 r/min、150 r/min、300 r/min。穩(wěn)定運行后,修改電機2和電機3轉(zhuǎn)速為60 r/min、1 00r/min。各組電機的電流數(shù)據(jù)可通過反饋通路實時采集到兩組DSP中,兩組DSP同時采集各組電機的A相電流數(shù)據(jù),見圖7。
圖7 4組電機電流波形
(1)雙DSP的多電機控制系統(tǒng),通過雙口RAM技術(shù)實現(xiàn)數(shù)據(jù)的高效傳輸,并通過速度、電流反饋調(diào)節(jié),提高了電機控制的可靠性和穩(wěn)定性;
(2)對雙口RAM進行內(nèi)部區(qū)域分割操作,可實現(xiàn)數(shù)據(jù)的雙向傳遞,并從根本上解決了雙口RAM的讀寫錯誤;
(3)通過上位機向雙DSP發(fā)送速度控制信號后,各電機調(diào)節(jié)速度響應(yīng)迅速,滿足控制系統(tǒng)的高效性和實時性。
[1]張承慧,石慶升,程金.一種多電機同步傳動模糊神經(jīng)網(wǎng)絡(luò)控制器的設(shè)計[J].控制與決策,2007,22(1):30-34.
[2]張今朝,劉國海,潘天紅.多電機同步系統(tǒng)的多模型辨識[J].電機與控制學報,2009,13(1):138-142.
[3]孫文煥,程善美,王曉翔.多電機協(xié)調(diào)控制的發(fā)展[J].電氣傳動,1999(6):3-6.
[4]CASTRO R,ARAUJO R E,OLIVEIRA H.Control in multi-motor electric vehicle with a FPGA platform[J].IEEE International Symposium on Industrial Embedded Systems 2009,Lausanne,Switzerland,2009.
[5]朱傳雨,劉建國,陸亦懷,等.基于雙口RAM的高速大容量氣溶膠空氣動力學粒徑信息提取[J].儀器儀表學報,2010,31(3):2168-2172.
[6]唐宗軍,楊光,王維,等.基于DSP和單片機的高速數(shù)據(jù)采集與處理系統(tǒng)[J].儀器儀表學報,2004,25(08增刊):429-430.