王佳鑫
摘 要:隨著雷達(dá)技術(shù)的不斷發(fā)展以及雷達(dá)設(shè)備在軍用民用領(lǐng)域的普及應(yīng)用,對于雷達(dá)的維修也越來越受到重視。針對雷達(dá)這種高度復(fù)雜的電子設(shè)備的特性,以某型雷達(dá)信號處理分機(jī)為應(yīng)用對象,本文結(jié)合CPLD與單片機(jī)設(shè)計了一個檢測雷達(dá)故障的系統(tǒng),可檢測各功能模塊以及通信狀態(tài)燈故障。經(jīng)測試實驗表明,該設(shè)計功能完善,通用性好,具有良好的可拓展性。
關(guān)鍵詞:單片機(jī);CPLD;故障檢測
中圖分類號: TN958.92 文獻(xiàn)標(biāo)識碼: A 文章編號: 1673-1069(2016)17-146-2
0 引言
故障檢測是指檢測判斷被測電路是否故障,并判斷故障發(fā)生的位置。雷達(dá)是一種高度復(fù)雜的電子設(shè)備,故障檢測的復(fù)雜程度也相對較高。但同時雷達(dá)的結(jié)構(gòu)層次明顯,由多個系統(tǒng)組成,每個系統(tǒng)一般由有機(jī)柜,分機(jī),插件板組成,所以根據(jù)雷達(dá)的層次化可以分級設(shè)計故障檢測模型。不同的功能采用不同的檢測方法。通常情況下,檢測是通過對雷達(dá)系統(tǒng)中某些節(jié)點(diǎn)上施加一定的激勵信號,對電路產(chǎn)生影響和控制,通過被測電路的反饋分析出故障所在位置以及解決方案。雷達(dá)工作時,各功能模塊之間必然發(fā)生信息交互傳遞。針對某一特定功能模塊的檢測,可以通過模擬其上位模塊對被測模塊發(fā)送對應(yīng)的激勵信號,再接收被測模塊的反饋信息來判斷其工作狀態(tài)是否正常。本文以CPLD與單片機(jī)為核心,設(shè)計一個實用的故障檢測系統(tǒng),再加入一些外圍電路就可以模擬出多種激勵信號,從而達(dá)到故障檢測目的。
1 硬件平臺設(shè)計
CPLD與MCU結(jié)合的實用領(lǐng)域非常廣泛,因為其各自的特點(diǎn)。MCU控制能力強(qiáng),有豐富且強(qiáng)大的指令系統(tǒng),低功耗,易擴(kuò)展,價格低廉等優(yōu)良特性使其成為高性價比控制型芯片。CPLD是一種復(fù)雜可編程邏輯器件,用戶可以根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字積少集成電路,其對數(shù)字編碼,時序的產(chǎn)生與控制更加方便快捷。結(jié)合這兩個器件的優(yōu)點(diǎn),本文設(shè)計了一個簡單的硬件框架,如圖1所示。
單片機(jī)MCU(AT89C55)通過串行通信接口從檢測控制端獲取檢測命令,通過配置單片機(jī)波特率發(fā)生器,使用9600Bd波特率傳輸串行數(shù)據(jù)。MCU的P0口作為8為數(shù)據(jù)總線,連接至CPLD(Altera,EPM2210)與FIFO。P2口作為8位地址總線與CPLD相連。P1口的P1^0~2三根數(shù)據(jù)線接入操控機(jī),作為測試結(jié)果的狀態(tài)信號,可表示出8種測試結(jié)果。P1^4端口作為對操控機(jī)的中斷信號,通知其在以上端口讀取測試結(jié)果。剩下幾個P1對端口與CPLD連接作為某些狀態(tài)使能信號,可自由調(diào)配。
CPLD的外部電路主要是被測單元與存儲芯片的連接。根據(jù)激勵信號的不同,CPLD與被測單元(UUT)之間的連接有8位數(shù)據(jù)線發(fā)送并行數(shù)據(jù),串行接口發(fā)送RS485或RS232串行數(shù)據(jù),以及模擬信號等。被測單元的回告信息通過同樣接口傳回CPLD或者裝入外部FIFO。外部FIFO的寫數(shù)據(jù)(WR),讀數(shù)據(jù)(RD),清空(RST),半滿/全滿(HF/FF)信號連入CPLD,由CPLD控制FIFO的讀寫。
在測試中,由CPLD按預(yù)設(shè)信息做出激勵信號并發(fā)向被測功能模塊。根據(jù)不同的檢測命令,CPLD控制FIFO外部芯片存儲被測模塊的反饋信息,然后向MCU發(fā)出中斷信號。MCU收到中斷后,從相應(yīng)的外部取回反饋信息,加以判斷來確定是否存在功能模塊故障。
2 系統(tǒng)設(shè)計
2.1 單片機(jī)功能設(shè)計
本系統(tǒng)中單片機(jī)主要負(fù)責(zé)接收測試命令,控制CPLD發(fā)出各種激勵信號,以及最后反饋信息的分析工作。具體流程圖如圖2所示,單片機(jī)通過MAX485差分芯片接收外部的測試命令,上電后,單片機(jī)處于等待命令狀態(tài),串口處于接收狀態(tài),數(shù)據(jù)線上有數(shù)據(jù)時,檢測字頭開始接收數(shù)據(jù),通過末尾校驗位來判斷是否為正確的測試命令。接收到命令后,系統(tǒng)進(jìn)入檢測狀態(tài),通過8位并行數(shù)據(jù)線向CPLD地址發(fā)送命令,隨即進(jìn)入等待回告狀態(tài)。故障檢測的原則就是將被測單元反饋的信息與存儲在單片機(jī)中的正確反饋信息進(jìn)行比對,如果兩組數(shù)據(jù)一致,向上位機(jī)發(fā)出中斷并告知被測單元無故障,反之,向上位機(jī)反饋存在故障的功能模塊。
2.2 CPLD設(shè)計
CPLD主要任務(wù)是在工作時產(chǎn)生檢測激勵信號以及外部存儲芯片的讀寫控制。根據(jù)被測功能模塊的不同,激勵信號也分為數(shù)字信號與模擬信號。相對而言,數(shù)字信號容易產(chǎn)生,通過串口或并口輸出加到被測單元即可。模擬信號相對復(fù)雜,需要通過設(shè)計一個波形發(fā)生器來完成。脈寬調(diào)制PWM(Pulse Width Modulation)時利用數(shù)字信號對模擬電路進(jìn)行控制的一種技術(shù),其實質(zhì)是對模擬信號電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計數(shù)器,方波的占空比被調(diào)制用來對一個模擬信號的電平進(jìn)行編碼。PWM信號依然是數(shù)字信號,在給定的時刻,滿幅值的直流供電要么通,要么斷。電壓或電流源是以一種通或斷的重復(fù)脈沖序列被加載模擬負(fù)載上的。只要帶寬足夠,任何模擬信號都可以使用PWM進(jìn)行編碼。如圖3所示,一個正弦波可以用一些相等幅度但不等寬的脈沖來代替。正弦波被分為N等分,可以看成N個連續(xù)的脈沖序列,時間寬度相等,但幅值不等。用矩形脈沖替代是,信號等幅但不等寬,中電重合,面積相等,脈沖寬度按照正弦規(guī)律變化,體現(xiàn)在模擬信號中的幅值變化。
使用CPLD實現(xiàn)PWM發(fā)生器非常簡便,其中包括了計數(shù)器,數(shù)據(jù)比較器,時鐘分頻寄存器以及占空比寄存器。分頻存儲器用來存放不同波形所需要的計數(shù)器參數(shù),占空比寄存器存放著不同的閾值。當(dāng)啟動發(fā)生器時,計數(shù)器開始計數(shù),輸出和占空比寄存器中的數(shù)據(jù)進(jìn)行比較,當(dāng)計數(shù)器輸出小于占空比設(shè)定值時輸出低電平,否則輸出高電平。
CPLD控制FIFO(IDT7204)的讀寫。當(dāng)激勵信號施加在被測單元后,CPLD隨即產(chǎn)生FIFO寫信號/WR,每個下降觸發(fā)寫操作,被測單元回告的數(shù)據(jù)寫入FIFO。當(dāng)FIFO中數(shù)據(jù)量達(dá)到半滿時,半滿信號端口(/HF)輸出低電平至CPLD。CPLD發(fā)中斷給單片機(jī),告知FIFO數(shù)據(jù)已準(zhǔn)備好可以進(jìn)行讀操作。MCU從指定地址讀取數(shù)據(jù),地址線在CPLD中合成出FIFO的讀信號/RD。
3 結(jié)束語
MCU+CPLD結(jié)構(gòu)是很多電子系統(tǒng)設(shè)計的一種基本框架,MCU可以實現(xiàn)復(fù)雜的控制與檢測,CPLD可以靈活的實現(xiàn)外圍擴(kuò)展電路,彌補(bǔ)了MCU相應(yīng)速度慢等問題,兩者互補(bǔ)性強(qiáng)。本設(shè)計通過對某型雷達(dá)故障檢測實驗中得到了成功的應(yīng)用。通過對外圍電路以及CPLD邏輯的改進(jìn),系統(tǒng)可滿足不同應(yīng)用場合,可移植性強(qiáng)。
參 考 文 獻(xiàn)
[1] 楊志鵬,王世堯.基于CPLD的單片機(jī)之間的通信接口設(shè)計[J].廈門:電腦開發(fā)與應(yīng)用.
[2] 黃正謹(jǐn).CPLD系統(tǒng)設(shè)計技術(shù)入門與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[3] 王志鵬.可編程邏輯器件開發(fā)技術(shù)[M].北京:國防工業(yè)出版社,2005.