DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 146|回复: 0
打印 上一主题 下一主题

基于ARM和FPGA的声纳波形产生系统设

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-17 23:39:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、引言  最佳声纳系统的设计需要从声纳波形、声纳信道和声纳接收机三方面进行综合考虑[1]。在声纳信道一定的假设下,需要设计最佳声纳波形和最佳接收机,使声纳系统能在给定的声纳环境中对目标有最佳的检测效果。工作在浅水中的主动声纳,其性能主要受限于混响级。根据波形选择与信道匹配的原则,针对混响信道,所选的声纳波形应使其模糊度函数尽量与混响信道散射函数不重合,而与声传输信号散射函数尽量重合[2]。基于这样的原则,常用的声纳信号单频信号(CW)、线性调频信号(LFM)抑制混响的能力比较如下:在检测静止或低速目标时,LFM和短CW较长CW有更好的混响抑制能力,但短CW波只适合近距离目标;在检测高速运动目标时,长CW脉冲是最合适的信号形式[2]。由此可见,主动声纳要完成目标捕获、识别、跟踪等不同任务,需要发射不同的声纳波形。同时针对远距离、低速和高速运动等目标的不同情况,也需要灵活的选择声纳波形。正是基于这样一种需求,本文把具有强大控制能力的微处理器ARM与具有灵活波形产生能力的直接数字频率合成技术(DDS)结合起来,用FPGA实现DDS技术,设计出了基于ARM和FPGA的声纳波形产生系统。2、DDS基本原理  随着微电子技术的迅速发展,具有频率切换时间短、频率分辨率高、相位变化连续、易实现信号的多种调制等诸多优点的DDS技术,有了广阔的应用前景。DDS技术可以理解为数字信号处理中信号综合的硬件实现问题,即给定信号幅度、频率、相位等参数,产生所需要的信号波形。  DDS的基本结构包括:相位累加器、相位-幅值转换电路、数模转换电路及低通滤波器等。相位-幅值转换电路根据转换方式的不同可分为两大类[4]:(1)ROM查找表法。ROM中存储有不同相位对应的幅度值,可根据相位累加器输出的相位值寻址ROM,输出对应的幅值序列。 (2)计算法。对相位累加器输出的相位值,通过数学计算的方法得到对应的幅值。常用的实时计算方法有泰勒级数求值法、反函数求值法、CORDIC算法等。  相位累加器是DDS电路中核心的模块,在工程实践上一般用数字全加器和数字寄存器的组合来实现,是一个典型的反馈电路。如图1所示。

其中, 为频率控制字, 为相位累加器的位数,fclk为系统参考时钟。相位累加器的工作过程为:每来一个参考时钟脉冲,频率控制字 与相位寄存器输出的相位数据累加一次,累加后的相位一方面反馈到全加器的输入端,以使全加器在下一时钟的作用下继续与频率控制字 相加;另一方面作为采样地址值送入ROM查找表。如此循环,当相位累加器累加满量后,就会产生一次溢出,ROM存储器的地址正好循环一次,完成一个周期性的动作,这个周期就是DDS合成信号的周期,累加器的溢出频率就是合成信号的频率[8]。图2为相位累加过程示意图及对应输出的占空比1:1的CW波。


                          
                       
                          
                                一般地,DDS输出信号频率

为一个参考时钟周期内的相位增量,由此可得:

由图2可知,

相当与

rad,相位累加器溢出一次所历经的采样脉冲(参考时钟)个数与DDS输出一个周期的信号所包含的采样脉冲个数是相等的,即:

将(1)式代入(2),可得:

由(3)可知,在参考时钟一定的情况下,频率控制字 决定了DDS输出频率。 实际上改变的是信号的相位增长速率, 越大,相位累加的曲线越陡峭,溢出一次所需的时间越短,对应输出信号的周期也越小,输出信号的频率就越大;与此相反, 越小,相位累加的曲线越平坦,溢出一次所需的时间越长,对应输出信号的周期也越大,输出信号的频率就越小;当 按线性变化时,输出信号即为线性调频信号,改变 的变化规律,就可实现不同规律的调频,如双曲、指数、对数调频等。当 =1时,DDS输出最小频率:

(4)式也是所谓的频率分辨率。3、系统硬件实现  系统硬件设计采用模块化结构,由通讯模块、控制模块、波形产生模块和电源模块四部分构成,如图3所示。

3.1 控制模块及通讯模块  ARM作为控制模块的核心,选用Philips公司的ARM7TDMI系列微处理器LPC2292。控制模块和通讯模块实现了本系统与外部主控设备(一般为PC机)的通信,通过RS232串口,并口EPP或USB通讯接口,接收主控设备发出的声纳波形信号的幅度、频率、相位、带宽等参数控制字,用以控制波形产生模块产生相应的声纳波形。3.2 波形产生模块  DDS技术的实现依赖于高速、高性能的数字器件,一般有两种方案,一种是使用DDS专用芯片,另一种用可编程逻辑器件FPGA自行设计。DDS专用芯片控制方式固定,价格较高,而FPGA以其速度高、规模大、可编程,以及有强大EDA软件支持等特性,十分适合实现DDS技术。本系统用FPGA实现DDS技术。FPGA选用Altera公司的Cyclone II系列的EP2C20F484C8N。4、系统软件开发  本系统的软件主要分为主控设备应用程序设计,FPGA波形设计部分和ARM控制部分。    主控设备应用程序是在X86平台上,VC环境下开发的。主要功能是通过RS232串口,并口EPP或USB任何一种通讯接口,实现主控设备与ARM通信。ARM控制部分的程序实现对通讯接口的访问,并实现对FPGA的控制。  FGPA波形设计过程采用自顶向下模块化的结构,主要包括时钟模块、寄存器读写及控制模块、DDS模块,如图4所示。

相位累加器是决定DDS性能的一个关键部分,相位累加器设计的好坏将直接影响到整个系统的性能,因此要从FPGA内部结构出发,设计出既节约系统资源,又能大幅度提高系统速度和性能的累加器结构[3]。在设计相位累加器的加法器模块时不用库中提供的lmp_add_sub模块,而是采用流水线技术,使用Verilog HDL编程实现。流水线示意图见图5。  相幅转换采用ROM查找表法实现。主要考虑的问题是FPGA内部存储器容量的大小,而EP2C20内部有大量的ROM资源可利用,因此可直接调用lpm_rom模块来实现。
                          
                       
                          
                                  FPGA模块化的设计,为ARM对其配置提供了极大的方便,ARM可把FPGA视为外挂的一片SRAM,通过外部存储器接口进行控制。

5、软硬件设计需要注意的几点  在系统软硬件设计中需要注意以下两点:

(1)当LPC2292通过外部存储器接口(EMC)控制FPGA时,地址线的接法如图6所示,即需要把LPC2292的地址线A0空出来不用。这是由于FPGA实现的波形产生模块的数据位宽为16位,当LPC2292外部存储器总线配置为16位时,A0地址需要空出来,当总线配置为32位时,地址A0,A1都需要空出来,当总线配置为8位时,地址从A0开始使用。  (2)EP2C20F484C8N的焊接问题,此型号为FinleLine BGA封装,在焊接的时候要注意芯片的锡球是否含铅,含铅与否决定采用何种工艺流程将器件安装在PCB板上,无铅封装要求焊接温度更高,工艺更复杂。Altera公司生产的所有无铅元件以其产品序号最后的“N”标出。因此本系统选用的芯片为无铅芯片,需要按无铅工艺焊接,若按有铅工艺焊接,将造成芯片的虚焊。 6、系统测试结果  对系统软硬件进行的测试表明,系统达到了预期的设计指标,能输出7路方波信号,频率固定(CW波)或线性变化(LFM波),且各路信号可选择关断或选通。CW波的频率在5~45kHz范围内任意可调;LFM波在5kHz带宽范围内任意可调,中心频率在5~45kHz范围内任意可调;输出脉冲信号宽度在0.5~100ms间任意可调,相邻各路信号的相位可超前和滞后,可选择发射功率,且本系统已成功应用于某工程项目中,工作正确可靠,得到了工程实际检验。图7为Tektronix逻辑分析仪采集到的对应输出的CW波。

7、结论  该系统很好的利用了ARM和FPGA两者的长处,ARM集中实现主控设备与FPGA通信的桥梁作用,接收主控设备发出的声纳波形参数,并根据这些参数配置FPGA内部的寄存器;FPGA充分体现了它在系统成本、体积上的优势,设计灵活、方便,FPGA的使用为系统的升级带来了很大方便。同时通讯接口的多样性,极大改善了人机接口,提高了系统的灵活性。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-7-27 19:39 , 耗时 0.088459 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表