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