基于嵌入式的长时间高速率任意波形模拟器研究
2019-08-06蒋哲伦刘雨佶陈伟王慧源陈弈书顾瑞冲
蒋哲伦 刘雨佶 陈伟 王慧源 陈弈书 顾瑞冲
摘 要:在水声学实验中,不仅需要正弦波、方波等常规信号,也常常需要用到一些非常规信号,我们设计的基于嵌入式的长时间、高速率的任意波形模拟器可以很好地满足水聲学实验的需求。文章以ARM内核的S3C2440作为主体控制芯片,以SD卡存储器作为波形存储设备设计了一款任意波形模拟器,在PC机上使用Matlab仿真出需要的波形数据,并将其存储到SD卡中,然后在仪器上对波形的输出进行控制操作。
关键词:任意波形模拟器;嵌入式操作系统;Matlab;S3C2440
随着计算机微电子技术的不断发展,各种复杂信号层出不穷[1],因此,在教学和科研中对高精度、高采样率信号源的需求与日俱增[2]。作为水声工程专业的学生,在进行水声学的学习中发现,水声学研究中需要接触很多非常规信号,而传统的信号发生器输出的波形有限,很难满足部分实验对复杂信号的需求。因此,设计一台不仅能生成标准的正弦波、方波等通用信号,还能够输出各种水声学中所需要的各种非常规的信号的任意波形模拟器,对水声学研究有着很重要的意义。
本文设计的任意波形模拟器以ARM内核的S3C2440作为主体控制芯片,能够平稳输出PC机上仿真的波形信号。具有价格便宜、操作简单、携带方便的特点,能够满足绝大多数实验对于信号源的需求[3]。
1 设计思路
1.1 总体设计框架
本次项目设计的基于嵌入式的长时间、高速率任意波形模拟器的总体框架(见图1),主要分为硬件平台部分和软件平台部分两大部分。
硬件平台主要由3部分组成,其中,波形信号存储设备选择的是2G的SD卡,通过SD卡可以将上位机仿真的波形数据传输至任意波形模拟器中。主控制电路需要读取SD卡中存储的数据,同时,还要将数据传输至信号调理电路中。信号调理电路的作用是对输出信号进行时序控制、数模转换、低通滤波,使波形信号能够连续、平稳地输出。现场可编程门阵列(Field-Programmable Gate Array,FPGA)时序控制电路主要是对信号输出进行时序控制[4]。
软件平台分为4部分。嵌入式操作系统主要包括外部中断服务、多任务管理系统、人机交互系统,能够有效提高CPU的利用率和程序的执行速度。存储系统主要负责存储波形数据,而文件管理系统则需要对存储系统中的波形数据文件进行管理,使波形文件能够有序地在显示器上显示,使设备便于操作。硬件驱动系统主要包括液晶显示器和串口等外围硬件设备的驱动程序以及对SD卡的读取,主要负责软件平台与外围硬件驱动的信息沟通任意波形模拟器的硬件总体框架如图2所示。
1.2 硬件设计概述
任意波形模拟器的硬件设计分为底板、核心板和液晶触摸屏3部分[5]。底板采用了4层板工艺,上面搭载了DA转换器,FPGA,SD卡存储器,ARM处理器等电路。其中,FPGA和DA转换器构成了信号调理电路,负责调节控制信号的输出。ARM处理器负责控制直接内存存取(Direct Memory Access,DMA)传输和人机交互界面,以及与上位机的通信,起总控制器的作用[6]。底板电源使用的是5 V的外接电源。核心板选择了Mini2440开发板任意波形模拟器实物如图3所示。
1.3 软件设计简要介绍
基于嵌入式的长时间、高速率任意波形模拟器的软件设计主要包括利用FPGA对数据的输出提供时序控制和嵌入式操作系统的编写。
在程序运行过程中,ARM处理器数据的输出并不是按照时钟周期连续的输出,因此,需要利用FPGA给不同时钟域的信号匹配速率,同时,给DA转换器提供数据和时序的控制,使数据能够以800 K的频率持续输出。
嵌入式操作系统主要是由多个任务配合进行管理工作的过程(见图4)。外部中断服务主要负责响应外部器件FPGA与ARM之间的数据传输,对DMA通道中的数据进行预处理。主任务主要负责对运行界面的操作,并负责创建其他任务如触摸屏任务、文件装载任务、串口任务等,是整个系统的核心[7]。
2 实验结果分析
2.1 测试结果
测试中使用Matlab仿真出100 Hz,1 KHz,10 KHz和80 KHz的波形信号,并将信号以无符号16位整数的文件形式拷贝到SD卡中。将SD卡插入任意波形模拟器的卡槽中,通过触摸屏选择波形文件进行播放,使用数字示波器对波形进行测试。表1为各个频率段下的波形数据对比。
2.2 结果分析
经试验,基于嵌入式的长时间、高速率任意波形模拟器能够较为准确地将上位机仿真的信号进行输出,输出信号产生的误差包括以下几点。
(1)由于 DA 转换器只能接收无符号16位的整数量化数据,因此,需要在PC软件Matlab中对模拟信号的数据进行取整量化,这一过程将产生误差。同时,温度等因素的变化也会影响DA转换器从而产生误差。
(2)示波器、万用表等测量仪器等器件也会产生数据量化等误差。
3 结语
本文设计的基于嵌入式的长时间、高速率的任意波形模拟器具有便于携带、高性价比、低功耗等优点,以ARM为主控制器,并以SD卡作为数据存储设备,使用FPGA实现时序的调理和DA转换器的控制,通过液晶触摸屏来对信号的输出进行控制。论文完成的主要工作总结如下:
(1)提出了系统总体设计方案。(2)完成了以ARM处理器为核心进行了硬件系统设计,包括FPGA电路设计和存储设备的选择。(3)实现了整个系统的软件设计。(4)对于任意波形模拟器进行测试分析,并对测试的结果进行了误差分析。
经实验测试,设计的任意波形模拟器易于携带、操作简单,可以满足大多数情况下对信号源的需求。
[参考文献]
[1]马忠梅.ARM嵌入式处理器与嵌入式系统[J].电子世界,2003(3):41-42.
[2]宦敏.宽覆盖、低杂散频率合成器的研制[D].成都:电子科技大学,2007.
[3]杨硕.基于ARM的任意波形发生器设计与实现[D].哈尔滨:哈尔滨工程大学,2011.
[4]谢完成.基于FPGA的数字电视信号发生器的设计与实现[J].现代电子技术,2008(7):138-140.
[5]杜华.任意波形发生器及其应用[J].国外电子测量技术,2005(1):38-40.
[6]顾峰.基于DMA传输方式的SDRAM控制器的设计与实现[J].船舶电子对抗,2009(2):108-111.
[7]张坤.任意波形发生器设计及实现[D].哈尔滨:哈尔滨工程大学,2013.