當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于TMS320F2812和μC/OS_II的飛機(jī)電氣測(cè)控終端設(shè)計(jì)

摘要:本文介紹了基于新型高性能DSP芯片TMS320F2812和嵌入式操作系統(tǒng)μC/OS_II的飛機(jī)電氣測(cè)控終端的設(shè)計(jì)與實(shí)現(xiàn),該終端已被用于先進(jìn)飛機(jī)配電系統(tǒng)的地面實(shí)驗(yàn)系統(tǒng)中。
關(guān)鍵詞:F2812;μC/OS_II;測(cè)控終端;任務(wù)

引言

作為飛機(jī)電氣系統(tǒng)的重要組成部分,飛機(jī)配電系統(tǒng)主要用于實(shí)現(xiàn)電功功率的合理分配和控制。目前,我國(guó)大多數(shù)飛機(jī)采用的都是常規(guī)配電系統(tǒng),但由于這種配電系統(tǒng)具有電網(wǎng)重量大、空勤人員負(fù)擔(dān)重、自動(dòng)化程度低等缺點(diǎn),在一定程度上已經(jīng)對(duì)飛機(jī)的研制進(jìn)程產(chǎn)生了許多不利的影響,因此開(kāi)發(fā)更為先進(jìn)的飛機(jī)配電系統(tǒng)成為當(dāng)務(wù)之急。隨著電子及計(jì)算機(jī)技術(shù)的發(fā)展,借鑒國(guó)外的研究現(xiàn)狀,采用分布式配電和負(fù)載自動(dòng)管理技術(shù)的先進(jìn)飛機(jī)配電系統(tǒng)是目前發(fā)展的總趨勢(shì)。本實(shí)驗(yàn)室對(duì)先進(jìn)飛機(jī)配電系統(tǒng)進(jìn)行了多年研究,設(shè)計(jì)了包括電源系統(tǒng)處理機(jī)、負(fù)載管理中心、匯流條控制器及負(fù)載仿真器四部分的飛機(jī)配電地面實(shí)驗(yàn)系統(tǒng)。本文所要介紹的飛機(jī)測(cè)控終端是適用于匯流條控制器和負(fù)載管理中心的通用測(cè)控終端,其主要實(shí)現(xiàn)對(duì)負(fù)載狀態(tài)的監(jiān)測(cè)并依據(jù)電源系統(tǒng)處理機(jī)發(fā)布的控制命令實(shí)現(xiàn)對(duì)負(fù)載的控制。下面將從硬件及軟件兩方面介紹測(cè)控終端的實(shí)現(xiàn)。

硬件設(shè)計(jì)

TMS320F2812DSP介紹

TMS320F2812DSP是德州儀器公司(TI)推出一種32位高性能數(shù)字信號(hào)處理器,它擁有峰值每秒運(yùn)行150萬(wàn)條指令(MIPS)的處理速度和單周期完成32×32位MAC運(yùn)算的功能,同時(shí)它還具有128K×16的片上Flash、18K×16的片上RAM以及大量的片上外設(shè),包括AD轉(zhuǎn)換模塊、兩個(gè)事件管理器(EVA和EVB)、CAN總線(xiàn)控制器、兩個(gè)串行通信接口模塊(SCIA和SCIB)、串行外設(shè)接口模塊(SPI)、多功能串行接口(McBSP)及56個(gè)通用IO口。該DSP以高效的32位定點(diǎn)CPU——TMS320C28xTM為核心處理器,其開(kāi)發(fā)既可使用C28x匯編也可使用ANSIC/C++語(yǔ)言。此外TI公司還提供有虛擬浮點(diǎn)數(shù)學(xué)函數(shù)庫(kù)(IQ數(shù)學(xué)函數(shù)庫(kù))、快速傅立葉變換(FFT)算法函數(shù)庫(kù)、濾波器庫(kù)等,這些函數(shù)庫(kù)可顯著簡(jiǎn)化應(yīng)用系統(tǒng)開(kāi)發(fā)。TMS320F2812強(qiáng)大的功能使其完全能滿(mǎn)足測(cè)控終端的設(shè)計(jì)要求。

系統(tǒng)硬件設(shè)計(jì)

作為飛機(jī)電氣系統(tǒng)測(cè)控平臺(tái)的組成部分,測(cè)控終端主要功能包括:處理主控模塊控制命令、監(jiān)控主電力匯流條、檢測(cè)開(kāi)關(guān)量的狀態(tài)、控制開(kāi)關(guān)量及傳送智能終端狀態(tài)數(shù)據(jù)等。為了實(shí)現(xiàn)上述功能,并充分利用DSPTMS320F2812強(qiáng)大的外設(shè)功能及嵌入式操作系統(tǒng)的優(yōu)點(diǎn),設(shè)計(jì)中將系統(tǒng)分為交流電壓采集模塊、頻率采集模塊、開(kāi)關(guān)量管理模塊及通信模塊四部分來(lái)實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)

如圖1所示。交流電壓采集模塊及頻率采集模塊用來(lái)實(shí)現(xiàn)對(duì)電力匯流條參數(shù)的檢測(cè),開(kāi)關(guān)量管理模塊用來(lái)實(shí)現(xiàn)對(duì)開(kāi)關(guān)量狀態(tài)的檢測(cè)并依據(jù)電源系統(tǒng)處理機(jī)發(fā)來(lái)的控制命令及負(fù)載優(yōu)先級(jí)狀態(tài)實(shí)現(xiàn)對(duì)開(kāi)關(guān)量的控制,通信模塊主要實(shí)現(xiàn)測(cè)控終端與電源系統(tǒng)處理機(jī)間的通信。

圖1 電氣測(cè)控終端系統(tǒng)結(jié)構(gòu)圖

通信模塊

國(guó)外先進(jìn)飛機(jī)配電系統(tǒng)中均采用1553B總結(jié)實(shí)現(xiàn)各模塊的通信,考慮到本次設(shè)計(jì)的是地面實(shí)驗(yàn)系統(tǒng),因此各模塊的通信采用與1553B相似的CAN通信。由于F2812本身具有增強(qiáng)型CAN總線(xiàn)控制器,因此通信模塊的硬件設(shè)計(jì)主要是CAN總線(xiàn)驅(qū)動(dòng)電路的設(shè)計(jì),這里我們選用飛利浦公司的CAN通信收發(fā)器PCA820C250作為F2812的CAN控制器和物理總線(xiàn)間的接口,以實(shí)現(xiàn)對(duì)總線(xiàn)的差動(dòng)發(fā)送和接收功能。為了防止干擾信號(hào)的引入,設(shè)計(jì)中采用高速光耦6N137對(duì)F2812及物理總線(xiàn)進(jìn)行隔離。

軟件設(shè)計(jì)

軟件設(shè)計(jì)包括系統(tǒng)軟件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)。系統(tǒng)軟件設(shè)計(jì)的主要任務(wù)是實(shí)現(xiàn)μCOS_II在F2812上的移植;應(yīng)用軟件設(shè)計(jì)的主要任務(wù)是測(cè)控終端功能的實(shí)現(xiàn)。

系統(tǒng)軟件設(shè)計(jì)

本次設(shè)計(jì)系統(tǒng)軟件采用源代碼公開(kāi)實(shí)時(shí)操作系統(tǒng)μC/OS_II,它是一個(gè)基于優(yōu)先級(jí)的、可移植、可固化、可裁剪、占先式實(shí)時(shí)操作系統(tǒng),其絕大部分源碼是用ANSIC寫(xiě)的。μC/OS_II通過(guò)了聯(lián)邦航空局(FAA)商用航行器認(rèn)證,符合RTCA(航空無(wú)線(xiàn)電技術(shù)委員會(huì))DO-178B標(biāo)準(zhǔn)。這也是本次設(shè)計(jì)采用μC/OS_II的一個(gè)原因。要使用μC/OS2-II,首先要把這個(gè)內(nèi)核成功移植到所使用的CPU上。μC/OS_II在F2812上的移植工作包括以下幾個(gè)內(nèi)容:
①在OS_CPU.H中定義與處理器相關(guān)的常量、宏及數(shù)據(jù)類(lèi)型,例如關(guān)中斷和開(kāi)中斷的定義分別為#defineOS_ENTER_CRITICAL()asm“DINT”及#defineOS_EXIT_CRITICAL()asm“EINT”。
②調(diào)整和修改頭文件OS_CFG.H,以裁減或修改μC/OS_II的系統(tǒng)服務(wù),減少資源損耗。例如#defineOS_MBOXEN_0即禁止使用郵箱相關(guān)的代碼。
③編寫(xiě)C語(yǔ)文件OS_CPU.C。由于本次設(shè)計(jì)中未用到其他幾個(gè)函數(shù),因此這里主要完成函數(shù)OS-TaskStkInit()的編寫(xiě)。OS-TaskStkInit()用來(lái)初始化任務(wù)的堆棧結(jié)構(gòu),使其看起來(lái)象剛發(fā)生過(guò)中斷并將所有的寄存器保存到堆棧的情形一樣。
④編寫(xiě)匯編語(yǔ)言文件OS_CPU.ASM。本文件包括4個(gè)子函數(shù)程序:OSStartHighRdy()(運(yùn)行最高優(yōu)先級(jí)任務(wù))、OSCtxSw()(任務(wù)級(jí)的任務(wù)切換)、OS-IntCtxSw()(中斷級(jí)的任務(wù)切換)和OSTickISR()(μC/OS_II的時(shí)間節(jié)拍中斷函數(shù)),這是μC/OS-II移植中的重點(diǎn)和難點(diǎn),這幾個(gè)函數(shù)的合理實(shí)現(xiàn),是保證μC/OS-II運(yùn)行的基礎(chǔ)。上述工作完成后,μCOS_II就可以運(yùn)行了。

應(yīng)用軟件設(shè)計(jì)

系統(tǒng)任務(wù)的構(gòu)成及優(yōu)先級(jí)分配
本測(cè)控終端要完成的任務(wù)包括:①16路模擬量的采集;②2路頻率采集;③32路狀態(tài)量采集;④16路控制量輸出;⑤與上位機(jī)的實(shí)時(shí)CAN總線(xiàn)通信;⑥自檢測(cè)。根據(jù)上述實(shí)現(xiàn)功能劃分系統(tǒng)的任務(wù)如表1所示,對(duì)任務(wù)優(yōu)先級(jí)的分配,這里主要考慮任務(wù)的實(shí)時(shí)性,對(duì)實(shí)時(shí)性要求高的任務(wù)分配較高的優(yōu)先級(jí),使其得到優(yōu)先調(diào)度。


優(yōu)先級(jí)最高的是開(kāi)始任務(wù)(TaskStart),這是系統(tǒng)啟動(dòng)后運(yùn)行的第一個(gè)任務(wù)。在該任務(wù)中要完成系統(tǒng)及相關(guān)外設(shè)的初始化,并進(jìn)行必要的自檢測(cè),然后創(chuàng)建其余的各個(gè)任務(wù)。在完成其余各個(gè)任務(wù)的創(chuàng)建之后,該任務(wù)要?jiǎng)h除自己,要系統(tǒng)資源讓給其它任務(wù),整個(gè)系統(tǒng)開(kāi)始正常運(yùn)行。該任務(wù)的示意代碼如下: 
/*系統(tǒng)及外設(shè)的初始化*/
/*系統(tǒng)自檢測(cè)*/
/*創(chuàng)建各個(gè)任務(wù)*/
StartCpuTimer2();;            /*起動(dòng)時(shí)間片*/
OSStatInit();                        /*統(tǒng)計(jì)任務(wù)初始化*/
創(chuàng)建智能終端的各個(gè)應(yīng)用任務(wù);
KickDog();                          /*WatchDog復(fù)位*/
OSTaskDel(OS_PRIO_SELF);     /*刪除開(kāi)始任務(wù)*/
除了TaskStart()之外,其余各個(gè)任務(wù)模塊的結(jié)構(gòu)都是一個(gè)無(wú)限循環(huán)體,圖2給出了一般任務(wù)的任務(wù)流程圖。各任務(wù)的運(yùn)行采用事件驅(qū)動(dòng)方式,用戶(hù)創(chuàng)建任務(wù)后,初始化為掛起狀態(tài),等待中斷或其他任務(wù)發(fā)相應(yīng)的事件來(lái)驅(qū)動(dòng)該任務(wù)。

圖2任務(wù)流程圖

任務(wù)的通信與同步
μC/OS-II提供了五種用于數(shù)據(jù)共享和任務(wù)通信的方法:信號(hào)量、郵箱、消息隊(duì)列、事件標(biāo)志及互斥型信號(hào)量。信號(hào)量可以控制共享資源的使用權(quán),也可以協(xié)調(diào)外部事件與任務(wù)的執(zhí)行,提供了任務(wù)間通信、同步和互斥的最快通信,μC/OS-II提供了3種類(lèi)型的信號(hào)量,即二進(jìn)制型、計(jì)數(shù)型和互斥型。事件標(biāo)志可使任務(wù)與多個(gè)事件同步,若與多個(gè)事件的任何一個(gè)同步,稱(chēng)為獨(dú)立型同步,若與多個(gè)事件都同步,稱(chēng)之為關(guān)聯(lián)型同步。郵箱是一種通信機(jī)制,它可以使一個(gè)任務(wù)或中斷服務(wù)子程序向另一個(gè)任務(wù)發(fā)送一個(gè)指針型的變量,該指針指向一個(gè)包含了特定消息的數(shù)據(jù)結(jié)構(gòu)。消息隊(duì)列是另一種通信機(jī)制,它可以使一個(gè)任務(wù)或中斷服務(wù)子程序向另一個(gè)任務(wù)發(fā)送以指針定義的變量,具體應(yīng)用不同,每個(gè)指針指向的數(shù)據(jù)結(jié)構(gòu)也不同。互斥型信號(hào)量是一種特殊的二進(jìn)制型信號(hào)量,主要用于解決內(nèi)在的互斥問(wèn)題,減少實(shí)際應(yīng)用中所必需的優(yōu)先級(jí)翻轉(zhuǎn)。

在設(shè)計(jì)測(cè)控終端軟件時(shí),充分利用了μC/OS-II提供的這些通信機(jī)制,來(lái)協(xié)調(diào)各個(gè)獨(dú)立任務(wù)的運(yùn)行。這里以通信模塊為例介紹通信機(jī)制在設(shè)計(jì)中的應(yīng)用。通信模塊共包含四個(gè)任務(wù)TaskUnpack()、TaskPack()、TaskCANRX()和TaskCANTX()和一個(gè)中斷Intecan(),任務(wù)間的通信流程如圖3所示。在采集模塊中如果發(fā)現(xiàn)系統(tǒng)某個(gè)信號(hào)發(fā)生異常則各采集模塊就會(huì)發(fā)送Qstate,從而使打包任務(wù)處于就緒狀態(tài)。終端對(duì)上位機(jī)數(shù)據(jù)的接收采用中斷方式,在中斷服務(wù)程序中發(fā)送標(biāo)志量給任務(wù)TaskCANRX(),使其處于就緒態(tài)。在接收任務(wù)函數(shù)中通過(guò)判斷自定義的數(shù)據(jù)包頭決定接收數(shù)據(jù)的類(lèi)型,如果接收的數(shù)據(jù)是開(kāi)關(guān)量控制命令,則發(fā)送郵箱標(biāo)志MboxUnpack給解包任務(wù),如果接收的數(shù)據(jù)是發(fā)送狀態(tài)量請(qǐng)求命令,則發(fā)送標(biāo)志量FlagCANTX給發(fā)送任務(wù)。另外,在打包任務(wù)和發(fā)送任務(wù)處理中,為了防止對(duì)共享數(shù)據(jù)區(qū)Data_BusToSend[x]誤操作,我們使用了共享沖突信號(hào)量MutexSendEMPCMu-texSendDI和MutexSendBus。:其執(zhí)行表示意性代碼如下:
OSMutexPend(MutexSendBUS,0,&err);/*對(duì)數(shù)據(jù)區(qū)DataBusToSend[x]進(jìn)行操作*/
OSMutexPost(MutexSendBUS);

圖3任務(wù)通信流程

通信及同步處理是保證μC/OS_II系統(tǒng)及各應(yīng)用任務(wù)穩(wěn)定運(yùn)行的關(guān)鍵,通過(guò)在仿真軟件CCS2.2中調(diào)試,證明本次設(shè)計(jì)軟件系統(tǒng)運(yùn)行穩(wěn)定,且能夠保證各任務(wù)的實(shí)時(shí)性要求,這也證明了設(shè)計(jì)中對(duì)通信及同步的處理合理正確。

 結(jié)束語(yǔ)

作為飛機(jī)配電地面實(shí)驗(yàn)系統(tǒng)的組成部分,測(cè)控終端必須滿(mǎn)足實(shí)時(shí)性的要求,因此我們選用了主頻為150MHz的數(shù)字信號(hào)處理器TMS320F2812作為主CPU;在軟件設(shè)計(jì)方面,采用實(shí)時(shí)嵌入式系統(tǒng)μCOS_II不僅使各任務(wù)的實(shí)時(shí)性得到滿(mǎn)足,而且提高了軟件運(yùn)行的可靠性。該測(cè)控終端具有軟件結(jié)構(gòu)簡(jiǎn)單,模塊化程度高,便于系統(tǒng)調(diào)試、維護(hù)升級(jí)等優(yōu)點(diǎn),其在工業(yè)控制領(lǐng)域也有相當(dāng)好的應(yīng)用前景。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉