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