DroneCAN 串行直通车

通常情况下,AP 外围设备上的任何串行端口(如 DroneCAN 适配器节点 将预先配置特定外设(如 GPS 或测距仪),使其连接到一个或多个 UART。

不过,V4.5 及更高版本的固件增加了向定义了串行端口的 DrooneCAN 外围设备双向传递数据的功能。

最多可将三个端口从外设映射到载具中,并使用 ArduPilot 参数对其波特率和协议进行编程:

  • 首先,必须将 CAN 端口驱动程序设置为 "DroneCAN "协议。

  • 其次,驾驶员 CAN_Dx_UC_SER_EN 必须设置为 "1 "才能启用此功能。可能需要重新启动才能显示和设置以下参数。请注意,每个驱动程序最多可启用 3 个串行端口。以下仅列出第一个端口 (1) 的参数:

  • CAN_D1_UC_S1_NOD:串行端口的 CAN 远程节点编号。请参阅下文 "设置节点编号 "部分。

  • can_d1_uc_s1_idx:外设串行端口索引,适用于以下参数。这将选择外设的 SERIALx 及其相应的 UART。请查阅外设规格或其 "hwdef.dat "文件 这里 来确定其索引。

  • can_d1_uc_s1_bd:端口的波特率

  • can_d1_uc_s1_pro:设备/与其 UART 连接的端口协议。

设置节点编号

DroneCAN 外围设备通常会获得 ArduPilot 自动分配的 CAN 总线节点编号。对于大多数外设设置,用户无需了解该节点编号(移动基线配置中的两个 DroneCAN GPS 除外)。但是,对于串行直通,则需要确定该节点号并将其置于 CAN_Dx_UC_S1_NOD 参数,以使通信正常进行。

用户可以连接 DroneCAN 设备,并通过以下方式查询其节点编号 Mission Planner地面站DroneCAN GUI.建议同时更改外设的 CAN_NODE 将外设上的参数从 "0 "改为 ArduPilot 指定的参数,以防止其在后续系统重新配置时发生变化,并使 ArduPilot 设置的值失效。 CAN_Dx_UC_S1_NOD 参数。