本發(fā)明屬于通信技術領域,更進一步涉及機載總線通信控制技術領域中的一種基于數(shù)字信號處理器dsp(digitalsignalprocessor)和復雜可編程邏輯器件cpld(complexprogrammablelogicdevice)的機載總線通信控制方法。本發(fā)明可用于各飛機機型的總線通信系統(tǒng)中,實現(xiàn)數(shù)字式信息傳輸系統(tǒng)通信標準arinc429(美國航空電子工程委員會airlinesengineeringcommittee提出的數(shù)字式信息傳輸系統(tǒng)通信標準)數(shù)據(jù)的收發(fā)和控制。
背景技術:
未來的機載總線通信控制系統(tǒng)對可靠性的要求將會更高,需要提供更好的實時性和更高的準確性,因此如何在保證實時性的前提下提高準確性、并節(jié)約有限的輸入輸出i/o(input/output)資源成為了一個備受關注的問題。以數(shù)字信號處理器dsp為主處理器的總線通信系統(tǒng)用于采集各機載模塊如電源配電器等的實時狀態(tài)及故障數(shù)據(jù),組成相應的數(shù)據(jù)幀后與上位機進行交互通信。而相應的以數(shù)字信號處理器dsp為主處理器的總線通信控制系統(tǒng),就是對相關模塊及通信的工作方式進行控制。由于以數(shù)字信號處理器dsp為主處理器的總線通信系統(tǒng)處理速度快、成本低、實時性好,因此成為了機載總線通信控制領域中的研究熱點之一。
北京航空航天大學在其提出的專利申請文獻“一種基于dsp和cpld開發(fā)的多路arinc429數(shù)據(jù)收發(fā)電路結(jié)構(gòu)”(申請日:2014年3月25日,申請?zhí)枺?01410113491.0,公開號:cn103823785a)中提出了一種基于數(shù)字信號處理器dsp和復雜可編程邏輯器件cpld開發(fā)的多路arinc429數(shù)據(jù)收發(fā)電路的控制方法。該方法中的arinc429總線收發(fā)芯片的數(shù)據(jù)端與數(shù)字信號處理器dsp連接,控制端與可編程邏輯器件cpld連接,數(shù)字信號處理器dsp電路向由可編程邏輯器件cpld芯片編程實現(xiàn)的寄存器發(fā)送控制指令來實現(xiàn)對多組arinc429總線收發(fā)芯片的控制,并通過在數(shù)字信號處理器dsp芯片中的軟件編程實現(xiàn)arinc429數(shù)據(jù)的接收解碼和發(fā)送編碼。該方法存在的不足之處是:機載總線通信控制系統(tǒng)需采集的離散信號非常多,加之采用的數(shù)字信號處理器dsp芯片為德州儀器ti(texasinstrument)公司的tms320f28335,該芯片無外部擴展接口xintf(externalinterface),因此輸入輸出i/o資源非常有限,這種方法大大浪費了數(shù)字信號處理器dsp的輸入輸出i/o資源。
張朝等學者在其發(fā)表的學術論文“基于dsp與fpga的arinc429總線收發(fā)系統(tǒng)設計”(科技創(chuàng)新導報,2013,no31)中提出了一種基于數(shù)字信號處理器dsp和現(xiàn)場可編程門列陣fpga(field-programmablegatearray)的arinc429總線收發(fā)系統(tǒng)的控制方法。該方法采用總線接口電路hs-3282芯片和總線驅(qū)動電路hs-3182芯片作為arinc429通信芯片,該方法直接用可編程門列陣fpga芯片編程對通信芯片進行工作方式切換和控制。該方法存在的不足之處是:用可編程門列陣fpga芯片編程對通信芯片進行工作方式切換和控制的方式實時性較差,不能與主控數(shù)字信號處理器dsp芯片達到完全的時間同步,且可編程門列陣fpga芯片造價高。
技術實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術的不足,針對機載總線通信系統(tǒng),提出了一種基于數(shù)字信號處理器dsp和復雜可編程邏輯器件cpld的機載總線通信控制方法。該方法有效利用了數(shù)字信號處理器dsp的外部擴展接口xintf,將數(shù)字信號處理器dsp的地址信號和作為控制信號,節(jié)約了數(shù)字信號處理器dsp的4路輸入輸出i/o資源,提高了機載總線通信控制的實時性。
為實現(xiàn)上述目的,本發(fā)明方法的思路是:根據(jù)上位機指令判斷系統(tǒng)需要進入的工作模式;在自檢測工作模式下,檢測數(shù)字信號處理器dsp的基本功能,如果基本功能正常則將檢測結(jié)果數(shù)據(jù)發(fā)送給上位機,如果不正常則報警并關機;在工作模式下,采集機載總線通信系統(tǒng)中數(shù)據(jù)的模擬量,如果正常則將模擬量的平均值發(fā)送給上位機,如果不正常則報警并關機。
本發(fā)明方法的具體實施步驟如下:
(1)開機:
為機載總線通信系統(tǒng)加3.3v直流電;
(2)接收上位機數(shù)據(jù):
機載總線通信系統(tǒng)接收滿足數(shù)字式信息傳輸系統(tǒng)通信標準arinc429的數(shù)據(jù);
(3)解析數(shù)據(jù)中的命令字:
(3a)機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,解析所接收到數(shù)據(jù);
(3b)選取解析后數(shù)據(jù)中的第二組32比特數(shù)據(jù)作為指定工作模式的命令字;
(4)判斷命令字類型,如果命令字為0x00550000,則系統(tǒng)轉(zhuǎn)入維護模式,執(zhí)行步驟(5),如果命令字為0x00f00000,則系統(tǒng)轉(zhuǎn)入正常工作模式,執(zhí)行步驟(11);
(5)檢測數(shù)字信號處理器dsp基本功能:
對開機后機載總線通信系統(tǒng)中數(shù)字信號處理器dsp的基本功能進行檢測,得到檢測數(shù)據(jù);
(6)判斷數(shù)字信號處理器dsp的基本功能是否滿足達標條件,若是,則系統(tǒng)未自檢出故障,執(zhí)行步驟(7),否則,執(zhí)行步驟(9);
(7)輸出控制信號:
(7a)機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,在選通外部擴展接口xintf中zone0和zone1的兩個通信區(qū)域時,片選信號/xzcs0and1處于低電平,讀使能信號/xrd處于高電平,寫使能信號/xwe處于低電平,將地址信號xa0~xa3、片選信號/xzcs0and1、讀使能信號/xrd和寫使能信號/xwe作為一組通信控制信號輸出;
(7b)采用控制信號處理方法,對機載總線通信系統(tǒng)的控制信號進行處理,機載總線通信系統(tǒng)中的復雜可編程邏輯器件cpld同時輸出工作模式信號sel、使能信號entx、低字節(jié)使能信號/ld1和高字節(jié)使能信號/ld2;
(8)發(fā)送檢測數(shù)據(jù)幀:
將步驟(5)中得到的所有檢測數(shù)據(jù),按照數(shù)字式信息傳輸系統(tǒng)通信標準arinc429,組成數(shù)據(jù)幀,發(fā)送給上位機;
(9)發(fā)出自檢測故障警報:
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,點亮自檢測故障警報燈,啟動自檢測故障指示蜂鳴器;
(10)關機:
警報燈亮且蜂鳴器蜂鳴5秒后,機載總線通信系統(tǒng)下電關機;
(11)采集周期性數(shù)據(jù):
(11a)以每隔20ms為一個周期,采集機載總線通信系統(tǒng)中數(shù)據(jù)的模擬量;
(11b)對采集到的所有數(shù)據(jù)的模擬量,以每10個周期為一組進行分組;
(11c)求每組數(shù)據(jù)的模擬量的平均值;
(12)判斷模擬量的平均值是否滿足正常工作標準,若是,則機載總線通信系統(tǒng)正常工作,執(zhí)行步驟(13),否則,執(zhí)行步驟(15);
(13)輸出控制信號:
(13a)采用步驟(7a)中的方法輸出機載總線通信系統(tǒng)的控制信號;
(13b)采用控制信號處理方法,對機載總線通信系統(tǒng)的控制信號進行處理,機載總線通信系統(tǒng)中的復雜可編程邏輯器件cpld同時輸出工作模式信號sel、使能信號entx、低字節(jié)使能信號/ld1和高字節(jié)使能信號/ld2。
(14)發(fā)送工作數(shù)據(jù)幀:
將模擬量的平均值,按照數(shù)字式信息傳輸系統(tǒng)通信標準arinc429,組成數(shù)據(jù)幀,發(fā)送給上位機;
(15)發(fā)出工作故障警報:
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,點亮工作故障警報燈,啟動工作故障指示蜂鳴器;
(16)關機:
警報燈亮且蜂鳴器蜂鳴10秒后,整個系統(tǒng)下電關機。
本發(fā)明與現(xiàn)有技術相比具有以下優(yōu)點:
第一,由于本發(fā)明輸出控制信號時,機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,在選通外部擴展接口xintf中zone0和zone1的兩個通信區(qū)域時,片選信號/xzcs0and1處于低電平,讀使能信號/xrd處于高電平,寫使能信號/xwe處于低電平,將地址信號xa0~xa3、片選信號/xzcs0and1、讀使能信號/xrd和寫使能信號/xwe作為一組通信控制信號輸出,克服了現(xiàn)有技術需要額外使用數(shù)字信號處理器dsp的多路輸入輸出i/o信號線的缺點,使得本發(fā)明具有節(jié)約數(shù)字信號處理器dsp的輸入輸出i/o資源的優(yōu)勢,可適用于對下一代新型飛機機型的機載總線通信系統(tǒng)進行控制。
第二,由于本發(fā)明輸出控制信號時,復雜可編程邏輯器件cpld同時輸出工作模式信號sel、使能信號entx、低字節(jié)使能信號/ld1和高字節(jié)使能信號/ld2,克服了現(xiàn)有技術用可編程門列陣fpga編程對通信芯片進行控制的實時性較差的缺點,使得本發(fā)明具有同步性高、實時性好的優(yōu)勢,可適用于下一代新型飛機機型的機載總線通信系統(tǒng)進行控制。
附圖說明
圖1為本發(fā)明方法的流程圖。
具體實施方式
下面結(jié)合附圖1對本發(fā)明實現(xiàn)的具體步驟做進一步詳細的描述。
步驟1,開機。
為機載總線通信系統(tǒng)加3.3v直流電。
步驟2,接收上位機數(shù)據(jù)。
機載總線通信系統(tǒng)接收滿足數(shù)字式信息傳輸系統(tǒng)通信標準arinc429的數(shù)據(jù)。
步驟3,解析數(shù)據(jù)中的命令字。
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,解析所接收到數(shù)據(jù)。
選取解析后數(shù)據(jù)中的第二組32比特數(shù)據(jù)作為指定工作模式的命令字。
步驟4,判斷命令字類型,如果命令字為0x00550000,則系統(tǒng)轉(zhuǎn)入維護模式,執(zhí)行步驟5,如果命令字為0x00f00000,則系統(tǒng)轉(zhuǎn)入正常工作模式,執(zhí)行步驟11。
步驟5,檢測數(shù)字信號處理器dsp基本功能。
對開機后機載總線通信系統(tǒng)中數(shù)字信號處理器dsp的基本功能進行檢測,得到檢測數(shù)據(jù)。
所述的數(shù)字信號處理器dsp的基本功能包括:采集模擬/數(shù)字a/d基準電壓的功能,采集輸入/輸出i/o自檢電路輸出信號的功能,計算任意一組數(shù)據(jù)的循環(huán)冗余校驗結(jié)果的功能。
步驟6,判斷數(shù)字信號處理器dsp的基本功能是否滿足達標條件,若是,則系統(tǒng)未自檢出故障,執(zhí)行步驟7,否則,執(zhí)行步驟9。
所述的達標條件是指同時滿足以下三個條件的情形:
條件1,采集到的模擬/數(shù)字a/d的兩個基準電壓值與基準電壓理論值的絕對誤差不超過20%。
條件2,采集到的輸入/輸出i/o自檢電路的輸出信號與輸出信號理論值相同。
條件3,計算的循環(huán)冗余校驗結(jié)果與循環(huán)冗余校驗結(jié)果理論值的絕對誤差不超過20%。
步驟7,輸出控制信號。
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,在選通外部擴展接口xintf中zone0和zone1的兩個通信區(qū)域時,片選信號/xzcs0and1處于低電平,讀使能信號/xrd處于高電平,寫使能信號/xwe處于低電平,將地址信號xa0~xa3、片選信號/xzcs0and1、讀使能信號/xrd和寫使能信號/xwe作為一組通信控制信號輸出。
采用控制信號處理方法,對機載總線通信系統(tǒng)的控制信號進行處理,機載總線通信系統(tǒng)中的復雜可編程邏輯器件cpld同時輸出工作模式信號sel、使能信號entx、低字節(jié)使能信號/ld1和高字節(jié)使能信號/ld2。
控制信號處理方法的步驟如下:
第一步,將數(shù)字信號處理器dsp輸出的地址信號xa0,作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的工作模式信號sel。
第二步,將數(shù)字信號處理器dsp輸出的地址信號xa1取反,與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的使能信號entx。
第三步,將數(shù)字信號處理器dsp輸出的地址信號xa2取反,與寫使能信號/xwe相或,再與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的低字節(jié)使能信號/ld1。
第四步,將數(shù)字信號處理器dsp輸出的地址信號xa3取反,與寫使能信號/xwe相或,再與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的高字節(jié)使能信號/ld2。
步驟8,發(fā)送檢測數(shù)據(jù)幀。
將步驟5中得到的所有檢測數(shù)據(jù),按照數(shù)字式信息傳輸系統(tǒng)通信標準arinc429,組成數(shù)據(jù)幀,發(fā)送給上位機。
步驟9,發(fā)出自檢測故障警報。
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,點亮自檢測故障警報燈,啟動自檢測故障指示蜂鳴器。
步驟10,關機。
警報燈亮且蜂鳴器蜂鳴5秒后,機載總線通信系統(tǒng)下電關機。
步驟11,采集周期性數(shù)據(jù)。
以每隔20ms為一個周期,采集機載總線通信系統(tǒng)中數(shù)據(jù)的模擬量。
對采集到的所有數(shù)據(jù)的模擬量,以每10個周期為一組進行分組。
求每組數(shù)據(jù)的模擬量的平均值。
所述的機載總線通信系統(tǒng)中的數(shù)據(jù)的模擬量包括:輸入電壓、輸入電流、環(huán)境溫度、脈動電壓、風扇轉(zhuǎn)速、輸出電壓和輸出電流。
步驟12,正常工作,執(zhí)行步驟13,否則,執(zhí)行步驟15。
所述的正常工作標準是指同時滿足以下三個條件的情形:
條件1,輸入電壓不超過輸入電壓理論值的5%。
條件2,輸入電流不超過輸入電流理論值的5%。
條件3,風扇轉(zhuǎn)速不超過風扇轉(zhuǎn)速理論值的10%。
步驟13,輸出控制信號。
采用步驟7中的方法輸出機載總線通信系統(tǒng)的控制信號。
采用控制信號處理方法,對機載總線通信系統(tǒng)的控制信號進行處理,機載總線通信系統(tǒng)中的復雜可編程邏輯器件cpld同時輸出工作模式信號sel、使能信號entx、低字節(jié)使能信號/ld1和高字節(jié)使能信號/ld2。
控制信號處理方法的步驟如下:
第一步,將數(shù)字信號處理器dsp輸出的地址信號xa0,作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的工作模式信號sel。
第二步,將數(shù)字信號處理器dsp輸出的地址信號xa1取反,與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的使能信號entx。
第三步,將數(shù)字信號處理器dsp輸出的地址信號xa2取反,與寫使能信號/xwe相或,再與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的低字節(jié)使能信號/ld1。
第四步,將數(shù)字信號處理器dsp輸出的地址信號xa3取反,與寫使能信號/xwe相或,再與片選信號/xzcs0and1相或,將結(jié)果作為數(shù)字式信息傳輸系統(tǒng)通信標準arinc429總線通信芯片dei1016的高字節(jié)使能信號/ld2。
步驟14,發(fā)送工作數(shù)據(jù)幀。
將模擬量的平均值,按照數(shù)字式信息傳輸系統(tǒng)通信標準arinc429,組成數(shù)據(jù)幀,發(fā)送給上位機。
步驟15,發(fā)出工作故障警報。
機載總線通信系統(tǒng)中的數(shù)字信號處理器dsp,點亮工作故障警報燈,啟動工作故障指示蜂鳴器。
步驟16,關機。
警報燈亮且蜂鳴器蜂鳴10秒后,整個系統(tǒng)下電關機。