火箭箭上控制系统(GNC)的芯片板卡选型,放在整个航天工程链条里,属于那种“平时没人夸、出错全背锅”的环节。硬件方案选得保守,飞行程序跑起来倒是稳,但算力冗余不足、接口不够用,后期软件迭代处处掣肘;选得激进,新器件状态验证不过关,评审会上第一个被质疑的就是你。GNC(制导、导航与控制)系统承担的是火箭姿态确定、轨迹控制、制导指令生成与执行,板卡则是这一切的物理载体。它要同时面对飞行中的振动冲击、温度交变、辐照环境和不可维护的处境,选型逻辑和消费电子、工业控制完全是两个世界。
这篇文章写给正在做箭上硬件方案、或者准备入门航天电子设计的工程师。我会把从需求拆解、芯片选型、板级设计到验证排故的完整思路都捋一遍,附带一些日常文档里不会写的实际经验。你会发现,GNC板卡选型这件事表面是挑芯片,实际是在算力、功耗、可靠性和供应链之间做工程决策,每一步都有取舍,每一步都有代价。
1. GNC系统对芯片板卡的需求拆解与选型思路
先说清楚一件事:GNC板卡的芯片选型,第一步不是打开选型手册,而是把飞行任务对板卡的功能需求拆到寄存器级。什么叫寄存器级?就是你得知道每一路数据从哪来、经过什么处理、中间存哪里、最终送到哪个外设,然后再决定谁来做这件事、做到什么程度。
1.1 火箭GNC在板卡层面要解决的核心问题
GNC三个字母,G是制导,N是导航,C是控制,听上去是三个功能,在箭上却要由同一块板卡在极短时间内连续完成闭环。导航部分处理惯性测量单元(IMU)的数据,完成姿态更新、速度更新和位置解算;制导部分根据当前状态与预定弹道,计算需要的方向修正或速度增量;控制部分把这些指令转换成伺服机构的摆动角度、推力矢量指令,或姿控喷气的开关逻辑。
这意味着板卡上至少要有三类硬件资源。第一类是算力,用来跑导航解算和控制律,典型控制周期在几百赫兹到上千赫兹,而且每个周期内的计算时间必须是确定的,不能因为一次缓存未命中就拖到下一拍;第二类是接口资源,必须覆盖IMU数据输入、舵机指令输出、遥测打包上行,以及地面测试设备的通信通道;第三类是存储资源,既要保存程序代码和飞控参数,也要在飞行过程中持续记录关键变量的变化过程,供事后分析。
我平时画GNC板卡框图,习惯先画出一条主数据流:IMU输出经过隔离调理电路送入主控芯片,主控完成导航解算和控制律运算后,把舵机控制指令送到伺服驱动接口,同时把遥测数据打包发给测控系统。主控旁边挂着程序存储、数据存储,外围有看门狗、电源管理、时钟管理。这个框架一旦定下来,选型就变成往每个方框里填具体器件的动作,而不是漫无目的地挑芯片。
1.2 选型的核心矛盾:算力、功耗、可靠性与供应链四方博弈
芯片选型最常见的错误,是把消费电子的思路直接搬到箭上。消费电子追求最新的制程、最高的主频、最低的功耗,但在GNC板卡上,这三条都可能是陷阱。制程越新,单粒子翻转(SEU)敏感性不一定越低,反而因为特征尺寸缩小,临界电荷变小,某些工艺下的翻转概率会上升;主频越高,EMI风险和电源设计难度越大;最要命的是供货周期,一颗芯片用在火箭上,要保证在接下来几年甚至十几年的批产周期里持续供货、批次稳定,很多新潮芯片根本做不到这一点。
所以GNC板卡选型的本质矛盾,是算力、功耗、可靠性和供应链的四方博弈。算力不够,导航解算超出时间窗口;功耗太大,箭上电源和热控跟着受累;可靠性不够,一次飞行中间出现一次数据翻转,就可能让整个任务白费;供应链出问题,项目就卡死在某颗芯片上面,动弹不得。
这里可以看一张经典的对比表:
| 维度 | 消费级 | 工业级 | 宇航级 |
|---|---|---|---|
| 温度范围 | 0℃~70℃ | -40℃~85℃ | -55℃~125℃ |
| 抗辐射能力 | 无明确要求 | 基本无保证 | 有TID/SEU/SEL筛选数据 |
| 质量等级 | 商业级 | 中等 | 最高可靠等级 |
| 供货周期 | 短 | 中等 | 长且受控 |
| 成本 | 低 | 中等 | 高 |
实际项目里,全用宇航级器件当然最保险,但成本高、交期长,而且很多新功能、新接口在宇航级产品里根本找不到。所以现在商业火箭和卫星平台的普遍做法,是走“工业级或车规级器件+筛选加固+系统级冗余设计”的路线。全宇航级、工业级加筛选、车规级加冗余,这三条路线各有各的评审难点,没有哪一条是完美的,选型第一步是结合任务阶段、成本预算和研制周期去量化权衡。
1.3 飞行时间轴与板卡工作模式:选型不能只看满负荷工况
选型还有一个容易被忽略的维度:飞行全流程里,板卡并不是每一刻都在满负荷运行。从地面测试到点火起飞、级间分离、入轨,不同阶段板卡工作模式差异很大。起飞前要完成自检(BIT),此时算力占用不大但要求外设全覆盖巡检;主动段飞行需要满算力实时解算;级间分离前后有极短的任务切换窗口,要求预定时序不发生冲突;有些阶段甚至需要进入特定的等待或降功耗状态。
这意味着主控芯片是否支持多电源域管理、能否快速从低功耗模式唤醒、定时器资源在模式切换时是否可靠,都可能成为关键指标。我见过一个项目,选型时只看处理器峰值算力,忽略了对低功耗模式的支持,等到飞控软件设计时发现级间分离段无法在预期时间内完成外设重初始化,被迫改版增加了额外电路。这种问题一旦进入联试阶段,修改成本极高。所以选型评估时,建议把任务时间轴拉出来,对每一个飞行段标注板卡工作模式、负载率、功耗预算和允许的最长切换时间,做到全剖面覆盖。
2. 芯片选型的核心维度与实操要点
框定完需求,就进入具体器件选型环节。这一章把GNC板卡上常见的几类芯片逐个过一遍,讲讲每类器件真正该盯的参数在哪里,以及那些容易被数据手册“带偏”的细节。
2.1 主控处理器:实时性比跑分更重要
主控芯片是整块板卡的心脏,选型时大家第一反应是看主频、看核数、看浮点运算能力。这些当然要看,但GNC任务对处理器的第一要求是实时性可确定。你得保证在严格的控制周期内完成全部计算,不能因为某个高优先级中断嵌套太深或者缓存命中率波动导致控制周期超时。
所以看处理器手册时,除了CPU内核、主频、FPU、存储接口,还要重点确认这些信息:中断响应时间是多少,是否有可预测的中断仲裁机制;运行RTOS时上下文切换代价多大;是否支持锁步核(两个核执行同一任务,硬件比较输出)或内置校验机制;外设DMA通道是否足够。对于面向关键任务的平台,锁步核是很值钱的能力,它能把瞬态故障直接拦在硬件层,大幅降低软件做冗余的负担。
处理器架构的选择也不是拍脑袋。有人在导航解算里大量使用矩阵运算,DSP的MAC指令流水线优势明显;有人控制律里全是查表和逻辑判断,对浮点向量运算要求高,高性能ARM架构更合适;还有人希望所有接口的时序完全由硬件逻辑决定,那就得考虑FPGA或“处理器+FPGA”的组合。我在选型评审时经常提一个观点:别拿跑分工具说服别人,直接把预选芯片放到一块评估板上,跑一段和真实任务等价的静态导航解算代码,人为叠加定时器中断和DMA搬运,量测最坏情况下的任务耗时和最坏中断延迟。这个数据比任何理论峰值都管用。
2.2 存储器选择:程序、数据、日志的可靠性策略各不相同
存储部分是GNC板卡里最容易低估的一环。很多人觉得处理器的算力够快,存储随便挑一个容量够的就行,结果在环境试验里被存储问题折腾得焦头烂额。箭上存储至少有三类用途:程序代码存储、运行期数据存储、飞行参数和日志存储,它们的可靠性策略完全不一样。
程序代码通常放在NOR Flash里,飞行中一般不写入,重点关注上电启动速度、数据手册里承诺的数据保持年限、以及擦写次数对阈值的长期影响。运行期数据需要快速访问,常用SRAM或DDR,这类存储最怕单粒子翻转,建议硬件上加ECC或EDAC校验,或者在软件层面对关键变量做三模冗余。飞行日志存储需要掉电不丢、可反复擦写,NOR Flash、NAND Flash或MRAM都可以考虑,但要注意Flash擦写寿命和磨损均衡策略,箭上飞行日志写入虽不频繁,但长时间测试时累积写入量也很可观。
选型时还有一个容易漏掉的细节:Flash器件的擦写次数和数据保持特性,会随着温度变化明显漂移。高温下单次擦写后的电荷保持时间可能会缩短,低温下擦写所需电压和时间也会变化。器件级筛选报告里如果只给了常温数据,到了高低温试验阶段往往会暴雷。振动环境下的封装焊点可靠性也要单独关注,BGA封装在振动试验后出现虚焊的情况并不罕见,板级加固和灌封方案得提前设计进去。
2.3 模数转换与传感器接口链路:IMU和舵机反馈的精度关键
导航解算的输入源头是IMU。现代很多IMU已经直接输出数字量,用SPI接口读取即可,这条链路相对简洁,但仍有不少箭上产品使用模拟输出的陀螺和加速度计,需要ADC做同步采样。不管走哪条路,选型时都要关心同步性、温漂和噪声这三个词。
如果走ADC方案,有一串参数值得较真:分辨率、采样率、参考电压温漂系数、INL/DNL、有效位数ENOB、抗混叠滤波器设计。很多工程师看到“16位”三个字就觉得万事大吉,实际在宽温度范围内,16位ADC的采样码值漂移几十个LSB是常有的事,对姿态解算的影响是直接的。所以有经验的硬件设计师不仅看ADC,还会认真选基准源芯片,看它的温度系数和初始精度,板级布局时让基准源远离发热器件。
舵机反馈链路的情况类似。伺服机构通常返回电位器或旋变信号,需要调理电路把信号调整到ADC可采的范围。这里的选型重点不是带宽,而是调理运放的失调电压、温漂以及共模抑制能力。还有一个常被忽略的点:箭上电机启停瞬间的地弹和共模干扰,可能直接耦合进模拟链路,造成反馈值跳变。所以隔离运放或数字隔离器的选择,要考虑共模电压范围和瞬态共模抑制能力,而不只是看隔离耐压等级。
2.4 总线接口与控制输出:板间通信和伺服驱动的最后一公里
GNC板卡并不是孤岛,它要和IMU、舵机、遥测设备、地面测试设备互联。箭上常用总线有1553B、CAN、RS422/RS485,以及新一代设计中逐渐出现的以太网或TTE接口。选型时总线控制器的协议核是否成熟、收发器是否需要外置、物理层抗干扰设计是否方便,都会直接影响系统联试的顺畅度。
1553B在航天领域里地位特殊,因为它采用命令响应机制和双冗余总线结构,天然适合高可靠场景,但它的速率上限摆在那里,专用芯片和耦合变压器成本也不低。CAN总线物理层简单、成本低、布板灵活,在箭上分布式控制场景里性价比很高。如果箭体规模不大、节点数量有限,CAN往往是更务实的选择。还有一个现实问题:很多总线控制器芯片的协议核内嵌在不同处理器里,选主控时就要一并确认,别等到软件阶段才发现协议栈支持不到位。
控制输出部分,最核心的是PWM和模拟量驱动能力。伺服阀门和舵机经常需要高精度PWM,占空比分辨率、最小脉宽、定时器溢出后的输出处理,都会直接影响控制品质。选主控芯片时,认真看定时器资源和PWM通道的最小时基,比盯着CoreMark跑分更实用。有些处理器PWM输出在高负载时会出现抖动,这就需要选用支持硬件故障保护和独立时基的定时器外设。
2.5 电源管理芯片:功耗预算和多轨供电的精细活
电源芯片的选型,常见错误是只算满负荷平均功耗,不看瞬态功耗。火箭飞行过程中,舵机摆动的瞬态电流可能达到数安培,主控芯片在同几毫秒内做高密度计算,电压跌落几十到一百毫秒就可能触发复位,这在飞行窗口里是致命的。所以电源选型前必须做完整的功耗预算表,区分典型功耗和峰值功耗,并给出门控余量。
输入端一般用宽压输入的DC-DC转换器扛住母线波动,后级再用LDO给模拟电路、接口电路供干净的电源轨。多轨供电的上下电顺序也要在原理图设计前想清楚:核心电压、IO电压、接口收发器电压谁先谁后,不同芯片对时序的容忍度差异很大。好多项目在联试阶段才暴露出上电时序问题,板卡偶尔启动失败,查起来非常费劲。做法上宁可多花一点成本,用专门的电源时序控制芯片,或者用逻辑电路实现可控时序,也不要在后面用软件反复试错。
3. 板卡级设计与验证流程:从原理图到整机联试
芯片选型完成只算走完一半路,板卡能不能稳定工作,还要看设计和验证功力。这一章讲板卡层面怎么把选型结果落地,以及验证流程里哪些环节不能省。
3.1 原理图与PCB设计的信号完整性处理
工业级器件用在箭上,抗辐射短板得靠板级设计补。常用的手段包括:对关键控制信号做三模冗余表决,硬件上降低单点翻转概率;对存储器和关键数据总线增加EDAC校验;对高频访问的数据区定期刷新回写,防止SEU累积。系统冗余的本质是承认器件不是完美无缺的,然后用架构去兜底。
高速信号的信号完整性处理同样不能马虎。GNC板卡上常用的总线速率几百兆,和消费级的高速接口相比不算高,但箭上EMI要求很严,布局稍微草率就会在摸底试验里暴露问题。我自己的经验是:布局阶段尽量缩短关键信号环路面积,电源平面保持完整,避免被过孔和走线切碎;晶体振荡器尽量靠近主控芯片放,远离板边和连接器;多层板的叠层设计里,相邻层走线方向垂直,减少层间耦合;CAN和1553B这类差分信号保持阻抗匹配和长度匹配,终端电阻一定要靠近接收端。
再提一点,DDR或高速并行的布线如果不是非常有把握,最好找有相关经验的工程师做一次Peer Review。有时候一根地址线的等长差了50mil,常温下可能没问题,但温度一拉偏或者EMI变严就出怪问题。信号完整性问题最大的坑在于“偶尔出现、极难复现”,远不如功能错误那样容易被发现。
3.2 可靠性设计:降额、冗余与失效模式分析
可靠性设计是航天硬件与普通嵌入式硬件最大的分水岭。核心思想很简单:假设任何单点都可能失效,然后通过设计让系统在失效发生后依旧能完成或降级完成任务。
降额设计是最基础的一层。器件的工作电压、电流、功耗、温度,都不要超过额定值的50%到80%,尤其是电解电容、光耦、功率MOS管这些失效敏感器件,降额系数直接决定寿命。很多人觉得这是浪费,但在箭上少一次失效比多省十瓦功耗更重要。
冗余设计不能只是“复制粘贴”。双份备份要考虑两个备份的供电是否独立、输入端口是否隔离、切换逻辑是否经过试验验证。如果两个备份共用一个电源、共用一个看门狗,那和单点没有本质区别,只是花了两倍的钱买同一个故障点。失效模式分析(FMEA)应该在选型阶段就启动,对关键器件列出它的失效模式、影响和检测手段,然后决定是否增加监控、备份或切换逻辑。这里做得好不好,反映的是一个团队的工程成熟度。
3.3 从选型清单到鉴定验证的完整流程
一份合格的GNC板卡选型清单,不能只写型号和价格。完整的清单应该包含:器件批次、质量等级、第二供货源、筛选状态、数据手册版本、关键参数降额结论、以及对应的试验记录。这样到了评审会上,任何一个参数被问到时都能拿出依据,而不是“我觉得它应该能行”。
从选型到定型的流程一般是:器件预选与资料审查,包括数据手册、应用笔记、合格元器件清单;然后在评估板上做功能验证,这一步强烈建议尽早做,别等原理图全部画完再回头;功能没问题后,进入初样装机,开展环境适应性测试,包括高温、低温、温度循环、振动、冲击;再往后是寿命与可靠性验证,比如带载长时间运行、加速老化、随机振动后的性能复核;最后评审归档,签署受控的技术状态文件。
环境试验的结果要特别重视“试验后功能复测”。很多时候振动试验通过不代表板卡真的没问题,可能在某个应力点已经产生了微小损伤,偏偏功能测试时没暴露。所以试验后要做详细的功能和性能复测,和试验前数据做对比。GNC板卡最终还要和IMU、舵机、遥测设备做整机联试,不能只看芯片自己工作得好不好,闭环之后的数据才是真实任务表现的反映。
4. 常见问题与排查技巧实录
这一章分享几个我在实际项目中遇到过的典型问题,以及对应的排查思路。这些问题不一定每次都会出现,但一旦出现,往往非常隐蔽,值得提前了解。
4.1 高低温箱里跑几分钟就死机:是电源问题还是复位问题
有一次碰到板卡在高温段固定死机,刚开始以为主控芯片过热,但测壳温并不高。后来用示波器长时间挂在复位引脚上,发现死机前复位信号被拉低了几十毫秒。顺着这条线查下去,是电源监控芯片的阈值电压在高温下发生漂移,导致3.3V电源轨上一个本来可接受的小波动被误判断为欠压,触发了复位。最后把监控阈值档位下调一档,加严了供电毛刺容限,问题消失。
排查这类问题,关键点在于先分清“真死机”和“复位循环”。软件日志能记录复位原因寄存器的话会很方便,配合示波器抓复位引脚的时序,基本能把范围缩小到监控芯片还是电源本身。如果复位引脚没有波动,就要检查是不是程序跑飞导致看门狗超时,这种一般要通过日志判断最后执行到哪个任务。能区分“复位”和“死机”,问题的解决路径就不一样了。
4.2 IMU数据偶发跳变:模拟链路噪声还是同步问题
IMU出现偶发跳变,很多人第一反应是IMU本身坏了,但我在实践中发现,大量情况出在供电和采样链路。有一次排查一个跳变问题,持续了很久,最后把跳变时刻和舵机开关动作放在同一时间轴上对比,发现高度相关。舵机瞬时大电流导致地弹,干扰了模拟采样参考电压。对策是把IMU模拟参考地单独走线、加磁珠隔离,并在供电入口增加二级LC滤波,问题随即消失。
定位这类问题的思路是:先统计跳变发生的时刻规律,看是否和外部事件相关;然后用示波器在跳变时刻抓相关电源轨;同时在软件里记录跳变前后的原始ADC码值,判断跳变是单点脉冲还是持续漂移。脉冲型跳变通常指向噪声耦合,持续漂移则更多和参考源或温漂有关。数字链路和模拟链路要分开排查,千万别一开始就怀疑器件,那样容易绕远路。
4.3 程序区偶发被改写:是位翻转还是指针越界
主控程序区出现偶发数据变化,是航天软件里非常棘手的问题。它既可能是单粒子翻转,也可能是代码指针越界写坏了不该写的区域。判断方法之一:如果坏的是随机地址、反复试验无法复现、重启后消失,更像SEU;如果每次都坏在固定地址、和某段代码执行强相关,那就去查指针和数组越界。
防护思路有几个层次。关键变量用三模冗余投票,这是最直接的软件防护手段;对常量区和代码区做定期CRC校验,一旦发现异常立刻触发恢复流程;看门狗只能兜底,不能指望它在闭环控制已经跑偏的时候把系统救回来;存储区要设置写保护,把正常情况下不会写入的区域配置成只读。软件里所有状态字都建议做范围合理性检查,一旦出现“不可能的值”,立即按异常流程处理,而不是跟着错误数据继续算下去。
4.4 备选器件与双源采购:没有第二供货源的选型站不住脚
一个没有第二供货源的选型清单,在评审会上基本很难通过。芯片停产、产能波动、批次异常,任何一环出问题都会让整个项目被动。所以选型阶段就要考虑双源策略。最容易做的是选两个封装兼容的器件,引脚不变,直接替换;做不了封装兼容,就选两个外设寄存器和启动逻辑基本一致的器件;再不行,至少要规划一个“性能降级但功能可用”的备选方案,并确认软件可以在可接受的时间内适配。
这里有个细节很容易被忽略:兼容性设计不只是引脚兼容,还包括启动时序、寄存器默认值、中断映射和外设时钟树的兼容。选型清单里应该对每颗关键芯片明确写出“备选切换时需要改动的代码位置、启动参数和验证用例”,并且在实验室里做一次完整的切换联调。别等到批产采购时才发现替代芯片上电后外设初始化全乱套,那种被动局面非常消耗团队士气。
5. 写在最后的一点经验
GNC板卡的选型工作做了几个项目之后,我最大的体会是:平衡点不是一次性找对的,而是随着对任务理解的加深逐渐逼近的。有一次选型时预留的算力余量不够,后期软件团队想加一段更精细的滤波算法,只能挤占其他任务的周期,改得极其痛苦;另一次选型阶段把可靠性指标卡得过严,器件筛选和试验周期拖了大半年,进度损失远超那几颗器件的成本差异。所以选型的功夫,一半在芯片手册里,一半在对飞行任务和软件后续演进的理解里。
如果你想快速上手这件事,我的建议是别急着翻芯片手册,先按这五步搭骨架:把GNC数据流图画清楚;做一版完整的功耗预算表;建一张选型跟踪表,包含关键参数、降额结论和第二供货源;逐个器件确认有无备选方案;最后草拟一份验证计划,把评估板验证、环境试验和整机联试的时间点排出来。骨架搭好了,你会发现具体型号的选择只是填空题,真正的决策早已在需求和约束分析中完成。