基于DDS的数字式频率特性测试仪的软件设计*
2015-12-09吕念芝张天柱
吕念芝 张天柱
(1.福州海峡职业技术学院,福建 福州350001;2.福州师范大学软件学院,福建 福州350001)
引言
随着DDS技术的逐渐成熟,应用DDS技术产生的扫频信号具有失真度低、扫频精度高等优点,同时扫频控制简单、准确,因此使用DDS芯片作为扫频源的设计逐渐被广泛应用[1~2].
本文使用最新的DDS技术实现扫频源设计,大大降低产生宽频、等幅、正交正弦信号的技术难度,为实现扫频仪的设计奠定了良好的基础.应用模拟乘法器实现直通信号和被测网络信号的高速乘法运算,并经过LPF(Low Pass Filter,低通滤波器)获得被测网络频率特性(包括幅频特性和相频特性)的电压信号.然后经过ADC(Analog-to-Digital Converter,模数变换器)将该电压信号转换为二进制数据;最后在单片机系统中,经过频率特性的坐标变换算法处理,获得被测网络幅频特性和相频特性曲线的平面坐标数据,并在LCD(Liquid Crystal Display,液晶显示屏)上显示出来.为了便于操作和实现良好的用户体验,本文采用红外遥控技术实现仪器的遥控操作功能,采用μC/GUI(Embedded Graphical User Interface,嵌入式图形用户接口)技术设计仪器的显示界面.
1 系统方案设计
本系统由扫频信号源、模拟乘法器、MCU模块、IR遥控模块和液晶显示模块共5部分组成,系统原理如图1所示.
图1 系统原理框图
图1中STM32单片机负责控制DDS输出测量所需的1~40MHz两路正交正弦信号,其中余弦信号通过被测网络RLC后,在乘法器与余弦直通信号相乘,相乘的结果经LPF滤除倍频信号后送入单片机内部的AD变换为数字信号.正弦信号与RLC输出的信号被送至另一个乘法器的输入端,相乘的结果经LPF滤波后,也送入单片机AD变换为数字信号.单片机按照事先设计的程序对两路数据进行处理,并求出对应频率下的电压增益和相位差,同时将结果显示在液晶屏上.用户可通过IR遥控器向单片机发送指令,控制单片机实现各种测量操作.
2 系统软件设计
该系统采用分层设计思想,将不同逻辑层的程序划分在不同的文件夹,每一层所包含的源文件都放在该层对应的文件夹下的src文件夹目录下,每一层提供的头文件都放在该层对应的文件夹目录下.
程序通过调用ST公司提供的STM32固件库接口操纵底层硬件,将系统硬件初始化代码以及片上ADC数据采集代码封装成API层,供应用程序调用.主控器通过I/O口连接外设,整合外设操作代码为DEV设备驱动层.基于TFTLCD显示屏驱动,移植Micriμm公司的开源μC/GUI程序库,应用程序通过调用μC/GUI程序库的接口在液晶显示屏上绘制程序界面.以上描述的系统软件工程结构如图2所示.
图2 系统软件层级结构
2.1 IR红外解码设计
红外发射器使用市场上常见的小型红外遥控器,当用户按下操作键时,该发射器与接收模块之间通过红外传输协议进行通信,该协议描述如下:
1)以当前时刻为0点,发送9 ms的脉冲信号,然后等待4.5 ms;
2)连续发送32个635 us的红外脉冲信号,当发送逻辑0时等待550 us,发送逻辑1时等待1 650 us.
3)发送635 us脉冲信号结束此次传输;
4)若用户没有释放按键,则以0点为起始时刻,每隔108 ms重发该命令,重发时序如下所述;
5)发送9 ms的脉冲信号并等待2.2 ms;
6)发送635 us脉冲信号结束此次传输;
利用STM32芯片中定时器的捕获功能,对OUT引脚的输出信号进行时间测量,可以很精确地获取红外接收到的32位数据.
2.2 应用层主程序设计
APP层采用模块化设计,每个模块独立为一个C源文件,并通过H头文件向外部提供接口.主程序负责程序起始时硬件设备初始化,获取红外命令和更新命令,并将命令下发给相应的模块处理.
冻土是热传导,而多孔介质却是导热和对流的复合作用。饱和含水土壤孔隙中充满了水分,增大了土壤颗粒间接触热阻,使土壤蓄热能力增强,对外界的传热则大大降低。同时,孔隙中水分凝结成冰时,将释放大量的潜热,使土壤平均温度相对较高,土壤升温又使管内外温度梯度降低,从而管壁热流密度降低。
子程序包含系统初始化模块、控件焦点调度模块、点频测量模块、扫频输出模块、频率特性绘图模块、定时更新模块、中文显示模块、读取电压模块、计算频率特性模块.
应用层流程图如图3所示.
图3 主程序流程图
2.2.1 点频测量模块
该模块主要功能为在固定频率下测量被测网络的频率特性.模块包含1个编辑框控件,当该编辑框获取用户输入焦点时,在数据两侧显示“-”和“+”符号,提示用户输入加减命令设置输出频率.当定时器产生该模块的定时更新命令时,电压增益与信号相移会被重新计算并刷新显示到屏幕上,该模块数据的更新周期为500 ms,程序流程图如图4所示.
图4 点频测量程序流程图
2.2.2 扫频输出模块
该模块主要实现频率的扫频输出,频率的起始值、终止值以及步进值均可设置,起始频率的下限为1 MHz,终止频率的上限为40 MHz,步进频率为100 KHz的整数倍且不可超过终止频率与起始频率的差值,当扫描频率超出终止频率时,超出频率加上起始频率作为新的扫频值.当用户修改扫频参数时,该模块修改定时器中相应的更新周期参数,实现任意情况下扫频时间均小于2 s.该模块主要实现逻辑如图5所示.
图5 (a)更新命令处理流程图
图5 (b)“+”命令处理流程图
图5 (c)“-”命令处理流程图
3 总结
针对以上问题,可以采用以下方法进一步完善扫频仪性能:
1)购买高质量高精度电子器件,保证电路的对称性和元器件的可靠连接;
2)采用工业制板和焊接,保证器件的连接完好;
3)为测量仪配备专业的直流电源,降低电源引起的干扰,提高扫频信号的信噪比;
4)增加无线wifi模块,使用无线技术接入Internet;
5)研究和设计误差补偿方法,通过软件修正的方式弥补硬件系统的不足,通过对测量数据进行理论补偿,提高扫频仪的测量精度和准度;
使用μC/OS-III嵌入式实时操作系统实现多线程操作,并利用μC/TCP-IP协议实现网络控制,提高仪器的智能化程度.
[1]关晓佳.基于DDS技术的信号发生器设计[J].电脑知识与技术,2012,8(13):3196-3198.
[2]李超,谢雪松,张小玲.一种DDS任意波形发生器的ROM优化方法[J].电子技术应用,2013,39(2):12-15.
[3]张涛,左谨平,马华玲.FatFs在32位微控制器STM32上的移植[J].电子技术,2010(3):25-27.
[4]晏英俊,张自强.基于STM32的步进电机转速控制实验设计[J].实验室科学,2010,13(6):59-61.
[5]Analog Devices.CMOS 300 MHz Quadrature Complete-DDSAD9854[M].Analog Devices,1999.