文献标识码: A
DOI:10.16157/j.issn.0258-7998.2017.04.019
中文引用格式: 杨建. 一种船用雷达模拟器控制板的设计与实现[J].电子技术应用,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 引言
船用雷达训练过程中采用的方法一般采用实装训练、模拟器训练和半实装训练。实装训练雷达一般都安装在实验室楼顶上端[1],在周围建筑物影响下,目标回波与真实的海上回波差别很大,针对性不强,并且训练中雷达辐射大量的大功率电磁波,不仅形成资源浪费,且对人体有伤害。模拟器训练可以在不辐射电磁波的情况下较好地提供接近真实雷达的海上回波,但学生都是用鼠标控制雷达的各种操作,与真实的操作面板差异很大,不利于学生的操作训练。半实装训练是采用雷达显示器真机和取代收发机的信号发生器相结合的方式,避免了天线辐射,但由于信号发生器存储容量有限,只能存储某一岸线和码头的回波,雷达回波单一[2],效果并不理想。鉴于以上存在的问题,本文提出一种新的船用雷达训练方式,用与真雷达一样的操作面板去控制软件雷达模拟器工作,完成雷达的各种功能训练。软件模拟器技术比较成熟,使用中只要设计合适的接口即可,因此,本文的核心是设计一款控制软件雷达模拟器的操作控制板,本板以单片机为核心,结合A/D采样器,把按键、电位器等功能转化为二进制代码,通过USB接口与电脑交换数据。所以,控制板的硬件和软件设计是重点工作。设计完成的控制板可实现绝大多数类型的船用雷达操作训练,实现模拟雷达的功能,提供接近真机的操作体验,具有很好的便携性,且升级方便。
1 硬件系统设计
模拟器控制板要能完成雷达操作所需的各种控钮、按键及状态显示标志,并要设计与计算机通信的硬件电路。
1.1 硬件框图设计
船用雷达模拟器控制框图如图1所示。电位器电路包括雨雪、海浪、增益和调谐等电路,由于电位器产生的是连续的模拟电压信号,必须经过A/D采样后变换成数字信号,经单片机送给PC完成对模拟器软件的控制;按键电路是雷达相关功能的开关,使其工作在高低电平,完成相应的工作,为了提高接口程序的稳定性和降低程序的复杂度,通过与门电路设计使按键扫描工作在中断方式;电源主要为单片机、电位器、门电路等各种芯片提供工作电源;晶振作为振荡元件,给单片机和USB接口芯片提供合适的工作时钟。
1.2 单片机硬件电路设计
现在的雷达面板一般有12~21个按键、4~6个电位器。因此在对单片机选型时,首先考虑其管脚是否够用和有无自带A/D采样器,其次考虑性价比,因此选取STC12C5A60S2 芯片。它是宏晶公司生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。内部集成MAX810专用复位电路、2路PWM、8路高速10位A/D 转换,这些特点保证了面板硬件电路简单实用。其电路如图2所示。
单片机电路设计时,重点注意以下问题:(1)外部晶振频率的选择。为了使定时器T1的初值设置为整数,便于产生USB串口通信精确的波特率,这里选取的晶振频率为11.059 2 MHz;(2)电源上必须设置一个开关,为单片机下载程序时使用,原因是STC12C5A60S2必须断电后重新加电才能把程序下载到单片机内部;(3)设置开机复位电路,由于单片机内部的特殊功能寄存器控制各个功能部件正常工作,因此单片机工作时需要复位控制,并且只能从外部进行[3];(4)注意把外部0中断连接到与门终端,用于按键扫描控制。为了便于阅读,本电路端口连接全部使用网络标号。
1.3 USB接口电路设计
USB(Universal Serial Bus)是一种通用的串行总线技术,通过PCI总线和PC的内部系统数据线连接,实现数据的传送,具有即插即用功能,支持热插拔[4]。利用STC12C5A60S2上的串行通信引脚TXD和RXD,通过PL2303HX或CH340芯片来实现串口转USB口的电路。考虑性价比及实用性,本文采用Prolific公司推出的串口转USB接口的转换芯片PL2303HX来实现单片机的串口转USB接口的电路。USB接口电路如图3所示。PL2303HX转换电路并不复杂,外围只需几个电阻和电容就可实现单片机与接PC之间的通信。
从图3中看出,PL2303HX的TXD和RXD引脚分别与单片机的P3.0和P3.1连接,就可完成单片机串口与USB口的转换,但是注意这两根线一定要做成差分处理。PL2303HX外部12 MHz晶振为自己提供工作时钟,外围两个电容为起振电容;为了防止信号在端口附近产生反射现象,在D-和D+两个端口上分别接上一个阻值为27 Ω的终端匹配电阻,D+端接一个1.5 kΩ的上拉电阻,实现枚举功能。此控制板采用USB直接供电,因此在USB供电输出端需要C、C15两个电容对电源滤波处理,发光二极管D2主要监测USB供电是否正常。
1.4 按键及电位器电路设计
按键电路的功能是按下相关键后控制PC上模拟器软件执行相应的功能,如POWER键按下后,模拟器软件开始执行开机的工作,面板出现蜂鸣声,屏幕上出现倒计时。因此,在键按下后,输出一个低电平给单片机,单片机通过扫描确定POWER键按下,然后送给PC一个二进制代码,如FF0101AA。所以在设计硬件电路时,要用简单实用的电路来实现需要的功能。按键电路如图4所示,当S1没有按下时,POWER端通过上拉电阻接到电源,因此POWER端的电压为高电平(+5 V),当S1按下时,S1的“1”端和“4”端导通,POWER端接地,输出为低电平;当S1松开时,“1”和“4”端断开,POWER端恢复为高电平。由于单片机采用中断对按键处理,因此POWER端还要通过与门与单片机外部0中断(INTN0)连接。
电位器电路是控钮电路,调整旋钮产生连续模拟电压信号去控制雷达功能的变化。由于单片机不识别模拟信号,因此需要把电压信号进行采样控制,为了节省成本,采用了单片机自带的A/D采样器,因此,只需要把变化的电压送到单片机的P0口就可以了。电路如图5所示,由于模拟器软件界面显示变化一般可达十几到几十种,因此,设计给P0口模拟电压的大小要按式(1)进行计算:
式中,ADC_CONTR[7:0]代表采样结果,Vin代表输入电压,Vcc指工作电压,此处为5 V。考虑到模拟软件的升级,此处送给P0的电压控制在0~2 V,即可较好地满足需求。
其他按键电路和电位器电路设计大致相同,这里就不再重复。
2 系统软件设计
面板要把针对面板的各种操作转换为代码去控制PC上模拟器软件工作。因此,面板接口程序不仅要完成单片机与电脑之间的通信,还要完成按键扫描程序、ADC采样等程序的设计。
2.1 按键程序设计
独立式按键性能稳定,单片机上的可用I/O口足够用,因此采用中断方式的独立式按键接口电路,任何一个按键按下时,都会触发外部零中断,由中断入口处用一跳转指令进入按键查询子程序,确定具体按键号,通过USB串口送代码给PC。
开始阶段要设置具体的起始地址、中断入口地址和各种寄存器的初始状态,然后等待中断,中断到来后执行查询和数据传递等功能,程序流程如图6所示。
面板按键是机械触点按键,在触点的闭合和断开瞬间会出现抖动,从而使电信号出现抖动,这可能会导致系统多次执行中断程序,因此按键需要消抖处理,按键抖动的时间长短与开关的机械特性有关,一般为5~10 ms[5]。程序设计时要做2次消抖处理:一是按键闭合消抖,当查询某一按键按下时,延时10 ms后,检查信号是否为低电平,如果为低电平,送32位数给PC,否则重新扫描;二是按键松开消抖,方法同按键闭合消抖处理一样,这里就不再重复。当POWER键按下时传送给PC的数据就是FF3101AAH,FF表示单片机过来的是有效数据,31表示执行的是开关机功能,01无具体意义,AA代表有效数据结束。其他按键按下时传递的数据都是32位,只是中间的功能代表值有差异。
2.2 ADC采样程序设计
利用STC12C5A60S2单片机自带的采样速度可达250 kHz的8路A/D转换器,能方便地把模拟电压信号进行量化,由于只有4个电位器,所以只用了P1.0~P1.3口。在程序设计时需注意以下几个问题:一是要用STC单片机扩展的特殊功能寄存器,需要先声明特殊功能寄存器的地址,如ADC控制寄存器声明方式:ADC_CONTR EQU 0BCH;二是要按照STC技术手册的要求,打开外部模拟通道P1.0~P1.3口,设置ADC_CONTR寄存器,适当延时,等内部电源稳定再进行A/D转换。ADC中断转换软件程序流程图如图7所示。
控制板工作时,ADC每次采样传送到PC的数据也是32位,如TUNING电位器传送的数据可能是FF0040AAH,FF和AA代表的数据和上述相同,00代表的是模拟通道P1.0,40代表的P1.0通道模拟电压信号的采样值。
2.3 USB串口通信程序设计
串口通信主要包括USB串口驱动程序、串口通信及波特率初始化和发送数据子程序。USB串口驱动子程序可从Prolific公司网站下载,安装后直接使用,当单片机系统与PC主机系统通过USB通信线连接起来后,PC将这个USB接口看成是一个COM口(RS232全双工异步串行通信接口),此端口号是PC自动分派的,不是每台都一样,使用时记住串口号即可。
串口通信采用串行口工作方式1的发送接收方式,通信双方不需要时钟同步,发送方和接收方都有自己的移位脉冲,通过设置共同的波特率来实现同步。具体步骤为:(1)初始化串口,设置SCON以及PCON寄存器;(2)初始化寄存器,设置波特率。汇编程序子程序如下所示。
INIT_UART:MOV TMOD, #20H;设置定时器/计数器1,工作于模式2
MOV TH1, #0FAH
MOV TL1, #0FAH;波特率4 800 b/s
SETB TR1; 启动定时器/计数器1
MOV PCON, #0;设SMOD为0
MOV SCON, #40H;设置串行通信工作于方式1,不允许接收
RET
此程序可根据实际需求,重置TH1和TL1的数值更新波特率大小。传送数据子程序设计流程为:(1)将发送的数据送入串口缓冲寄存器;(2)硬件自动发送数据,发送结束后,TI置1;(3)软件对TI进行清零,以发送下一数据。具体程序如下所示:
SEND_DATA: MOV SBUF, A;送A的值到SBUF
JNB TI, $;等数据传送
CLR TI;置TI为零
RET
3 实验结果
将制作好的控制板通过串口与电脑进行连接,设置好波特率,通过串口软件查看按键和电位器传递的数据,结果与设计结果完全一致,证明了设计的正确性。图8是通过增益电位器控制雷达屏幕的显示,很好地控制了软件模拟器的工作,达到了预期效果。
4 结语
通过单片机将雷达面板上的各种模拟操作转换成二进制代码去控制软件模拟器工作,具有灵活性大、逼真度高的特点。根据船用导航雷达操作控制板的特点,本文设计出了基于STC12C5A60S2单片机的船用雷达操作控制板,并对硬件和软件设计进行了详尽的介绍。本板经测试表明性能稳定,现已在某一军用雷达模拟训练器上投入使用,效果良好。
参考文献
[1] 童雪娟,冯明奎,傅凤歧.基于单片机的航海雷达信号仿真[J].系统仿真技术,2015(1):52-56.
[2] 尹勇,刘秀文,李志华.采用真雷达显示器的航海雷达模拟器的关键技术[J].系统仿真技术,2007(3):1014-1017.
[3] 杨建,邓志清,高峰.基于FPGA的多功能雷达信号处理板硬件系统设计[J].舰船电子对抗,2011(12):52-56.
[4] 文治洪,胡文东,李晓京,等.基于PL2303的USB接口设计[J].电子设计工程,2010(1):32-34.
[5] 姜志海,黄玉清,刘连鑫.单片机原理及应用[M].北京:电子工业出版社,2013.
作者信息:
杨 建
(解放军镇江船艇学院,江苏 镇江212003)