王璇 朱守園 趙根學
摘要:針對現代總線控制管理計算機系統(tǒng)的發(fā)展趨勢,結合某型飛機航空通信總線控制管理的實際需求,設計了基于PowerPC + DSP的總線通信系統(tǒng)軟件,主要是對RS422串行通信總線和ARINC429總線進行控制和管理。該軟件分為驅動軟件和控制軟件,驅動軟件運行在PowerPC上,它實現DSP與主機應用軟件間的接口控制和數據傳遞,可提供各類消息數據的讀、寫支持,并對DSP內程序進行調度??刂栖浖\行在DSP上,它負責RS422串行通信總線和ARINC429總線通信的控制、數據接收和發(fā)送等。PowerPC和DSP通過雙口存儲器進行數據通信。該中還介紹了總線通信系統(tǒng)中PowerPC和DSP的故障管理功能。本軟件充分利用系統(tǒng)資源,實現了通信總線的控制與管理,滿足航電系統(tǒng)總線通信與管理的要求。
關鍵詞:PowerPC;DSP;雙口存儲器;故障管理
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)05-0032-02
PowerPC是IBM和Motorola公司共同開發(fā)的高性能、低功耗、開放架構的處理器,采用簡單的指令集(RISC),同時集成了PCI -Express、千兆網絡、RapidIO及CAN等多種網絡通信控制器,支持DMA、I2C、UART等數據交換組件,具有處理能力強、網絡通信接口多等優(yōu)點,被廣泛應用于汽車電子、航空航天、工業(yè)控制等要求高性能和高可靠性的領域[1-3]。鑒于此,文中設計了一種基于PowerPC750配有VME總線的CPU模塊,滿足現代武器裝備的需求。
TMS320F240系列DSP是美國TI公司于1997年推出的,專為數字電機控制和其他控制應用系統(tǒng)而設計的16位定點數字信號處理器。它將數字信號處理的高速運算功能與面向電機的強大控制能力結合在一起,從而成為傳統(tǒng)的多微處理器單元和多片設計系統(tǒng)的理想替代品。F240片內外設包括雙10位A/D轉換器,帶有鎖相環(huán)PLL時鐘模塊,帶中斷的看門狗定時器模塊,串行通信接口SCI及串行外設接口SPI,另外,還集成了一個事件管理模塊EVM。因此,F240不僅具有高速數據處理能力,還具有控制和事件管理能力,可完成人機界面,與上位機進行串行通信[4-5]。
1 總線通信系統(tǒng)架構
總線通信系統(tǒng)由一個CPU(PowerPC)模塊、一個DSP模塊以及電源模塊組成。CPU模塊采用PowerPC750處理器,同時集成了網卡和大容量FLASH,具有高速的數據采集及處理、仿真任務調度以及數據存儲等功能。DSP模塊采用TMS320F240系列芯片,通過局部總線,與外界設備通過RS422、ARINC429等數據交換總線相連。用戶通過PowerPC發(fā)送和接收任務數據,PowerPC再通過雙口存儲器與DSP相連接,進行數據交換,DSP則負責RS422串行通信總線和ARINC429總線通信的控制管理、數據接收和發(fā)送等,以上整個系統(tǒng)完成了總線的通信功能??偩€通信系統(tǒng)架構如圖1所示。
2 總線通信系統(tǒng)軟件設計
2.1總線通信系統(tǒng)軟件概述
總線通信系統(tǒng)軟件由驅動軟件和控制軟件組成,是實現RS422串行通信和ARINC429總線通信的專用軟件。其中,驅動軟件實現DSP與主機應用軟件間的接口控制與數據傳遞,它可提供各類消息數據的讀、寫支持,對DSP內程序的調度??刂栖浖撠烺S422串行通信和ARINC429總線通信的控制、數據接收和發(fā)送等。
2.2驅動軟件
驅動軟件運行在PowerPC模塊上,是應用軟件與控制軟件的接口軟件,為實現應用軟件的管理功能,驅動軟件控制DSP模塊的初始化、啟動、停止、自測試,監(jiān)控DSP模塊狀態(tài),控制DSP模塊和主機的數據交換。驅動軟件操作狀態(tài)及轉換關系如圖2所示。
當DSP在處在停止狀態(tài),調用DSP_Bit進行DSP自檢測,調用DSP_Initialize進行DSP初始化。初始化完成后可調用DSP_Go將DSP轉入運行狀態(tài)。在運行狀態(tài)下可調用操作信息驅動程序、RS422驅動程序和ARINC429總線驅動程序,進行消息傳輸,也可調用DSP_Stop將DSP轉入停止狀態(tài)。
驅動軟件按其功能分為:模塊控制程序、RS422控制程序、ARINC429總線控制程序、操作信息控制程序。
模塊控制程序的主要功能是啟動DSP模塊上的初始化程序,使DSP初始化,然后啟動DSP上的啟動程序使DSP開始工作,還可以停止DSP運行以及啟動DSP上的BIT程序進行自檢測。
RS422控制程序的主要功能包括對RS422各通道進行初始化(各通道的接收/發(fā)送數據緩沖區(qū)劃分,每個數據塊的新數據、錯誤、中斷等標志字的設置,波特率、奇偶校驗位、數據位和停止位的設置),接著從雙口存儲器讀DSP端RS422接收到的消息,并將要通過RS422發(fā)送的消息數據寫入雙口存儲器,最終由DSP上的RS422進行數據發(fā)送。通過檢查RS422的接收緩沖區(qū),可以檢查是否有新數據。
ARINC429總線控制程序主要功能包括對ARINC429總線通道進行初始化,從雙口存儲器讀ARINC429總線接收到的消息,并將要通過ARINC429總線發(fā)送的消息寫入雙口存儲器。
操作信息控制程序主要包括讀DSP模塊的自檢測結果,讀取DSP的HeartBeat計數器的當前值,讀取DSP的狀態(tài),建立主機和DSP之間的通訊,復位DSP模塊。
2.3控制軟件
控制軟件運行在DSP模塊上,它負責RS422串行通信總線和ARINC429總線通信的控制、數據發(fā)送和接收等??刂栖浖闹鞒绦蛑邪▽SP的初始化、啟動、自檢測、停止及復位等功能??刂栖浖憫獊碜赃\行在PowerPC上驅動軟件的下發(fā)的命令,進行相應功能操作。在DSP模塊初始化中,定時器中斷被使能。定時器中斷服務程序會以固定的周期執(zhí)行,其中包括RS422通信握手,RS422在線狀態(tài)判斷,RS422發(fā)送和接收數據,ARINC429總線發(fā)送和接收數據等程序。
RS422通信握手程序首先從PowerPC寫入雙口存儲器的相應地址中讀取通信狀態(tài)字,然后判斷各通道狀態(tài),若三次接收到的通信狀態(tài)字均為預值,則通信建立成功。
RS422在線狀態(tài)判斷程序負責讀取各通道的在線狀態(tài),如果該通道已建立好通信,則清空接收寄存器,發(fā)送該通道在線狀態(tài)命令;接收在線狀態(tài)程序接收的現行狀態(tài)數據長度若等于該通道的數據長度,則判斷該通道的設備在線。
RS422串行通信總線和ARINC429總線均采用查詢方式進行數據的發(fā)送和接收。
2.4故障管理
故障管理分為兩部分:PowerPC故障管理和DSP故障管理,每部分包含了故障檢測、故障過濾和故障處理。如圖3所示。
DSP的故障檢測的手段主要有BIT和軟件注入,PowerPC模塊主要有BIT,VxWorks5.5捕獲軟件故障、DSP注入、應用軟件注入。BIT包含PUBIT、PBIT和IBIT,PUBIT上電后對系統(tǒng)硬件資源的檢測,PBIT系統(tǒng)運行過程中對硬件資源周期性的檢測,IBIT由用戶啟動對系統(tǒng)硬件資源的檢測,BIT能夠完成整個周期硬件資源的檢測。應用軟件在運行過程中,發(fā)現故障,將該故障注入故障隊列中,實現應用軟件故障的管理。DSP發(fā)生致命性的,自己無法處理或者需要PowerPC處理的故障時,將此類故障注入PowerPC的故障隊列中,以提高系統(tǒng)處理故障的能力。系統(tǒng)運行過程中,VxWorks5.5將捕獲的異常信息注入故障隊列中,以解決運行過程中產生的異常。
系統(tǒng)中的故障按照存在程度分為暫時性故障和永久性故障。暫時性故障帶有間斷性,是在一定條件下產生的故障,通過系統(tǒng)的調整或者運行環(huán)境的改變消失的故障。永久性故障具有永恒性,一旦發(fā)生故障,則系統(tǒng)無法自身的恢復,一直處于故障狀態(tài)。按照故障的嚴重程度將故障分為破壞性故障和非破壞性故障,破壞性故障一旦發(fā)生,將對系統(tǒng)造成致命的破壞,導致系統(tǒng)無法正常工作;非破壞性故障一般是局部的,影響系統(tǒng)的部分功能,但不會對系統(tǒng)造成致命性破壞。故障管理需要將同時具有非破壞性和暫時性的故障采用門限值的方式過濾掉,將過濾后的故障和其他類型的故障提交給故障處理機制處理。
門限值的過濾方式:在故障檢測時,發(fā)現設備故障后,設備的故障數N=N+1,當N超過門限值W時,則向故障處理機制提交故障;再次檢測時,發(fā)現該設備正常則N=N-1,當N<0時,則將N設為0。
3 小結
在總線通信軟件中采用PowerPC + DSP的結構,既能發(fā)揮PowerPC高速信號采集和處理能力,又能發(fā)揮DSP高速數字信號處理能力。PowerPC上運行的驅動軟件是應用軟件與控制軟件的接口軟件,實現了應用軟件的管理功能;DSP上運行的控制軟件,它負責RS422串行通信總線和ARINC429總線通信的控制、數據發(fā)送和接收等。該軟件充分利用系統(tǒng)資源,實現了通信總線的控制與管理,滿足了航電總線通信與管理的要求。
參考文獻:
[1] 沈華,湯艷飛,李喬楊.PowerPC處理器的發(fā)展歷程[J]. 計算機光盤軟件與應用,2013,12(1):73-75.
[2] 潘越,宋萍,李科杰. 基于PowerPC和FPGA的小型無人直升機飛行控制計算機系統(tǒng)設計[J]. 計算機測量與控制,2013,21(1):112-115.
[3] 楚要欽,譚震,賀瑩,劉永強. 一種基于PowerPC的彈載飛控計算機設計[J]. 航空計算技術,2013,43(4):109-112.
[4] 陸超芬. DSP與計算機串行通信設計及編程研究[J]. 中國科技信息,2010,1(1):114-115.
[5] 高敏,任海龍,楊芳,游衛(wèi)華. 基于DSP+FPGA的彈載計算機設計[J]. 計算機測量與控制,2014,22(12):3995-3997.