ArduPilot ARK PI6X 飞控硬件定义解析:引脚、串口映射与传感器配置全解
ArduPilot ARK PI6X 飞控硬件定义解析引脚、串口映射与传感器配置全解【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot本文以 ArduPilot 仓库中libraries/AP_HAL_ChibiOS/hwdef/ARK_PI6X/目录下的硬件定义文档与配套hwdef.dat、common.inc文件为核心系统讲解 ARK PI6X 飞控的处理器与传感器配置、全部接口的引脚定义、UART 映射与 RC 协议选项、PWM/DShot 输出分组以及 INA226 电池监测的实现方式。读完本文你可以完整掌握该板的硬件接线关系并能通过 ChibiOS 硬件定义文件逐项核对每个引脚的实际用途与默认参数。一、硬件概述ARK PI6X 是 ARK Electronics 推出的一款支持 Raspberry Pi 协处理器的飞控其硬件规格如下处理器STM32H743 32 位处理器主频 480MHz2MB Flash、1MB RAM配备 DF40HC 连接器用于外接 RPI 协处理器必需兼容 Pi CM4 与 CM5这与硬件定义文件一致common.inc 中声明MCU STM32H7xx STM32H743xx、FLASH_SIZE_KB 2048晶振频率为 16MHz板级固件标识为TARGET_HW_ARK_PI6X即烧录固件时选择的 board ID。传感器2 x Invensense ICM-42688P IMU带加热电阻Bosch BMP390 气压计ST IIS2MDC 磁力计板载罗盘INA226 电压/电流监测芯片蜂鸣器电源输入电压 5.5V ~ 25.2V2S ~ 6S5V 输出 2A主系统 300mA传感器加热 200mA尺寸板尺寸 91.5mm x 56mm重量 41g硬件接口一览接口信号连接器Micro SD存储卡SD 卡槽PWM UART48 路 PWM支持双向 DSHOT UART4 RX/TXJST-GH 11 PinRC5V 输出、UARTJST-GH 4 PinTELEM15V 输出、带流控的 UARTJST-GH 6 PinGPS5V 输出、USART1、I2C1JST-GH 6 PinCAN5V 输出、CAN1JST-GH 4 PinDEBUG3.3V 输出、USART3、SWDJST-SH二、硬件定义文件结构该板的完整硬件描述由两个文件组成hwdef.dat被 ChibiOS 构建脚本处理后生成包含串口顺序、PWM 通道、SPI/I2C 总线、传感器地址、电源使能与 LED 等全部定义common.inc被hwdef.dat通过include common.inc引入声明 MCU 型号、Flash 大小、USB、SWD、调试串口、各 UART 的引脚复用以及 SD 卡 SDMMC2 总线。从 hwdef.dat 中的存储与启动配置还能看到几个值得注意的实现细节FLASH_RESERVE_START_KB 128前 128KB Flash 预留给 BootloaderHAL_STORAGE_SIZE 32768STORAGE_FLASH_PAGE 14H743 共 16 个 128KB 页最后 2 页用作 flash storage参数存储USE_ALT_RAM_MAP 1为兼容 PX4 风格的 bootloader 而启用另一套 RAM 布局ENABLE_DFU_BOOT 1支持通过 DFU 重启方式安装 bootloader若以--secure-bl编译则会禁用 DFUHAL_OS_FATFS_IO 1启用 FAT 文件系统支持依赖通过 SDMMC 定义的 microSD 卡。三、接口引脚定义Pinout以下引脚表完整来自官方硬件文档是所有外接设备接线的基本依据。PWM UART4 — JST-GH 11 Pin引脚信号名电平1FMU_CH1_EXT3.3V2FMU_CH2_EXT3.3V3FMU_CH3_EXT3.3V4FMU_CH4_EXT3.3V5FMU_CH5_EXT3.3V6FMU_CH6_EXT3.3V7FMU_CH7_EXT3.3V8FMU_CH8_EXT3.3V9UART4_TX_EXT3.3V10UART4_RX_EXT3.3V11GNDGNDRC — JST-GH 4 Pin引脚信号名电平15.0V5.0V2USART6_RX_IN_EXT3.3V3USART6_TX_OUTPUT_EXT3.3V4GNDGNDCAN — JST-GH 4 Pin引脚信号名电平15.0V5.0V2CAN1_P5.0V3CAN1_N5.0V4GNDGNDGPS — JST-GH 6 Pin引脚信号名电平15.0V5.0V2USART1_TX_GPS1_EXT3.3V3USART1_RX_GPS1_EXT3.3V4I2C1_SCL_GPS1_EXT3.3V5I2C1_SDA_GPS1_EXT3.3V6GNDGNDTELEM1 — JST-GH 6 Pin引脚信号名电平15.0V5.0V2UART7_TX_TELEM1_EXT3.3V3UART7_RX_TELEM1_EXT3.3V4UART7_CTS_TELEM1_EXT3.3V5UART7_RTS_TELEM1_EXT3.3V6GNDGND飞控 Debug — JST-SH 10 Pin引脚信号名电平13V3_FMU3.3V2USART3_TX_DEBUG3.3V3USART3_RX_DEBUG3.3V4FMU_SWDIO3.3V5FMU_SWCLK3.3V6SPI6_SCK_EXTERNAL13.3V7NFC_GPIO3.3V8PD153.3V9FMU_NRST3.3V10GNDGND四、UART 映射与串口复用ARK PI6X 的串口映射如下标记Internal的端口直接连接 Raspberry Pi串口功能说明SERIAL0USB内部连接到 RPI通过 RPI 配置飞控SERIAL1UART7Telem1外部遥测口SERIAL2UART5内部连接对应 Pi 的 /dev/ttyAMA4SERIAL3USART1GPS1GPS 串口SERIAL4UART4ESC Telem电调遥测SERIAL5USART6RC InputRC 输入这一顺序与 hwdef.dat 中的定义完全对应SERIAL_ORDER OTG1 UART7 UART5 USART1 UART4 USART6即 SERIAL0OTG1(USB)、SERIAL1UART7、SERIAL2UART5、SERIAL3USART1、SERIAL4UART4、SERIAL5USART6。几个值得注意的实现细节除 UART4 外所有 UART 均支持 DMA。在 hwdef.dat 中 UART4 的两个引脚被显式标记为NODMAPH13 UART4_TX UART4 NODMA、PH14 UART4_RX UART4 NODMA这与文档说明一致。任何串口都可以通过修改其 protocol 参数重新分配用途例如把某个空闲串口改为 GPS、TELEM2、MAVLINK 等协议。SERIAL4 的默认协议是 ESC 遥测define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_ESCTelemetry波特率 115200SERIAL5 的默认协议是 RCINdefine DEFAULT_SERIAL5_PROTOCOL SerialProtocol_RCIN。SERIAL2UART5在板内直连 Pi从 common.inc 的注释可以看到其 RTS/CTS/TX/RX 接到 Pi 的/dev/ttyAMA4用于与协处理器的高带宽内部通信。五、RC 输入配置RC 输入配置在 RX6USART6_RX引脚上支持除 PPM 之外的所有 RC 协议。默认参数为SERIAL5_PROTOCOL 23RCin即出厂即可直接接收 SBUS 等单向信号。按协议不同接线与参数要求如下SBUS / DSM / SRXL仅连接 RX6 引脚即可FPort需要连接 TX6并设置SERIAL5_OPTIONS 7启用 FPort 遥测CRSF除 RX6 外还需要连接 TX6且自动提供遥测通道SRXL2需要连接 TX6自动提供遥测并设置SERIAL5_OPTIONS 4。对应源码依据common.inc 中 RC 口复用为PC6 USART6_TX USART6与PC7 USART6_RX USART6TX6 的存在正是 FPort/CRSF/SRXL2 等带遥测协议能够工作的硬件前提。六、PWM 输出与 DShot 配置该板 8 路输出全部支持 PWM 和 DShot其中电机 1~4 默认配置为双向 DShotBidirectional-DSHOT。所有输出按以下三个定时器组划分同一组内的输出必须同为 PWM 或同为 DShot电机组定时器1 ~ 4Group1TIM55 ~ 6Group2TIM47 ~ 8Group3TIM12从 hwdef.dat 的 PWM 定义可以看到对应的引脚与标志位PI0 TIM5_CH4 TIM5 PWM(1) GPIO(50) BIDIR PH12 TIM5_CH3 TIM5 PWM(2) GPIO(51) PH11 TIM5_CH2 TIM5 PWM(3) GPIO(52) BIDIR PH10 TIM5_CH1 TIM5 PWM(4) GPIO(53) PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54) PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55) # we need to disable DMA on the last 2 FMU channels # as timer 12 doesnt have a TIMn_UP DMA option PH6 TIM12_CH1 TIM12 PWM(7) GPIO(56) NODMA PH9 TIM12_CH2 TIM12 PWM(8) GPIO(57) NODMA两处实现细节值得注意BIDIR 标志出现在 PWM1 与 PWM3 上即 TIM5 的两个通道具备双向 DShot 能力与文档“Motors 1-4 为 Bidirectional-DSHOT”的描述相呼应TIM5 承载电机 1~4TIM12 的两个通道被显式NODMA源码注释解释了原因TIM12 没有 TIMn_UP 的 DMA 选项因此必须禁用 DMA。另外蜂鸣器使用独立的 TIM14_CH1PF9GPIO(77) ALARM驱动与 8 路电调输出互不干扰。七、电池监测INA226板载 INA226 数字功率监测芯片最高支持 6S 锂聚合物电池与 25.2V 输入上限一致。默认电池参数为BATT_MONITOR 21INA226源码侧的完整定义位于 hwdef.dat# I2C3 internal (INA226 power monitor) PA8 I2C3_SCL I2C3 PH8 I2C3_SDA I2C3 # INA226 battery monitor define HAL_BATTMON_INA2XX_BUS 1 define HAL_BATTMON_INA2XX_ADDR 0 define HAL_BATT_MONITOR_DEFAULT 21即 INA226 挂在内置 I2C3 总线上地址 0x00BUS 1并且HAL_BATT_MONITOR_DEFAULT 21保证了首次开机无需手工设置即可自动识别为 INA226 电池监控。I2C 总线顺序为I2C_ORDER I2C1 I2C3 I2C4其中 I2C3/I2C4 为内部总线HAL_I2C_INTERNAL_MASK 6。八、罗盘、气压计与 IMU 配置板载罗盘板载罗盘为 ST IIS2MDC。由于电源干扰实际使用中常常禁用该内置罗盘而改用远置罗盘。从 hwdef.dat 可以看到其配置COMPASS IIS2MDC I2C:2:0x1E false ROTATION_YAW_180 define AP_COMPASS_PROBING_ENABLED 1 define AP_COMPASS_IIS2MDC_ENABLED 1罗盘位于内部 I2C4总线序号 2、地址 0x1E安装朝向为 ROTATION_YAW_180并启用了罗盘探测机制。气压计BMP390 气压计同样位于 I2C4 上BARO BMP388 I2C:2:0x76—— 即使用 BMP388 驱动读取地址 0x76 的设备BMP390 与 BMP388 寄存器兼容从源码结构看复用了同一驱动。双 IMU 与加热控制两颗 ICM-42688P IMU 分别通过 SPI1 与 SPI2 连接均工作在 16MHz SPI 时钟、2MHz 数据速率并各自带片选与 DRDY数据就绪中断引脚# SPI2 - ICM42688 PI1 SPI2_SCK SPI2 ... SPIDEV icm42688_1 SPI1 DEVID1 IMU1_CS MODE3 2*MHZ 16*MHZ SPIDEV icm42688_2 SPI2 DEVID1 IMU2_CS MODE3 2*MHZ 16*MHZ IMU Invensensev3 SPI:icm42688_1 ROTATION_ROLL_180_YAW_135 IMU Invensensev3 SPI:icm42688_2 ROTATION_ROLL_180_YAW_45两颗 IMU 在 PCB 上的安装朝向不同分别为 ROTATION_ROLL_180_YAW_135 与 ROTATION_ROLL_180_YAW_45硬件定义中已按实际贴片方向写入旋转参数软件无需再手动校正。IMU 加热heater由 PB10 的HEATER_EN引脚控制默认参数为define HAL_HAVE_IMU_HEATER 1 define HAL_IMU_TEMP_DEFAULT 45 define HAL_IMUHEAT_P_DEFAULT 50 define HAL_IMUHEAT_I_DEFAULT 0.07即默认目标温度 45°CPID 参数 P50、I0.07用于在低温环境下稳定 IMU 噪声性能。九、其他板级硬件特性Micro SD 存储通过 SDMMC2 总线接入CK/CMD/D0~D3 共 6 根信号线见 common.inc并启用 FAT 文件系统HAL_OS_FATFS_IO 1供电使能脚为 PC13VDD_3V3_SD_CARD_ENRGB 指示灯PE3/PE4/PE5 分别驱动红/绿/蓝 LEDGPIO 90/91/92开漏输出高电平点亮用于飞行状态与解锁指示AP_NOTIFY_GPIO_LED_RGB_*解锁指示PE6 的nARMED引脚在解锁时拉高可外接指示灯电压采样ADC1 上配置了 SCALED1~SCALED4 四路模拟输入及 5V 电压分压采样VDD_5V_SENS电源管理PG10 为 5V 高功率负载使能脚nVDD_5V_HIPOWER_ENPF13 为其过流/失效反馈PG1~PG3 为三路电压砖的 nVALID 检测输入默认 GPIO 行为DEFAULTGPIO OUTPUT LOW PULLDOWN上电时所有未使用引脚默认拉低避免 ESD 问题。十、固件烧录方式ARK PI6X 支持两种固件烧录途径SWD 直接烧录使用 10 针 DEBUG 口含 SWDIO/SWCLK/RESET连接调试器USB 烧录USB 接口直接连接在 Raspberry Pi 上可从 Pi 端运行 ArduPilot 仓库 Tools/scripts 目录下的uploader.py刷机脚本也可以使用 ARK 官方 ARK-OS 提供的配套软件工具。由于该板依赖 RPI 协处理器工作DF40HC 接口为必需项日常升级固件更推荐使用 USB 途径无需打开外壳操作 SWD。小结ARK PI6X 的硬件定义完整体现在 hwdef.dat 与 common.inc 两个文件中串口顺序、DMA 能力、IMU 朝向、传感器 I2C 地址与电池监控默认值均与官方 README 的引脚表一一对应。对于开发者而言接线时以本文第三节的引脚表为准配置时以第四、五节的串口映射与 RC 协议选项为准需要核对某个引脚的实际用途或默认参数时直接查阅这两个硬件定义文件即可得到权威答案。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →