(中國電子科技集團(tuán)公司第十研究所,四川 成都 610036)
我國在多年前引進(jìn)了一定數(shù)量的俄制飛機(jī),機(jī)上航電通信用計算機(jī)主要采用俄制 ГOCT18977-89總線通信協(xié)議,無法與我方數(shù)據(jù)處理計算機(jī)直接進(jìn)行數(shù)據(jù)交換。為了實現(xiàn)雙方計算機(jī)有效的數(shù)據(jù)通信,需要通過數(shù)據(jù)轉(zhuǎn)換模塊(簡稱AT 模塊)來完成通信轉(zhuǎn)換。近年來,此類飛機(jī)在外場執(zhí)行任務(wù)時偶發(fā)總線通信故障,通過深入剖析、排查與診斷,最終確定故障是由于CPLD 對協(xié)議芯片的復(fù)位臨界所導(dǎo)致,并提出解決與改進(jìn)措施,有效提高了芯片復(fù)位的可靠性。經(jīng)試驗表明,該方法切實可行,能夠有效保障雙機(jī)之間的正常通信。
通信中,當(dāng)數(shù)據(jù)下行時,AT 模塊接收到俄制ГOCT18977-89 總線輸出的數(shù)據(jù),對其進(jìn)行識別判斷,然后發(fā)送給我方數(shù)據(jù)處理計算機(jī)進(jìn)行下一步數(shù)據(jù)處理,最后將處理完畢的數(shù)據(jù)下發(fā)給電臺;當(dāng)數(shù)據(jù)上行時,電臺需首先將數(shù)據(jù)發(fā)送到我方處理計算機(jī),處理后再發(fā)送至AT 模塊進(jìn)行識別并轉(zhuǎn)換為ГOCT18977-89通信協(xié)議的標(biāo)準(zhǔn)格式,最后回傳給俄制通用計算機(jī)。
目前,國內(nèi)尚無俄式ГOCT18977-89 總線協(xié)議的專用芯片和仿真設(shè)備,然而該協(xié)議類似于美國的ARINC429總線通信協(xié)議。兩者的電氣特性和數(shù)據(jù)格式均一致,其主要區(qū)別在于前者擁有更多種通信速率[3][4]。在AT 模塊設(shè)計時采用ARINC429總線芯片進(jìn)行速率的匹配,使其通信數(shù)據(jù)速率為48 kb/s±25%。在生產(chǎn)調(diào)試中多采用帶ARINC429板卡(簡稱429)的計算機(jī)來模擬ГOCT18977-89總線控制器,并直接與AT 模塊連接,其工作原理如圖1所示。
由圖1可見,協(xié)議芯片收到俄制通用計算機(jī)經(jīng)總線發(fā)出的信號后,將其轉(zhuǎn)換為16位(DB0~DB15)并行數(shù)據(jù)并傳送給CPLD,CPLD 進(jìn)行數(shù)據(jù)識別,當(dāng)接收到的第一幀數(shù)據(jù)滿足上行幀頭要求(例如55h)時,則將數(shù)據(jù)解析處理后的信息上傳至協(xié)議芯片,經(jīng)429轉(zhuǎn)換為總線格式后輸出至俄制計算機(jī);當(dāng)接收到第一幀數(shù)據(jù)滿足下行幀頭值(例如AAh)時,將該數(shù)據(jù)轉(zhuǎn)換后由單片機(jī)經(jīng)電平轉(zhuǎn)換為標(biāo)準(zhǔn)RS422格式,最后輸出至我方數(shù)據(jù)處理計算機(jī)。
圖1 AT模塊工作原理圖
當(dāng)AT 模塊接收到電臺處理完成的數(shù)據(jù)時,其信息將以串行32位碼字的形式呈現(xiàn),并在CPLD 中進(jìn)行數(shù)據(jù)解析處理,然后通過協(xié)議芯片及驅(qū)動器轉(zhuǎn)換為429總線格式,輸出到俄制通用計算機(jī)。完成信息發(fā)送后,模塊自動恢復(fù)到接收數(shù)據(jù)狀態(tài)。
然而,當(dāng)雙方計算機(jī)在進(jìn)行數(shù)據(jù)通信時,偶發(fā)出現(xiàn)總線通信故障,數(shù)據(jù)無法正常傳輸。具體故障現(xiàn)象為,在無外部數(shù)據(jù)激勵時,總線持續(xù)收到錯誤數(shù)據(jù)“80000000h”。經(jīng)測試,故障概率約10%,部分產(chǎn)品高達(dá)50%。該故障具有偶發(fā)性,故障件并非固定批次的產(chǎn)品或器件,非硬件批次故障。
我們從信號流程出發(fā),首先把關(guān)注點(diǎn)放在429總線信號的輸入輸出支路上,即圖1中構(gòu)成的環(huán)路,其硬件電路包括429協(xié)議芯片和429電平轉(zhuǎn)換芯片。429電平轉(zhuǎn)換芯片型號為BD429A,其引腳如圖2所示。
圖2 電平轉(zhuǎn)換芯片原理圖
圖3 協(xié)議芯片原理圖
器件2腳/3腳為計算機(jī)輸入的總線入信號,8腳為CPLD 控制的器件片選,37腳為CPLD 分頻后器件時鐘,30腳為發(fā)送緩存空標(biāo)志,33腳為CPLD 控制的發(fā)送使能(高有效),31腳/32腳為輸出至電平轉(zhuǎn)換芯片D13的429信號。
故障時,示波器測試時鐘CLK3282正常;429D1A/B 為低電平(無429 數(shù)據(jù)輸入);DB0~DB15 常低(與CPLD 間無數(shù)據(jù)交換);SEL 為高(CPLD 控制使能無效);ENTX 為高(發(fā)送使能有效)。再測試輸出信號,429D0/1均有數(shù)據(jù)!讀取數(shù)據(jù)確實是“80000000”;再測試TX/R 為低電平,即發(fā)送緩存空標(biāo)志有效,表明外部無數(shù)據(jù)輸入。綜上分析,確認(rèn)協(xié)議芯片在未收到任何外部有效信號的情況下,持續(xù)有數(shù)據(jù)輸出且輸出使能有效。判斷協(xié)議芯片工作異常。由此列出故障樹如圖4所示。
圖4 429協(xié)議芯片輸出異常故障樹
根據(jù)故障樹逐一分析:
(1)M1——電源供電異常。萬用表、示波器測試板上各電源,反復(fù)開關(guān)電測試VCC、+3.3V 等電源均正常,排除此項。
(2)M2——芯片自身制造缺陷。測試發(fā)現(xiàn)只要上電正常,模塊均持續(xù)正常工作,高低溫試驗下現(xiàn)象相同。更換芯片部分產(chǎn)品故障概率會降低,但未徹底消除。器件檢測未發(fā)現(xiàn)指標(biāo)異常,暫時排除此項原因。
(3)M31——復(fù)位異常。查HS1-3282-8 器件資料,復(fù)位信號寬度要求見表1。
表1 HS1-3282-8器件復(fù)位信號
即要求復(fù)位脈寬最小值200 ns。測試模塊復(fù)位信號/RES1和協(xié)議芯片復(fù)位信號/MRESET(39腳)時序關(guān)系如圖5所示。
圖5 復(fù)位時序圖
即復(fù)位信號恰好設(shè)計為200 ns 有效,故障時測試復(fù)位波形和正常工作一樣。查詢CPLD 和單片機(jī)程序,復(fù)位電路設(shè)計與上述實測數(shù)據(jù)一致。為確定是否復(fù)位不能滿足器件需求,我們做了兩個試驗:一是故障時,從協(xié)議芯片39 腳(/MRESET)人為引入一個低脈沖(即手動復(fù)位),脈沖長度從300 ns~1 ms 不等,多次反復(fù)測試,故障不再出現(xiàn);二是加電后直接給協(xié)議芯片復(fù)位腳(39腳)手動復(fù)位一次,再次測試模塊功能正常,重復(fù)測試均無故障。通過以上試驗驗證,故障原因是協(xié)議芯片未有效復(fù)位,即當(dāng)前200 ns 復(fù)位信號不能滿足部分器件需求,適當(dāng)延長復(fù)位信號即能解決故障。
(4)M32——控制信號異常。故障時,測試使能信號SEL 為高,即芯片片選無效狀態(tài),此時時鐘信號正常,輸入數(shù)據(jù)線,收發(fā)使能、方向等信號都處于無效狀態(tài),故排除此項。
綜上所述,定位故障原因為CPLD 軟件中對協(xié)議芯片的復(fù)位設(shè)計臨界,部分產(chǎn)品在此時間段不能完成協(xié)議芯片的有效復(fù)位,達(dá)不到器件需求,導(dǎo)致偶發(fā)出現(xiàn)通信故障。
AT 模塊主要實現(xiàn)了兩個功能,接收俄制ГOCT18977-89總線(用ARINC429模擬)數(shù)據(jù),進(jìn)行識別、處理、轉(zhuǎn)換后分別轉(zhuǎn)發(fā)給計算機(jī)或者回傳給俄制總線。
協(xié)議芯片主要用于將輸入429總線數(shù)據(jù)轉(zhuǎn)換為16位并行數(shù)據(jù),并接收CPLD 和單片機(jī)轉(zhuǎn)換處理后的數(shù)據(jù),將其再次轉(zhuǎn)為429數(shù)據(jù)發(fā)出。其器件復(fù)位時間要求最小200 ns,而目前設(shè)計值恰好為200 ns。由于元器件制造差異,絕大多數(shù)器件在此時間段能完成復(fù)位,功能正常。而少量器件偶發(fā)不能有效復(fù)位,導(dǎo)致故障。
AT 模塊中的處理器為單片機(jī),其正常工作時間必須晚于其他配套芯片,否則單片機(jī)無法完成啟動BIT 自檢工作,故協(xié)議芯片的復(fù)位時間必須早于單片機(jī)復(fù)位時間。單片機(jī)復(fù)位是由外部復(fù)位芯片完成,其固定輸出為200 ms,429協(xié)議芯片由CPLD 根據(jù)外部時鐘來進(jìn)行計數(shù)形成復(fù)位信號進(jìn)行復(fù)位,在保證不超過單片機(jī)處理器復(fù)位時間的情況下,增加429協(xié)議芯片復(fù)位時間延長為100 ms。修改CPLD 復(fù)位電路軟件,修改后復(fù)位時間時序示意圖如圖6所示。修改程序后,反復(fù)驗證,產(chǎn)品工作正常,故障消除。
圖6 加長復(fù)位后時序示意圖
本文詳細(xì)闡述了工程中ГOCT18977-89總線的應(yīng)用及本次偶發(fā)故障的定位分析過程。經(jīng)排查,最終確定根本原因是芯片復(fù)位電路設(shè)計臨界,不能適應(yīng)部分芯片的要求,使用過程中出現(xiàn)偶發(fā)性故障。集成電路未有效復(fù)位,其輸出將處于不確定狀態(tài),會導(dǎo)致系統(tǒng)邏輯混亂從而引發(fā)功能故障。復(fù)位電路設(shè)計的好壞,直接影響著整個系統(tǒng)工作的可靠性。在設(shè)計復(fù)位電路時,不僅要保證滿足器件資料的要求,還需留出足夠余量,以滿足工程中元器件制造差異性的要求。本次通過對復(fù)位程序的優(yōu)化,成功地解決了這起隱蔽性故障。