王成玖
(中航工業(yè)航空動力控制系統(tǒng)研究所,江蘇 無錫 214063)
基于TMS320F2812的某型艦用燃機(jī)電子控制器軟件設(shè)計
王成玖
(中航工業(yè)航空動力控制系統(tǒng)研究所,江蘇 無錫 214063)
文章對基于TMS320F2812的某型艦用燃機(jī)電子控制器進(jìn)行了軟件設(shè)計工作,主要闡述了TMS320F2812系列DSP的特點(diǎn)、開發(fā)環(huán)境、軟件開發(fā)方法,并介紹了軟件中一些主要硬件相關(guān)模塊的實(shí)現(xiàn)方法,同時介紹了燃機(jī)控制系統(tǒng)的軟件流程及硬件在回路仿真環(huán)境的搭建。
燃機(jī)控制;TMS320F2812;DSP
艦用燃?xì)廨啓C(jī)具有單機(jī)功率大、體積小、重量輕、機(jī)動性好、污染小、效率高、振動小、可靠性高等特點(diǎn),已成為各海軍大國的主要發(fā)動機(jī)機(jī)種,得到了廣泛的應(yīng)用。從幾百噸的高速小艇、高性能船到驅(qū)逐艦、航母等中、大型艦船,都普遍采用燃?xì)廨啓C(jī)作為動力,我國已經(jīng)開展了自行設(shè)計艦用燃機(jī)的工作。
本文重點(diǎn)闡述了TMS320F2812系列DSP處理器的特點(diǎn)、開發(fā)環(huán)境和電子控制器軟件的設(shè)計方法,并簡要描述了控制器硬件在回路仿真環(huán)境的搭建。
TMS320F2812是TI公司最新推出的專為馬達(dá)控制設(shè)計的一款準(zhǔn)32位定點(diǎn)DSP處理器,內(nèi)部含有128K×16位FLASH存儲器,18K×16位SARAM單口隨機(jī)存取存貯器(Random Access Memory,RAM),具有外圍存儲器接口。片上集成了AD、事件管理單元、中斷控制單元、定時器、看門狗等常用功能模塊和SPI,SCI,CAN,多通道串口(Multi-Channel Buffered Serial Port,MCBSP)等通訊模塊,最多可使用56個獨(dú)立的可編程的IO端口,集成度高,不需片外擴(kuò)展即可實(shí)現(xiàn)所需的功能。
軟件開發(fā)工作主要在TI公司提供的集成開發(fā)環(huán)境(Code Composer Studio,CCS)中進(jìn)行,配合硬件仿真器即可完成代碼的編輯、編譯、鏈接、調(diào)試等工作。在CCS中,可以通過修改工程中的.cmd文件來決定編譯生成的代碼和數(shù)據(jù)所分配到的地址空間,關(guān)于.cmd文件的編寫方法見文獻(xiàn)[1-2]。利用.cmd文件可以分配變量地址這一特性,TI公司提供了新的外設(shè)寄存器的訪問方法,具體內(nèi)容見文獻(xiàn)[3]。
電子控制器中用到了AD轉(zhuǎn)換單元、定時器單元、系統(tǒng)控制單元、中斷管理單元、事件管理器中的捕獲單元和脈沖寬度調(diào)制(Pulse - Width Modulation,PWM)輸出單元、SCI通訊單元、CAN通訊單元、MCBSP通訊單元等外設(shè)單元模塊,下面詳細(xì)闡述各模塊特性及數(shù)控軟件中的配置方法。
(1)AD轉(zhuǎn)換單元。12位AD轉(zhuǎn)換器,共16個通道,可配置為兩個獨(dú)立的8通道模塊或級聯(lián)的16通道模塊??梢造`活配置采樣的順序,能夠?qū)σ粋€通道進(jìn)行多次采樣,可通過軟件、事件管理器、外部引腳等多種方式來啟動AD轉(zhuǎn)換。一旦轉(zhuǎn)換結(jié)束,轉(zhuǎn)換結(jié)果便存儲在相應(yīng)的結(jié)果寄存器中。在本文的軟件中,將AD轉(zhuǎn)換單元配置為16通道順序采樣的級聯(lián)模式,由軟件控制每20 ms啟動一次AD轉(zhuǎn)換,AD轉(zhuǎn)換結(jié)束后產(chǎn)生中斷,中斷服務(wù)程序復(fù)位序列發(fā)生器,為下一次轉(zhuǎn)換作準(zhǔn)備。
(2)定時器單元。處理器中共有3個32位的定時器,在本文的軟件中只使用了定時器0作為系統(tǒng)時鐘,實(shí)現(xiàn)20 ms的定時中斷,在中斷服務(wù)程序中置中斷產(chǎn)生標(biāo)志來實(shí)現(xiàn)系統(tǒng)的主循環(huán),并建立系統(tǒng)時間。
(3)系統(tǒng)控制單元。系統(tǒng)控制單元主要用于完成處理器及外設(shè)時鐘的配置、看門狗單元的配置。在本文的軟件中配置系統(tǒng)時鐘為60 MHz,高速外設(shè)時鐘為30 MHz,低速外設(shè)時鐘為15 MHz??撮T狗定時器溢出的時間為44 ms。
(4)中斷控制單元。TMS320F2812的中斷控制單元通過PIE(外設(shè)中斷擴(kuò)展模塊)把許多中斷源多路復(fù)用為一個較小的中斷輸入集。PIE支持96個不同的中斷,這些中斷被分為12個組,每組8個,12個組對應(yīng)DSP內(nèi)核的12條中斷線(INT1~I(xiàn)NT12)。96個中斷每個都對應(yīng)著一個存放在RAM中的中斷向量。中斷控制單元的層次結(jié)構(gòu)如圖1所示。
圖1 TMS2812中斷層次結(jié)構(gòu)圖
由圖1可知,TMS320F2812的中斷源分外設(shè)級、PIE級、CPU級這3個層次,在初始化配置時主要完成PIE級與CPU級中斷的配置,外設(shè)級的中斷在用到時才對其進(jìn)行操作。
數(shù)學(xué)模型采用內(nèi)部交互驗證對其性能進(jìn)行評價,由定標(biāo)模型的相關(guān)系數(shù)(R2)和交互驗證均方根誤差(RMSECV)進(jìn)行評價。定標(biāo)模型的相關(guān)系數(shù)越高,交互驗證的均方根誤差越小,表明模型的預(yù)測能力和穩(wěn)健性越強(qiáng)[10]。
(5)事件管理器單元。事件管理單元包括EVA和EVB兩個事件管理模塊。每個事件管理模塊具有兩個通用定時器,3個獨(dú)立的比較單元,共可產(chǎn)生6路PWM輸出,3個捕獲單元。在電子控制器中,每個通道用到了EVA中的PWM1,3,EVB中的PWM7,9四路PWM輸出信號。捕獲單元4,5共用一個通用定時器,分別用來采集燃?xì)鉁u輪和動力渦輪的轉(zhuǎn)速。
在軟件中,通過捕獲單元4,5和通用定時器T4這3個中斷服務(wù)程序完成頻率量的采集與計算。通用定時器4中斷服務(wù)程序中完成定時器溢出次數(shù)補(bǔ)償,捕獲單元4,5中斷服務(wù)程序中分別完成燃?xì)鉁u輪和動力渦輪轉(zhuǎn)速信號的計算。關(guān)于處理器的事件管理單元與軟件中的代碼實(shí)現(xiàn)請參考[4-5]。
(6)SCI,MCBSP通訊模塊。SCI是一個全雙工的通用串口,在控制器中用作與工程師控制臺的RS422串行通訊,作為CAN通訊的備份。MCBSP是DSP自帶的一種串行通訊接口,在控制器中用作主從片之間的通訊。兩種通訊單元各有16級收發(fā)FIFO,均可設(shè)置觸發(fā)中斷的先入先出法(First-In First-Out,F(xiàn)IFO)中的數(shù)據(jù)個數(shù)。兩個模塊的通訊數(shù)據(jù)均采用定長幀形式。
SCI發(fā)送數(shù)據(jù)分40 ms更新與500 ms更新的數(shù)據(jù),接收數(shù)據(jù)為1個字節(jié)的工程師臺的控制字。SCI發(fā)送的啟動方法就是打開SCI發(fā)送FIFO中斷,因為復(fù)位后FIFO數(shù)據(jù)個數(shù)為0,所以可以進(jìn)入發(fā)送中斷服務(wù)程序,SCI的發(fā)送中斷服務(wù)程序的設(shè)計思路請參照下文的MCBSP發(fā)送程序設(shè)計,接收中斷服務(wù)程序只完成從接收FIFO中讀取一個字節(jié)數(shù)據(jù)的操作。
主片的MCBSP主要接收從片采集的模擬量、從片故障字,同時向從片發(fā)送開關(guān)量輸出信息、系統(tǒng)狀態(tài)信息等操作。關(guān)于MCBSP的詳細(xì)說明請參見用戶手冊。主從片的MCBSP通訊初始化配置完全相同。
MCBSP通過打開幀同步脈沖產(chǎn)生器和使能發(fā)送FIFO中斷來啟動發(fā)送操作,接收總是一個被動的異步事件。
在發(fā)送中斷服務(wù)程序中每次填充16個字的數(shù)據(jù),這樣可以充分發(fā)揮FIFO的作用,減少CPU被中斷的次數(shù)。同時記錄所發(fā)送的數(shù)據(jù)個數(shù),當(dāng)剩余的數(shù)據(jù)不足16個字時,則一次性填充完畢,等待下一次中斷。當(dāng)所有數(shù)據(jù)發(fā)送完畢后則關(guān)閉MCBSP的幀同步信號,直到啟動下一次發(fā)送。
接收方的接收FIFO中只要有一個數(shù)據(jù)即觸發(fā)中斷。在接收中斷服務(wù)程序中需不斷比對所接收到的數(shù)據(jù),如果是通信協(xié)議中規(guī)定的數(shù)據(jù)頭,則開始接收一幀數(shù)據(jù),接收完畢后比對數(shù)據(jù)尾和校驗和以降低出錯概率。關(guān)于SCI和MCBSP模塊及代碼實(shí)現(xiàn)請參閱[4-7]。
(7)CAN通訊模塊。CAN總線最早用于汽車內(nèi)部測量與執(zhí)行部件之間的通訊。目前已成為一種串行通訊標(biāo)準(zhǔn)。廣泛應(yīng)用在多個領(lǐng)域。TMS320F2812上集成了CAN模塊,完全兼容CAN2.0協(xié)議。在電子控制器中,主要通過CAN完成控制器與工程師控制臺、控制器三通道間數(shù)據(jù)的交互。軟件中CAN模塊的發(fā)送和接收均采用中斷方式,在中斷服務(wù)程序中只需對相應(yīng)的郵箱進(jìn)行讀寫操作即可。關(guān)于CAN模塊的詳細(xì)說明及代碼實(shí)現(xiàn)請參閱文獻(xiàn)[8]。
在完成了硬件相關(guān)部分程序設(shè)計后,便可以在此基礎(chǔ)上完成應(yīng)用軟件的開發(fā),主要的控制功能都在主片上實(shí)現(xiàn),從片僅負(fù)責(zé)采集部分模擬量、輸出部分開關(guān)量、讀寫發(fā)動機(jī)統(tǒng)計信息等工作。主、從片軟件的主程序流程如圖2所示。
圖2 主函數(shù)流程圖
主片軟件的主控程序流程如圖3所示,從片軟件的流程如圖4所示。
圖3 主片軟件的主控程序流程圖
圖4 從片軟件的主控程序流程圖
該軟件已經(jīng)通過硬件在回路仿真測試,上位機(jī)軟件采用該型號發(fā)動機(jī)部件級模型,與控制器通過CAN總線與RS422串行總線進(jìn)行數(shù)據(jù)通訊,上位機(jī)向控制器傳送模型計算得出的燃?xì)鉁u輪轉(zhuǎn)速、動力渦輪轉(zhuǎn)速、燃?xì)鉁u輪后溫度等發(fā)動機(jī)狀態(tài)信號和操作指令信息,并接收來自控制器的系統(tǒng)狀態(tài)信息、控制輸出量。實(shí)現(xiàn)了系統(tǒng)信息的實(shí)時顯示、故障模擬、在線參數(shù)調(diào)整等功能。
本文介紹了TMS320F2812常用的外設(shè),說明了幾個主要模塊的底層軟件設(shè)計方法。闡述了整個控制軟件的執(zhí)行流程,并簡要介紹了硬件在回路仿真的上位機(jī)軟件設(shè)計。TMS320F2812作為一款高性能的CPU,片上幾乎集成了馬達(dá)控制中所需的所有模塊,不需外擴(kuò)就可以滿足發(fā)動機(jī)控制的要求。
[1]Texas Instruments Incorporated.TMS320C28x Optimizing C/C++ Compiler User's Guide[Z].Texas:Texas Instruments Incorporated,2005.
[2]Texas Instruments Incorporated.TMS320C28x Assembly Language Tools User's Guide[Z].Texas:Texas Instruments Incorporated,2001.
[3]Texas Instruments Incorporated.Programming TMS320X281x Peripherals in C/C++[Z].Texas:Texas Instruments Incorporated,2006.
[4]敖永平.某型燃機(jī)控制系統(tǒng)DSP控制器軟件設(shè)計說明[D].南京:南京航空航天大學(xué),2013.
[5]Texas Instruments Incorporated.]TMS320x281x Event Manager(EV)Reference Guide[Z].Texas:Texas Instruments Incorporated,2004.
[6]Texas Instruments Incorporated.TMS320x281x,280x Serial Communications Interface(SCI)Reference Guide[Z].Texas:Texas Instruments Incorporated,2004.
[7]Texas Instruments Incorporated.TMS320x281x Multichannel Buffered Serial Port(McBSP)Reference Guide[Z].Texas:Texas Instruments Incorporated,2003.
[8]Texas Instruments Incorporated.TMS320x281x,280x Enhanced Controller Area Network(eCAN)Reference Guide[Z].Texas:Texas Instruments Incorporated,2005.
Design based on TMS320F2812 of combustion engine electronic controller software for a certain type of warship
Wang Chengjiu
(Avic Aviation Institute of Power Control System,Wuxi 214063,China)
Design work is carried out on a ship with a combustion engine electronic controller based on TMS320F2812,which elaborates a series of characteristics,development environment,software develop method of TMS320F2812 DSP,the development environment,software development method,and introduces the software implementation method of some major hardware related modules,at the same time,the software process of gas turbine control system are introduced and the construction of the hardware in the loop simulation environment.
gas turbine control;TMS320F2812;DSP
王成玖(1981—),男,吉林九臺,碩士,高級工程師;研究方向:航空發(fā)動機(jī),燃?xì)廨啓C(jī)控制軟件開發(fā),控制系統(tǒng)試驗驗證。