APP下载

基于FPGA的小型船舶预警系统的研究

2022-02-20徐旭陈曦

电子测试 2022年3期
关键词:测距障碍物超声波

徐旭,陈曦

(中科芯集成电路有限公司,江苏无锡,214072)

0 引言

船舶是一种重要的交通运输工具,其运输成本低、载货量大,但较大的吨位也导致船舶的机动性较差,船舶碰撞事故屡有发生,造成了巨大的生命财产损失。因此,有必要实现船舶对障碍物的自动预警。

目前,国内外的大型船舶一般都配备了较为先进的预警系统,但很多经济能力有限的中小型船舶,以及一些安全意识淡薄的渔船并不具备对障碍物的预警能力[1]。因此,有必要开发一种适用于中小型船舶的性价比较高的自动预警系统。超声波有着很好的方向性和指向性,并且不易被干扰,在测距领域得到了广泛应用[2]。市场上的超声波探头价格较低,防水性也很好,非常适合用于小型船舶的预警系统。

1 超声波测距原理

超声波测距原理如图1所示,超声波发射探头发出超声波,超声波在传播过程中如果遇到障碍物就会发生反射,回波被接收探头识别,只要测量出超声波传播的时间,就可以计算出超声波传播的距离,进而计算出障碍物和超声波探头之间的距离[3]。

图1 超声波测距原理图

距离计算公式为:

式中:c为超声波传播速度;t为超声波传播时间;h为发射探头和接收探头之间的安装距离。当H远大于h时,距离计算公式可简化为:

超声波与其他声波一样,传播速度受温度的影响较大,为了提高测量精度,需要对温度的影响进行补偿和校正[4],经推导,声速和温度的函数关系为:

式中:T为环境温度。

2 系统总体设计

预警系统主要包括:FPGA(Field Programmable Gate Array 现场可编程门阵列)、超声波发射电路、超声波接收电路、温度补偿模块、LCD显示模块、报警模块等。系统上电之后,FPGA芯片控制发射电路驱动发射探头发出超声波,同时开始计时,接收电路接收到的回波信号后FPGA停止计数。通过温度补偿后的声速和计数器计数值换算得到的传播时间计算出障碍物的距离。通过LCD显示模块显示测量值,如果超出安全值则发出报警信号。预警系统的总体框图如图2所示。

图2 系统结构框图

3 系统硬件设计

3.1 主控芯片的选择

目前市场上的超声波测距仪器多数是基于MCS-51单片机设计的,由于单片机本身硬件上的限制,导致系统的测量精度一般不高。系统选用Altera公司Cyclone Ⅱ系列的EP2C5T144C8N作为主控芯片,该芯片功耗低,带有4608个逻辑单元,119808位RAM,89个I/O口,26个M4K存储块,13个乘法器,2个锁相环,其内部资源可以满足系统设计需要。利用FPGA芯片的并行处理能力,可以消除产生激励信号和启动计时之间的延时,其较高的工作频率也保证了计时的精度以及超声波激励信号的稳定性,从而提高测量精度。

3.2 超声波发射电路

系统采用光耦转换驱动电路来激励超声波换能器发出超声波,发射电路如图3所示。FPGA产生的40kHz的驱动信号加载到三极管Q1的基极,增大电流,再接入高速光耦,将直流电压转换成高压脉冲。电感L1的感抗和超声波传感器的感抗相互抵消,使传感器表现为纯电阻。

图3 超声波发射电路

3.3 超声波接收电路

超声波在传播过程中会发生衰减,如果传播距离较远,超声波接收探头所接收到的回波信号将非常微弱,一般只有毫伏级别。为了获得能被FPGA识别的回波信号,采用双运放NE5532对信号进行放大滤波处理,并利用单向比较器LM311实现对信号的整形。超声波接收电路如图4所示。NE5532采用单电源供电,优化了电路设计,两级放大之间的电容C5起到了隔离直流的作用。NE5532的输出为模拟信号,需要经过比较器LM311的处理才能被FPGA识别,可调电阻R7用来调节参考电压的大小,进而调节测距范围。

图4 超声波接收电路

3.4 温度检测、显示和报警模块

由超声波测距原理部分的分析可知,声速是受温度影响的,为了提高测量精度,需要对声速进行温度补偿。系统选用DS18B20温度传感器进行温度测量,该温度传感器测温范围为-55℃~125℃,测量误差不超过±0.5℃,具有精度高、体积小、线路简单等优点,通过单总线和FPGA相连,提高了抗干扰性。为了便于显示障碍物的距离,系统选用LCD1602液晶屏作为显示模块。该液晶屏具有低电压、低功耗的优点,可以显示2行16个字符,R17用来调节液晶屏亮度。

当检测到障碍物时,FPGA给蜂鸣器输入方波信号,驱动蜂鸣器发出警报声。电路连接如图5所示。

图5 温度检测、显示和报警模块电路

4 系统软件设计

系统软件采用模块化设计,在QuartusⅡ集成开发环境中通过Verilog HDL语言进行设计[5]。FPGA芯片内部模块主要包括:时序发生模块、高速计数模块、回波识别模块、温度补偿模块、显示模块、报警模块、距离计算模块。其中,时序发生电路为整个系统提供时钟信号,是各模块同步工作的基础。高速计数模块的功能是采样发出驱动信号到接收到回波信号之间的时间差,系统的时钟频率越高,计数精度越高,时间测量也就越准确。回波识别模块的功能是捕获回波信号的达到时刻,是决定系统稳定性的关键。

系统流程图如图6所示,系统启动后,时序发生电路发出由8个频率为40kHz的脉冲信号,激励发射电路驱动超声波换能器发出超声波,延时1μs后高速计数器开始计数,延时的作用是防止发射信号被接收电路误判为回波信号。当回波识别模块识别到回波时,高速计数器停止计数,发出报警信号,超声波传播时间t=N/f,其中N为计数值,f为计数频率。距离计算模块会根据温度补偿模块补偿后的声速和时间t计算出障碍物距离。最后控制LCD液晶屏显示测量结果。

图6 系统流程图

5 实验及分析

为了验证超声波测距的测量精度,在实验室正对平整墙面进行实验,实验中记录了20次测量结果,如表1所示。其中,实际距离是用钢制卷尺测量得到的。由实验结果可知,系统的测距范围在30~1000cm,测量误差小于1%。

表1 实验结果

6 结论

船舶在航行过程中的机动性相对较差,为了避免碰撞事故的发生,需要提前识别船舶周围的障碍物。本文将FPGA和超声波测距技术相结合,设计了一种适用于中小型船舶的预警系统。该系统采用FPGA作为主控芯片,并具有温度补偿功能,从很大程度上提高了测量精度。当检测到障碍物时,系统会发出报警,并通过LCD液晶屏实时显示障碍物的距离,使船舶上的工作人员可以提前做好避障准备。该系统简单实用,性价比高,具有一定的推广价值。

猜你喜欢

测距障碍物超声波
基于RSSI测距的最大似然估计的节点定位算法
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
类星体的精准测距
赶飞机
蝙蝠的超声波
基于Niosll高精度超声波流量计的研究
浅谈超声波测距
蝙蝠的超声波
超声波流量计的研究