刁利軍 董 侃 趙雷廷 王 磊 陳 杰
(北京交通大學電氣工程學院 北京 100044)
隨著我國城市化進程的加快,包括地鐵、輕軌、有軌電車等方式的城市軌道交通(簡稱“城軌”)越來越便利了人們的出行,同時,城軌在節能、環保、土地綜合利用、緩解交通阻塞等方面也具有明顯的優勢。我國城軌正處于快速發展時期,到2015年前后,全國將建設 87條城市軌道交通線路、總里程2 400多公里,總投資9 886億元[1]。城軌的快速發展,一方面為城軌產品提供了巨大的市場空間,另一方面,也給我國城軌相關企事業單位的科研工作者們提供了將自主創新成果投入應用的機會,提升了科研創新平臺的水平。
牽引控制系統是城軌列車電力牽引系統的核心,主要負責完成列車通信、車輛控制和電機控制及其擴展功能,綜合了微機控制、網絡通信、數字信號處理等技術。目前,電力電子控制系統模式可以簡單概括為主要有三種:純定點DSP模式[2]、純FPGA模式[3]、DSP+FPGA混合模式[4,5]。單純的定點DSP模式一般用于控制算法不是很復雜、精度及實時性要求不是很高、接口及通信簡單的場合,如風機電源、通用變頻器等;純FPGA模式充分發揮了其并行處理的優勢,原理上可以實現所有高實時性的控制算法、控制邏輯和通信功能,但由于集成度及編程語言的限制,目前的開發難度要高得多。所以,針對列車牽引控制的復雜需求,目前多采用混合模式,把DSP的數字信號處理能力與FPGA的并行處理能力相結合,開發難度適中,也能很好地滿足列車牽引系統控制的要求。目前國外成熟的系統如 Siemens的 SIBAS、Bombardier的MITRAC、Alstom 的 AGATE、Shinkansen的 TIS[6]、ABB的AC 800PEC[7]等大多采用了類似的架構方式;而現有國內自行研發的列車牽引控制系統,其架構中控制單元多采用單片定點DSP,或定點、浮點DSP結合,通過雙口RAM進行數據交互,這種架構簡單,容易開發,但對于數據采集、算法處理、控制邏輯等多任務、多速率的實時處理能力不足,不能滿足列車牽引系統高性能實時控制的要求。
本文基于城軌列車電力牽引系統的基本原理和控制方法,通過分析牽引控制的基本需求,提出一種基于雙浮點 DSP+FPGA混合架構的先進牽引控制系統模式,對系統的軟、硬件架構和核心控制器的任務處理方式進行設計,解決了上述瓶頸問題,并將其應用于實際城軌電力牽引系統。
不同車型城軌列車電力牽引系統除了在驅動方式(軸控、架控或車控方式)、驅動功率上依據實際需要有較大差異外,系統的組成原理類似,都是通過控制電壓型逆變器將直流電轉換為可變頻變壓的交流電來驅動牽引電機,進而達到控制列車前進、停止的目的,其實施原理如圖1所示。

圖1 城軌列車電力牽引系統原理框圖Fig.1 Schematic block diagram of vehicle traction system
根據圖1,可以簡單地將電力牽引系統分成主電路、牽引控制系統和電源三部分,相互之間通過傳感器(包括電壓、電流、溫度、流量、速度等)、驅動單元等進行連接,同時,為了與外部進行實時信息交互,還需要通過網絡接口與車輛網絡以及監控系統連接。牽引控制系統相當于整個電力牽引系統的“大腦”,直接關系列車運行的功能、性能以及可靠性,也是與其他系統進行對話的窗口。
城軌列車電力牽引系統的控制功能可以分為車輛控制及電機控制兩部分,如圖2所示。

圖2 牽引控制系統功能框圖Fig.2 Function block diagram of traction control system
車輛控制根據車速和司機指令得到運行方向和牽引、制動、惰行以及限速、洗車、倒行等狀態,并通過牽引制動特性曲線得到初步的給定牽引力;然后考慮不同工況以及沖動、黏著等因素,得到最終的給定牽引力作為牽引電機的給定扭矩,并由電機控制達到期望的運行效果。電機控制采用矢量控制模式:檢測直流電壓、電機電流、電機轉速以及重構電機電壓信號,通過坐標變換、轉矩和勵磁的解耦控制算法以及磁鏈估測算法得到電機轉子磁通及位置角,進而得到給定的定子電壓幅值、頻率和位置,最后經 PWM調制算法得到驅動脈沖,驅動IGBT控制電機運行[8]。
由于車輛控制以及電機控制中的坐標變換、位置計算等模塊的算法相對簡單,受控制系統的限制較小;而對于運算要求較高的信號調理、磁鏈估測以及對實時性要求很高的多模式 PWM調制、驅動保護等模塊,則直接受限于控制系統的架構模式。根據城軌列車電力牽引系統的功能和性能要求,需要對牽引控制系統進行需求分析,為后續系統架構提供基礎。
牽引控制尤其是電機控制部分涉及大量的乘、除、積分、微分等算法,要求處理器具有足夠的內存和處理能力。多家公司提供的DSP,如TI公司2000系列、6000系列,AD公司TigerSHARC、ADSP—21xx系列等一般都能夠完成要求的復雜算法;在定點和浮點的選擇上,雖然定點系列處理器能夠通過定標運算來達到所需的控制精度,但由于浮點系列具有專門的浮點運算單元,不需要時刻關注定標的一致性,減小了編程的難度,而且在復雜算法的處理速度上也要比定點處理器快2~3倍[9]。
牽引控制必須基于能夠獲知參與控制所需的外部模擬和數字信號,由于DSP順序執行的語言結構以及有限的外部接口資源,并不適用于需要同時處理高精度時間運算以及面向任務運算的系統,如存儲器接口、信號接口等;而 FPGA靈活的 IO配置及硬件并行處理功能,正好填補了這一不足,而且FPGA可以完成DSP能完成的所有功能,甚至在實時性、靈活性可能還要強大[10,11],但其當前相對復雜的編程及調試方式也增加了開發的難度。
所以,浮點DSP+FPGA仍為當前的主流架構模式,被大多數城軌列車制造商采用,論文的牽引控制系統也采用這一架構。
牽引控制系統要求實現程序、過程數據、運行故障數據的存儲。如同一臺普通電腦一樣,對于實時性要求高的執行程序和臨時數據,需要內存單元,一般采用隨機存儲器RAM;而對于所需空間大,實時性要求不是很高的程序或大量數據,則需要硬盤,一般采用 NorFlash和NandFlash。同時,根據所執行任務的分配,每個處理器都應該能夠訪問系統中的部分或全部存儲空間。
牽引控制系統與主電路的交互通過系統的模擬、數字接口來體現。一方面,牽引控制系統通過A-D接口實時采集牽引系統的電壓、電流、溫度、速度、流量等模擬量,通過 DI接口采集一些外部或內部的數字量,然后根據控制的需要進行信號調理如濾波;另一方面,將通過D-A接口將內部模擬狀態量進行輸出,通過DO接口進行數字狀態量和控制量的輸出。
一般來說,離散數字量的處理相對容易,而由于要求更高的實時性,連續的模擬量則要求能夠實現對所有重要通道的同步采樣,采樣率一般不小于100ks/s[12]甚至能夠過采樣;為了保證高精度控制,要有足夠的分辨率,一般采用至少12位的A-D轉換器。
功率驅動是牽引控制系統控制 IGBT開關管的執行機構,包括驅動脈沖產生、驅動功率放大、檢測反饋和保護功能。
通過網絡通信接口,牽引控制系統一方面與車輛總線連接,實現與列車其他設備的數據交互;另一方面,考慮系統本地監控或故障診斷的需要,要求提供與計算機的通信接口。由于不同車型有不同的通信模式,所以牽引控制系統必須能夠提供CAN、以太網、串口、MVB等網絡接口。
根據前面的分析,牽引控制系統采用雙DSP+FPGA的架構方式,并配備豐富的外圍接口,以實現車輛控制、電機控制以及網絡通信。下面將對軟硬件架構和任務處理進行設計實現。
圖3給出了牽引控制系統的硬件架構示意圖及實物,包括控制DSP、FPGA、通信DSP三部分,相互之間通過地址/數據總線進行數據交換和共享;其中 DSP采用 TI公司的 Delfino系列TMS320F28335, FPGA采用Altera公司的Cyclone II系列的EP2C8。

圖3 牽引控制系統硬件架構和樣機示意圖及實物Fig.3 Hardware block diagram & prototype of traction control system
控制 DSP主要完成車輛控制邏輯和電機核心控制算法,包括轉子磁鏈估測、電流控制、PWM調制角度計算等。FPGA通過豐富的外圍接口(包括功率驅動、模擬接口、數字接口等)獲取系統運行數據,并行完成模擬和數字信號處理、PWM 脈沖調制生成、保護邏輯等功能,并通過地址/數據總線接口實現與 DSP的數據交互。通信DSP主要完成各個通信協議及數據存儲、故障診斷功能。
基于雙 DSP+FPGA架構平臺的牽引控制系統能夠完成高性能車輛控制、電機控制以及網絡通信,不同的編程語言和編程環境被應用于系統軟件編程,并形成圖4所示的軟件架構。
牽引控制軟件架構需要把握系統任務和硬件能力:需要高速、并行處理的邏輯和算法都由 FPGA完成,相對低速、較復雜的算法由DSP完成。以處理周期作為參考點,可將牽引控制系統軟件分為圖4所示的三個層次。

圖4 牽引控制系統軟件架構示意圖Fig.4 Software block diagram of traction control system
4.2.1 Level 1:快速接口控制
該層次主要由 FPGA完成對實時性要求很高(一般小于25ns的處理周期)的任務,包括并行的模擬量采集和數字量采集處理、驅動脈沖的生成算法和保護邏輯;同時,FPGA還要通過地址/數據總線實現與其他處理器的快速數據交互。FPGA算法基于Altera提供的QUARTUS軟件和VHDL編程語言實現。
4.2.2 Level 2:快速浮點控制算法
通過主控 DSP完成處理周期在 100us至 1ms間的車輛控制邏輯和快速電機矢量控制算法,包括黏著控制、轉子磁鏈估測、轉矩和勵磁調節運算、PWM 調制開關角運算、坐標變換以及系統的保護動作等,并通過地址/數據總線與FPGA進行通信。采用基于TI公司提供的CCS(Code Composer Studio)軟件平臺的C/C++編程語言實現。
4.2.3 Level 3:慢速網絡監控
第3層實際包括兩部分功能:基于DSP的底層網絡處理及基于計算機平臺的頂層用戶接口處理。兩部分共同完成系統的監控、通信及故障診斷任務,實時性上要求相對較低,一般僅要求大于1ms的處理周期。DSP的編程方式與主控DSP一樣,而頂層編程則更多采用界面語言如 LabVIEW、VC,以便于形成直觀的圖形對話界面。
通過在 CCS界面下的 C/C++編程,兩片 DSP分別實現網絡通信及控制功能,各功能的軟件流程如圖5所示。

圖5 DSP控制軟件流程圖Fig.5 DSP control flowcharts
由于2000系列的DSP不能像操作系統一樣實現多線程并行處理,對于通信DSP,使用最簡單的單周期中斷模式,為了確保故障數據的完備性,需要存儲故障數據的故障觸發模式優先級最高,其次是用戶的數據下載,通信功能在里面的優先級較低,因為在硬線控制模式中,網絡中斷并不能對牽引控制產生足夠大的影響。用于控制的DSP承擔的任務要復雜的多,呈現多任務多速率狀態,幾個主要任務的優先級和處理周期見下表(按照150MHz時鐘頻率計算),總體上遵循故障優先、高速任務優先的原則。所以,簡單的單中斷模式并不能高性能完成上述任務,解決的方法是首先通過 DSP自帶的DSP/BIOS實時操作系統進行任務優先級管理,在同一優先級而速率不同的任務之間,通過處理周期進行順次調度。

表 主控DSP任務優先級和處理周期Tab.Priority and period of main control DSP tasks
需要FPGA并行處理的任務如圖6所示,整個系統采用一個全局復位信號和時鐘信號,下面對各個模塊進行說明。

圖6 FPGA任務處理示意圖Fig.6 Block diagram of FPGA tasks
4.4.1 總線通信模塊
通過該模塊實現FPGA與DSP間的數據交互,而且利用FPGA內部的RAM空間作緩存,避免了額外的外部RAM接口。為了解決兩片DSP或者DSP與 FPGA內部同時對同一地址進行讀寫引起的沖突,設置了讀寫仲裁器;最高通信速率可達75M位。
4.4.2 脈沖生成模塊
與控制DSP交互獲取調制模式、調制角度以及同一橋臂的死區時間:通過與內部增減計數器的比較或者強制的電平控制,生成需要的混合驅動脈沖;通過死區控制防止同橋臂的短路直通;同時,在系統故障狀態下,迅速封鎖所有輸出脈沖。
4.4.3 電機速度采樣模塊
由于單純測頻率(M法)或測周期(T法)無法滿足電機全速度范圍的測量精度需求,采用低速T法和高速M法相結合的M/T測速算法;同時,需要采用方向狀態機獲取速度方向,并實時監控輸入脈沖是否存在丟失的情形。最終輸送到 RAM緩存中的是int16類型的實際速度。
4.4.4 保護模塊
FPGA主要進行快速保護控制,包括根據驅動板故障反饋信號進行的驅動保護和根據電壓、電流等進行的電量保護,綜合后的保護信號一方面送給其他相關模塊如輸出控制、脈沖生成等進行保護動作,另一方面通過硬線送給控制DSP進行保護動作和送給通信DSP觸發故障數據存儲。由于FPGA的保護還必須通過其他模塊的動作才能被執行,對于最嚴重的故障如短路,FPGA的保護速度還不夠快,必須有底層驅動板最快最直接的保護功能。
4.4.5 模擬及數字處理模塊
該模塊主要實現并行采集處理的功能。
受國家“十一五”科技支撐重點項目的支持,將該牽引控制系統架構應用于地鐵A型車及我國首列 100%低地板車,已經完成所有現場運行實驗,圖7給出了輕軌車的正線運行波形,運行狀態良好,充分驗證了所采用系統架構的可行性和可靠性。
本文分析了適用于城軌列車電力牽引系統的控制系統軟硬件需求,基于現有處理器在數字信號處理和并行處理方面的性能優勢,提出了采用雙浮點DSP+FPGA的系統架構模式,對硬件、軟件的實現方法進行了實用化設計,使其適用于實際的地鐵或輕軌列車電力牽引系統,實現了高質量的列車控制和電機控制,以及完善的網絡監控和故障診斷。

圖7 列車正線運行的牽引系統相關波形Fig.7 Waveforms of traction system on the operation line
[1] 2010~2015年中國城市軌道交通及設備市場調查及投資咨詢報告[R].http: //www.askci.com/print172041.html.
[2] Mukherjee S,Poddar G.Fast control of filter for sensorless vector control SQIM drive with sinusoidal motor voltage[J].IEEE Transactions on Industrial Electronics,2007,54(5): 2435-2442.
[3] Parkhi V,Shilaskar S,Tirmare M,et al.FPGA implementation of PWM control technique for three phase induction motor drive[C].First International Conference on Emerging Trends in Engineering and Technology,2008,7: 996-1001.
[4] Bonnet F,Vidal P E,Pietrzak David M.Dual direct torque control of doubly fed induction machine[J].IEEE Transactions on Industrial Electronics,2007,54(5): 2482-2490.
[5] 孫大南,李哲峰,王少林,等.基于 DSP-FPGA 全數字控制的矢量控制系統[J].電力電子技術,2008,42(11): 26-27.Sun Danan,Li Zhefeng,Wang Shaolin,et al.Vector control system based on DSP-FPGA full-digital control[J].Power Electronics,2008,42(11): 26-27.
[6] 謝維達.列車微機控制系統發展綜述[J].電力機車與城軌車輛,2007,30(6): 1-4.Xie Weida.Survey of vehicle computer control system[J].Electric Locomotives & Mass TransitVehicles,2007,30(6): 1-4.
[7] 潘辛怡.長春輕軌車輛的牽引變流器[J].城市軌道交通研究,2009(5): 65-67.Pan Xinyi.Analysis of traction converter of Changchun city light rail vehicle[J].Urban Mass Transit,2009(5): 65-67.
[8] 孫大南,劉志剛,刁利軍,等.牽引電機矢量控制轉子磁場準確定向實時校正策略[J].電工技術學報,2011,26(9): 116-123.Sun Danan,Liu Zhigang,Diao Lijun,et al.Accurate rotor flux orientation real-time correction strategy for vector control of traction motors[J].Transactions of China Electrotechnical Society,2011,26(9): 116-123.
[9] TI white paper.Enabling Greener Embedded Control Systems with Floating-point DSCs.WP-01084-1.0.2008.
[10] Altera white paper.FPGAs enable energy-efficient motor control in next-generation smart home appliances.WP-01084-1.0.2008.
[11] Monmasson E,Cirstea M.FPGA design methodology for industrial control systems-a review[J].IEEE Transactions on Industrial Electronics,2007,54(4):1824-1842.
[12] Claus Ulrich Karipidis.A versatile DSP/FPGA structure optimized for rapid prototyping and digital real-time simulation of power electronic and electrical drive systems[D].Aachen: Aachen University of Technology,2001.