您现在的位置是:主页 > 电路技术 > 数字电路 >


基于 FPGA 的通道数可调高精度采集系统模块化设计

2020-03-26 23:04数字电路 人已围观

简介声学相机是一种将空间视频信息与声场测量信息结合并可视化显示的技术, 主要由传感器阵列、数据采集系统、数据处理系统三部分组成, 广泛应用于战略军工、工业降噪、无损检测...

  声学相机是一种将空间视频信息与声场测量信息结合并可视化显示的技术, 主要由传感器阵列、数据采集系统、数据处理系统三部分组成, 广泛应用于战略军工、工业降噪、无损检测等领域。 目前, 德国 CAE  公司 Bionic 112 Array 系列声学相机拥有 112 个传声器阵元、24 bit 的分辨率以及 48 kHz 的采样率, 实现了距离大于 0 . 2 m 远场声源的二维成像; 丹麦 B&K 也研制出了30 阵元的便捷式声学相机 PULSE Reflex 系列。 国内, 其高 科 技 基 于 32 通 道 的 优 化 曲 面 阵 推 出 了 高 性 能 的KeyVES - U 系列, 实现了对 300 kHz~ 12 kHz 声源的定位成像, 并通过 PXI 总线完成数据的传输。
  
  声学相机对采集系统的自噪声非常敏感, 并且需要同步地获取大量传声器接收到的声学信号, 以及实现大带宽下的数据传输, 因此一款高性能的声学相机就对采集系统的采样精度、本底噪声、通道数量等性能指标提出了较高的要求。 本文针对这一问题设计了一款基于 FPGA 控制的数据采集模块, 解决了不同声学相机所需通道数不同的难题, 满足对不同种类传声器阵元的信号进行数据采集的需求, 并且论述了该模块的整体设计过程与扩展性分析, 通过实际测试给出了采集模块性能指标。
  

  1 硬件设计

  
  1.1 总体架构设计
  
  随着半导体工艺的发展,FPGA 的性能和容量在逐年地提升, 其价格和功耗却持续降低, 越来越多嵌入式仪器仪表的开发都采用了 FPGA  作为最优解决方案。本次设计的采集系统主要由 FPGA、 采集模块组以及千兆以太网通信三部分构成, 如图 1 所示。
  图 1   硬件架构
  图 1   硬件架构
  
  上位机通过千兆以太网发送的命令帧格式如表 1
  
  表 1 命令帧格式
  表 1 命令帧格式
  所示, 数据传输的帧格式如图 2 所示。
  图 2 数据帧格式
  图 2 数据帧格式
  
  1.2 采集模块设计
  
  1.2.1 器件的选型
  
  采集模块中 ADC 芯片的选取需要考虑其转换类型、量程、 分辨率、 采样率、 通道数、 动态范围、 输入输出接口等参数, 表 2 列举了工程中常见的几款 ADC 芯片的性能指标, 本次设计择优选择了 ADI 公司推出的 AD7768 芯片。
  
  表 2 ADC 芯片性能指标
  表 2 ADC 芯片性能指标
  由于传声器的输出电压信号通常是毫伏级别, 其远远小于 ADC 芯片的量程范围, 因此, 需要对输入的电压信号进行放大处理, 选取 PGA 芯片作为整个采集系统的输入级, 使得采集模块的输入阻抗大于 1 GΩ, 并且通过改变 PGA 的增益系数可灵活匹配不同种类传声器的信号放大需求。 表 3 列举了几款常见的 PGA 芯片性能指标, 择优选择了 TI 公司推出的 PGA4311 芯片, 通过 LTC6363 芯片将 PGA 输出的电压信号完成单端转差分的操作, 以匹配了AD7768 芯片的差分输入接口。
  
  表 3 PGA 芯片性能指标
  表 3 PGA 芯片性能指标
  1.2.2 可扩展性分析
  图 3 模块硬件构成
  图 3 模块硬件构成
  
  采集模块硬件构成如图 3 所示, 总共消耗 FPGA 的 I / O 资源数为 16 个。 由图 2 可知, 单个采集模块每个网络包占用 42 B 固定包头、4 B 的帧头、4 B 的包计数以及4 B 的 CRC 校验, 单个模块 1 次采样有32 B 数据, 上位机要求一个数据报中包含 M 个采集模块 N 次同步采样的数据, 则发送个包的 时间 T 为:
  
  T =( 54 + MN × 32 ) / 125    ( 1 )
  
  设采样频率为 fs, 则采集系统实现连续数据传输需要满足的条件为:
  
  T < N / fs     ( 2 )
  
  EP4CE55 型 FPGA 拥有的用户 I / O 数量为 374 个 ,即 M 还需满足:
  
  16M < 374     ( 3 )
  
  通过硬件上增添采集模块, 并根据式(2) 和式(3) 调整AD 采样率 fs 以及单次发送的采集点数 N 即可实现通道数可调的功能。 例如, fs 设置为 125 kHz , 128 通道同步采集( M = 16 ) , 一个数据报中包含 8 次采集数据( N = 8 ) , 可以求得发送时间 T = 33 . 2 μs , 缓存 N 次的时间为 64 μs , 消耗 I / O 数量 256 个, 满足了通道数扩展的条件。
  

  2 软件设计与实现

  
  程序流程图如图 4 所示, 程序上实现了上位机与FPGA 之间的千兆以太网通信、FPGA 对上位机指令的响应与校验以及采集数据高速缓存与实时上传。
  图 4 程序流程图
  图 4 程序流程图
  
  2.1 指令校验模块设计
  图 5   校验模块逻辑波形
  图 5   校验模块逻辑波形
  
  FPGA 通过同步于以太网时钟信号上升沿对数据总线进行连续地判断, 该模块的逻辑仿真波形如图 5 所示, 实现功能如下:
  
  (1)) 识别出上位机的全局启动指令, 并将全局使能信号( en_glob) 置“ 1 ” , 随后, 当接收到全局停止指令后, 清零全局使能信号;
  
  (2)) 识别出上位机的 PGA 配置指令, 将 PGA 的配置使能信号( en_pga_w) 置“ 1 ” , 并寄存配置信息 到寄 存器 “ pga_data ” 中, 当 PGA 配置完成后将使能信号置“ 0 ” ;
  
  (3)) 识别出上位机的 ADC 寄存器配置指令, 置“ 1 ”ADC   的配置使能信号( en_adc_w) 后寄存配置信息到寄存器“adc_addr_data” 中, 当 ADC 配置完成后清零使能信号。
  
  2.2 PGA 控制模块
  
  PGA4311 芯片通过 SPI 接口实现与 FPGA 芯片的数据交互。 对级联的 PGA 芯片进行配置时, 需要对第一片PGA 连续进行两次增益系数的配置, PGA 通道寄存器输入的数据 L ( 1 ~ 255 十进制) 与实际增益系数 K 的关系如式( 4 ) 所示:
  
  K ( dB)= 31.5 -[ 0 . 5 ×( 255 -N ) ]       ( 4 )
  
  PGA 控制模块实现的功能如下:
  
  (1)) 当采集系统接收到上位机发出的全局使能指令时, 对所有通道写入十六进制数“ C0 ” , 实现下位机的默认配置功能;
  
  (2)) 当系统识别到上位机发送的在线修改指令时, 将指定参数写入 PGA 芯片, 并返回等待指令状态。
  
  如图 6 的逻辑仿真图所示, 首先, 全局使能后通过两次 SPI 通信完成了 8 个通道增益系数的默认配置, 随后, 分别实现了两次在线修改各通道增益寄存器的操作。
  图 6   PGA 配置模块逻辑波形
  图 6   PGA 配置模块逻辑波形
  
  2.3 ADC 控制模块
  
  AD7768 芯片的数据输出形式如图 7 所示,其中“DRDY”信 号 的 频 率 代 表 了 ADC 的 采 样 率 ,FPGA 根 据 每 个“ DCLK ” 的下降沿对“ DOUT ” 进行读取。
  图 7 通道并行数据输出模式
  图 7 通道并行数据输出模式
  
  图 8 为系统工作在 125 kHz 采样率下, FPGA 读取单个采集模块 ADC 通道 7 数据的实际逻辑波形图, 其中“ AD_Data_Valid ” 信 号作 为 FIFO 的写 时钟 信 号 , 另 外 , “ ad_go ” 为后级以太网传输的发送使能脉冲。
  图 8   数据读取波形
  图 8   数据读取波形
  
  2.4 千兆以太网控制模块
  
  千兆以太网控制模块的主要功能如下:
  
  (1)) ARP 协议获取并缓存上位机 的 MAC 地 址与IP地址;
  
  (2)) UDP 协议实现指令回馈与数据传输功能;
  
  (3)) 通过 ICMP 协议实时观测网络连接是否畅通。
  
  上位机发送 18 B 的“ AA ” 对采集系统进行网络抓包测试,ARP 应答与指令响应功能如图 9 所示; 上位机通过DOS 系统, 输入 ping 指令对 ICMP 协议进行测试, 其结果如图 10 所示。
  图 9 ARP 与 UDP 协议的实现
  图 9 ARP 与 UDP 协议的实现
  图 10 ICMP 协议的实现
  图 10 ICMP 协议的实现

Tags: FPGA 

标签云