基于海底冷泉渗漏气体流量声波测量的信号源设计
2018-07-20靳羚龙建军张根明陆艳
靳羚 龙建军 张根明 陆艳
摘要:目前对海底冷泉渗漏气体流量声波测量运用较多且方便有效的一种方法是投射声波波形-幅度法,并且激发换能器的声波个数需要控制在一定范围。该文提出一种以DDS技术为基础的信号发生器。采用单片机STC12C5A60S2控制DDS芯片AD5930产生正弦高频信号,同时通过可编程计数器芯片82C54来实现对波的个数的控制。该信号源电路结构简单、易于控制、且频率可调,具有非常广阔的市场应用前景。
关键词:信号发生器;AD5930;扫频;82C54
中图分类号:TP311.5 文献标识码:A 文章编号:1009-3044(2018)13-0218-02
Design of Signal Source Based on Acoustic Wave Measurement of Leakage Gas Flow in Seafloor Cold Spring
JIN Ling,LONG Jian-Jun, ZHANG Gen-ming,LU Yan
(School of Information Engineering, GDUT, Guangzhou 510006, China)
Abstract:At present, one of the most effective and convenient methods for the acoustic measurement of leaking gas flow in subsea cold springs is the sound wave waveform-amplitude projection method, and the number of sound waves that excite the transducer needs to be controlled within a certain range. This article proposes a signal generator based on DDS technology. The use of single-chip STC12C5A60S2 control DDS chip AD5930 produces sinusoidal high-frequency signal, and at the same time through the programmable counter chip 82C54 to achieve the control of the number of waves. The signal source circuit has a simple structure, is easy to control, and has adjustable frequency, and has a very broad market application prospect.
Key words: Signal generator;AD5930;frequency sweep ;DDS
因聲波在海水中具有能有效远距离的传播、传播过程中衰减小、传播方向性好等优点,所以目前声波测量法已经成为测量海底冷泉渗漏的重要方法之一。在声波的测量过程中波的个数不能太少,不能准确测量,波的个数也不能太多,因为测量通道的内壁对声波的反射,当声波个数过多时,反射的声波会与测量声波互相叠加出现声波幅度不稳定的现象。本文提出的设计思路是以单片机作为主控系统,控制AD5930信号发生器产生方便易于调节频率的高频信号,然后再通过82C54计数器来实现对信号板输出波形个数控制的功能。
1信号发生器电路设计
直接数字式频率综合器DDS,实际上是一种分频器:通过编程频率控制字来分频系统时钟以产生所需要的频率。DDS 有两个突出的特点,一方面,DDS工作在数字域,一旦更新频率控制字,输出的频率就相应改变,其跳频速率高:另一方面,由于频率控制字的宽度宽(48bit 或者更高),频率分辨率高。
AD5930是一款支持可编程频率扫描和输出突发功能的波形发生器。AD5930支持三种工作模式。在连续输出模式下,该器件在定义时长内输出所需频率,然后步入下一频率。针对该器件输出特定频率的时长,可进行预先编程并让器件自动递增该频率,或者通过CTRL引脚进行外部递增。在突发模式下,该器件在一定时长内输出其频率,接着在另一预定义时长内返回到中间电平,然后步入下一频率。在MSB模式下,该器件产生数字输出。对器件进行编程时,用户需要输入起始频率、频率步进、增量数量,以及器件在各频率点停留的时间间隔。频率配置文件可通过切换CTRL引脚来启动。
AD5930关键引脚的功能介绍:FSADJUST:这个引脚必须在与模拟地之间连接一个电阻,通常这个电阻的取值是6.8kΩ。REF:内部参考电压引脚,应用时需要在其与模拟地之间连接一个10nf的去耦电容。COMP:这个引脚加一个去耦电容用于对AVDD的电压值稳压的目的。MCLK:电路主时钟。SYNCOUT:扫频信息状态输出引脚,如果要启用这个功能需要将控制寄存器位SYNCOPEN设置为1。INTERRUPT:这个引脚扮演在扫频的过程当中中断的作用,其上升沿被内部主时钟采样之后,让内部状态复位,并且其数模转换的结果输出中间电平。CTRL:当这个引脚有一个上升沿之后,则启动内部的初始化状态,然后执行已经预编程的程序;当处于自动递增状态时,一个单一的脉冲就会启动执行扫频信号;当处于外部递增模式时输出频率的增加是随着外部的上升沿的变化从而改变。SDATA:串行数据输入数据位宽是16bit。SCLK:串行时钟输入,每一个SCLK的下降沿将数据送入到AD5930。FSYNC:处于工作状态的时候低电平有效。STANDBY:掉电休眠功能,当处于高电平的时候,AD5930的内部MCLK处于无效状态。IOUT/IOUTB:是一对差分信号,电流输出,使用的时候必须在引脚外分别加上一个200欧姆的电阻与模拟地相连接。
当在编程的时候需要定义:起始频率,频率间隔,步进频率的数量,和两个频率之间的时间间隔,当运行的时候有两种频率增加模式分别是自动增加模式和外部硬件引脚增加模式。当处于自动增加模式的时候,在CTRL引脚输入一个脉冲波就开始启动产生输出信号;当设置为外部增加模式的时候,在CTRL引脚输入脉冲波来开启扫频工作,但是其扫频的时间间隔则是根据其引脚输入的脉冲波的频率变化而变化,这与前面的自动增加模式是靠内部设置的时间不一样。频率扫描的方式有锯齿波和三角波两种,输出的波形也有连续输出和突发输出模式两种差别。
在编程的时候需要设置起始频率,寄存器中定义起始频率大小的位宽是24bit,如果不需要这么大的数值也可以通过设置控制寄存器的B24bit来设置是否将其拆分为两个各12位的起始频率寄存器。步进频率增量表示每一次频率的最小增加量,是一个23位的寄存器,其高位寄存器的D11位设置为1表示从频率递增,设置为0表示频率。最终的频率等于起始频率加上步进频率乘以步进数值。AD5930的数据输入接口是串行外设接口SPI,和单片机ST12C5A60S2相连接。其电路原理设计如图1所示:
2计数器电路设计
82C54是一种在微处理器系统中实现定时和计数功能的外围接口芯片,其内拥有三个独立的16位的计数器。有六种可编程方式,与最常见的TTL电平可以完全兼容,以二进制计数,还拥有状态读返回功能。82C54的体系结构包括一个8位的双向数据总线D0--D7。寄存器地址输入信号A0和A1用来选择要访问内部四个寄存器的具体哪一个。读控制信号(RD)和写控制信号(WR)用来指明要对哪些寄存器地址进行读出或者写入操作。另外还提供片选(CS)输入信号,以开启82C54的微处理器接口。82C54的数据总线缓冲器是与系统控制总线相连接传输数据的接口,它是一种3态、雙向8位的缓冲器,因为是三态所以决定了其编程方式既可以用I/O的方式也可以利用总线的方式(总线只允许同时只有一个器件工作)对其进行数据传输。
3信号发生器程序设计
AD5930一开始上电的时候内部的状态是没有确切定义的状态,所以先让AD5930拥有一个确定的状态。由其数据手册可知,CTRL引脚的上升沿用于初始化和启动内部状态,因此在初始化的设置中这个引脚先设定为低电平0。STANDBY引脚为0 的时候是关闭元器件掉电休眠模式,所以初始化时设为0。SCLK引脚的下降沿会将数据锁存到内部寄存器,所以初始化时设为1。FSYNC引脚为低电平的时候表示新的数据即将加载到元器件内部,所以初始化时设置为1。INTERRUPT引脚在被内部主时钟检测到上升沿时,会复位内部状态,所以在初始化的时候应设置为0。当初始化程序加载之后,其余寄存器的加载顺序分别是:先加载控制寄存器,再加载起始频率寄存器,然后加载频率增量,最后加载步进点数和时间间隔。AD5930如果需要产生单频信号,则可以把步进频率,步进点数和每个频点上停留的时间三个参数都设置为0即可。AD5930与上位机的数据是通过SPI串行外设接口进行传输的,其工作时序图如图2所示:
4计数器程序设计
82C54的内部结构分为:数据总线缓冲器、读/写逻辑部件和控制字寄存器。数据总线缓冲器,它是82C54与系统总线的接口,它是一种3态、双向8位的缓冲器。读/写逻辑部件是接受来自系统总线的输入信息,并且还会产生控制控制82C54其他功能的模块信号,用A1和A0从三个计数器中选择其中的一个计数器或者是控制字寄存器来进行读/写操作。当A0A1=11时,由读/写控制部件来选择控制字寄存器。若CPU此时正在对82C54进行一次写操作,则把数据存放在控制字寄存器内,且被当成控制字去规定各计数器的操作。它实际上由三个8位的寄存器构成,用他们来设置计数器0、1和2的操作。
82C54的控制字是8位,第8位和第7位00代表计数器0,01代表计数器1,10代表计数器2,11代表读回命令。第6位和第5位00代表将计数器中的数据锁存到缓冲器,01代表只读写低8位,10代表只读写高8位,11代表先低8位后高8位。第4位、第3位和第2位000代表方式0,001代表方式1,010代表方式2,011代表方式3,100代表方式4,101代表方式5,111代表方式6,最低位为0代表数值是二进制的形式。
82C54既可以与单片机STC12C5A60S2的数据传输采用I/O口模式,也可以采用总线的方式,因为总线的方式编程比较简单,方便故本文采用总线式来进行程序编程。 采用总线方式编程的时候需要对其初始化,此时让其门控信号均为0,然后写入控制字(确定工作的计数器和其对应的工作方式),再写入初值,然后计数执行单元开始对输入的时钟脉冲CLK进行减1计数,在减到0时,从OUT端输出一个信号。
5 结论
本文介绍了一种基于DDS技术的信号发生器和可编程数字芯片从而使用上位机可方便实现控制发射声波个数的高频声波。该电路板设计简单,上位机可以很方便控制其波形和频率,同时具有低功耗、高可靠性以及成本低廉等特点,具有实用价值。
参考文献:
[1] 魏俊益, 新型声波信号系统的研究开发[D]. 广州: 广东工业大学, 2010.
[2] 童诗白,华成英, 模拟电子技术基础[M]. 北京: 高等教育出版社,2006.
[3] 魏俊益, 新型声波信号系统的研究开发[D]. 广州: 广东工业大学, 2010.
[4] 许肖梅. 声学基础[M].北京: 科学出版社,2003.
[5] 龙建军,黄为.海底冷泉渗漏流量声学测量方法及初步实验研究[J].热带海洋学报,2012(5):100-105.