隨著雷達(dá)技術(shù)的不斷進(jìn)步,具有顯著優(yōu)點(diǎn)的相控陣?yán)走_(dá)成為現(xiàn)代雷達(dá)的主流技術(shù)。由于相控陣?yán)走_(dá)設(shè)備量越來(lái)越大,機(jī)內(nèi)測(cè)試控制系統(tǒng)的研制開發(fā)越來(lái)越被重視。而雷達(dá)供電電源系統(tǒng)作為雷達(dá)上各分系統(tǒng)的動(dòng)力核心,對(duì)雷達(dá)各分系統(tǒng)的可靠工作起著至關(guān)重要的作用。供電電源狀態(tài)的好壞與用電設(shè)備的工作狀態(tài)息息相關(guān)。當(dāng)一個(gè)復(fù)雜的雷達(dá)系統(tǒng)出現(xiàn)故障時(shí),總體希望從電源監(jiān)控系統(tǒng)巾獲得的信息充分可靠,該信息即可以判定電源系統(tǒng)工作狀態(tài),也能夠洞察用電設(shè)備的工作狀態(tài)是否正常。因此,對(duì)電源系統(tǒng)的監(jiān)控管理勢(shì)在必行。采用先進(jìn)的電源監(jiān)控技術(shù)可以對(duì)電源系統(tǒng)的工作狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控、數(shù)字信息交換、故障記錄顯示等。這樣,可以提高系統(tǒng)的技術(shù)性能,降低操作人員和維護(hù)人員的技能要求,提高系統(tǒng)的可靠性,減少系統(tǒng)故障的平均維修時(shí)間,對(duì)設(shè)備量大的機(jī)載相控陣?yán)走_(dá)顯得更為重要。 本文介紹一種基于嵌入式單片機(jī)的串行內(nèi)總線電源監(jiān)控系統(tǒng),作為一個(gè)分機(jī)節(jié)點(diǎn),可以很方便地加入到雷達(dá)機(jī)內(nèi)測(cè)試控制系統(tǒng)的總線中,有效地實(shí)現(xiàn)對(duì)電源系統(tǒng)的控制和監(jiān)測(cè)。 1 電源監(jiān)控系統(tǒng)的硬件組成 機(jī)載雷達(dá)電源監(jiān)控系統(tǒng)由一臺(tái)電源監(jiān)控主機(jī)和8臺(tái)電源監(jiān)控分機(jī)組成,與其他分系統(tǒng)掛接在機(jī)內(nèi)測(cè)試控制系統(tǒng)的總線上。 電源監(jiān)控系統(tǒng)和機(jī)內(nèi)測(cè)試控制系統(tǒng)以及其他分系統(tǒng)之間的連接關(guān)系。其中M0為機(jī)內(nèi)測(cè)試控制系統(tǒng)的主處理機(jī),通過(guò)RS-422串行總線的接口方式,與電源監(jiān)控系統(tǒng)和其他分系統(tǒng)進(jìn)行數(shù)據(jù)的傳輸。其中電源監(jiān)控主機(jī)一方面與機(jī)內(nèi)測(cè)試控制系統(tǒng)的主處理機(jī)M0進(jìn)行通信,接收M0發(fā)來(lái)的各種控制命令,轉(zhuǎn)發(fā)給各個(gè)電源監(jiān)控分機(jī);另一方面,將各個(gè)電源監(jiān)控分機(jī)采集來(lái)的各個(gè)電源的工作狀態(tài)數(shù)據(jù)處理后傳送給主處理機(jī)M0。電源監(jiān)控主機(jī)和監(jiān)控分機(jī)之間的接口同樣采用RS-422串行總線方式。 1.1 電源監(jiān)控主機(jī)的硬件設(shè)計(jì) 電源監(jiān)控主機(jī)既要與上位機(jī)M0通信,又要與8臺(tái)電源監(jiān)控分機(jī)進(jìn)行通信。這就要求電源監(jiān)控主機(jī)至少能夠提供2個(gè)串行通信口。大部分MSC-51系列的單片機(jī)只有1個(gè)串行口,必須對(duì)其進(jìn)行擴(kuò)充,有幾種方案可以選擇: a) 方案1:采用2片單片機(jī)M1和M2,各自有一個(gè)串行口,M1的串行口與上位機(jī)M0通信,M2的串行口與各個(gè)電源監(jiān)控分機(jī)通信,M1與M2之間采用并行口傳送數(shù)據(jù)。 b) 方案2:同方案1,只是M1與M2之間采用雙幾R(shí)AM來(lái)交換數(shù)據(jù)。 c) 方案3:選取具有2個(gè)獨(dú)立串行口的CPU,一個(gè)與上位機(jī)M0通信,另一個(gè)與8個(gè)下位機(jī)通信,在CPU內(nèi)部RAM完成數(shù)據(jù)交換。 分別對(duì)這3個(gè)方案做了試驗(yàn)并進(jìn)行比較。方案1成本低,但軟件較復(fù)雜,中斷多,易發(fā)生沖突,數(shù)據(jù)有丟失現(xiàn)象;方案2數(shù)據(jù)通信可靠性好,但是軟硬件設(shè)計(jì)都比較復(fù)雜;方案3軟硬件設(shè)計(jì)簡(jiǎn)單,數(shù)據(jù)交換可靠性高,但是成本略高。 綜合各方面因素,本文采用方案3。電源監(jiān)控主機(jī)采用Cygnal公司的C8051F021單片機(jī)作為主控CPU,它是Cygnal公司開發(fā)的全集成混合信號(hào)在片系統(tǒng)單片機(jī)系列中功能比較齊全的一款。SOC(在片系統(tǒng))是一個(gè)全新的概念,是隨著半導(dǎo)體技術(shù)的不斷發(fā)展、集成度越來(lái)越高、對(duì)嵌入式控制技術(shù)的可靠性要求越來(lái)越高而產(chǎn)生的。 C8051F021片內(nèi)資源包括:32個(gè)通用數(shù)字I/O端口、64kB的Flash存儲(chǔ)器、4352B的RAM、8通道12位和8通道10位的A/D轉(zhuǎn)換器、2個(gè)12位D/A轉(zhuǎn)換器、2個(gè)模擬量比較器、5個(gè)通用定時(shí)器和PCA(可編程計(jì)數(shù)器陣列)。另外,還具有外部數(shù)據(jù)存儲(chǔ)器接口、SMBus/I2C總線、SPI總線、2路UART總線、片內(nèi)電源監(jiān)視、片內(nèi)溫度監(jiān)視、片內(nèi)看門狗定時(shí)器和片內(nèi)時(shí)鐘源等。以上數(shù)字資源接口都可根據(jù)設(shè)計(jì)需要進(jìn)行選擇,然后利用片內(nèi)交叉開關(guān)分配到相應(yīng)的I/O端口,未使用的資源將不占用通用I/O端口,這種方法既有利于資源的靈活配置,又有利于資源的充分利用,使芯片的通用性獲得極大的提高。 在強(qiáng)大而豐富的片內(nèi)資源的支持下,C8051F021還具有以下主要特點(diǎn): a) 高速的與MCS-51指令系統(tǒng)完全兼容的微控制器內(nèi)核CIP-51,采用流水線結(jié)構(gòu),其70%的指令在1~2個(gè)系統(tǒng)時(shí)鐘周期內(nèi)完成,在25 MHz內(nèi)部時(shí)鐘下,指令最快執(zhí)行速度可高達(dá)25 MIPS(百萬(wàn)條指令每秒)。 b) 大容量的Flash存儲(chǔ)器,可實(shí)現(xiàn)在線編程和用于非易失性數(shù)據(jù)的存儲(chǔ),存儲(chǔ)器可按512 B為一扇區(qū)編程,且不需特殊的片外編程電壓。 c) 片內(nèi)的JTAG仿真電路提供全速、非侵占式(即不使用在片資源)的電路仿真,可以很方便實(shí)現(xiàn)斷點(diǎn)、單步觀察點(diǎn)、運(yùn)行和停止等調(diào)試命令,且支持存儲(chǔ)器和寄存器的在線校驗(yàn)和修改,開發(fā)效率大大提高。 d) 內(nèi)部有2個(gè)全雙工的異步串行口UART0和UART1,它們除了具有標(biāo)準(zhǔn)串行口的功能外,還具有幀錯(cuò)誤監(jiān)測(cè)和地址識(shí)別硬件,還有一個(gè)完全符合系統(tǒng)管理總線標(biāo)準(zhǔn)的串行接口SMBus和一個(gè)SPI(串行外設(shè)接口),這些串行總線都完全由硬件實(shí)現(xiàn)且都可以產(chǎn)生中斷,不共享定時(shí)器、中斷或I/O端口,因此可以同時(shí)使用所有的串行口。 本系統(tǒng)中的電源監(jiān)控主機(jī)充分利用了C8051F021內(nèi)部的各種資源,特別是利用它的2個(gè)異步串行口可以很方便地完成與上位機(jī)(主處理機(jī)M0)的數(shù)據(jù)交換和與監(jiān)測(cè)各個(gè)電源的8臺(tái)電源監(jiān)控分機(jī)的數(shù)據(jù)交換。其硬件電路設(shè)計(jì)比較簡(jiǎn)單,結(jié)構(gòu)圖略。 1.2 電源監(jiān)控分機(jī)的硬件設(shè)計(jì) 本系統(tǒng)中有8臺(tái)監(jiān)控分機(jī),分別集成在8臺(tái)電源機(jī)箱中,通過(guò)RS-422串行總線方式與監(jiān)控主機(jī)接口。每臺(tái)監(jiān)控分機(jī)主要完成對(duì)各自電源工作狀態(tài)的監(jiān)測(cè),記錄包括開/關(guān)機(jī)狀態(tài)、輸入過(guò)壓/欠壓、輸出過(guò)壓/欠壓、輸入過(guò)流、過(guò)溫、輸入缺相等狀態(tài)。監(jiān)控分機(jī)定時(shí)采集這些狀態(tài)值并保存在RAM中,當(dāng)監(jiān)控主機(jī)接收到主處理機(jī)M0發(fā)來(lái)的查詢命令后,通過(guò)與監(jiān)控分機(jī)進(jìn)行多機(jī)通信,將各個(gè)電源分機(jī)的狀態(tài)值上傳給M0,由M0進(jìn)行分析處理。考慮到器件的環(huán)境適應(yīng)性,電源監(jiān)控分機(jī)的CPU采用Intel公司的MCS-51系列單片機(jī)中的MD8751芯片,其內(nèi)含4 kB EPROM,無(wú)需進(jìn)行片外擴(kuò)展。 2 多機(jī)通信過(guò)程 本系統(tǒng)中,電源監(jiān)控主機(jī)與8臺(tái)電源監(jiān)控分機(jī)通過(guò)RS-422,串行總線接口進(jìn)行多機(jī)通信。電源監(jiān)控分機(jī)的CPU中包含1個(gè)標(biāo)準(zhǔn)的異步傳輸串行口(UART),而電源監(jiān)控主機(jī)的CPU是包含2個(gè)功能完全相同的UART,它們除了具有8051標(biāo)準(zhǔn)串行口的功能外,還具有幀錯(cuò)誤檢測(cè)和地址識(shí)別硬件,稱為增強(qiáng)型UART。為了提高監(jiān)控主機(jī)與監(jiān)控分機(jī)串行口之間的兼容性,設(shè)置監(jiān)控主機(jī)CPU的UART工作在標(biāo)準(zhǔn)型。監(jiān)控主機(jī)和監(jiān)控分機(jī)的UART接口分別通過(guò)一對(duì)RS-422的差分發(fā)送器DS26LS31和差分接收器DS26LS32進(jìn)行數(shù)據(jù)的傳輸。通信過(guò)程中監(jiān)控主機(jī)的發(fā)送門和接收門始終打開,而監(jiān)控分機(jī)的接收門始終打開,而發(fā)送門由某指定信號(hào)控制。 在MCS-51系列單片機(jī)中,串行口工作在方式2或方式3,通過(guò)使用第9數(shù)據(jù)位可以支持一臺(tái)主處理器與1個(gè)或多個(gè)從處理器之間的多機(jī)通信。當(dāng)主機(jī)想發(fā)送數(shù)據(jù)給多個(gè)從機(jī)中某個(gè)時(shí),它先發(fā)送一個(gè)用于選擇目標(biāo)的地址字節(jié)。地址字節(jié)與數(shù)據(jù)字節(jié)的區(qū)別是:地址字節(jié)的第9位為邏輯1,數(shù)據(jù)字節(jié)的第9位總是設(shè)置為邏輯0。主機(jī)發(fā)送的地址信息可以被各從機(jī)接收,而主機(jī)發(fā)送的數(shù)據(jù)信息只能被指定從機(jī)接收,從機(jī)之間不能直接通信。從機(jī)利用串行口控制寄存器SCON中的SM2位來(lái)控制地址和數(shù)據(jù)幀的接收。主機(jī)與多個(gè)從機(jī)之間異步通信過(guò)程如下: a) 使所有從機(jī)的SM2位置1處于只接收地址幀的狀態(tài)。 b) 主機(jī)先發(fā)送一幀地址信息,其中8位地址,第9位為地址/信息的標(biāo)志位,該位置1表示該幀為地址信息,否則為數(shù)據(jù)信息。 c) 當(dāng)從機(jī)接收到地址幀后,各自將接收的地址與本機(jī)的地址比較。只有地址相符的那個(gè)從機(jī),使SM2位清零,準(zhǔn)備接收主機(jī)隨后發(fā)來(lái)的信息;其余地址不符的從機(jī),保持SM2=1,繼續(xù)監(jiān)聽地址幀。 d) 主機(jī)收到從機(jī)的應(yīng)答信號(hào)后,如果地址相符,準(zhǔn)備好數(shù)據(jù)信息,向從機(jī)發(fā)送數(shù)據(jù)或命令;如果地址不符,發(fā)復(fù)位信號(hào),準(zhǔn)備下一次的尋址過(guò)程。 e) 接著主機(jī)向從機(jī)發(fā)送約定長(zhǎng)度的數(shù)據(jù),發(fā)送結(jié)束后,發(fā)送一幀校驗(yàn)和,并等待接收從機(jī)回送的校驗(yàn)和。 f) 若校驗(yàn)和正確,主機(jī)發(fā)送停止位,要求從機(jī)復(fù)位,完成與該分機(jī)通信;若不正確,則要求重發(fā)一次。 g) 從機(jī)收到復(fù)位命令后置SM2=1,回到監(jiān)聽地址幀狀態(tài)。 3 軟件設(shè)計(jì) 由于機(jī)載環(huán)境對(duì)程序空間、時(shí)間要求高,要求數(shù)據(jù)采集、處理速度快,本文采用匯編語(yǔ)言進(jìn)行軟件設(shè)計(jì)。機(jī)內(nèi)測(cè)試控制系統(tǒng)的主處理器M0要求每隔50 ms刷新系統(tǒng)的所有狀態(tài)數(shù)據(jù),因此M0需要定時(shí)發(fā)送命令給各分系統(tǒng),以獲取最新的各系統(tǒng)狀態(tài)數(shù)據(jù)。電源監(jiān)控系統(tǒng)中的監(jiān)控主機(jī)根據(jù)M0發(fā)來(lái)的命令進(jìn)行相應(yīng)的操作。如果接收的是控制命令(即開關(guān)機(jī)命令),監(jiān)控主機(jī)立即將該命令轉(zhuǎn)發(fā)各個(gè)監(jiān)控分機(jī),控制各個(gè)電源的開關(guān)操作。如果接收的是查詢命令,監(jiān)控主機(jī)將緩沖內(nèi)存中的各個(gè)分機(jī)的狀態(tài)值發(fā)送給M0。為確保上傳的數(shù)據(jù)為最新值,監(jiān)控分機(jī)每隔1 ms采集一次相應(yīng)電源的各個(gè)狀態(tài)量,而監(jiān)控主機(jī)則每隔5 ms與8臺(tái)分機(jī)通信,讀取各分機(jī)的狀態(tài)值,并保存在緩沖內(nèi)存中,以便M0的查詢。電源監(jiān)控主機(jī)的CPU既處理與M0的數(shù)據(jù)交換,又要與8臺(tái)監(jiān)控分機(jī)進(jìn)行多機(jī)通信,程序相對(duì)復(fù)雜。 4 抗干擾設(shè)計(jì) 機(jī)載雷達(dá)工作環(huán)境惡劣,對(duì)設(shè)備的可靠性要求高,電源單片機(jī)監(jiān)控系統(tǒng)暴露在強(qiáng)EMI(電磁干擾)環(huán)境下,易受干擾,可靠性設(shè)計(jì)顯得尤為重要。電源及其凈化、接地、屏蔽、隔離和濾波等技術(shù)均關(guān)系到單片機(jī)控制系統(tǒng)工作的穩(wěn)定性。硬件方面,系統(tǒng)采用高速光耦實(shí)現(xiàn)信號(hào)的完全隔離,采用屏蔽線纜,有效地抑制了外界干擾對(duì)數(shù)字系統(tǒng)的影響,尤其是電源監(jiān)控分機(jī),與一次電源高壓大電流部分距離很近,專門設(shè)計(jì)了屏蔽層,信號(hào)傳送采用帶有屏蔽層的連接器。在PCB(印制電路板)布線時(shí),合理放置去耦電容,同時(shí)盡量采用片內(nèi)存儲(chǔ)器,增加硬件看門狗電路;軟件方面,在程序中定期進(jìn)行初始化處理,增加重要指令執(zhí)行次數(shù),從而有助于提高整個(gè)系統(tǒng)的抗干擾能力。 5 結(jié)束語(yǔ) 電源監(jiān)控系統(tǒng)采用嵌人式微機(jī)進(jìn)行模塊化設(shè)計(jì),作為一個(gè)分節(jié)點(diǎn),首次加入機(jī)載相控陣?yán)走_(dá)內(nèi)總線控制系統(tǒng),使雷達(dá)系統(tǒng)具有對(duì)電源分系統(tǒng)進(jìn)行監(jiān)控的優(yōu)點(diǎn),同時(shí)對(duì)數(shù)據(jù)處理主機(jī)來(lái)說(shuō),只是增加了一個(gè)分機(jī)節(jié)點(diǎn),簡(jiǎn)化了設(shè)計(jì)。 電源監(jiān)控主機(jī)采用串行內(nèi)總線控制系統(tǒng),選取具有雙串行口的CPU分別與主處理機(jī)和多臺(tái)監(jiān)控分機(jī)進(jìn)行通信,提高了系統(tǒng)響應(yīng)速度和可靠性,符合現(xiàn)代雷達(dá)技術(shù)的發(fā)展方向。 |