水下磁感应无线通信模块设计

2020-11-03 11:37朱景波高天德张博强
计算机测量与控制 2020年10期
关键词:载波串口中断

朱景波,高天德,张博强

(西北工业大学 航海学院,西安 710072)

0 引言

海洋中蕴藏着丰富的油气、矿产和生物基因等资源,而且在维护国家领土安全、预防自然灾害等方面有着举足轻重的地位。随着人类探索范围的不断扩大,针对海洋的科学研究越来越多。研究人员通常需要在海洋中布放各种传感器网络,对海洋中的水文信息、环境信息等进行实时监测[1]。为了提升海洋观测系统的灵活性,传感器节点通常是独立密封的,因此水下无线通信技术在海洋观测系统中的应用越来越广泛。

现有的水下无线通信系统通常以声波或者蓝绿激光作为传输媒介。这两种信息载体在水中衰减较少,传输距离远,可以实现远距离通信[2]。在海洋观测系统中,主机可以移动到传感器附近进行信息收集,节点之间的通信一般发生在近场,声学和激光通信方式的优势不能充分发挥。而且声学通信系统一般功耗较大,且传输速率慢,信道复杂,实现算法难度大[3];激光通信系统具有很强的方向性,水质和浮游生物等因素常常会影响通信效果,限制了应用范围[4-5]。针对水下近距离无线通信的应用需求,设计了一种基于磁场耦合的半双工无线通信模块。信号通过准静态磁场传输,不存在路径传输损耗和多径效应,能够实现稳定、高速的无线通信[6-7]。

1 原理及整体方案

在海洋观测系统中,传感器节点长期布放于水中进行数据采集。当我们需要某个传感器节点的数据时,可以下放一个遥控无人潜水器(ROV,remote operated vehicle)将数据回读,进行实时显示或存储。ROV通过电缆与船上连接,由船上控制移动到传感器节点附近,进行无线数据传输。ROV作为主机,通过转发上位机指令发起通信,传感器节点作为从机,收到指令后进行回复。

ROV和传感器节点分别装载磁感应无线通信模块,两者通过线圈在周围空间产生的交变磁场进行信息的传输,点对点的通信模型如图1所示。信号调制到载波频率后,经过驱动电路加载到线圈两端。由于线圈上的电流是交变的,会在周围空间产生交变的磁场,与此同时,接收端线圈位于交变的磁场中,会产生感应电流和感应电压。接收线圈两端的感应电压经过调理之后解调为基带信号,从而完成信号的传输[8]。

图1 磁感应点对点通信模型

为了保证通信效果,需要将基带信号搬移到高频信道进行传输。基本的调制方法有三种:幅移键控(ASK,amplitude shift keying)、频移键控(FSK,frequency shift keying)、相移键控(PSK,phase shift keying)。ASK调制方式抗干扰能力较差,PSK调制方式抗干扰能力强,但是实现复杂,增加设计难度。FSK调制方式抗干扰能力相对较强,且实现方式简单[9]。2FSK调制方式是用两种载波频率表示传输的信息,可以用计数器分频产生两种载波频率,基带信号电平变化时改变计数周期,从而实现2FSK调制。

主机和从机都包含调制发送和接收解调两部分。不同的是主机通过转发上位机指令发起通信,而从机大部分时间处于休眠状态,由主机唤醒并进行回复。本文主要介绍从机通信模块的实现方案,通信模块由主控、调制发送、接收解调和电源管理几个部分构成。我们选用TI公司的低功耗系列单片机MSP430作为节点的控制中心,通过单片机内部的定时器实现调制功能。接收到的信号经过放大滤波处理,然后通过硬件解调电路转换成串行信号,接入单片机的串口接收端。从机模块在大部分时间处于休眠状态,由通信总线上的有效信号唤醒。调理电路是模块的“看门电路”,迟滞比较器的作用是提高响应速度,过滤噪声干扰。信号经过迟滞比较器变成同频率的方波,接入单片机的比较器输入端,触发单片机中断。单片机程序中进行频率检测判断信号的有效性,当通信总线上出现有效信号时,将从机唤醒。通信模块整体如图2所示。

图2 通信模块整体框图

2 硬件设计

2.1 主控芯片

通信模块的主控芯片选用低功耗微控制器MSP430F-5338。该芯片主时钟可达到20 MHz,工作状态下功耗为270 μA/MHz,休眠时功耗仅有1.1 μA。MSP430F5338内部有4个16位定时器,配有多个捕获寄存器和比较寄存器。定时器的输出模块支持7种输出模式,改变计数周期就可以改变输出信号的频率,满足信号调制的应用需求。该芯片集成两个通用串行通信接口控制器,可以用于串行信号的发送和接收。串行信号高低电平变化时,载波频率要随之切换。我们可以通过外部中断实现频率控制,将串口发送信号接入外部中断输入引脚,当信号发生高低电平变化时,会触发上升沿或下降沿中断,这时我们修改定时器的计数值,改变输出频率。用外部中断控制频率变化,可以省去复杂的定时机制,同时保证调制信号的码元宽度。单片机最小系统如图3所示。

图3 MSP430F5338最小系统框图

2.2 接收调理电路

调理电路的作用是将线圈两端接入的微弱电压信号放大,同时抑制带外信号,提高信噪比。调理电路的频率特性为带通滤波器,通带内有一定的放大倍数,且具有低噪声、高输入阻抗的特点。我们采用前置放大、高通滤波、低通滤波的电路结构实现信号调理。由于调理电路需要持续工作,因此对功耗有严格的要求。我们选用TI公司的低功耗运算放大器TLV9002,该芯片为双通道运算放大器,每通道静态功耗仅有60 μA。该芯片噪声较低且价格低廉,适用于对成本敏感的设计。

前置放大电路要设置适当的增益,以充分利用运放的增益带宽积,起到抑制带外噪声的目的。同相放大电路具有较高的输入阻抗,电路结构如图4所示。

图4 前置放大电路

信号通过交流耦合方式接入电路,调节R1、R3的阻值可以设置增益。我们在反馈电阻两端并联电容C1来限制电路的带宽,抑制宽带噪声,截止频率按下式计算:

(1)

其中:fc表示图4中RC网络的截止频率。

滤波电路包括高通滤波和低通滤波两部分。为了保证频率响应的带内平坦度,我们选用巴特沃斯滤波器结构[10]。二阶巴特沃斯滤波器可以实现每倍频程12 dB的衰减,电路结构采用反相输入单放大器双二次节型(Neg SAB),通过单个运放即可实现二阶滤波器结构,简化电路设计。滤波器电路如图5所示。

图5 滤波电路

2.3 解调电路

FSK解调可以通过软件和硬件两种方式实现。软件解调方式功耗较低,但是需要生成同频同相的本地载波,实现起来较为复杂。硬件解调方式一般通过锁相环电路,实现方式简单且误码率极低,缺点是电路功耗较大,需要单独关断。

我们采用硬件解调器XR2211实现信号解调。XR2211是一个专门为数字通信设计的单片锁相环系统,频率范围0.01 Hz~300 kHz。模拟输入电压的动态范围从10 mV~3 V,解调信号开漏输出,兼容多种电平标准。XR22111只需要设置几个阻容就可以完成解调功能,电路原理如图6所示。芯片采用5 V电源供电,由负载开关tps22860控制电源通断。调制信号从2脚交流耦合输入,芯片内部将信号偏置到VCC/2。解调信号从7脚输出,通过5.1 K电阻上拉到3.3 V,与单片机的IO电平兼容。调节R1和C1改变内部振荡器的频率,使其等于两个载波频率的中心频率,通过R4设置合理的带宽,即可完成解调器配置。

图6 XR2211电路原理图

2.4 电源设计

从机通信模块应用于密封的水下系统,只能采用电池供电,为了延长使用时间,我们需要对模块的供电电路进行优化设计。通信模块的电源需求如表1所示。

表1 通信模块电源需求

电路模块按照工作模式分为两种。对于间歇工作的电路模块,供电电路要独立分开,或串接负载开关,可以通过单片机控制,分时关断其电源。对于持续工作的电路模块,要选择合适的供电方案,降低电源自身的耗散功率。常用的电源芯片分为开关稳压电源和线性稳压电源。开关电源效率很高,但是噪声较大;线性电源噪声低,但是自身消耗功率较大。主控和信号发送电路是数字电路,可以用开关电源供电;接收调理和解调电路是模拟电路,需要线性电源二次稳压以降低噪声[11]。

对于开关稳压电源,我们要选用低静态电流、高效率的芯片。由于电流需求较小,最大电流只有10 mA,我们选用ADI公司的开关电源芯片LT3990。该芯片最大可以输出350 mA电流,输入电压可以达到62 V。该芯片在轻载时也可以达到较高的效率,输出10 mA电流时,效率达到70%左右,远高于其他电源芯片。线性稳压电源的效率取决于输入和输出的电压差,在芯片选型时,除了要满足噪声要求,还要选择低压差的芯片。我们选用TI公司的线性稳压芯片TPS7A4701,该芯片在输出1A电流时,压降仅有307 mV,宽带噪声仅4.2 μVRMS,适用于低功耗模拟电路的供电。通信模块的供电方案如图7所示,输入电压12~48 V,主控和信号发送电路的电压由两片LT3990分别产生,调理电路的电源先由LT3990降压到5.5 V,然后再用TPS7A4701稳压到5 V,解调电路与调理电路共用5 V电源,通过负载开关TPS22860控制通断。

图7 供电方案

3 软件设计

模块之间的通信是半双工的,通信由主机发起,从机回复。每个从机有一个固定的序列号,主机根据序列号在通信总线上发起广播,从机收到广播后校验序列号,如果与自己的序列号相同则在总线上发出回复信息。主从之间的通讯时序如图8所示。主机下发命令都是固定长度,包含帧头、从机序列号、询问内容编码、校验和等信息;从机收到指令后,延迟固定时间td进行回复,包含帧头、帧长度、本机序列号、询问内容回应、校验和等信息。

图8 主从模块通讯时序图

主机发送的命令由上位机下发,通信模块起到信号转发的作用。主机收到上位机的命令,将指令调制发出,收到从机回复后,将信息转发给上位机。从机通信模块大部分时间处于休眠状态,由通信总线上的信号唤醒。从机模块唤醒后,打开解调电路和串口,开始接收命令。命令接收完毕后,进行指令解析和回复信息帧组装,然后延迟固定时间将信号调制发出。为了避免从机通信模块被错误触发,我们要对通信总线上的信号进行频率判断。软件设计的关键部分在于信号调制和频率检测的实现。

3.1 FSK调制

为了区分主机信号和从机信号,需要将主机和从机的载波频率区分开。主机下发的信号称为下行信号,从机回复的信号称为上行信号,其载波频率如表2所示。

表2 通信载波频率

我们使用单片机内部的定时器TA0产生载波信号。TA0是一个16位定时器,带有7个可配置的比较/捕获寄存器TA0CCRx,且每个比较/捕获模块都带有输出单元。我们把定时器的工作模式配置为递增,输出模式配置为翻转,即计数器从0增加到TA0CCRx的值,并将输出电平翻转,然后计数器清零,重复上述过程。我们选用TA0.0引脚输出调制信号,上述配置完成后,只需改变TA0CCR0的值,即可改变输出频率。假设定时器输入时钟频率为fTACLK,我们要输出的频率为fout,则比较寄存器TA0CCR0应该配置为:

(2)

以上行信号为例,定时器输入时钟频率为16 MHz,发送高电平载波时,TA0CCR0设置为163;发送低电平载波时,TA0CCR0设置为155。待调制的串行信号接入外部中断输入引脚,在外部中断服务函数中进行频率切换的控制。信号调制的软件流程如图9所示。在调制串行信号之前,我们首先发送一段表示高电平的载波,并将外部中断的触发模式设置为下降沿。串口输出端在空闲状态下为高电平,当串行信号开始发送时,会产生一个下降沿中断,我们在中断服务函数中改变TA0CCR0的值,开始发送低电平;同时将中断触发条件改为上升沿,等待下一次外部中断。

图9 信号调制流程图

3.2 频率检测

从机通信模块进入休眠模式后,等待通信线上的信号唤醒。通信总线在空闲状态下为低电平,有信号出现时,迟滞比较器输出高脉冲,触发单片机产生比较器中断。在理想情况下,我们可以在比较器中断里面唤醒模块,开始接收和回复指令。但是在实际应用时,通信总线上有很多干扰信号,导致模块误触发概率增加。通信模块被唤醒之后,需要给解调电路上电,并打开串口接收,经过串口接收超时,重新进入休眠状态。误触发不仅会导致功耗增大,还可能在超时过程中错过真正的信号。为了避免误触发,要选择一个更加严格的唤醒条件。

主机发送信号时总是以一段高电平载波作为起始,可以通过这段标志性信号来唤醒从机通信模块。起始信号与噪声干扰都会触发比较器中断,不同之处在于起始信号的频率是稳定的,且信号是连续的。当起始信号出现时,会以固定频率连续触发比较器中断,且中断频率与信号频率相同。通过定时器计算比较器中断产生的频率,当比较器中断以某个频率连续产生N次时,即可认为起始信号出现。定时器工作在连续模式,每次进入比较器中断时,读取定时器的计数值tnew,与上一次的计数值told相减,得到一个时间差Δt,这个时间差即为信号的周期。我们设置一个目标频率检测范围[flow,fup],则时间差应该满足:

(3)

具体实现流程如图10所示。通信模块进入休眠模式之前打开定时器,允许比较器中断。当接收信号超过迟滞比较器的上门限时,迟滞比较器输出高电平,触发单片机中断。在比较器中断服务函数中读取定时器的计数值,与上一次的计数值相减,得到两次中断的时间差。根据目标信号的周期设置一个时间范围,如果时间差满足要求,则将脉冲计数值加1,否则将脉冲计数值清零。脉冲计数值增加到N时,说明满足频率范围的信号连续出现了N次,即起始信号出现。此时打开解调电路和串口接收,开始接收数据。

图10 频率检测流程图

4 试验与分析

为了验证磁感应无线通信模块的性能,对主机和从机之间的通信进行测试。两个通信节点的线圈放置于水中,间隔一定距离。主机节点通过RS232接口与上位机连接,通过串口调试助手发送命令;从机节点的序列号为7002,收到主机指令后进行回复。

上位机发送指令查询序列号为7002的从机是否在线。发送指令为FC 6C 1B 5A 55,其中FC是信息帧头,1B 5A是7002的16进制码。从机收到后,回复FC 1B 5A 55 CA,表示本机在线,其中CA是校验和。用示波器测量通信线上的信号,结果如图11所示,图中由上到下的3个通道分别表示从机解调信号、主机线圈两端信号和主机解调信号。

图11 示波器测量通信信号

上位机通过串口调试助手连续发送询问命令,通信结果如图12所示。

图12 串口调试助手收发指令

改变线圈之间的距离,进行长时间的测试,统计不同距离时节点的通信成功率,结果如表3所示。

由表3结果可以看出,当线圈间距2 m时,通信成功率仍可达到100%;线圈间隔2.14 m以上时,通信效果急剧下降。由于磁场是静态场,不具有传播性,当线圈间距较远时,接收端信号不能超过迟滞比较器的门限,从机通信模块没有被唤醒,因此无法正常通信。磁耦合无线通信模

表3 不同间距时的通信成功率

块主要应用于水下近场通信,解决水下无缆密封系统的信息传输问题,满足应用要求。水下磁感应通信不存在多径效应干扰,不需要复杂的算法,实现起来简单,且通信效果良好[12]。

5 结束语

为了解决海洋观测系统中无缆信息传输的问题,设计了一种基于磁场耦合的低功耗无线通信模块。通过线圈耦合交变磁场进行信息传递,实现半双工通信。主机通信模块通过转发上位机指令发起通信,从机通信模块大部分时间处于休眠模式,由通信信号唤醒。采用超低功耗单片机MSP430F5338作为主控芯片,通过软件方式实现通信总线上的载波信号频率检测。通过单片机内部定时器和专用锁相环电路实现2FSK调制和解调,提高信号的抗干扰能力。结果表明,磁感应无线通信模块设计简单,成本和功耗较低。在水下间距2 m以内时,通信成功率可以达到100%,在海洋观测系统中由良好的应用前景。

猜你喜欢
载波串口中断
TMS320F28335外部中断分析与研究
一种航天器星上时间获取方法
大功率微波部件多载波无源互调分析与实验验证
多级中断屏蔽技术分析
基于EM9000工控板高性能双串口通信模型设计与实现
低载波比下三电平NPC逆变器同步SVPWM算法
跟踪导练(二)(5)
中国移动LTE FDD&TDD载波聚合部署建议
MCS—51单片机中的多串口通讯技术的应用
微机串口的测试诊断