3. 接口板卡硬件架构设计
机载总线接口板卡的硬件架构设计,本质上是围绕“协议处理能力、实时性、可靠性与环境适应性”四个约束,把处理器、FPGA、总线收发器、存储器和电源五个部分组织成一个可协同工作的整体。它不是简单地把器件堆在PCB上,而是先确定数据通路和时钟/触发关系,再反推各器件的选型与资源分配。下面按“先定架构、再分模块、最后校验”的顺序展开。
一、先定数据通路:处理器与FPGA的分工边界
接口板卡通常要同时处理多路总线(如MIL-STD-1553B、ARINC429、CAN、RS-422等),并向上位机或任务计算机提供统一接口。合理的分工是:FPGA承担协议时序、并行通道调度和硬实时收发,处理器承担协议栈管理、数据打包、健康管理与对外通信。判断边界的一个实用原则是——凡是要求微秒级确定性响应的信号(如1553B的命令/响应字解析、429的标签周期刷新),放在FPGA;凡是涉及非确定性调度、文件/网络协议、复杂状态机的,放在处理器。
以一块典型4通道1553B+8通道429的板卡为例:FPGA内部为每路1553B分配独立的编解码与曼彻斯特收发状态机,为429分配独立的移位收发器;处理器通过本地总线(如PCIe或SPI)访问FPGA的寄存器与DMA通道,把整帧数据搬入DDR后再做上层处理。这样,FPGA的时序逻辑不依赖处理器中断,处理器也不会因总线突发而丢帧。
二、处理器选型:看“接口、算力、生态”三条线
处理器选型不要先看主频,而要先看它能否提供板卡需要的接口组合。典型需求包括:一路PCIe或千兆以太网用于上位机通信,若干UART/SPI/I2C用于配置FPGA和访问EEPROM,以及足够的GPIO用于状态指示和复位控制。若板卡需要运行协议栈和文件系统,应选择带MMU、支持Linux或VxWorks的处理器;若只做数据搬运和简单状态机,Cortex-M7或RISC-V核即可,功耗和启动时间更优。
算力估算可用一个简单方法:统计每秒需要处理的最大帧数×每帧处理指令数。例如8路429,每路100kbps、每帧32位,则每秒约8×100000/32≈25000帧;若每帧协议处理约200条指令,总需求约5MIPS,Cortex-M4级别即可满足。但若还要做1553B消息重组和日志存储,建议留3~5倍余量,选Cortex-A53或更高。选型时还要确认处理器是否支持工业级温度范围(-40℃~+85℃)和长期供货,这对机载产品比峰值性能更重要。
三、FPGA逻辑资源分配:按通道数“切蛋糕”
FPGA资源分配的核心是“每路协议独立、公共资源复用”。以Xilinx Artix-7 XC7A100T为例,其约10万个逻辑单元、240个DSP、4.9Mb Block RAM。对4路1553B+8路429的配置,可做如下分配:
- 1553B编解码:每路约1200 LUT + 2个Block RAM(收发FIFO),4路合计约4800 LUT;
- 429收发:每路约300 LUT + 1个Block RAM,8路合计约2400 LUT;
- 公共调度与DMA:约3000 LUT + 4个Block RAM;
- 时钟与自检:约1500 LUT。
合计约11700 LUT,占XC7A100T的12%左右,余量充足。若通道数翻倍,优先增加Block RAM而非LUT,因为FIFO深度直接决定突发容忍度。分配时还要注意:曼彻斯特编解码需要较高时钟(如16MHz或20MHz),应单独规划时钟域,并在跨时钟域处使用异步FIFO,避免亚稳态。
四、总线收发器:电气隔离与保护是重点
收发器是板卡与机载总线之间的“物理接口”,选型时先确认总线电气标准。1553B收发器需配合隔离变压器,实现1:1.41的匝比和1553B规定的波形;ARINC429收发器要能输出±10V差分摆幅,并具备短路保护;CAN收发器需满足ISO 11898-2,共模电压范围要覆盖-2V~+7V。所有对外接口都应加TVS管和共模扼流圈,防止雷击和浪涌。
一个容易忽略的点是收发器的供电顺序。若收发器先于FPGA上电,可能出现总线倒灌;建议在收发器电源路径上增加负载开关,由FPGA的配置完成信号(DONE)控制使能,确保FPGA引脚处于确定状态后再接通总线侧。
五、存储器与电源:为“确定性”服务
存储器分为三类:DDR用于大块数据缓存,NAND Flash用于程序和配置存储,EEPROM用于板卡ID和校准参数。DDR选型时关注容量和位宽,例如4路1553B每路每秒最多约1MB数据,缓存10秒需40MB,选512MB DDR3足够。NAND需考虑坏块管理和ECC,建议选择带内置ECC的SLC NAND,容量1Gb~4Gb。EEPROM选I2C接口的24C系列,用于存储序列号、版本号和温度校准系数。
电源模块的设计目标是“干净、隔离、有余量”。机载28V输入先经EMI滤波和浪涌抑制,再通过隔离DC-DC产生5V中间总线,最后用LDO产生FPGA内核所需的1.0V/1.2V和收发器所需的3.3V/5V。总功耗估算示例:FPGA约1.5W,处理器约2W,收发器约1W,存储器约0.5W,合计约5W;电源模块按1.5倍余量选型,即至少7.5W。纹波要求:FPGA内核电源纹波≤30mV,收发器电源纹波≤50mV,否则会影响总线波形质量。
设计校验清单(示例):
- 处理器接口是否覆盖所有对外通信需求(PCIe/以太网/UART/SPI)?
- FPGA每路协议是否独立FIFO,跨时钟域是否使用异步FIFO?
- 收发器是否加隔离、TVS和共模扼流?上电顺序是否受控?
- DDR容量是否满足最大缓存时间×数据率?NAND是否带ECC?
- 电源余量是否≥1.5倍?纹波是否满足FPGA和收发器要求?
把以上五部分放在同一张架构图上校验,重点看三条关系:数据通路是否从总线→收发器→FPGA→处理器→存储器逐级清晰;时钟与触发是否统一参考;供电是否覆盖所有器件且上电顺序可控。只要这三条关系成立,板卡硬件架构就具备了可调试、可复现的基础。