a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于TMS320F2812和μC/OS_II的飛機電氣測控終端設計

基于TMS320F2812和μC/OS_II的飛機電氣測控終端設計

作者: 時間:2007-10-29 來源:網絡 收藏
摘要:本文介紹了新型高性能DSP芯片和嵌入式操作系統μ測控與實現,該已被用于先進配電系統的地面實驗系統中。
關鍵詞:F2812;μ;測控;任務

引言

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

硬件

DSP介紹

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

系統硬件設計

作為飛機系統測控平臺的組成部分,測控終端主要功能包括:處理主控模塊控制命令、監控主電力匯流條、檢測開關量的狀態、控制開關量及傳送智能終端狀態數據等。為了實現上述功能,并充分利用DSPTMS320F2812強大的外設功能及嵌入式操作系統的優點,設計中將系統分為交流電壓采集模塊、頻率采集模塊、開關量管理模塊及通信模塊四部分來實現,系統結構

如圖1所示。交流電壓采集模塊及頻率采集模塊用來實現對電力匯流條參數的檢測,開關量管理模塊用來實現對開關量狀態的檢測并依據電源系統處理機發來的控制命令及負載優先級狀態實現對開關量的控制,通信模塊主要實現測控終端與電源系統處理機間的通信。

圖1 電氣測控終端系統結構圖

通信模塊

國外先進飛機配電系統中均采用1553B總結實現各模塊的通信,考慮到本次設計的是地面實驗系統,因此各模塊的通信采用與1553B相似的CAN通信。由于F2812本身具有增強型CAN總線控制器,因此通信模塊的硬件設計主要是CAN總線驅動電路的設計,這里我們選用飛利浦公司的CAN通信收發器PCA820C250作為F2812的CAN控制器和物理總線間的接口,以實現對總線的差動發送和接收功能。為了防止干擾信號的引入,設計中采用高速光耦6N137對F2812及物理總線進行隔離。

軟件設計

軟件設計包括系統軟件設計和應用軟件設計。系統軟件設計的主要任務是實現μCOS_II在F2812上的移植;應用軟件設計的主要任務是測控終端功能的實現。

系統軟件設計

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

應用軟件設計

系統任務的構成及優先級分配
本測控終端要完成的任務包括:①16路模擬量的采集;②2路頻率采集;③32路狀態量采集;④16路控制量輸出;⑤與上位機的實時CAN總線通信;⑥自檢測。根據上述實現功能劃分系統的任務如表1所示,對任務優先級的分配,這里主要考慮任務的實時性,對實時性要求高的任務分配較高的優先級,使其得到優先調度。


優先級最高的是開始任務(TaskStart),這是系統啟動后運行的第一個任務。在該任務中要完成系統及相關外設的初始化,并進行必要的自檢測,然后創建其余的各個任務。在完成其余各個任務的創建之后,該任務要刪除自己,要系統資源讓給其它任務,整個系統開始正常運行。該任務的示意代碼如下:
/*系統及外設的初始化*/
/*系統自檢測*/
/*創建各個任務*/
StartCpuTimer2();; /*起動時間片*/
OSStatInit(); /*統計任務初始化*/
創建智能終端的各個應用任務;
KickDog(); /*WatchDog復位*/
OSTaskDel(OS_PRIO_SELF); /*刪除開始任務*/
除了TaskStart()之外,其余各個任務模塊的結構都是一個無限循環體,圖2給出了一般任務的任務流程圖。各任務的運行采用事件驅動方式,用戶創建任務后,初始化為掛起狀態,等待中斷或其他任務發相應的事件來驅動該任務。

圖2任務流程圖

任務的通信與同步
μC/OS-II提供了五種用于數據共享和任務通信的方法:信號量、郵箱、消息隊列、事件標志及互斥型信號量。信號量可以控制共享資源的使用權,也可以協調外部事件與任務的執行,提供了任務間通信、同步和互斥的最快通信,μC/OS-II提供了3種類型的信號量,即二進制型、計數型和互斥型。事件標志可使任務與多個事件同步,若與多個事件的任何一個同步,稱為獨立型同步,若與多個事件都同步,稱之為關聯型同步。郵箱是一種通信機制,它可以使一個任務或中斷服務子程序向另一個任務發送一個指針型的變量,該指針指向一個包含了特定消息的數據結構。消息隊列是另一種通信機制,它可以使一個任務或中斷服務子程序向另一個任務發送以指針定義的變量,具體應用不同,每個指針指向的數據結構也不同。互斥型信號量是一種特殊的二進制型信號量,主要用于解決內在的互斥問題,減少實際應用中所必需的優先級翻轉。

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

圖3任務通信流程

通信及同步處理是保證μC/OS_II系統及各應用任務穩定運行的關鍵,通過在仿真軟件CCS2.2中調試,證明本次設計軟件系統運行穩定,且能夠保證各任務的實時性要求,這也證明了設計中對通信及同步的處理合理正確。

結束語

作為飛機配電地面實驗系統的組成部分,測控終端必須滿足實時性的要求,因此我們選用了主頻為150MHz的數字信號處理器TMS320F2812作為主CPU;在軟件設計方面,采用實時嵌入式系統μCOS_II不僅使各任務的實時性得到滿足,而且提高了軟件運行的可靠性。該測控終端具有軟件結構簡單,模塊化程度高,便于系統調試、維護升級等優點,其在工業控制領域也有相當好的應用前景。


評論


相關推薦

技術專區

關閉