基于MSP430F169的水声遥控发射系统设计
2021-07-08 来源:21ic
摘要:随着水声通信技术的快速发展,水声遥控系统也已投入使用,它在水下通信、遥测及水下航行器的控制等方面有着广阔的应用前景。该设计基于微功耗单片机MSP430F169作为处理器设计路以便实现不同频率信号的产生、选择及显示,并选用D类功放对所产生的信号进行功率放大。系统软件根据所设计的电路进行移频编程,根据MFSK调制的基本原理,通过采用添加保护时间抵抗码间干扰的编码方案,完成不同遥控信号的产生、控制及显示。
作为水声通信技术的一种应用,水声遥控技术的发展与水声通信技术息息相关。近年来,PSK以及MPSK、DPSK(相移差键控)等被用于高通信速率场合中的信道编码,已成为当前水声通信领域的主要研究方向之一,被国外很多系统应用。水声通信技术近年来由非相干通信向相干通信的方向发展,并且随着数字电路及信号处理芯片计算能力的提高,水声通信系统的调制方式、信号处理方法等都逐渐采用各种高端复杂的技术,比如自适应均衡技术、空间调制技术、分集接收技术、盲均衡技术等。近二十年来,水声遥控技术也得到了迅速的发展。我国已经能够以200~400 bit/s的速率在2 kHz带宽内利用时延编码和实时信道标校技术实现水声信号数字传输,它的特点是中低速率,沿水平方向中等作用距离的低误码率。
水声遥控系统主要向着以下几个方向发展:1)灵活性好,系统能够适应海湾、河流入海口等近海混浊区域和深海远洋海域。2)体积变小,系统体积小、重量轻,便于携带,有利于产品的使用和推广。3)可靠性高,系统能够准确的完成遥控指令信号的传送、接收和判决。对于需要长期在水下作业的系缔,超低功耗已也成为水声遥控系统的重要研究研究方向,本设计采用超低功耗的MSP430F169的单片机进行设计,使系统工作时间增长,减少了由于更换电池而带来的人力物力的浪费;采用编码调制信号并且可以提高系统功能的可靠性。
1 系统总体设计
遥控发射系统硬件部分由信号产生电路,D类功放电路等组成;信号产生电路主要采用以MSP430F169为核心的最小系统电路,MSP430F 169最小系统主要由主控MCU、电源、复位电路、时钟电路、JTAG调试电路等模块组成。电源模块为MCU及各外围模块提供电源,时钟模块为MCU提供时钟源,JTAG接口用于单片机的程序调试和仿真。D类(丁类)功率放大器也称数字功放,它是用音频信号的幅度去线性调制高频脉冲的宽度,与模拟功放的主要差别在于功率管的工作状态,它采用PWM(脉宽调制)原理设计,功率管工作在开关状态。
2 MSP430最小系统电路设计
MSP4301F16x系列是TI的MSP430F1x系列(FLASH存储器型)单片机中功能最强大的子系列。MSP430F16x具有更大的程序和数据存储区、更多的外围模块,其片内甚至还包括一个硬件乘法器。与此同时该系列单片机的开发工具简便,内置DMA和D/A转换模块,其具有丰富的片内外围,性价比极高,所以本题目采用这个型号作为微处理器。
MSP430F16x系列是超低功耗Flash型16位RISC指令集单片机。它采用“冯-纽曼”结构,RAM、ROM和全部外围模块均位于同一个地址空间内。它的体系结构由五种低功耗模式组成,最优化降低了系统功耗。MSP430x15x/16x/161x系列处理器片内有二个固定16位定时器、8路快速的12位A/D转换器、双路8/12位D/A转换器、两个通用连续同步/非同步通信接口(USART)、I2C、DMA。
2.1 电源电路
对于MSP430F169最小系统来说,MSP430F169及其部分外围模块需要3.3V电源,其他模块则需要5V电源。为了给系统供电方便,可以使用电源转换芯片将5V电压转换成3.3V电压。设计采用芯片AMS117—3.3来进行DC—DC电压转换,其中,三个电容用来进行稳压滤波,使得系统电源稳定,用LED用来指示电源状态。
2.2 晶振电路
单片机MSP430F169的时钟模块有数字控制振荡器DCO、低速晶体振荡器、高速晶体振荡器3个时钟源,这些时钟模块可产生MCLK(主系统时钟)、SMCLK(子系统时钟)和ACLK(辅助时钟)3种不同频率的时钟,系统可以通过软件根据具体需求来选择不同的时钟以满足不同模块的需求。数字控制振荡器DCO,集成在MSP430F169内部。当外部振荡器失效时,系统会自动选择DCO振荡器为MCLK时钟源。高速晶体振荡器XT2可外接450 kHz-8 MHz的晶体振荡器。
2.3 复位电路
微控制器正常工作时该引脚将处于高电平才能正常工作。在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位,复位电路可由简单的RC电路构成,也可使用其的相对较复杂,但功能更完善的电路。在这里采用简单的由电阻、电容、二极管构成的RC复位电路。经使用证明,其复位逻辑是可靠的。
2.4 JTAG电路
MSP430F169具有60KB可电擦写的FLASH存储器和JTAG调试接口,可先将编译好的程序通过JTAG接口下载到FLASH内,然后通过JTAG接口进行程序控制,读取片内CPU状态及存储器内容等为设计者调试提供便利,整个编译、调试过程均在同一个软件集成环境中进行,不需要专门的仿真器和编译器,这种JTAG调试、FLASH技术和集成开发环境相结合的开发方式,具有实用、便捷、价格便宜等优点。
2.5 键盘控制及数码管显示电路
对于本次设计,需要对系统进行控制使其产生不同的信号,并显示产生的信号,这就需要用到键盘和LED显示。本设计要产生6个信号,为了使设计方便,简化电路,采用独立按键式键盘。这种键盘是直接用MSP430的I/O端口线构成单个的按键电路,每个按键独立的占用一根I/O线,每个按键的工作状态相互独立,不受其他I/O线的影响。对于显示部分,采用七段数码管即可完成。
3 D类功放电路
由MSP430F169直接产生的信号的功率很小,信号需要经功率放大后发出去,以保证能够传输足够远的距离,这就离不开功率放大器。
功放电路设计采用LM353对信号经行放大和反相,通过比较器LF395进行信号进行比较产生方波驱动功放管,同时对导通时间进行控制,避免了两只功率管同时导通烧毁电路的情况出现。对于功率的放大选用VMOS管IRFP250来完成,用变压器完成功率的合成及电路匹配。
4 系统的软件实现
4.1 编码设计
海洋中存在的众多不定因素使水声信道变得异常复杂。随机起伏的海面与地况不明的海底;海水中存在的大量的鱼群、浮游生物、气泡层、涡流、层流、不同温度的水团;随着温度、盐度、深度等不断变化的声波传播速度;各种风雨、波浪、生物与传播噪声等均对声波在海水中的传播有巨大影响,因此,对于水下声信号的传播的研究面临巨大的困难。
水声遥控信号在水中传播,受到水声信道特性的影响,会产生一定的干扰,甚至会出现信号畸变,为了解决这一问题,接合水声信道的特性,常用的两种非相干的信号调制方式频移键控(FSK)、多进制数字频率调制(MFSK)。MFSK是FSK的多进制调制方式,与FSK相比它有较高的传信率,适用于高速传输的系统,但是其信道利用率降低。本次设计采用MFSK调制方式进行编码,但是为了降低干扰,抵抗水声信道的多途效应,在信号之间添加了一定的码元保护时间,很方便有效地解决了这一问题。
对于本次设计,要求系统工作频率为25~35 kHz,脉冲宽度为1 ms,脉冲间隔为100 ms,在工作频率范围内选择3个不同的频率进行编码。
编码规则如下:
1)选用3个频率的正弦波信号f1=26 kHz,f2=30 kHz,f3=34 kHz,一种频率在一个指令码中只出现一次,以便于多种情况下准确识别码元的填充频率,降低误码率,通过不同频率的码元的顺序来分辨不同的信号;
2)单个码元持续时间为1ms,码元间隔为100 ms;
3)对于3个频率的编码信号,每次只要发射两个填充不同频率的码元即完成信号的识别。
遥控分系统的工作频率分别为:f1=26 kHz,f2=30 kHz,f3=34 kHz
当航模的运动速度为v时,接收到的信号的多普勒频移最大为:
当航模的运动速度为5 m/s是,多普勒频移为0.23 kHz,远小于这4个频率的最小间隔(4 kHz),不影响遥控数据的解码。
通过单片机MSP430F169内部的DMA和D/A来产生不同频率的正弦波信号。对于本次设计系统要求的三种不同频率的信号,需要分别对它们进行采样,采样的点数需要根据系统时钟频率及DMA控制器像DAC12传输数据的速率来决定。对于数据的采样,可在码元持续时间内对所有周期进行采样,DMA控制器可以按照一定的频率连续不断地将这些采样数据传输到DAC12模块,经DAC12转换输出对应的正弦波形。DMA控制器传输数据不需要CPU的参与,CPU可独立于各种低功耗模式。但是需要注意,DMA控制器的传输速度要比DAC12处理数据的速度快,所以当使用DMA控制器的时候,应避免DMA控制器和DAC12操作不一致。
4.2 键盘扫描及数码管显示
设计选用的按键通过机械触点的闭合与断开来控制输入点信号的产生。由于机械触点的弹性作用使得它在断开或闭合的瞬间会产生抖动,进而使产生的电压波形如图4所示。
为了保证系统对一次按键按下只作一次处理,需要采取措施消除抖动的影响。对于这个问题,一般采用软件方法去抖动,在编程过程中,当判断有键按下时加入一定时间的延时子程序,然后再次确定按键是否被按下。如果再次确认的结果仍然处于被按下的状态,则再做该键按下的相应处理,这样就可以避开抖动的时间段,消除抖动影响。
对于数码管静态显示,数码管每一位的字选线与一个8位端口相连,只要在该位的字选线上出现字形码,就可以显示出相应的字符。一般显示程序并不直接将段码赋值给对应端口,而是建立一张段码表,显示时以所要显示的数字为索引查询这张表格。
4.3 系统编程
对于本系统来说,其程序框图如图5所示,根据框图完成系统编程。通过对键盘进行扫描,来判断是否有按键按下以及按下的按键是第几个,如果按键按下,根据所按的按键来输出相应的信号并进行显示。不同频率的信号其采样点不同,对于26kHz、30 kHz、34 kHz的信号,它们的采样点分别为一周期内22个、20个、19个,当有按键按下时,DMA向DAC12传输相应的采样数据,产生所要求的信号。此外,在系统初始化时要开启8 MHz晶振。
5 系统调试
系统要求两个填充不同频率的脉冲之间的间隔为100 ms,脉冲宽度为1ms。将编写的程序编译下载到MSP430F169,给系统上电,MSP430F 169输出端的波形如图6(a)所示,不同的遥控信号在示波器中的显示情况是一样的,再次不一一列举。图中示波器时间单位为50 ms,两脉冲间隔为100μs,满足设计要求。图6(b)、(c)、(d)所示为MSP430F169产生的不同频率的脉冲信号。图中示波器的时间单位为200μs,脉冲信号的脉宽为1 ms,满足设计要求。
6 结论
该设计主要从MFSK编码的基本原理入手,选用比较常用的MSP430F169微功耗单片机作为处理器,进行水声遥控发射系统的理论研究及软硬件实现。电路经调试编程后可以准确的完成不同信号的产生、选择及显示。在水池实验里,对相应的接收设备进行控制,操作简单,误码率小,达到了预期目标。