尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

SIYI UniFC 6 PICO 飞控板完全指南:ArduPilot 硬件定义、接口引脚图与固件刷写

SIYI UniFC 6 PICO 飞控板完全指南:ArduPilot 硬件定义、接口引脚图与固件刷写 SIYI UniFC 6 PICO 飞控板完全指南ArduPilot 硬件定义、接口引脚图与固件刷写【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilotSIYI UniFC 6 PICO 是一款基于 STM32H743 的高性能 ArduPilot 兼容飞控本文以仓库内 SIYI-UniFC-6-PICO 硬件定义目录 为核心结合 hwdef.dat 源码级配置完整讲解该板卡的硬件特性、全部接口引脚定义、UART/PWM/GPIO 映射、电池监控参数以及固件刷写与 DFU 恢复流程。读完本文你将能独立完成该板卡的接线、参数配置与固件维护。SIYI UniFC 6 PICO 飞控板引脚图板卡概述与核心特性SIYI UniFC 6 PICO 由 SIYI 推出并由多家经销商销售面向多旋翼、固定翼等 ArduPilot 生态机型官方定位为UniFC一体化飞控系列中的小型化成员。它围绕一颗STM32H743主控构建板级特性如下主控STM32H743 微控制器ARM Cortex-M7主频可达 480MHz板载 2MB Flash双 IMUICM45686InvenSense BMI088互为冗余IMU 温控内置加热器实现 IMU 温度稳定且 IMU 带内部减振隔离双气压计2× ICP20100 I2C 气压计内置罗盘IST8310 磁力计存储MicroSD 卡槽 板载 FRAM非易失参数存储通信5 路 UART USB、I2C、双 CAN 总线、以太网口LAN8742A PHY输出14 路 PWM 输出支持 DShot/BDShot输入RCIN 端口、外部安全开关电源监控舵机轨与 Vcc 电压监控、外部电源模块输入PWM 电平选择3.3V/5V 可选固件支持 DFU 引导加载这些特性并非孤立宣传在 hwdef.dat 中都有对应的硬件定义语句可一一印证见下文各节。板级硬件定义从 hwdef.dat 看板卡架构ArduPilot 的 ChibiOS 移植通过hwdef.dat文本文件描述整块板卡的硬件拓扑构建脚本chibios_hwdef.py据此生成 BSP 与固件。SIYI UniFC 6 PICO 的硬件定义位于 hwdef.dat下面按功能拆解其关键配置。板卡 ID、MCU 与存储布局APJ_BOARD_ID AP_HW_SIYI-UniFC-6-PICO MCU STM32H7xx STM32H743xx OSCILLATOR_HZ 16000000 FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 128板卡 IDAP_HW_SIYI-UniFC-6-PICO对应数值1215登记于 board_types.txt是固件与地面站识别板型的关键标识主频来源16MHz 外部晶振OSCILLATOR_HZ倍频驱动 H7Flash 布局2MB 用户固件 FlashFLASH_RESERVE_START_KB 128为引导加载器保留首扇区固件以-O2优化编译以充分利用 2MB 空间。传感器拓扑SPI 与 I2C 总线规划# SPI1 BMI088 PG11 SPI1_SCK SPI1 # SPI4 ICM45686 PE2 SPI4_SCK SPI4 # SPI5 FRAM PF7 SPI5_SCK SPI5 SPIDEV bmi088_g SPI1 DEVID1 BMI088_G_CS MODE3 10*MHZ 10*MHZ SPIDEV bmi088_a SPI1 DEVID2 BMI088_A_CS MODE3 10*MHZ 10*MHZ SPIDEV icm45686_1 SPI4 DEVID1 ICM45686_1_CS MODE3 2*MHZ 8*MHZ SPIDEV ramtron SPI5 DEVID1 FRAM_CS MODE3 8*MHZ 8*MHZBMI088挂在 SPI1 上陀螺bmi088_g与加速度计bmi088_a分片选10MHz 时钟ICM45686挂在 SPI4 上初始化 2MHz、运行 8MHz并启用ICM45686_CLKIN外部时钟输入以获得更低噪声FRAMramtron挂在 SPI5 上配合HAL_WITH_RAMTRON 1与HAL_STORAGE_SIZE 32768实现 32KB 非易失参数存储掉电不丢失参数。IMU 的安装旋转在硬件定义中一并声明IMU Invensensev3 SPI:icm45686_1 ROTATION_PITCH_180、IMU BMI088 SPI:bmi088_a SPI:bmi088_g ROTATION_YAW_90并且HAL_DEFAULT_INS_FAST_SAMPLE 3、HAL_INS_HIGHRES_SAMPLE 3开启了高采样率模式。气压计为两片 I2C 设备BARO ICP201XX I2C:0:0x63与BARO ICP201XX I2C:3:0x64分别挂在 I2C 总线 0 和 3 上。内置罗盘配置为COMPASS IST8310 I2C:0:0x0E false ROTATION_YAW_270即挂载于 I2C0 总线地址 0x0E。以太网与存储以太网使用 RMII 接口驱动 LAN8742A 物理层芯片define BOARD_PHY_ID MII_LAN8742A_ID、define BOARD_PHY_RMII8 个引脚PC1/PA2/PC4/PC5/PB12/PB13/PB11/PA7/PA1完成 MDC/MDIO 与 RMII 数据收发。MicroSD 通过 SDMMC1 控制器PC8~PC12、PD2接入并开启HAL_OS_FATFS_IO 1启用 FAT 文件系统支持可用于日志记录与脚本文件读取。串口与 UART 映射板卡定义了 5 个物理 UART 外设 2 个 USB 口映射关系如下SERIAL_ORDER OTG1 USART2 USART6 USART1 UART4 USART3 OTG2序号外设用途SERIAL0USBOTG1地面站 USB 连接SERIAL1USART2Telem1MAVLink2 数传SERIAL2USART6Telem2MAVLink2 数传SERIAL3USART1GPS1SERIAL4UART4GPS2 / Telem4SERIAL5USART3用户自定义串口Telem3SERIAL6USB2OTG2SLCAN 虚拟串口USB 上的 CAN 桥接所有 UART 均支持 DMA。其中 Telem1 与 Telem2 带有 RTS/CTS 硬件流控引脚USART2_CTS/RTS、USART6_CTS/RTS其余串口无流控。SERIAL6 走 OTG2 USB通过 SLCAN 协议将 USB 虚拟成 CAN 通道便于地面站直连调试 CAN 外设。接口连接器引脚定义除特别注明外所有连接器均为JST GH 1.25mm规格。以下引脚表完整对应 README.md 并可在 hwdef.dat 中找到引脚级定义。TELEM1 端口USART2带流控PinSignalVolt1 (red)VCC5V2 (blk)USART2_TX (OUT)3.3V3 (blk)USART2_RX (IN)3.3V4 (blk)USART2_CTS3.3V5 (blk)USART2_RTS3.3V6 (blk)GNDGNDTELEM2 端口USART6带流控PinSignalVolt1 (red)VCC5V2 (blk)USART6_TX (OUT)3.3V3 (blk)USART6_RX (IN)3.3V4 (blk)USART6_CTS3.3V5 (blk)USART6_RTS3.3V6 (blk)GNDGNDTELEM3 端口USART3无流控PinSignalVolt1 (red)VCC5V2 (blk)USART3_TX (OUT)3.3V3 (blk)USART3_RX (IN)3.3V4 (blk)GNDGNDGPS1 端口USART1 I2C1 安全开关PinSignalVolt1 (red)VCC5V2 (blk)USART1_TX (OUT)3.3V3 (blk)USART1_RX (IN)3.3V4 (blk)I2C1_SCL3.3V5 (blk)I2C1_SDA3.3V6 (blk)Safety SwitchGND7 (blk)Safety LEDGND8 (blk)3.3V3.39 (blk)BuzzerGND10 (blk)GNDGNDGPS1 端口是超级外设口除串口外还引出了 I2C1、安全开关PD11 SAFETY_IN、安全 LEDPD10 LED_SAFETY与蜂鸣器PF6 TIM16_CH1 GPIO(77) ALARM一个接口即可接入带罗盘/按键/蜂鸣器的完整 GPS-罗盘模块。GPS2 / Telem4 / I2C 端口UART4 I2C4PinSignalVolt1 (red)VCC5V2 (blk)UART4_TX (OUT)3.3V3 (blk)UART4_RX (IN)3.3V4 (blk)I2C4_SCL3.3V5 (blk)I2C4_SDA3.3V6 (blk)GNDGNDI2C 端口I2C2PinSignalVolt1 (red)VCC5V2 (blk)I2C2_SCL3.33 (blk)I2C2_SDA3.34 (blk)GNDGNDCAN1 端口PinSignalVolt1 (red)VCC5V2 (blk)CAN1_H12V3 (blk)CAN1_L12V4 (blk)GNDGNDCAN2 端口PinSignalVolt1 (red)VCC5V2 (blk)CAN2_H12V3 (blk)CAN2_L12V4 (blk)GNDGND两路 CAN 均可接入 DroneCAN 外设电调、空速计、测距仪等。硬件定义中 CAN1/CAN2 分别有静默引脚GPIO_CAN1_SILENTGPIO 70与GPIO_CAN2_SILENTGPIO 71用于总线监听诊断。POWER1 端口电池监控PinSignalVolt1 (red)VCC5V2 (red)VCC5V3 (blk)CURRENT3.3V4 (blk)VOLTAGE3.3V5 (blk)GNDGND6 (blk)GNDGNDEthernet 端口PinSignalVolt1 (red)RX-3.3V2 (blk)RX3.3V3 (blk)TX-3.3V4 (blk)TX3.3VRC-IN 端口PinSignalVolt1 (-)GNDGND2 ()VDD_5V_RC5V3 (s)RC_IN3.3VI/O PWM OUT 端口PinSignalVolt(-)GNDGND()VDD_SERVO0~9.7V externally supplied1-14CH1~143.3VRC 输入RC 输入配置在 PWM 输出排针一端的 RCIN 引脚上对应硬件定义PI5 TIM8_CH1 TIM8 RCININT PULLDOWN LOW。该引脚支持ArduPilot 全部单向 RC 协议PPM、SBUS、DSM 等。若使用CRSF / ELRS 等双向协议由于需要双向收发必须改用完整 UART 接入例如将接收机接到某个空闲 SERIAL 端口而非 RCIN 引脚。连接与设置可参考仓库 RC_Channel 相关实现与 ArduPilot 的 RC 系统文档。PWM 输出SIYI UniFC 6 PICO 提供14 路 PWM 输出全部直连 STM32H743 定时器协议支持14 路均支持 PWM 协议通道 1~12 支持 DShot其中 1~8 支持 BDShot。接线规范14 路 PWM 均为上排 GND、中排 5V、下排信号。分组限制14 路输出分为 4 组同组通道必须使用相同的输出速率若组内任一通道使用 DShot则该组全部通道都必须使用 DShot分组通道Group1PWM 1、2、3、4TIM1Group2PWM 5、6、7、8TIM4Group3PWM 9、10、11、12TIM5Group4PWM 13、14TIM12从 hwdef.dat 可见分组即定时器分组TIM1 输出 CH1~CH4、TIM4 输出 CH5~CH8、TIM5 输出 CH9~CH12而 TIM12 的 CH1/CH2PWM13/14因定时器特性标记为NODMA无 TIMn_UP DMA 选项。板上还提供PWM 电平选择PE12 PWM_VOLT_SEL OUTPUT LOW GPIO(81)配合HAL_GPIO_PWM_VOLT_3v3 0定义默认输出 3.3V可切换至 5V 以满足不同电调信号电平要求。电池监控板卡在 6 针连接器上提供专用电源监控端口。若使用随板附带的电源模块则无需改动参数若更换第三方电源模块power brick必须按实际分压/分流系数调整以下默认参数参数默认值说明BATT_MONITOR4模拟电压 电流监控BATT_VOLT_PIN4电压采样模拟引脚BATT_CURR_PIN5电流采样模拟引脚BATT_VOLT_MULT18.182电压分压倍数更换电源模块时调整BATT_AMP_PERVLT36.364每伏安培数更换电源模块时调整这些默认值在 hwdef.dat 中以编译期宏固化HAL_BATT_MONITOR_DEFAULT 4、HAL_BATT_VOLT_PIN 4、HAL_BATT_CURR_PIN 5、HAL_BATT_VOLT_SCALE 18.182、HAL_BATT_CURR_SCALE 36.364对应模拟输入PF12 BATT_VOLTAGE_SENSANALOG 4与PF11 BATT_CURRENT_SENSANALOG 5。板卡另有舵机轨采样FMU_SERVORAIL_VCC_SENS与 5V 采样VDD_5V_SENS用于监控伺服电源轨与主供电电压。罗盘板载一颗IST8310内置罗盘I2C0 总线、地址 0x0E。实际使用中为避免电机与大电流走线的电磁干扰通常建议禁用内置罗盘改接外部罗盘如 GPS 模块上的一体化罗盘以获得更稳定的航向数据。硬件定义中AP_COMPASS_INTERNAL_BUS_PROBING_ENABLED 0也印证了这一设计取向——内置总线不参与探测外部罗盘探测保持开启AP_COMPASS_PROBING_ENABLED 1。GPIO 与模拟输入GPIO 编号14 路 PWM 端口可复用为 GPIO继电器、按键、转速计 RPM 等在 ArduPilot 参数如 RELAY、RPM 的PIN变量中使用的编号如下通道GPIO通道GPIOPWM150PWM857PWM251PWM958PWM352PWM1059PWM453PWM1160PWM554PWM1261PWM655PWM1362PWM756PWM1463此外 hwdef.dat 还定义了若干系统级 GPIORGB LEDGPIO 41/42/43对应红绿蓝、CAN 静默70/71、蜂鸣器77、IMU 加热器80、PWM 电压选择81。模拟输入板卡在电源连接器上提供 2 路模拟输入ADC Pin2 → 电池电流传感器ADC Pin6 → 电池电压对应 hwdef.dat 中PF12 BATT_VOLTAGE_SENS ADC1 ... ANALOG(4)与PF11 BATT_CURRENT_SENS ADC1 ... ANALOG(5)的模拟通道编号 4/5。IMU 加热器板卡内置 IMU 温度控制加热器通过BRD_HEAT_TARG参数设定目标温度单位摄氏度。硬件定义给出了默认 PID 参数与默认目标温度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°CHAL_IMU_TEMP_DEFAULT加热器由PG7 HEATER_ENGPIO 80驱动。该参数在源码中注册为BRD_HEAT_TARG见 AP_BoardConfig.cpp 的AP_GROUPINFO(HEAT_TARG, 8, ...)可在地面站直接修改。稳定的 IMU 温度能显著降低温漂对陀螺零偏的影响尤其在严寒环境起飞前可缩短预热时间。固件刷写与 DFU固件获取与常规刷写SIYI UniFC 6 PICO 的固件在 ArduPilot 官方固件服务器的 SIYI-UniFC-6-Pico 目录下按机型ArduCopter/ArduPlane/ArduRover/ArduSub提供。板卡出厂预装 ArduPilot 兼容引导加载器因此可直接使用任意 ArduPilot 兼容地面站Mission Planner / QGroundControl 等加载*.apj固件文件完成刷写无需额外烧录工具。DFU 模式与引导加载器恢复板卡同时支持DFUDevice Firmware Upgrade模式用于安装引导加载器。进入 DFU 模式有两种方式按住 bootloader 按键上电保持 bootloader 按钮按下再接通电源DFU 重启命令通过地面站发送 DFU reboot 命令让板卡重启进入 DFU。对应 hwdef.dat 中的ENABLE_DFU_BOOT 1注意若固件以--secure-bl安全引导选项构建DFU 将被禁用。进入 DFU 后可用 STM32CubeProgrammer 等工具烧写 bootloader 或完整固件。引导加载器细节hwdef-bl.dat 定义了引导加载器本身的构建参数FLASH_RESERVE_START_KB 0bootloader 位于 Flash 零偏移、FLASH_BOOTLOADER_LOAD_KB 128将固件放在 128KB 之后与固件侧FLASH_RESERVE_START_KB 128对应。引导加载器启用 SDMMC 与 FAT 文件系统AP_BOOTLOADER_FLASH_FROM_SD_ENABLED 1支持从MicroSD 卡直接刷写固件的无 USB 恢复方案串口在 bootloader 阶段仅启用 USB 与 USART2Telem1便于 DFU/串口恢复。快速上手指引小结接线按上文引脚表接入 GPS推荐带外部罗盘的 GPS 模块并禁用内置罗盘、数传、电调注意 PWM 分组同速率、DShot 整组一致与电源模块连接地面站通过 USBSERIAL0连接首次刷写/校准使用*.apj固件电池参数若使用随板电源模块保持默认BATT_MONITOR 4等参数更换电源模块后按实际系数修改BATT_VOLT_MULT/BATT_AMP_PERVLT传感器校准完成加速度计、罗盘、水平与 RC 校准后根据机型完成电机/舵机测试温度控制如需更严格 IMU 温控通过BRD_HEAT_TARG调整目标温度默认 45°C固件维护日常升级用地面站刷*.apj引导加载器异常时按住 bootloader 键上电或发送 DFU reboot 命令进入 DFU 模式恢复。以上所有接口定义、参数默认值与引脚映射均可在仓库 SIYI-UniFC-6-PICO 硬件定义目录、hwdef.dat 与 hwdef-bl.dat 中逐条核对可作为工程接线与排障的一手依据。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表