周 翀,郭啟明
(1.海軍工程大學(xué),武漢 430032;2.湘潭電機(jī)重型裝備股份有限公司,車輛研究所,湘潭 411101;3.湘潭電機(jī)股份有限公司,湘潭 411101)
基于DSP/BIOS的地鐵牽引控制系統(tǒng)研究
周 翀1,2,郭啟明3
(1.海軍工程大學(xué),武漢 430032;2.湘潭電機(jī)重型裝備股份有限公司,車輛研究所,湘潭 411101;3.湘潭電機(jī)股份有限公司,湘潭 411101)
闡述了基于DSP/BIOS多任務(wù)環(huán)境下的地鐵牽引控制系統(tǒng)的研究開發(fā).地鐵牽引控制系統(tǒng)實(shí)時(shí)性強(qiáng),在控制芯片中嵌入BIOS內(nèi)核,對(duì)系統(tǒng)中的各項(xiàng)任務(wù)進(jìn)行分析分配,有效利用資源,能夠充分發(fā)揮BIOS多任務(wù)并發(fā)處理,高效快速的處理能力,滿足了系統(tǒng)要求.實(shí)驗(yàn)表明,系統(tǒng)能夠正常穩(wěn)定的工作.
DSP/BIOS;多任務(wù);地鐵牽引控制系統(tǒng)
目前,各國(guó)城市軌道交通車輛傳動(dòng)系統(tǒng)的發(fā)展方向是交流化、網(wǎng)絡(luò)化和智能化.我國(guó)在引進(jìn)國(guó)外高端技術(shù)的同時(shí),也在大力發(fā)展具有自主知識(shí)產(chǎn)權(quán)的交流傳動(dòng)系統(tǒng),力圖打破國(guó)外的技術(shù)封鎖.現(xiàn)代化的軌道交通交流調(diào)速系統(tǒng)中都包含一個(gè)或多個(gè)高性能的CPU處理芯片.
近年來,嵌入式實(shí)時(shí)操作系統(tǒng)技術(shù)得到了長(zhǎng)足的發(fā)展,趨于成熟.由于嵌入式實(shí)時(shí)操作系統(tǒng)具有良好的可開發(fā)性,因此其在工控領(lǐng)域得到了越來越廣泛的運(yùn)用.本文以TMSF28335為核心處理器,引入TI公司為DSP開發(fā)提供的嵌入式操作系統(tǒng)DSP/BIOS的多任務(wù)調(diào)度機(jī)制,構(gòu)建了地鐵牽引調(diào)速控制系統(tǒng).整個(gè)系統(tǒng)分為幾大任務(wù)塊,按照預(yù)先設(shè)定的優(yōu)先級(jí)并行執(zhí)行.與使用傳統(tǒng)軟件開發(fā)模式相比,本文采用的DSP/BIOS的多任務(wù)調(diào)度機(jī)制軟件開發(fā)模式提高了DSP硬件資源利用率,代碼具有兼容性、繼承性和可移植性強(qiáng)等特點(diǎn),整個(gè)軟件易于開發(fā)和維護(hù).[1]
DSP/BIOS是一個(gè)功能豐富、可擴(kuò)展、可裁剪的高級(jí)實(shí)時(shí)式操作系統(tǒng),主要用于相對(duì)復(fù)雜的應(yīng)用程序,特別適用于需要多線程安排及同步、主機(jī)與目標(biāo)機(jī)之間需要通信以及系統(tǒng)實(shí)時(shí)檢測(cè)要求高的應(yīng)用系統(tǒng).
DSP/BIOS提供了可超前的多線程、硬件抽象化控制和實(shí)時(shí)分析工具,用戶可方便且直觀地使用.在開發(fā)實(shí)時(shí)多任務(wù)的系統(tǒng)中,DSP/BIOS允許將用戶程序劃分為線程的集合,不同的線程具有不同的優(yōu)先級(jí)運(yùn)行在單一的CPU上進(jìn)行各種形式的交互.
DSP/BIOS支持四種類型的線程:硬件中斷(HWI),軟件中斷(SWI),任務(wù)(TSK),及后臺(tái)線程.DSP/BIOS系統(tǒng)容許多個(gè)線程任務(wù)的并發(fā)處理,而各個(gè)任務(wù)線程之間通過同步、通信、數(shù)據(jù)交換等進(jìn)行協(xié)調(diào).這種機(jī)制使得應(yīng)用程序可維護(hù)性得到了提高,并且提供了更方便、更高級(jí)的調(diào)試手段,能夠充分發(fā)揮DSP微處理器的快速運(yùn)算能力,滿足交流調(diào)速系統(tǒng)響應(yīng)的實(shí)時(shí)要求.
地鐵牽引調(diào)速控制系統(tǒng)(VVVF)是城市軌道交通車輛的核心控制部件,該系統(tǒng)主要完成如下功能:
(1)交流異步電機(jī)的牽引和制動(dòng)控制;
(2)電機(jī)運(yùn)行狀態(tài)的實(shí)時(shí)監(jiān)測(cè)和顯示;
(3)功率組件(IGBT)等部件狀態(tài)的檢測(cè)和故障顯示;
(4)VVVF控制邏輯和保護(hù)功能的實(shí)現(xiàn);
(5)與列車其他控制單元的通訊.
一個(gè)地鐵牽引調(diào)速控制系統(tǒng)包含以下七個(gè)模塊:電源模塊、DSP模塊、傳感器測(cè)量模塊、開關(guān)量輸入模塊、開關(guān)量輸出模塊、編碼器輸入模塊及監(jiān)控與通訊模塊.各模塊之間通過VEM總線連接,具體結(jié)構(gòu)見圖1.
圖1 地鐵牽引調(diào)速控制系統(tǒng)組成
在圖1中,電源模塊負(fù)責(zé)給其他模塊提供穩(wěn)定的直流電源;傳感器測(cè)量模塊采集牽引的三相電流值、母線電壓電流值等必需的系統(tǒng)參數(shù)并進(jìn)行相應(yīng)的放大和濾波等數(shù)據(jù)前期處理;開關(guān)量輸入模塊是系統(tǒng)數(shù)字量輸入通道,相關(guān)控制信號(hào)如牽引制動(dòng)信號(hào)、前進(jìn)方向信號(hào)等由此模塊輸入;開關(guān)量輸出模塊負(fù)責(zé)輸出系統(tǒng)的數(shù)字開關(guān)控制指令,控制外部的斷路器、繼電器等器件的閉合和斷開;編碼器輸入模塊根據(jù)輸入的速度傳感器脈沖信號(hào),進(jìn)行電機(jī)轉(zhuǎn)速的計(jì)算,同時(shí)也接受牽引和制動(dòng)時(shí)的給定量信號(hào);監(jiān)控與通訊模塊實(shí)現(xiàn)系統(tǒng)與列車其他系統(tǒng)的網(wǎng)絡(luò)通訊,同時(shí)提供調(diào)試時(shí)人機(jī)交互指令和數(shù)據(jù)傳輸通道等功能;DSP模塊負(fù)責(zé)實(shí)現(xiàn)電機(jī)的控制算法,并根據(jù)總線傳來的其他各模塊采集得到的信息進(jìn)行邏輯判斷,決定當(dāng)前系統(tǒng)的工作狀態(tài).[2]
地鐵牽引調(diào)速控制系統(tǒng)的核心是DSP模塊.DSP模塊CPU采用TI公司具有32位浮點(diǎn)運(yùn)算功能的TMS320F28335芯片作為系統(tǒng)CPU.該處理器具有先進(jìn)的多總線結(jié)構(gòu)和改進(jìn)的哈佛結(jié)構(gòu),片內(nèi)包含512KB Flash存儲(chǔ)器和68KB Ram存儲(chǔ)器,工作電源為1.9V內(nèi)核和3.3V外設(shè),處理速度快,功耗低.該處理器是整個(gè)地鐵牽引控制系統(tǒng)的核心,其主要功能包括:電機(jī)控制、總線仲裁與管理、整個(gè)系統(tǒng)的功能管理以及通訊信息管理.系統(tǒng)中,DSP時(shí)鐘頻率設(shè)為100MHz.
DSP/BIOS程序設(shè)計(jì)是指通過使用DSP/BIOS的組件、API函數(shù)和分析工具等功能來完成程序設(shè)計(jì).它有兩個(gè)特點(diǎn),一是所有與硬件相關(guān)的操作都必須借助其本身提供的函數(shù)完成,避免直接控制硬件資源;二是程序交由BIOS內(nèi)核控制,按照任務(wù)調(diào)度優(yōu)先級(jí)執(zhí)行.[3]
在交流變頻調(diào)速系統(tǒng)(VVVF)的平臺(tái)上,進(jìn)行BIOS嵌入式內(nèi)核的軟件編制,首先是對(duì)BIOS配置文件進(jìn)行設(shè)置.該設(shè)置包含了對(duì)內(nèi)存進(jìn)行管理、合理安排中斷向量表、對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)測(cè)、規(guī)劃各線程時(shí)間安排,進(jìn)行線程調(diào)度等功能.軟件整體結(jié)構(gòu)如圖2所示.
圖2 軟件結(jié)構(gòu)組成
首先,安排硬件中斷線程(HWI).硬件中斷線程的執(zhí)行有嚴(yán)格的實(shí)時(shí)性,而且執(zhí)行時(shí)間短,與外部設(shè)備密切相關(guān).在本系統(tǒng)中,由于電機(jī)控制用的PWM波采用DSP外設(shè)EPWM模塊產(chǎn)生,屬于DSP外設(shè)管理,因此實(shí)時(shí)性要求比較高.鑒于此,軟件將該部分放在硬件中斷中.根據(jù)28335的芯片外設(shè)結(jié)構(gòu),該中斷屬于外設(shè)PIE中斷.在硬件中斷管理器下,找到PIE中斷,選擇PIE_INT3_1,在其屬性中設(shè)定中斷執(zhí)行函數(shù),在函數(shù)體中加入SVPWM波產(chǎn)生的語句,這樣系統(tǒng)會(huì)在PWM產(chǎn)生中斷時(shí),進(jìn)入到此中斷函數(shù)中更新電機(jī)控制用的PWM輸出波形.[4]
其次,安排軟件中斷線程(SWI).所有的軟件中斷都是通過DSP/BIOS內(nèi)核的API調(diào)用來啟動(dòng)的.軟件中斷的優(yōu)先級(jí)低于硬件中斷,但是高于任務(wù)和后臺(tái)線程.同時(shí)每個(gè)軟件中斷對(duì)象也可設(shè)置1-15的優(yōu)先級(jí).中斷會(huì)按照嚴(yán)格的優(yōu)先級(jí)順序來執(zhí)行,相同優(yōu)先級(jí)的中斷會(huì)按照"先來先執(zhí)行"的原則來安排的.[5]在本系統(tǒng)中,將控制算法放在軟件中斷中執(zhí)行,一是為了保證PWM波輸出的實(shí)時(shí)性,縮短硬件中斷的中斷延時(shí),可以讓下一次的硬件中斷搶占.減少了中斷的潛伏期,提高響應(yīng)實(shí)時(shí)性請(qǐng)求的能力.二是因?yàn)榭刂扑惴ㄖ行枰推渌娜蝿?wù)線程進(jìn)行數(shù)據(jù)共享,比如電機(jī)運(yùn)行參數(shù)等,這些數(shù)據(jù)的處理及運(yùn)算均需要一定的時(shí)間,不適合用在實(shí)時(shí)性強(qiáng)的硬件終端中.系統(tǒng)中采用一個(gè)軟件中斷(SWI)對(duì)象EPWM1_SWI執(zhí)行上述內(nèi)容,出了在其中斷函數(shù)中加入相關(guān)程序語句,還要在其屬性中設(shè)定軟件中斷的郵箱參數(shù)、優(yōu)先級(jí)等其他屬性,具體設(shè)置辦法請(qǐng)參考SWI的API函數(shù).
除了控制算法,與上位機(jī)之間的監(jiān)控和通訊,也設(shè)定為軟件中斷(PRD_swi).為了便于程序調(diào)試需要,軟件為這個(gè)中斷設(shè)置了一個(gè)1位的信號(hào)量,系統(tǒng)可以利用這個(gè)信號(hào)量有條件的啟動(dòng)該中斷.
最后安排周期函數(shù)(PRD).周期函數(shù)是一種特殊的軟件中斷.所有的PRD函數(shù)都屬于軟件中斷的同一優(yōu)先級(jí),不能互相搶占.需要周期性或在固定的時(shí)間間隔內(nèi)完成處理任務(wù).[6]在本系統(tǒng)中,AD數(shù)據(jù)轉(zhuǎn)換即采集電流電壓參數(shù)、電機(jī)轉(zhuǎn)速等數(shù)據(jù)設(shè)定為8K采樣速度.系統(tǒng)中的數(shù)字控制量及狀態(tài)轉(zhuǎn)換等程序,由于數(shù)據(jù)不會(huì)出現(xiàn)短時(shí)間突變,故不需要很高的處理頻率,因此設(shè)定為100ms的定時(shí)中斷.根據(jù)上述需要,軟件在周期函數(shù)管理器下,創(chuàng)建兩個(gè)PRD對(duì)象,設(shè)定不同的定時(shí)周期,在定時(shí)函數(shù)的屬性中編寫實(shí)現(xiàn)各個(gè)任務(wù)的函數(shù)體:數(shù)據(jù)更新任務(wù)函數(shù)Data_PRD,狀態(tài)故障診斷任務(wù)函數(shù)Error_PRD.[7]
各項(xiàng)線程配置完成后,編制主函數(shù)完成系統(tǒng)中需要用到的各個(gè)模塊的初始化,以及創(chuàng)建必要的全局對(duì)象.與傳統(tǒng)的軟件編程方式相比,基于BIOS編制的主程序,在完成對(duì)系統(tǒng)時(shí)鐘、外設(shè)等地初始化后,不需要設(shè)置死循環(huán)等待中斷,而是將程序控制權(quán)交給BIOS內(nèi)核.BIOS內(nèi)核根據(jù)前述的配置文件自動(dòng)啟動(dòng)中斷以及進(jìn)行相應(yīng)的中斷處理.
BIOS內(nèi)核提供了實(shí)時(shí)分析工具,在不需要停止處理器的運(yùn)行的同時(shí)可方便地觀測(cè)數(shù)據(jù),更加直觀.圖3所示為整個(gè)軟件編制完成后實(shí)際運(yùn)行時(shí)各個(gè)線程執(zhí)行情況.從圖3中可以看出,各個(gè)線程都得到了充分的時(shí)間段,同時(shí)更高優(yōu)先級(jí)的線程執(zhí)行得到了保證,例如具有高優(yōu)先級(jí)的Data_PRD搶占了完成低優(yōu)先級(jí)的PRD_swi,從而保證了系統(tǒng)采樣的準(zhǔn)確性和實(shí)時(shí)性.運(yùn)行情況表明,程序滿足了設(shè)計(jì)要求.
圖3 線程運(yùn)行時(shí)間段分配
本文首先搭建了地鐵牽引調(diào)速控制系統(tǒng),分析了系統(tǒng)的組成和功能,接著利用DSP/BIOS的多任務(wù)調(diào)度機(jī)制軟件開發(fā)了整套控制軟件,重點(diǎn)介紹了該軟件的結(jié)構(gòu)組成.該軟件編制方法能夠提高DSP硬件資源利用率,同時(shí)代碼具有兼容性、繼承性和可移植性強(qiáng)等特點(diǎn),并且易于開發(fā)和維護(hù).試驗(yàn)表明,整個(gè)系統(tǒng)能夠在滿足實(shí)時(shí)性的條件下正常穩(wěn)定的工作.
[1]許大中,賀益康.電機(jī)控制(第二版)[M].浙江大學(xué)出版社,2002:2-3.
[2]陳伯時(shí),陳敏遜.交流調(diào)速系統(tǒng)[M].機(jī)械工業(yè)出版社,1998:1-4.
[3]高景德,王祥布,李發(fā)海,等.交流電機(jī)及其系統(tǒng)的分析[M].北京:清華大學(xué)出版社,1993:15-17.
[4]高景德,王祥布,李發(fā)海,等.交流電機(jī)及其系統(tǒng)的分析[M].北京:清華大學(xué)出版社,1993:15-17.
[5]胡崇岳.現(xiàn)代交流調(diào)速技術(shù)[M].機(jī)械工業(yè)出版社,1999:28-29.
[6]王 勇.矩陣變換器空間矢量調(diào)制、系統(tǒng)集成及應(yīng)用研究[D].浙江大學(xué)博士學(xué)位論文,2005:1-3.
[7]黃科元.矩陣變換器空間矢量調(diào)制及應(yīng)用研究[D].浙江大學(xué)博士學(xué)位論文,2004:1-5.
The Metro Traction Control System Based on DSP/BIOS
ZHOU Chong1,2,GUO Qi-ming3
(1.Naval University of Engineering,Wuhan 430032,China;2.Xiangtan Electric Manufacturing CO.,LTD.,Vehicle Research Institute,Xiangtan 411101,China;3.Xiangtan Electric Manufacturing CO.,LTD.,Xiangtan 411101,China)
Based on the DSP/BIOS,the research and development of metro traction control system in the multi-task environment is introduced.Traction control system real-time,the control chip embedded in the BIOS kernel,the system in the various tasks of distribution and effective use of resources can play an important role in the BIOS multitasking concurrent processing and improve the efficient processing capacity,which meets the requirement of the system.Experimental results show that the system can work normally and steadily.
DSP/BIOS;multi-task;metro traction contool system
TK417+.4;TM3
A
1671-119X(2013)01-0009-03
2012-11-25
周 翀(1981-),男,工程師:研究方向:電氣工程.