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