4. 飞控接口与信号定义

HIL(Hardware-in-the-Loop)测试的核心价值,在于让真实飞控硬件运行在仿真环境中,同时保持其对外接口的“真实感”。如果接口映射错误或电气特性不匹配,飞控可能收不到正确的传感器数据、发不出有效的执行器指令,甚至因电平冲突损坏引脚。因此,在搭建HIL台架之前,必须先把飞控的每一类接口在仿真侧找到对应通道,并确认电压、电平标准、时序和方向都匹配。

一、先分清“信号方向”和“电气角色”

飞控接口可以按两个维度分类:一是信号方向,二是电气角色。方向决定仿真侧是“输出”还是“采集”;电气角色决定是否需要电平转换、隔离或上拉。常见接口在HIL中的映射关系如下:

接口典型用途HIL侧角色关键电气特性
PWM舵机、旧式电调仿真输出PWM,或采集飞控PWM3.3V/5V电平,50~400Hz,脉宽1~2ms
DShot数字电调仿真输出DShot帧,或采集飞控DShot3.3V/5V,双向DShot需回读
UARTGPS、数传、SBUS串口透传/协议仿真3.3V TTL,波特率、反相
CANCAN电调、外设CAN节点仿真差分,120Ω终端,2.0A/B
I2C磁罗盘、气压计从机仿真开漏,上拉,3.3V/5V
SPIIMU、气压计从机仿真3.3V,CPOL/CPHA,片选
ADC电压/电流检测模拟电压输出0~3.3V,分压比,参考电压

这张表是HIL接口映射的起点。实际接线时,还要进一步确认飞控引脚的电平容忍度。例如,部分飞控的UART RX引脚不耐5V,若仿真侧串口模块输出5V TTL,必须加电平转换或串联电阻分压。

二、PWM与DShot:执行器通道的映射

PWM是最传统的执行器接口。飞控输出50~400Hz的方波,脉宽通常在1000~2000μs之间,对应油门或舵面偏转。在HIL中,如果仿真侧要“冒充”电调接收飞控PWM,需要用一个定时器输入捕获通道测量高电平脉宽,再把脉宽换算成推力或力矩。例如,捕获到1500μs,若映射关系为1000μs对应0%、2000μs对应100%,则推力指令为50%。

DShot则把脉宽编码成数字帧,常见DShot300、DShot600。DShot帧包含11位油门值、1位遥测请求和4位CRC。HIL仿真侧若模拟电调,需要按DShot协议解析帧,并可在双向DShot模式下回传转速、电压、温度。DShot对时序要求更严,DShot600的位周期约1.67μs,仿真侧必须用硬件定时器或专用外设,软件模拟容易丢帧。

PWM和DShot的映射关键是“时间基准”。仿真步长若为1ms,而DShot600位周期仅1.67μs,则不能用普通仿真循环去采样,必须由MCU外设或FPGA捕获。

三、UART、CAN、I2C、SPI:传感器与总线仿真

UART在HIL中常用于GPS、数传和SBUS。GPS通常输出NMEA语句,仿真侧按固定周期发送$GPGGA、$GPRMC等语句即可。SBUS则是反相串口,波特率100kbps,8E2,帧长25字节。若仿真侧串口模块不支持反相,需要加反相器,否则飞控无法识别。

CAN总线在HIL中用于CAN电调或外设。CAN是差分信号,HIL侧需要CAN收发器,总线两端各接120Ω终端电阻。仿真节点要按CAN ID和DLC发送/接收帧。例如,某CAN电调协议中,0x200帧包含4个电机的油门值,仿真侧解析后驱动模型。

I2C和SPI通常用于IMU、磁罗盘、气压计。I2C是开漏总线,必须加上拉电阻,典型值4.7kΩ。仿真侧作为从机时,要正确响应主机地址和寄存器读写。SPI则要注意CPOL/CPHA模式,以及片选信号的极性。若飞控SPI时钟为10MHz,仿真侧从机必须能跟上,否则数据错位。

飞控接口在HIL中的映射与电气匹配 真实飞控 Flight Controller PWM / DShot 输出 UART TX/RX CAN H/L I2C SCL/SDA SPI SCK/MISO/MOSI ADC 电压/电流 电气匹配层 Level / Isolation / Termination 3.3V/5V 电平转换 反相器 / 隔离 120Ω 终端电阻 4.7kΩ 上拉 片选/时钟匹配 分压/基准 HIL 仿真侧 Simulation / Real-time Target PWM 捕获 / DShot 解析与回传 UART 协议仿真(NMEA/SBUS) CAN 节点仿真(ID/DLC) I2C 从机(寄存器映射) SPI 从机(CPOL/CPHA) DAC 模拟电压输出 映射原则:方向一致、电平匹配、时序满足、协议正确;任一不匹配都可能导致飞控无法识别或硬件损坏

四、ADC:模拟量的映射与分压计算

ADC接口用于检测电池电压和电流。飞控ADC参考电压通常为3.3V,输入范围0~3.3V。电池电压可能高达25.2V(6S),必须分压。假设分压电阻为R1=10kΩ、R2=1kΩ,则分压比 = R2/(R1+R2) = 1/11。25.2V输入时,ADC端电压为2.29V,在量程内。飞控固件中配置的电压比例系数通常为11.0,HIL仿真侧若用DAC输出模拟电压,需要按相同分压比反推:要模拟25.2V电池,DAC输出2.29V。

电流检测常用霍尔传感器或采样电阻,输出也是0~3.3V。例如,某电流计输出0.5V对应0A,3.0V对应100A,则灵敏度为25mV/A。HIL仿真侧要按此关系输出DAC电压。

五、HIL接口映射检查清单

在接线和配置完成后,建议按以下清单逐项核对,避免遗漏:

  • 方向核对:飞控输出PWM/DShot,仿真侧应为输入捕获;飞控读取I2C/SPI,仿真侧应为从机。
  • 电平核对:用万用表或示波器确认飞控引脚电平为3.3V还是5V,仿真侧输出是否匹配。
  • 时序核对:DShot600位周期1.67μs,SPI时钟10MHz,仿真侧外设是否支持。
  • 协议核对:UART波特率、数据位、停止位、校验位;CAN波特率、采样点;I2C地址。
  • 终端与上拉:CAN两端120Ω,I2C上拉4.7kΩ,SPI片选上拉。
  • 共地:飞控与仿真侧必须共地,否则差分和单端信号均无参考。
切勿将5V信号直接接入不耐5V的飞控引脚。上电前先用示波器确认仿真侧输出电平,再连接飞控。若不确定,串联1kΩ电阻限流,可降低损坏风险。

六、一个具体的映射示例

假设HIL台架使用Pixhawk飞控,仿真侧使用STM32F4开发板。Pixhawk的MAIN OUT 1~4输出PWM,仿真侧用TIM1的4个输入捕获通道测量脉宽。Pixhawk的GPS接口为UART,波特率57600,仿真侧用USART2发送NMEA语句。Pixhawk的I2C接口连接磁罗盘,仿真侧用I2C从机模式模拟IST8310,地址0x0E。Pixhawk的ADC接口连接电压检测,仿真侧用DAC输出2.29V模拟25.2V电池。所有信号共地,UART和I2C均为3.3V电平,无需转换。CAN总线若使用,则两端各接120Ω,仿真侧用CAN1发送0x200帧。

完成映射后,启动仿真,观察飞控地面站是否显示正确的GPS位置、磁航向和电池电压。若GPS无星数,检查NMEA语句格式和波特率;若磁航向跳变,检查I2C上拉和地址;若电压显示0V,检查DAC输出和分压比。通过这种“接口—电气—协议—结果”的逐项验证,才能保证HIL测试的置信度。