航天器地面测试双参量同步采集与无线传输系统设计
2026/9/20 5:07:29 网站建设 项目流程

1. 航天器地面测试场景下,为什么需要双参量同步采集

航天器地面测试这个场景,跟普通的工业数据采集有一个本质区别:被测对象往往处于高价值、不可逆、一次性的状态。一发星上的设备,从单机测试到整星综合测试,中间经历的环境试验、热真空试验、电磁兼容试验,每一次通电都是不可重复的窗口期。这意味着采集系统必须做到"一次通过、数据可信、事后可复现"。

传统的地面测试采集方案通常是分立的:温度用一路采集设备,振动或者应变用另一路,各自有独立的时钟源和存储介质。这种架构在事后做数据分析时会出现一个很尴尬的问题——两路数据的时间基准对不齐。你可能觉得差个几十毫秒无所谓,但在做热-力耦合分析的时候,温度变化和应变响应之间的相位关系恰恰是核心信息。时间戳对不上,耦合分析就变成了"猜"。

所以"双参量同步采集"这个命题的核心,不是简单地采两路信号,而是两路信号共享同一个时基。这一点在项目标题里用了"同步"两个字,是经过考量的。同步意味着采样时刻的确定性,意味着两路数据在时间轴上可以严格对齐,意味着后续做相关分析、传递函数辨识时不需要再做时间配准这种引入误差的预处理。

再叠加"无线传输"这个需求。航天器地面测试现场,尤其是整星测试阶段,被测产品可能处于真空罐内、振动台面上、或者暗室中,有线线缆的布设受到极大限制。线缆本身还会引入寄生参数,影响被测信号的完整性。无线传输解决的是"物理隔离"和"灵活布设"的问题,但同时也带来了新的挑战:无线链路的可靠性、延迟抖动、以及数据完整性保障。

把这三个需求叠在一起——同步采集、双参量、无线传输——就构成了一个典型的嵌入式系统设计问题。它需要在FPGA层面做精确的时序控制,在无线通信层面做可靠的数据链路,在系统层面做完整的协议栈设计。这也是为什么这个项目值得拆解:它不是一个单点技术问题,而是一个系统集成问题。

2. 双参量同步采集的硬件架构拆解

2.1 两路参量的信号链设计差异

双参量具体是哪两个参量,从项目正文和关键词来看没有明确限定,但从航天器地面测试的常见需求推断,大概率是温度与振动、温度与应变、或者压力与温度这类组合。不同参量的信号链设计差异很大,这是硬件设计首先要面对的问题。

以温度为例,常用的传感器是PT100或者热电偶。PT100是电阻型,需要恒流源激励,信号调理电路要做三线制或四线制补偿;热电偶是电压型,输出信号在毫伏级别,需要高增益低噪声放大,还要做冷端补偿。这两种信号链的带宽需求都很低,温度变化本身是慢变量,采样率做到10Hz到100Hz就足够了。

振动或者应变的信号链就完全不同。压电式加速度计的输出的电荷信号,需要电荷放大器转换成电压;应变片需要惠斯通电桥,桥路输出的差分信号在微伏到毫伏级别。这类信号的带宽可能要到几千赫兹甚至更高,采样率至少要满足奈奎斯特准则,实际工程中通常取信号最高频率的5到10倍。

这就带来一个设计上的矛盾:两路信号的带宽需求差了两三个数量级,但又要共享同一个时基做同步采集。如果用一个ADC以高采样率同时采两路,低速那一路会浪费大量存储和传输带宽;如果用两个独立的ADC各自按需采样,又怎么保证同步?

2.2 基于FPGA的统一时基与触发分发

解决这个矛盾的关键在于FPGA。FPGA在这个系统里扮演的角色不是简单的"数据搬运工",而是整个采集系统的时间基准源和触发控制器。

具体做法是这样的:FPGA内部用一个高稳定度的晶振作为主时钟源,通过锁相环生成各个模块需要的时钟域。对于高速参量,直接用主时钟或者分频后的时钟驱动ADC采样;对于低速参量,用一个计数器做分频,产生精确的低速采样触发信号。关键在于,这两个时钟域虽然频率不同,但都源自同一个主时钟,它们之间的相位关系是确定的、可计算的。

触发分发是另一个关键点。航天器测试中,经常需要外部触发信号来标记某个特定事件(比如振动台开始动作、加热器开启),采集系统需要在收到触发信号的同一时刻对两路参量都做标记。FPGA的做法是:外部触发信号先做同步化处理(用两级触发器消除亚稳态),然后同时锁存两路采集通道的当前状态和时间戳。这样两路数据在触发点上的时间对齐精度可以做到一个主时钟周期以内。

注意:外部触发信号的同步化处理是必须的。如果直接把异步触发信号送到两个采集通道,由于走线延迟和触发器建立保持时间的差异,两路可能相差几个纳秒甚至更多。对于低速参量无所谓,但对于高速参量,这个差异会直接体现在数据里。

2.3 ADC选型与前端调理的取舍

ADC选型需要同时考虑两路参量的需求。如果高速那一路的带宽在10kHz以内,采样率100kSPS左右,16位分辨率,那么像AD7606这样的8通道同步采样ADC是一个很省事的选择。它内部集成了模拟前端,支持±10V或±5V输入范围,可以直接接调理后的传感器信号,而且所有通道是真正同步采样的,省去了外部采样保持电路。

但如果高速那一路的带宽更高,比如要到100kHz以上,AD7606的200kSPS总吞吐率就不够用了。这时候可能需要选AD7768这类更高采样率的同步采样ADC,或者用两个独立的ADC芯片,通过FPGA控制它们的CONVST引脚实现同步启动。

前端调理电路的取舍也很关键。航天器测试现场电磁环境复杂,前端调理不仅要考虑信号带宽和增益,还要考虑共模抑制、隔离、以及抗混叠滤波。抗混叠滤波器是必须的,截止频率要设在奈奎斯特频率以下,否则高频噪声会折叠到有用频带内,这种误差在数字域无法消除。

3. 无线链路选型:LoRa与GFSK的适用边界

3.1 为什么LoRa在这个场景下可能不是最优解

LoRa在物联网领域很火,远距离、低功耗、抗干扰能力强,这些标签让它看起来很适合航天器地面测试的无线传输需求。但仔细分析一下就会发现,LoRa的核心优势在这个场景下未必用得上。

LoRa的扩频调制带来的抗干扰增益,是以牺牲数据速率为代价的。典型LoRa模块在SF12配置下,空中速率只有几百bps到几kbps。对于双参量同步采集系统,即使低速那一路采样率只有10Hz、16位分辨率,数据率也有160bps;高速那一路如果采样率100kSPS、16位,数据率就是1.6Mbps。LoRa的速率根本喂不饱这个数据量。

LoRa的另一个问题是传输延迟的不确定性。扩频调制加上前向纠错,一包数据的空中时间可能到几百毫秒甚至秒级。对于需要时间对齐的双参量数据,这个延迟抖动是致命的。你无法确定一包数据是什么时候真正发出去的,也就无法在接收端重建精确的时间戳。

所以LoRa更适合的是那种"偶尔发一包、数据量极小、对延迟不敏感"的场景,比如远程抄表、环境监测。航天器地面测试的同步采集,数据率和实时性要求都超出了LoRa的舒适区。

3.2 GFSK在中等速率链路中的定位

GFSK(高斯频移键控)是蓝牙经典模式用的调制方式,也在很多sub-1GHz的射频芯片中作为基础调制模式。它的特点是频谱效率比LoRa高,数据速率可以做到几十kbps到几百kbps,同时保持相对简单的收发机结构。

GFSK的"高斯"体现在基带脉冲成型上。原始的数字符号经过高斯低通滤波器后再做频率调制,这样可以压缩发射频谱的旁瓣,减少对相邻信道的干扰。代价是引入了符号间干扰,接收端需要做均衡或者用匹配滤波器来补偿。但在中等速率下,这个代价是可以接受的。

对于双参量同步采集系统,如果高速那一路的数据率在100kbps以内,GFSK是一个比较平衡的选择。它的延迟比LoRa小得多,一包数据的空中时间在毫秒级别,配合FPGA的硬件时间戳,可以在接收端重建出毫秒级的时间对齐精度。同时GFSK的收发机功耗和复杂度都比LoRa低,适合用电池供电的现场采集节点。

3.3 链路预算与现场环境适配

无线链路选型不能只看调制方式和速率,还要做链路预算。链路预算的核心公式是:

接收功率 = 发射功率 + 发射天线增益 - 路径损耗 + 接收天线增益 - 接收端损耗

路径损耗跟距离和频率有关。在航天器测试现场,如果是真空罐内,电磁波传播特性跟自由空间不同,罐壁的反射会形成多径效应。如果是振动台或者暗室,金属结构对电磁波的遮挡和反射也很严重。这些因素都会让实际链路预算比自由空间模型差很多。

一个实用的做法是:在选型阶段先做现场勘测,用信号源和频谱仪测量实际路径损耗,然后根据测量结果反推需要的发射功率和接收灵敏度。不要直接套用芯片手册上的自由空间传输距离,那个数字在复杂电磁环境下没有参考价值。

天线选型也要注意。全向天线布设方便但增益低,定向天线增益高但需要对准。在测试现场,如果采集节点和接收端的位置相对固定,用定向天线可以显著改善链路余量。如果节点需要移动或者旋转,那就只能用全向天线,靠提高发射功率或者降低速率来补偿。

4. FPGA内部的数据流与接口设计

4.1 从ADC到FPGA的接口时序

ADC和FPGA之间的接口时序是整个数据流的第一环,也是最容易出问题的一环。以SPI接口的ADC为例,FPGA作为主机,通过SPI时钟、片选、MOSI、MISO四根线与ADC通信。看起来很简单,但实际调试中经常遇到数据错位、采样值跳变的问题。

根本原因往往在时序上。SPI的四种模式(CPOL/CPHA组合)必须和ADC手册上规定的模式严格匹配。如果模式搞错了,数据会在错误的时钟沿被采样,读出来的值就是乱的。更隐蔽的问题是建立保持时间:FPGA输出的SPI时钟经过PCB走线到达ADC时,由于走线延迟和寄生电容,时钟沿可能已经偏移了。如果ADC的建立保持时间余量不够,就会在时钟沿附近采到不确定的值。

解决办法是在FPGA内部对SPI时钟做相位调整。Xilinx的FPGA可以用MMCM或者PLL输出不同相位的时钟,通过调整相位偏移来补偿PCB走线延迟。具体偏移多少,需要用示波器测量ADC引脚上的实际时钟沿位置,然后反推。这个过程叫"时序校准",是FPGA接口调试的必修课。

提示:SPI的片选信号也有讲究。硬件片选由FPGA的普通IO驱动,软件片选由SPI控制器内部产生。硬件片选的优点是时序可控,可以在片选有效后插入可编程的延迟再启动时钟;软件片选省IO但时序调整不灵活。对于高速ADC,建议用硬件片选。

4.2 数据缓存与跨时钟域处理

ADC采到的数据进入FPGA后,首先要做跨时钟域处理。ADC的采样时钟和FPGA内部的数据处理时钟通常是不同频率、不同相位的。如果直接把ADC数据送到处理时钟域,会触发亚稳态,数据不可靠。

标准的做法是用异步FIFO做跨时钟域缓冲。ADC数据在采样时钟域写入FIFO,处理逻辑在处理时钟域读出。FIFO的深度要足够容纳两个时钟域之间的速率差和相位差带来的累积偏差。如果ADC是连续采样,FIFO的写入速率必须小于等于读出速率,否则FIFO会溢出。

对于双参量同步采集,两路数据需要打上统一的时间戳。时间戳的生成也在FPGA内部完成:用一个自由运行的计数器,计数频率是主时钟。每路数据在写入FIFO之前,把当前计数器的值作为时间戳一起写入。这样即使两路数据的采样率不同,它们的时间戳都来自同一个计数器,在时间轴上是对齐的。

数据缓存的另一个考虑是突发传输。无线链路的速率通常低于ADC的瞬时数据率,所以需要在FPGA内部做数据缓冲,等积累到一定量后再通过无线模块发送。缓冲深度取决于无线链路的速率和允许的延迟。如果无线链路速率是100kbps,ADC数据率是50kbps,那么缓冲深度只需要覆盖无线发送一包数据的时间即可。

4.3 UART与SPI在系统内的分工

在一个典型的双参量采集系统中,UART和SPI通常分工明确:SPI负责高速数据通路,UART负责控制和调试。

SPI接ADC或者接无线模块的数据接口。SPI的全双工特性适合连续数据流,时钟速率可以到几十MHz,满足高速采集的需求。但SPI的片选机制决定了它适合点对点或者少量从机的场景,不适合做多节点的总线。

UART接上位机或者调试终端。UART的速率低(通常115200bps到921600bps),但协议简单、线少、兼容性好。在系统调试阶段,UART可以用来打印日志、下发配置参数、读取状态寄存器。在产品化阶段,UART可以用来做固件升级或者参数标定。

两者的数据在FPGA内部通过一个仲裁器共享存储资源。当UART需要读取数据时,仲裁器暂停SPI的数据写入,把存储器的读端口让给UART。这个仲裁逻辑要处理好优先级和死锁问题,否则会出现UART读不到数据或者SPI数据丢失的情况。

5. 系统联调中容易踩的坑与排查思路

5.1 同步采集不同步:从时钟树开始查

系统联调时最常遇到的问题就是"两路数据对不齐"。你明明在FPGA里做了同步设计,但采回来的数据在时间轴上就是有偏移。这时候不要急着改代码,先从时钟树开始查。

第一步,确认两路ADC的采样时钟是否真的同源。用示波器同时测两个ADC的采样时钟引脚,看它们的相位关系是否稳定。如果相位在漂移,说明两个时钟来自不同的PLL或者不同的晶振,需要改成同源。

第二步,确认触发信号的同步化处理是否正确。如果外部触发信号没有做两级触发器同步,或者两级触发器用了不同的时钟域,触发点就会有不确定性。用逻辑分析仪抓触发信号和两路数据的起始点,看它们的时间关系是否一致。

第三步,确认时间戳的生成逻辑。如果两路数据的时间戳是在不同的时钟域生成的,即使计数器同源,由于跨时钟域的采样时刻不同,时间戳也会有偏差。时间戳的锁存必须在同一个时钟沿完成。

5.2 无线链路丢包:先看信噪比再看协议

无线链路丢包是另一个高频问题。很多人一遇到丢包就去改协议,加重传、加确认、加前向纠错,结果越改越复杂,丢包率还是下不来。

正确的排查顺序是:先看物理层,再看链路层,最后看应用层。

物理层排查的核心是信噪比。用频谱仪看接收端的信号电平和噪声基底,算一下信噪比。如果信噪比低于解调门限,那丢包是必然的,改协议没用,得从天线、发射功率、或者距离上想办法。

链路层排查的核心是同步和帧格式。GFSK接收机需要做位同步和帧同步。如果前导码长度不够,接收机可能无法完成位同步;如果同步字选得不好,自相关性差,帧同步会失败。这些参数在芯片手册里都有推荐值,不要随意改。

应用层排查的核心是缓冲区管理。如果接收端的缓冲区太小,来不及处理上一包数据,下一包就丢了。这时候需要加大缓冲区或者提高处理速度,而不是改无线参数。

5.3 电源噪声对采集精度的影响

航天器地面测试对采集精度的要求很高,而电源噪声是精度的一大杀手。ADC的参考电压如果被电源纹波污染,采样值的低位就会跳动。前端调理电路的供电如果不够干净,放大器的输出就会有噪声。

排查电源噪声的方法是:用示波器交流耦合档测ADC参考电压引脚和前端放大器供电引脚,看纹波峰峰值。如果纹波超过ADC手册规定的最大值,就需要加LDO或者π型滤波器。

一个容易被忽略的点是数字地和模拟地的分割。如果数字地和模拟地在PCB上混在一起,数字开关噪声会通过地平面耦合到模拟电路。正确的做法是单点接地,数字地和模拟地只在ADC下方的一个点连接,其他区域严格分开。

注意:FPGA的IO翻转噪声很大,尤其是高速SPI和UART接口。这些IO的电源和地要单独处理,不要和ADC的模拟电源共用。如果PCB层数允许,给模拟电源单独一层,数字电源单独一层,中间用地平面隔开。

6. 从工程样机到可靠系统的几个设计习惯

6.1 参数化设计:让配置可追溯

在FPGA开发中,很多人习惯把参数直接写在代码里,比如采样率、分频系数、FIFO深度。这样做在单次开发中没问题,但到了系统联调阶段,每次改参数都要重新编译、重新下载,效率极低。

更好的做法是把所有可配置参数提取到一个独立的参数文件中,用Verilog的parameter或者VHDL的generic来定义。这样改参数只需要改一个文件,而且参数之间的依赖关系一目了然。比如采样率变了,分频系数和FIFO深度可能需要跟着变,参数化设计可以让你在一个地方看到所有相关参数。

更进一步的做法是用寄存器配置。把关键参数做成寄存器,通过UART或者SPI在上位机下发。这样不需要重新编译FPGA,就能调整采样率、触发阈值、无线发射功率等参数。这在现场调试时特别有用,因为现场环境跟实验室不一样,最优参数往往需要现场整定。

6.2 状态机设计:把异常路径也画出来

FPGA设计中最容易出问题的地方是状态机。很多人在画状态转移图时只画正常路径,异常路径靠默认分支兜底。结果到了实际运行中,一旦进入异常状态,状态机就卡死了。

正确的做法是在设计阶段就把所有可能的异常路径画出来。比如SPI通信超时怎么办?FIFO溢出怎么办?无线模块无应答怎么办?每个异常都要有明确的处理动作和返回正常状态的路径。

状态机的编码也有讲究。用独热码(one-hot)还是二进制码,取决于状态数量和FPGA架构。独热码的译码逻辑简单,速度快,但占用触发器多;二进制码省触发器,但译码逻辑复杂。对于状态数少于16个的状态机,独热码通常是更好的选择。

6.3 在线调试:ILA和UART日志的配合使用

FPGA调试离不开在线逻辑分析仪(ILA)。ILA可以抓取FPGA内部任何信号的波形,对于排查时序问题和状态机跳转问题非常有效。但ILA的资源有限,不能同时抓太多信号,而且抓取深度受Block RAM容量限制。

UART日志是ILA的补充。把关键状态、计数器值、错误标志通过UART打印出来,可以在不占用ILA资源的情况下监控系统运行状态。UART日志的缺点是速率低,不能实时反映高速信号的变化,但它的优势是可以长时间运行,捕捉偶发错误。

两者配合使用的策略是:先用UART日志做粗定位,确定问题大概出在哪个模块;然后用ILA做精定位,抓取该模块内部的信号波形,分析具体的时序问题。这样比一上来就用ILA盲抓效率高得多。

7. 这个系统设计思路还能往哪些方向延伸

双参量同步采集加无线传输这个架构,本质上是一个"多源数据同步获取+远程回传"的通用框架。把参量类型换掉、把无线制式换掉,它就能适配很多其他场景。

比如在工业设备状态监测中,可以把温度换成振动,把应变换成电流,用同样的同步采集架构做故障诊断。在农业环境监测中,可以把高速参量换成光照强度,低速参量换成土壤湿度,用LoRa做远距离回传。在结构健康监测中,可以把加速度和位移做同步采集,分析结构的模态参数。

延伸的关键在于保持"统一时基"这个核心设计不变。只要两路数据共享同一个时间基准,后续的数据融合和分析就有意义。如果时基不统一,再多的数据也只是孤立的数字,产生不了1+1>2的效果。

另一个延伸方向是增加参量数量。从双参量扩展到四参量、八参量,FPGA的并行处理能力正好可以发挥优势。每路参量独立采集、独立打时间戳,然后在FPGA内部做数据打包,通过同一个无线链路回传。这样一套系统就能覆盖一个测试点的所有关键参量,减少现场设备的数量和布线的复杂度。

我在实际做类似系统时的一个体会是:同步采集系统的设计难点不在采集本身,而在"同步"两个字。采集是成熟技术,ADC选型、前端调理、FPGA接口都有标准方案。但同步涉及到时钟树设计、跨时钟域处理、触发分发、时间戳生成这一整套逻辑,任何一个环节出问题都会导致同步失效。所以在项目初期就要把同步方案想清楚,不要等到联调时才发现两路数据对不齐,那时候改设计的代价就大了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询