4. 飞控接口与信号定义
HIL(Hardware-in-the-Loop)测试的核心价值,在于让真实飞控硬件运行在仿真环境中,同时保持其对外接口的“真实感”。如果接口映射错误或电气特性不匹配,飞控可能收不到正确的传感器数据、发不出有效的执行器指令,甚至因电平冲突损坏引脚。因此,在搭建HIL台架之前,必须先把飞控的每一类接口在仿真侧找到对应通道,并确认电压、电平标准、时序和方向都匹配。
一、先分清“信号方向”和“电气角色”
飞控接口可以按两个维度分类:一是信号方向,二是电气角色。方向决定仿真侧是“输出”还是“采集”;电气角色决定是否需要电平转换、隔离或上拉。常见接口在HIL中的映射关系如下:
| 接口 | 典型用途 | HIL侧角色 | 关键电气特性 |
|---|---|---|---|
| PWM | 舵机、旧式电调 | 仿真输出PWM,或采集飞控PWM | 3.3V/5V电平,50~400Hz,脉宽1~2ms |
| DShot | 数字电调 | 仿真输出DShot帧,或采集飞控DShot | 3.3V/5V,双向DShot需回读 |
| UART | GPS、数传、SBUS | 串口透传/协议仿真 | 3.3V TTL,波特率、反相 |
| CAN | CAN电调、外设 | CAN节点仿真 | 差分,120Ω终端,2.0A/B |
| I2C | 磁罗盘、气压计 | 从机仿真 | 开漏,上拉,3.3V/5V |
| SPI | IMU、气压计 | 从机仿真 | 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,仿真侧必须用硬件定时器或专用外设,软件模拟容易丢帧。
三、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,仿真侧从机必须能跟上,否则数据错位。
四、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片选上拉。
- 共地:飞控与仿真侧必须共地,否则差分和单端信号均无参考。
六、一个具体的映射示例
假设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测试的置信度。