知识补充-串口映射及参数配置

前言

此章节内容是为了给下一章节GPS模块、无线数传电台模块的接入做铺垫。

通过此章节大家可以初步理解APM固件的串口映射以及串口配置。

1、WFG100飞控串口映射关系表

APM固件支持外设非常丰富,这些外设设备大部分都是通过串口进行通讯(比如GPS、无线数传电台、云台相机、OSD、空速计、仿地雷达等等)。WFG100飞控共引出了7路串口分别是:U1、U2、U3、U4、U6、U7、U8。还有一路U5串口和CAN接口存在硬件复用关系,由于WFG100飞控中引出了一路CAN口,因此就无法引出U5串口。

  • 大家拿到飞控一定要注意一点(所有使用Ardupilot固件的飞控硬件),飞控硬件上的串口4不一定是Ardupilot的串口4;

  • 飞控硬件上的串口4是指STM32H7单片机上的串口4,但不等于Ardupilot的串口4。

  • 在Ardupilot固件中,一般通过SERIAL几来表示串口几,比如SERIAL1、SERIAL2;因此MCU的串口和飞控的SERIAL口有一个对应关系,那么它们之间的映射关系表怎么区分,详情可查看下表:

物唯WFG100飞控串口映射表(不同厂家可能不一样,具体需要与飞控厂家确认):

在组装F450四旋翼无人机时,主要使用的串口有3个:无线数传电台、GPS

飞控Serial号

默认串口功能

对应单片串口号

源码配置

Serial1

MAVLink2(接电台)

USART6

image

Serial2

MAVLink2(接电台)

USART1

image

Serial3

None(空,未预设功能)

USART2

image

Serial4

GPS(接GPS模块)

USART3

image

Serial5

None(空,未预设功能)

UART8

image

Serial6

None(空,未预设功能)

UART4

image

Serial7

RC_IN(遥控器信号输入)

UART7

image

大家也无需记忆映射关系表,只需将Missionplanner地面站更新至1.3.82,在初始设置页面→Serial Ports页面,即可查看对应关系表。

同时还可以对每个串口的功能、波特率、通信属性进行全部预览,如下图所示:

从上图可以看到SERIAL PORT2 下面对应的就是UART1、SERIAL PORT4 下面对应的就是UART3

2、APM飞控每路串口如何配置?

在Ardupilot飞控中,通过以下3个参数对每个串口进行配置,它们分别是:

SERIAL?_PROTOCOL(配置该串口的功能)

SERIAL?_BAUD(配置该串口的波特率)

SERIAL?_OPTIONS(配置该串口的一些硬件功能,比较少用)。

注:上述的 " ?"代表这是串口几,比如: SERIAL1_PROTOCOL、SERIAL5_BAUD、SERIAL6_OPTIONS

image

1)飞控串口配置参数1:SERIAL?_PROTOCOL,配置该串口的功能。

在连接Missionplanner的设置如下图所示:

image可选择的所有串口功能如下:

image

2)飞控串口配置参数2:SERIAL?_BAUD,配置该串口的波特率。

可选的波特率参数如下:

image

3)飞控串口配置参数3:SERIAL?_OPTIONS,配置该串口的硬件通信属性。(默认设置0,当这个串口配置为GPS、无线数传电台、云台时保持为0不用修改。)

注:当该串口的功能配置为RC_IN,说明将该串口配置为S.BUS遥控器信号输入(SERIAL7_PROTOCOL=23)。则需将SERIAL?_OPTIONS=1,否则飞控无法识别遥控器接收机的信号!如下图所示:

image

3、飞控串口与Serial口映射的源码实现

image

image

附:

由于物唯WFG100飞控设计之初,定义是一款便于手搓的穿越机的飞控(刷写的是BF固件)。

所以其接线端子的线序设计上,主要考虑的是穿越机常用的外设接口。因此:

在使用APM固件的朋友们看起来,WFG100飞控有几个串口引脚的布局似乎不是合理,如下:

1)高清图传的接口处完整引出U4的RX与TX,也引出U2-RX引脚,但没有引出U2-TX引脚

2)模拟图传的 接口处只引出U1TX引脚,但没有引出U1RX引脚

3)电调2接口处引出了U8-RX引脚,但没有引出U8-TX引脚

4)电调1接口处引出了U7-RX引脚,但没有引出U7-TX引脚

在端子上完整引出RX与TX引脚的串口有U3、U4、U6;

image

此外我们将所有的串口引脚,以焊盘的形式进行引出,如需使用请查看《接口与焊盘定义图》

相关文档