Back to Blog

FPGA核心板在声呐系统中的应用

#fpga开发

前言

声纳系统利用声脉冲在水下进行探测、识别和跟踪,是海洋测绘、潜艇导航和水下目标检测等场景的核心技术。一个完整的声纳系统通常由四大部分组成:控制与显示单元发射器电路接收器电路以及传感器(兼具扬声器和高灵敏度麦克风功能)。本文聚焦于声纳发射器的实现,特别是基于 FPGA 核心板的相控阵发射器设计,帮助读者了解从硬件选型到系统集成的关键技术要点。

声纳系统框图

技术挑战

本项目的声纳发射器采用 相控阵 结构,能够在 10 kHz–100 kHz 频段内产生可编程的声波。系统采用 模块化阵列:每个模块负责驱动 8 个声纳传感器,从而实现灵活的波束控制与相位调节。要实现这一目标,需要在 FPGA 中集成以下关键功能块:

功能块主要职责
ARM 处理中心(Intel HPS)负责系统初始化、参数配置、与上位机的通信以及高层控制逻辑
波形发生器生成任意波形(最多 64 K 条目),并提供缩放功能以适配不同的发射功率需求
通道接口将波形数据分配到 8 条 TX 通道,每条通道对应一个 DAC 输出
时钟与芯片计时提供精准的采样时钟,确保 DAC 同步输出,支持相位交替的时钟切换
系统监控与控制实时监测温度、电压等关键参数,提供故障检测与安全保护
状态寄存器暴露内部状态供上位机读取,实现调试与性能评估

系统框图

关键难点

  1. 高精度时钟同步:声纳波束的相位控制对时钟抖动极为敏感,需要在 FPGA 内部实现低抖动时钟分配,并与外部 DAC 时钟保持相位对齐。
  2. 可编程延迟:每条通道必须能够独立设置延迟,以实现波束指向的细粒度调节。延迟的实现方式必须兼顾资源利用率和实时性。
  3. 多通道 DAC 驱动:每块 PCB 上装配了 4 个 ADI 双通道 DAC(共 8 路输出),要求在同一时钟相位上交替写入数据,确保各通道输出同步且相位一致。
  4. 软件/硬件协同:提供基于菜单的构建环境和 BSP(Board Support Package),以降低开发门槛,使硬件工程师能够在 PCB 设计阶段即开始软件调试。

解决方案

项目选用了 Intel FPGA(原 Altera)Cyclone V 系列的核心板作为基底。Cyclone V 集成了 HPS(Hard Processor System),能够在同一芯片上运行 ARM Cortex‑A9 处理器与 FPGA 逻辑,天然适配本项目对高吞吐与灵活控制的双重需求。

核心板的主要特性

  • 任意波形发生器:支持 64 K 条目,可通过软件加载任意采样点序列,实现从单频正弦波到复杂调制波形的全覆盖。波形数据在 FPGA 内部的 Block RAM 中存储,读取速率满足 100 kHz 以上的采样需求。
  • 缩放功能:波形幅度可在硬件层面进行比例缩放,避免在软件端进行浮点运算,提高实时性。
  • 8 路 TX 通道控制:每个核心板负责驱动 8 条 TX 数据通道,波形发生器的输出被复制到 8 个实例的通道模块中。每个实例内部实现 可编程延迟,通过寄存器配置实现 0 ~ 几微秒的细粒度调节。
  • DAC 接口:每块 PCB 配置 4 块 ADI 双通道 DAC(如 AD5780、AD5781 系列),共 8 路模拟输出。DAC 采用 交替相位时钟(Phase‑Alternating Clock)方式接收数据,即在时钟的正、负沿交替写入不同通道的数据,保证所有通道在同一时钟周期内完成采样,降低相位误差。
  • 菜单驱动的构建环境:提供基于 Qsys(Platform Designer)的图形化设计入口,开发者可以通过菜单选择所需的 IP 核、配置时钟树并生成对应的 BSP。BSP 包含驱动、示例代码以及 Makefile,支持在 Linux(或裸机)环境下快速移植。

FPGA 顶层框图

设计流程概览

  1. 需求定义:确定声纳工作频段(10 kHz–100 kHz)、每阵列模块的传感器数量(8 路)以及波形类型(任意波形)。
  2. 硬件选型:基于需求选定 Cyclone V 核心板,确认板上资源(Block RAM、DSP、PLL)能够满足 64 K 条目波形存储与高速 DAC 驱动。
  3. IP 集成:在 Platform Designer 中集成 HPS‑FPGA 桥接、波形发生器 IP、通道延迟 IP、时钟管理 IP(PLL、MMCM)以及 ADI DAC 控制 IP。
  4. 软件开发:利用提供的 BSP,编写上位机配置工具,完成波形加载、延迟设置、状态查询等功能。
  5. 板级验证:在原型 PCB 上焊接 ADI DAC,使用示波器观测每路输出波形的幅度、相位与延迟是否符合设计预期。
  6. 系统集成:将核心板与底板(包括电源、时钟分配、传感器阵列)组装,进行完整的声纳发射测试,验证波束指向与相控阵效果。

关键实现细节

  • 可编程延迟实现:延迟模块内部采用计数器方式,对输入波形进行固定时钟周期的延后。延迟值通过 HPS 写入寄存器,实现软件动态调节。
  • 时钟交替相位:利用 FPGA 内部的 MMCM 产生两路相位相差 180° 的时钟(CLK0 与 CLK180),分别驱动 DAC 的正、负沿写入,实现交替相位采样。
  • 波形缩放:在波形读取路径加入乘法器(DSP48E1),将原始波形乘以缩放系数后送入 DAC,避免在软件层面进行浮点运算。
  • 系统监控:通过 HPS 的 I2C 总线读取 ADI DAC 的内部温度传感器和电压监测寄存器,实时上报给上位机,实现温度补偿与安全关断。

结论和下一步措施

通过本项目的实践可以得出以下结论:

  • 基于核心板的系统设计方法 能显著缩短研发周期。团队无需从零开始设计 SOC/FPGA,直接使用成熟的 Cyclone V 核心板即可快速搭建原型。
  • 硬件与软件并行开发 成为可能。FPGA 代码、测试脚本以及上位机软件可以在 PCB 设计阶段同步推进,等到底板完成后即可直接迁移。
  • 代码可移植性强。本文所述的声纳发射器代码已抽象为可复用的模块,未来在接收器设计或其他相控阵应用中可以直接复用,降低重复开发成本。

下一步工作建议

  1. 接收器模块移植:将已有的波形发生器、延迟与时钟管理代码迁移到接收器 PCB,利用相同的 DAC/ADC 接口实现回波采集。
  2. 功率放大与匹配网络:在发射器输出端加入功率放大电路与阻抗匹配网络,以提升声波的发射功率并优化波束形状。
  3. 自动校准算法:基于系统监控数据,开发 FPGA 内部的自校准例程,实现温度补偿与相位误差自动校正。
  4. 多阵列协同:扩展到多块核心板的阵列布局,研究跨板同步时钟分配与分布式波束控制策略。

综上,利用 Intel Cyclone V 核心板实现的相控阵声纳发射器在硬件资源、开发效率与代码可移植性方面均表现出色,为后续的水下声学系统研发提供了可靠的技术基石。