(中國電子科技集團公司第三十八研究所,安徽合肥230088)
監(jiān)控分系統(tǒng)是整部雷達控制和狀態(tài)監(jiān)控的樞紐,既要解析、轉(zhuǎn)發(fā)、執(zhí)行來自終端人機界面的控制和查詢命令,同時又要采集、分析、上報整部雷達的狀態(tài)給終端分系統(tǒng)[1]。監(jiān)控分系統(tǒng)的功能和其他分系統(tǒng)聯(lián)系非常緊密,因此測試時需要其他分系統(tǒng)的配合,很多問題在分系統(tǒng)調(diào)試階段無法充分暴露出來,只能在整機聯(lián)調(diào)階段發(fā)現(xiàn)問題,此時故障定位和解決的難度都要比分系統(tǒng)調(diào)試階段大上很多。針對這種情況,設計監(jiān)控分系統(tǒng)自測平臺,通過模擬其他分系統(tǒng)與監(jiān)控分系統(tǒng)之間的通信,達到檢驗監(jiān)控分系統(tǒng)各項功能是否正常的目的。
監(jiān)控分系統(tǒng)作為一個龐大而復雜的協(xié)議轉(zhuǎn)換器和執(zhí)行器,具有接口電平多、通信線路多、任務性質(zhì)多的特點。從控制和監(jiān)控的角度看,雷達各分系統(tǒng)之間的關系如圖1所示(與監(jiān)控分系統(tǒng)未發(fā)生聯(lián)系的分系統(tǒng)在圖中未標出)。在設計自測平臺之前,必須充分考慮這些因素,選擇合理的方案。
監(jiān)控分系統(tǒng)與其他分系統(tǒng)之間的接口電平有LVTTL、TTL和422三種電平,這就需要自測平臺能夠提供電平轉(zhuǎn)換電路,使各種形式的電平轉(zhuǎn)換為FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)所能接受的3.3 V電平[2]。針對接口電平多的特點,設計專用的電平轉(zhuǎn)換電路,將不同電平的信號轉(zhuǎn)換成統(tǒng)一的信號,便于后續(xù)的處理。
圖1 雷達各分系統(tǒng)之間關系
監(jiān)控分系統(tǒng)需要監(jiān)控的狀態(tài)信息以及執(zhí)行的命令數(shù)量眾多,每一項都需要占用一條獨立的通信線路,這樣監(jiān)控分系統(tǒng)與其他分系統(tǒng)之間就會有大量的通信線路。針對通信線路多的特點,如果直接使用計算機模塊和FPGA芯片的接口進行通信,會出現(xiàn)接口資源不足的矛盾。自測平臺采用210芯接口來擴展計算機模塊和FPGA芯片的接口資源,所有的通信線路都連接在210芯接口的引腳上,這些引腳再和計算機模塊及FPGA芯片的接口相連,根據(jù)“分時復用”的原則[3],不同的時刻向不同的引腳發(fā)送數(shù)據(jù),或從引腳接收數(shù)據(jù)。
任務性質(zhì)多主要指任務在時間周期上的不同。有些任務是周期性的,有些是非周期性的;有些數(shù)據(jù)是主動上報給監(jiān)控分系統(tǒng)的,有些需要接收到監(jiān)控分系統(tǒng)的詢問信號才回饋相應的狀態(tài)信息。由于使用了計算機模塊和FPGA芯片作為主控器件,可以靈活地對器件的功能進行編程設計,因此任務性質(zhì)不同的問題也很容易得到解決。
綜合以上分析,監(jiān)控分系統(tǒng)自測平臺由硬件和軟件兩部分組成。軟件駐留在計算機模塊中,負責解析用戶操作、組織數(shù)據(jù)和處理數(shù)據(jù)。硬件電路一方面為軟件提供運行平臺,另一方面將計算機接收和發(fā)送的數(shù)據(jù)轉(zhuǎn)換為監(jiān)控分系統(tǒng)能夠識別的各種電平信號,同時根據(jù)計算機的指令分時調(diào)度硬件資源。
當前不同型號雷達監(jiān)控分系統(tǒng)采用的接口不一,主要有210芯、100芯、雙100芯、CPCI(Compact Peripheral Component Interconnect,緊湊型PCI)、定制等接口類型[4]。為了讓自測平臺能夠適應不同的硬件接口,自測平臺的210芯并不是和其他插件一樣直接掛在總線上,而是另外增加一個210芯插座,該210芯插座和自測平臺的210芯接口相對應(比如自測平臺210芯是針,則該210芯插座就應該是孔)。在210芯插座另外一面的針上焊接所有的通信線路,通信線路的另外一端連接各種連接器,通過連接器和被測監(jiān)控分系統(tǒng)進行通信。硬件連接示意圖如圖2所示。對于不同形式的硬件接口,只需更換圖中虛線框中的部分,即可實現(xiàn)對各種接口的自適應連接。
上位機軟件基于MFC(Microsoft Foundation Classes)開發(fā)。根據(jù)需要,把軟件系統(tǒng)劃分為6個模塊,對應的源文件分別是Monitor Test Dlg.cpp、Dlg Trans.cpp、DlgFrquency.cpp、DlgSensor.cpp、DlgSerial.cpp和PortDriver.cpp。
圖2 自測平臺硬件接口自適應連接示意圖
Monitor Test Dlg.cpp是上位機軟件的主界面,在系統(tǒng)啟動時負責對系統(tǒng)參數(shù)進行初始化設定、加載串口驅(qū)動和其他子模塊,隨后開啟定時器,驅(qū)動串口工作。
Dlg Trans.cpp對應的是發(fā)射機分系統(tǒng),包含模擬發(fā)射機各項功能正常與否的函數(shù),同時還要讀取終端分系統(tǒng)下發(fā)的開關機、復位等指令,根據(jù)讀取到的指令在上位機界面上作相應的指示。
Dlg Frquency.cpp對應的是頻率源分系統(tǒng),和Dlg Trans.cpp類似,包含模擬頻率源各項功能正常與否的函數(shù),同時還要讀取終端分系統(tǒng)下發(fā)的開關機指令,根據(jù)讀取到的指令在上位機界面上作相應的指示。
DlgSensor.cpp對應的是煙霧傳感器,只向監(jiān)控發(fā)送代表當前是否存在煙霧的指令。
DlgSerial.cpp對應的是配電器、電站、空調(diào)1和空調(diào)2四個分系統(tǒng),因為這四個分系統(tǒng)和監(jiān)控分系統(tǒng)的通信方式相同,功能單一,因此合并成一個模塊,以簡化設計。該模塊根據(jù)每收到一次終端的查詢指令,相應的計數(shù)值就會加1,只要上位機界面上的數(shù)字在不斷地累加,就說明該分系統(tǒng)和監(jiān)控通信正常。
PortDriver.cpp是上位機軟件的核心模塊,負責上位機軟件和硬件之間的數(shù)據(jù)交互,所有的數(shù)據(jù)都要經(jīng)過串口驅(qū)動進行讀和寫。串口驅(qū)動的另外一項重要功能是對需要發(fā)送的數(shù)據(jù)按協(xié)議進行打包,對接收的數(shù)據(jù)按協(xié)議進行解析。
圖3是各模塊之間的相互關系。
圖3 各模塊之間的相互關系
主程序啟動后首先加載串口驅(qū)動,串口驅(qū)動要對端口和數(shù)據(jù)進行初始化。由于上位機主界面和各子模塊的界面是分開設計的,因此主程序還要加載各子模塊的界面。界面加載完成后,主程序啟動一個定時器,在定時器的驅(qū)動下,串口驅(qū)動有周期性地對各個端口進行讀寫操作,將需要發(fā)送的數(shù)據(jù)發(fā)送給監(jiān)控,然后讀取端口接收到的數(shù)據(jù)。定時器只有在主程序關閉時才會終止運行。各分系統(tǒng)模塊會把用戶的操作轉(zhuǎn)換成0和1(0代表故障,1代表正常)記錄在結(jié)構體中,交給串口驅(qū)動進行處理;另外還要根據(jù)串口驅(qū)動接收的數(shù)據(jù)在界面上作相應的指示。圖4是上位機軟件的程序流程圖。
根據(jù)總體設計方案,硬件電路由四部分組成:計算機、FPGA、電平轉(zhuǎn)換電路和210芯接口。下面簡要介紹各模塊的功能。
圖4 上位機軟件的程序流程圖
計算機選用PC104嵌入式計算機模塊,該計算機模塊被廣泛應用在各種型號的雷達中。計算機模塊將自身的地址線、數(shù)據(jù)線和中斷信號提供給FPGA使用,所有的數(shù)據(jù)都從計算機的串口進出。數(shù)據(jù)線和中斷信號是雙向流動的,便于計算機和FPGA之間的交互。
FPGA芯片選用EPF10K50RI240-4,該型號芯片成本較低,且能滿足設計需要。FPGA負責對計算機信號進行譯碼,根據(jù)計算機指令產(chǎn)生不同的片選信號和使能信號,使數(shù)據(jù)根據(jù)時序從不同的端口輸入和輸出,從而充分利用計算機有限的IO資源,達到“分時復用”的效果。FPGA還起到緩沖器的作用,把不同波特率的數(shù)據(jù)轉(zhuǎn)換成計算機串口能夠識別的波特率[5]。
電平轉(zhuǎn)換電路主要由各種驅(qū)動芯片組成,如162244、163244、164245,實 現(xiàn) LVTTL、TTL 和3.3 V電平之間的轉(zhuǎn)換以及信號放大等功能。由于422屬于差分信號,因此還需要差分信號轉(zhuǎn)換芯片。
電平轉(zhuǎn)換之后的信號送給210芯接口,210芯接口是直接和監(jiān)控分系統(tǒng)打交道的模塊,為每個監(jiān)控事件提供一個硬件通道。
圖5是硬件電路的示意圖。
圖5 硬件電路示意圖
監(jiān)控分系統(tǒng)自測平臺軟、硬件架構簡捷清晰,采用低成本設計,硬件具有通用性,只需對軟件和FPGA程序進行重新設計,即可應用到其他型號雷達的測試中。而且能自適應采用不同硬件接口的監(jiān)控分系統(tǒng)。這種通用性的設計能夠加快雷達監(jiān)控分系統(tǒng)自測平臺的開發(fā),為雷達批量生產(chǎn)提供快速、準確的測試方案。
[1]謝東輝,齊偉民.基于Nios II片上可編程系統(tǒng)(SOPC)實現(xiàn)的雷達監(jiān)控系統(tǒng)[J].中國科學院研究生院學報,2010,27(1):63-69.
[2]張鵬南,孫宇,夏洪洋.基于Quartus II的VHDL數(shù)字系統(tǒng)設計入門與應用案例[M].北京:電子工業(yè)出版社,2012:18-19.
[3]李清,張彼德,郭筱瑛,等.分時復用控制多路輸出開關電源[J].電測與儀表,2014,51(20):109-115.
[4]鐘志華.一種通用雷達自動化測試設備的研究及其應用[D].哈爾濱:哈爾濱工業(yè)大學,2011.
[5]吳越,嚴濟鴻,何子述.基于FPGA的多通道高速數(shù)據(jù)采集系統(tǒng)[J].雷達科學與技術,2012,10(6):671-676.WU Yue,YAN Jihong,HE Zishu.Multichannel High-Speed Data Acquisition System Based on FPGA and USB 2.0[J].Radar Science and Technology,2012,10(6):671-676.(in Chinese)