文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.019
中文引用格式: 楊建. 一種船用雷達(dá)模擬器控制板的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(4):72-75.
英文引用格式: Yang Jian. Design and implementation of a marine radar simulator control board[J].Application of Electronic Technique,2017,43(4):72-75.
0 引言
船用雷達(dá)訓(xùn)練過程中采用的方法一般采用實裝訓(xùn)練、模擬器訓(xùn)練和半實裝訓(xùn)練。實裝訓(xùn)練雷達(dá)一般都安裝在實驗室樓頂上端[1],在周圍建筑物影響下,目標(biāo)回波與真實的海上回波差別很大,針對性不強,并且訓(xùn)練中雷達(dá)輻射大量的大功率電磁波,不僅形成資源浪費,且對人體有傷害。模擬器訓(xùn)練可以在不輻射電磁波的情況下較好地提供接近真實雷達(dá)的海上回波,但學(xué)生都是用鼠標(biāo)控制雷達(dá)的各種操作,與真實的操作面板差異很大,不利于學(xué)生的操作訓(xùn)練。半實裝訓(xùn)練是采用雷達(dá)顯示器真機和取代收發(fā)機的信號發(fā)生器相結(jié)合的方式,避免了天線輻射,但由于信號發(fā)生器存儲容量有限,只能存儲某一岸線和碼頭的回波,雷達(dá)回波單一[2],效果并不理想。鑒于以上存在的問題,本文提出一種新的船用雷達(dá)訓(xùn)練方式,用與真雷達(dá)一樣的操作面板去控制軟件雷達(dá)模擬器工作,完成雷達(dá)的各種功能訓(xùn)練。軟件模擬器技術(shù)比較成熟,使用中只要設(shè)計合適的接口即可,因此,本文的核心是設(shè)計一款控制軟件雷達(dá)模擬器的操作控制板,本板以單片機為核心,結(jié)合A/D采樣器,把按鍵、電位器等功能轉(zhuǎn)化為二進(jìn)制代碼,通過USB接口與電腦交換數(shù)據(jù)。所以,控制板的硬件和軟件設(shè)計是重點工作。設(shè)計完成的控制板可實現(xiàn)絕大多數(shù)類型的船用雷達(dá)操作訓(xùn)練,實現(xiàn)模擬雷達(dá)的功能,提供接近真機的操作體驗,具有很好的便攜性,且升級方便。
1 硬件系統(tǒng)設(shè)計
模擬器控制板要能完成雷達(dá)操作所需的各種控鈕、按鍵及狀態(tài)顯示標(biāo)志,并要設(shè)計與計算機通信的硬件電路。
1.1 硬件框圖設(shè)計
船用雷達(dá)模擬器控制框圖如圖1所示。電位器電路包括雨雪、海浪、增益和調(diào)諧等電路,由于電位器產(chǎn)生的是連續(xù)的模擬電壓信號,必須經(jīng)過A/D采樣后變換成數(shù)字信號,經(jīng)單片機送給PC完成對模擬器軟件的控制;按鍵電路是雷達(dá)相關(guān)功能的開關(guān),使其工作在高低電平,完成相應(yīng)的工作,為了提高接口程序的穩(wěn)定性和降低程序的復(fù)雜度,通過與門電路設(shè)計使按鍵掃描工作在中斷方式;電源主要為單片機、電位器、門電路等各種芯片提供工作電源;晶振作為振蕩元件,給單片機和USB接口芯片提供合適的工作時鐘。
1.2 單片機硬件電路設(shè)計
現(xiàn)在的雷達(dá)面板一般有12~21個按鍵、4~6個電位器。因此在對單片機選型時,首先考慮其管腳是否夠用和有無自帶A/D采樣器,其次考慮性價比,因此選取STC12C5A60S2 芯片。它是宏晶公司生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。內(nèi)部集成MAX810專用復(fù)位電路、2路PWM、8路高速10位A/D 轉(zhuǎn)換,這些特點保證了面板硬件電路簡單實用。其電路如圖2所示。
單片機電路設(shè)計時,重點注意以下問題:(1)外部晶振頻率的選擇。為了使定時器T1的初值設(shè)置為整數(shù),便于產(chǎn)生USB串口通信精確的波特率,這里選取的晶振頻率為11.059 2 MHz;(2)電源上必須設(shè)置一個開關(guān),為單片機下載程序時使用,原因是STC12C5A60S2必須斷電后重新加電才能把程序下載到單片機內(nèi)部;(3)設(shè)置開機復(fù)位電路,由于單片機內(nèi)部的特殊功能寄存器控制各個功能部件正常工作,因此單片機工作時需要復(fù)位控制,并且只能從外部進(jìn)行[3];(4)注意把外部0中斷連接到與門終端,用于按鍵掃描控制。為了便于閱讀,本電路端口連接全部使用網(wǎng)絡(luò)標(biāo)號。
1.3 USB接口電路設(shè)計
USB(Universal Serial Bus)是一種通用的串行總線技術(shù),通過PCI總線和PC的內(nèi)部系統(tǒng)數(shù)據(jù)線連接,實現(xiàn)數(shù)據(jù)的傳送,具有即插即用功能,支持熱插拔[4]。利用STC12C5A60S2上的串行通信引腳TXD和RXD,通過PL2303HX或CH340芯片來實現(xiàn)串口轉(zhuǎn)USB口的電路。考慮性價比及實用性,本文采用Prolific公司推出的串口轉(zhuǎn)USB接口的轉(zhuǎn)換芯片PL2303HX來實現(xiàn)單片機的串口轉(zhuǎn)USB接口的電路。USB接口電路如圖3所示。PL2303HX轉(zhuǎn)換電路并不復(fù)雜,外圍只需幾個電阻和電容就可實現(xiàn)單片機與接PC之間的通信。
從圖3中看出,PL2303HX的TXD和RXD引腳分別與單片機的P3.0和P3.1連接,就可完成單片機串口與USB口的轉(zhuǎn)換,但是注意這兩根線一定要做成差分處理。PL2303HX外部12 MHz晶振為自己提供工作時鐘,外圍兩個電容為起振電容;為了防止信號在端口附近產(chǎn)生反射現(xiàn)象,在D-和D+兩個端口上分別接上一個阻值為27 Ω的終端匹配電阻,D+端接一個1.5 kΩ的上拉電阻,實現(xiàn)枚舉功能。此控制板采用USB直接供電,因此在USB供電輸出端需要C、C15兩個電容對電源濾波處理,發(fā)光二極管D2主要監(jiān)測USB供電是否正常。
1.4 按鍵及電位器電路設(shè)計
按鍵電路的功能是按下相關(guān)鍵后控制PC上模擬器軟件執(zhí)行相應(yīng)的功能,如POWER鍵按下后,模擬器軟件開始執(zhí)行開機的工作,面板出現(xiàn)蜂鳴聲,屏幕上出現(xiàn)倒計時。因此,在鍵按下后,輸出一個低電平給單片機,單片機通過掃描確定POWER鍵按下,然后送給PC一個二進(jìn)制代碼,如FF0101AA。所以在設(shè)計硬件電路時,要用簡單實用的電路來實現(xiàn)需要的功能。按鍵電路如圖4所示,當(dāng)S1沒有按下時,POWER端通過上拉電阻接到電源,因此POWER端的電壓為高電平(+5 V),當(dāng)S1按下時,S1的“1”端和“4”端導(dǎo)通,POWER端接地,輸出為低電平;當(dāng)S1松開時,“1”和“4”端斷開,POWER端恢復(fù)為高電平。由于單片機采用中斷對按鍵處理,因此POWER端還要通過與門與單片機外部0中斷(INTN0)連接。
電位器電路是控鈕電路,調(diào)整旋鈕產(chǎn)生連續(xù)模擬電壓信號去控制雷達(dá)功能的變化。由于單片機不識別模擬信號,因此需要把電壓信號進(jìn)行采樣控制,為了節(jié)省成本,采用了單片機自帶的A/D采樣器,因此,只需要把變化的電壓送到單片機的P0口就可以了。電路如圖5所示,由于模擬器軟件界面顯示變化一般可達(dá)十幾到幾十種,因此,設(shè)計給P0口模擬電壓的大小要按式(1)進(jìn)行計算:
式中,ADC_CONTR[7:0]代表采樣結(jié)果,Vin代表輸入電壓,Vcc指工作電壓,此處為5 V??紤]到模擬軟件的升級,此處送給P0的電壓控制在0~2 V,即可較好地滿足需求。
其他按鍵電路和電位器電路設(shè)計大致相同,這里就不再重復(fù)。
2 系統(tǒng)軟件設(shè)計
面板要把針對面板的各種操作轉(zhuǎn)換為代碼去控制PC上模擬器軟件工作。因此,面板接口程序不僅要完成單片機與電腦之間的通信,還要完成按鍵掃描程序、ADC采樣等程序的設(shè)計。
2.1 按鍵程序設(shè)計
獨立式按鍵性能穩(wěn)定,單片機上的可用I/O口足夠用,因此采用中斷方式的獨立式按鍵接口電路,任何一個按鍵按下時,都會觸發(fā)外部零中斷,由中斷入口處用一跳轉(zhuǎn)指令進(jìn)入按鍵查詢子程序,確定具體按鍵號,通過USB串口送代碼給PC。
開始階段要設(shè)置具體的起始地址、中斷入口地址和各種寄存器的初始狀態(tài),然后等待中斷,中斷到來后執(zhí)行查詢和數(shù)據(jù)傳遞等功能,程序流程如圖6所示。
面板按鍵是機械觸點按鍵,在觸點的閉合和斷開瞬間會出現(xiàn)抖動,從而使電信號出現(xiàn)抖動,這可能會導(dǎo)致系統(tǒng)多次執(zhí)行中斷程序,因此按鍵需要消抖處理,按鍵抖動的時間長短與開關(guān)的機械特性有關(guān),一般為5~10 ms[5]。程序設(shè)計時要做2次消抖處理:一是按鍵閉合消抖,當(dāng)查詢某一按鍵按下時,延時10 ms后,檢查信號是否為低電平,如果為低電平,送32位數(shù)給PC,否則重新掃描;二是按鍵松開消抖,方法同按鍵閉合消抖處理一樣,這里就不再重復(fù)。當(dāng)POWER鍵按下時傳送給PC的數(shù)據(jù)就是FF3101AAH,F(xiàn)F表示單片機過來的是有效數(shù)據(jù),31表示執(zhí)行的是開關(guān)機功能,01無具體意義,AA代表有效數(shù)據(jù)結(jié)束。其他按鍵按下時傳遞的數(shù)據(jù)都是32位,只是中間的功能代表值有差異。
2.2 ADC采樣程序設(shè)計
利用STC12C5A60S2單片機自帶的采樣速度可達(dá)250 kHz的8路A/D轉(zhuǎn)換器,能方便地把模擬電壓信號進(jìn)行量化,由于只有4個電位器,所以只用了P1.0~P1.3口。在程序設(shè)計時需注意以下幾個問題:一是要用STC單片機擴展的特殊功能寄存器,需要先聲明特殊功能寄存器的地址,如ADC控制寄存器聲明方式:ADC_CONTR EQU 0BCH;二是要按照STC技術(shù)手冊的要求,打開外部模擬通道P1.0~P1.3口,設(shè)置ADC_CONTR寄存器,適當(dāng)延時,等內(nèi)部電源穩(wěn)定再進(jìn)行A/D轉(zhuǎn)換。ADC中斷轉(zhuǎn)換軟件程序流程圖如圖7所示。
控制板工作時,ADC每次采樣傳送到PC的數(shù)據(jù)也是32位,如TUNING電位器傳送的數(shù)據(jù)可能是FF0040AAH,F(xiàn)F和AA代表的數(shù)據(jù)和上述相同,00代表的是模擬通道P1.0,40代表的P1.0通道模擬電壓信號的采樣值。
2.3 USB串口通信程序設(shè)計
串口通信主要包括USB串口驅(qū)動程序、串口通信及波特率初始化和發(fā)送數(shù)據(jù)子程序。USB串口驅(qū)動子程序可從Prolific公司網(wǎng)站下載,安裝后直接使用,當(dāng)單片機系統(tǒng)與PC主機系統(tǒng)通過USB通信線連接起來后,PC將這個USB接口看成是一個COM口(RS232全雙工異步串行通信接口),此端口號是PC自動分派的,不是每臺都一樣,使用時記住串口號即可。
串口通信采用串行口工作方式1的發(fā)送接收方式,通信雙方不需要時鐘同步,發(fā)送方和接收方都有自己的移位脈沖,通過設(shè)置共同的波特率來實現(xiàn)同步。具體步驟為:(1)初始化串口,設(shè)置SCON以及PCON寄存器;(2)初始化寄存器,設(shè)置波特率。匯編程序子程序如下所示。
INIT_UART:MOV TMOD, #20H;設(shè)置定時器/計數(shù)器1,工作于模式2
MOV TH1, #0FAH
MOV TL1, #0FAH;波特率4 800 b/s
SETB TR1; 啟動定時器/計數(shù)器1
MOV PCON, #0;設(shè)SMOD為0
MOV SCON, #40H;設(shè)置串行通信工作于方式1,不允許接收
RET
此程序可根據(jù)實際需求,重置TH1和TL1的數(shù)值更新波特率大小。傳送數(shù)據(jù)子程序設(shè)計流程為:(1)將發(fā)送的數(shù)據(jù)送入串口緩沖寄存器;(2)硬件自動發(fā)送數(shù)據(jù),發(fā)送結(jié)束后,TI置1;(3)軟件對TI進(jìn)行清零,以發(fā)送下一數(shù)據(jù)。具體程序如下所示:
SEND_DATA: MOV SBUF, A;送A的值到SBUF
JNB TI, $;等數(shù)據(jù)傳送
CLR TI;置TI為零
RET
3 實驗結(jié)果
將制作好的控制板通過串口與電腦進(jìn)行連接,設(shè)置好波特率,通過串口軟件查看按鍵和電位器傳遞的數(shù)據(jù),結(jié)果與設(shè)計結(jié)果完全一致,證明了設(shè)計的正確性。圖8是通過增益電位器控制雷達(dá)屏幕的顯示,很好地控制了軟件模擬器的工作,達(dá)到了預(yù)期效果。
4 結(jié)語
通過單片機將雷達(dá)面板上的各種模擬操作轉(zhuǎn)換成二進(jìn)制代碼去控制軟件模擬器工作,具有靈活性大、逼真度高的特點。根據(jù)船用導(dǎo)航雷達(dá)操作控制板的特點,本文設(shè)計出了基于STC12C5A60S2單片機的船用雷達(dá)操作控制板,并對硬件和軟件設(shè)計進(jìn)行了詳盡的介紹。本板經(jīng)測試表明性能穩(wěn)定,現(xiàn)已在某一軍用雷達(dá)模擬訓(xùn)練器上投入使用,效果良好。
參考文獻(xiàn)
[1] 童雪娟,馮明奎,傅鳳歧.基于單片機的航海雷達(dá)信號仿真[J].系統(tǒng)仿真技術(shù),2015(1):52-56.
[2] 尹勇,劉秀文,李志華.采用真雷達(dá)顯示器的航海雷達(dá)模擬器的關(guān)鍵技術(shù)[J].系統(tǒng)仿真技術(shù),2007(3):1014-1017.
[3] 楊建,鄧志清,高峰.基于FPGA的多功能雷達(dá)信號處理板硬件系統(tǒng)設(shè)計[J].艦船電子對抗,2011(12):52-56.
[4] 文治洪,胡文東,李曉京,等.基于PL2303的USB接口設(shè)計[J].電子設(shè)計工程,2010(1):32-34.
[5] 姜志海,黃玉清,劉連鑫.單片機原理及應(yīng)用[M].北京:電子工業(yè)出版社,2013.
作者信息:
楊 建
(解放軍鎮(zhèn)江船艇學(xué)院,江蘇 鎮(zhèn)江212003)