ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ArduPilot F4BY_H743 开发板完全指南:硬件规格、hwdef.dat 引脚映射与串口/PWM 配置实战

ArduPilot F4BY_H743 开发板完全指南:硬件规格、hwdef.dat 引脚映射与串口/PWM 配置实战 ArduPilot F4BY_H743 开发板完全指南硬件规格、hwdef.dat 引脚映射与串口/PWM 配置实战【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot本文以 ArduPilot 仓库中 F4BY_H743 硬件定义文档 为主体系统讲解这块 STM32H743 480MHz 飞控板的完整硬件规格、5 路串口与 16 路 PWM/DShot 输出的引脚映射、模拟量传感器参数配置以及固件刷写流程。读完后你可以直接对照仓库中的 hwdef.dat 验证每一根引脚的归属并完成模拟空速、RSSI、电池监测等参数设置。F4BY_H743 飞控板由 F4BY Team 生产在 ArduPilot 中以板级 IDAP_HW_F4BY_H743注册该 ID 数值为 1531定义于 board_types.txt。1. 核心规格与板上硬件1.1 处理器与传感器配置F4BY_H743 的核心规格如下处理器STM32H743 32 位处理器主频 480MHz2MB Flash1MB RAM传感器不同板载硬件版本搭载不同 IMUICM-42688-P IMUF4BY_H743 v3.0.3IIM-42652 IMUF4BY_H743 v3.0.2MPU6000 IMUF4BY_H743 v3.0.1MS5611 气压计QMC5883P 罗盘供电由外部电源模块供电输入范围 5.0 ~ 6.0V提供电流与电压模拟输入量程 0 ~ 6.6V接口16 路 PWM 输出支持 DShot其中含 4 路 BDShot1 路 RC 输入5 路 UART/串口用于 GPS、双向 RC 及其他外设1 路 I2C外接罗盘、空速等1 路 CAN 总线蜂鸣器输出microSD 卡用于日志记录、Lua 脚本等USB Type-C 口USB GHS 型对外扩展接口DFU Bootloader 按键这些规格在 hwdef.dat 中都有对应声明文件头部MCU STM32H7xx STM32H743xx与MCU_CLOCKRATE_MHZ 480第 5–6 行声明了处理器型号和主频FLASH_SIZE_KB 2048声明 2MB FlashFLASH_RESERVE_START_KB 128则为 128KB 的 Bootloader 预留了 Flash 起始区域第 12–13 行。1.2 尺寸板尺寸50 × 50 mm安装孔距45 × 45 mmM3重量15.5 g2. 串口UART映射这是本文档最核心的内容。板上串口以 Rn/Tn 丝印标识Rn 为 UARTn 的接收脚Tn 为发送脚。README 给出的端口映射表如下端口UART协议RX DMATX DMA0USBMAVLink2✘✘1USART2RC✔✔2UART1MAVLink2✔✔3USART3GPS✘✔4UART4None✘✔5UART5None✘✔端口号0~5由 hwdef.dat 中的SERIAL_ORDER行决定顺序为OTG1 USART2 USART1 USART3 UART4 UART5与上表一一对应端口 0 是 USBOTG1PA11/PA12 接 OTG_FS端口 1 是 USART2默认 RC端口 2 是 USART1默认 MAVLink2端口 3 是 USART3默认 GPS端口 4/5 分别为 UART4、UART5预留未分配协议。各串口的具体引脚在 hwdef.dat 第 45–62 行中逐一定义USART1PB6(TX) / PB7(RX)USART2PD5(TX) / PD6(RX)USART3PD8(TX) / PD9(RX)UART4PC10(TX) / PC11(RX)UART5PC12(TX) / PD2(RX)值得注意的细节hwdef.dat 中 USART3_TX、UART4_TX、UART5_TX 均带有NODMA标记第 54、57、61 行表示这些发送通道在硬件定义层面禁用了 DMA其 DMA 能力以硬件定义文件实际配置为准。另外hwdef.dat 第 37 行后的DMA_PRIORITY S*声明表明所有串口均按默认 DMA 优先级处理。3. RC 输入F4BY_H743 提供两种 RC 输入途径在 hwdef.dat 中均有体现1经典 RCin 引脚PB0PB0 在硬件定义中标记为TIM3_CH3 TIM3 RCININT PULLDOWN LOW第 149 行即中断型 RC 输入。使用 RCin 引脚支持所有单向 RC 协议PPM、SBUS、iBus、PPM-Sum、DSM、DSM2、DSM-X、SRXL 和 SUMD。v3.0.3 版本的板子需要在对应焊盘上焊接 RCIN 排针焊盘位置如下2USART2 双向 RC端口 1hwdef.dat 第 152 行通过define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_RCIN将端口 1USART2默认设为 RC 输入协议用于 CRSF/ELRS、SRXL2、IRC Ghost、FPort 等双向协议。这意味着该板开箱即用状态下端口 1 收 RC端口 2USART1跑 MAVLink2端口 3USART3接 GPS与 README 映射表的协议分配完全一致。4. PWM / DShot 输出16 路电机/舵机输出按硬件定时器分为 4 组README 的分组表如下Group #1OutPortGPIO 编号BDShot1PA050✔2PA151✔3PA252✔4PA353✔Group #2OutPortGPIO 编号BDShot5PE954✔6PE1155✔7PE1356✔8PE1457✔Group #3OutPortGPIO 编号BDShot9PD135810PD125911PD156012PD1461Group #4OutPortGPIO 编号BDShot13PC76214PC66315PC86416PC965注意同一组内的所有输出必须为同一类型PWM 或 DShot。为什么同组必须同类型从 hwdef.dat 第 127–146 行的定义可以看出原因Group #1 四路输出挂在 TIM2PA0~PA3 即 TIM2_CH1~CH4Group #2 挂在 TIM1PE9/PE11/PE13/PE14Group #3 挂在 TIM4PD12~PD15Group #4 挂在 TIM8PC6~PC9。DShot 协议在底层是按硬件定时器粒度配置的同一定时器上的通道无法一半跑 PWM、一半跑 DShot因此一组同类型是硬件层面的硬约束。表中 GPIO 编号50~65是 ChibiOS 的全局引脚编号用于在SRVx_PIN等参数中指定输出引脚标记BIDIR的引脚PA0、PA2、PE9、PE13在定义中同时保留双向能力。5. 模拟量引脚与传感器参数5.1 模拟传感器引脚板上模拟传感器引脚如下README 原始描述模拟空速PC00 ~ 3.3V引脚号 10模拟 RSSIPC10 ~ 3.3V引脚号 11电压 sensingPC30 ~ 6.6V引脚号 13电流 sensingPC20 ~ 6.6V引脚号 12板载供电 sensingPC40 ~ 6.6V舵机供电 sensingPC50 ~ 9.9V这里引脚号的来历可以在源码生成器中验证chibios_hwdef.py 的write_ADC_config函数中analog编号默认取该引脚在 ADC1 上的通道号analog p.extra_value(ANALOG, typeint, defaultchan)。对 STM32H743 而言PC0~PC5 恰好是 ADC1 的通道 10~15因此 PC0 对应引脚 10、PC1 对应引脚 11依此类推。这也解释了为什么 ARSPD_PIN 和 RSSI_ANA_PIN 要用通道号而非物理丝印来填。hwdef.dat 第 167–172 行给出了完整的 ADC1 通道定义其中SCALE(n)表示外部电阻分压比PC0 PRESSURE_SENS ADC1 SCALE(1) PC1 RSSI_IN ADC1 PC2 BATT_CURRENT_SENS ADC1 SCALE(2) PC3 BATT_VOLTAGE_SENS ADC1 SCALE(2) PC4 VDD_5V_SENS ADC1 SCALE(2) PC5 FMU_SERVORAIL_VCC_SENS ADC1 SCALE(3)电压/电流分压比 2 对应 0~6.6V 量程3.3V × 2舵机轨分压比 3 对应 0~9.9V 量程3.3V × 3与 README 的量程描述完全吻合。5.2 模拟空速参数配置若使用 ARSPD 引脚PC0作为模拟空速输入在参数中设置ARSPD_PIN 10ADC1 通道 10即 PC0ARSPD_TYPE 1模拟空速5.3 模拟 RSSI 参数配置若使用 RSSI 引脚PC1作为模拟 RSSI 输入设置RSSI_ANA_PIN 11ADC1 通道 11即 PC1RSSI_TYPE 1模拟 RSSI5.4 电池监测默认参数板上外部电流/电压传感器输入量程为 0 ~ 6.6VREADME 给出的出厂默认电池参数为BATT_MONITOR 4BATT_VOLT_PIN 13BATT_CURR_PIN 12BATT_VOLT_MULT 16.04981BATT_AMP_PERVLT 100这组默认值并非凭空写在文档里而是由 hwdef.dat 第 181–186 行的HAL_BATT_*宏注入固件的define HAL_BATT_MONITOR_DEFAULT 4 define HAL_BATT_VOLT_PIN 13 define HAL_BATT_CURR_PIN 12 define HAL_BATT_VOLT_SCALE 16.04981 define HAL_BATT_CURR_SCALE 100也就是说BATT_MONITOR 4模拟引脚模式、电压/电流引脚、电压倍率与安培/伏换算系数在编译期就已固化为该板的出厂默认值用户刷完固件无需手动修改即可使用外接电流/电压传感器。6. 其他板载外设与总线README 未展开、但 hwdef.dat 明确定义的关键外设如下可作为接线与故障排查的依据I2C 总线与罗盘/气压计板上 I2C 顺序为I2C_ORDER I2C2 I2C1因此 I2C:0 实际是 I2C2PB10 SCL / PB11 SDA。气压计为BARO MS5611 I2C:0:0x77hwdef.dat 第 105–106 行。罗盘探测配置第 121–125 行支持 I2C:0 上的 HMC58430x1E、QMC5883L0x0D、QMC5883P0x2C并分别声明了ROTATION_YAW_270/ROTATION_YAW_180的安装姿态旋转。README 特别提示由于板上罗盘可能受干扰实际飞行中通常搭配外接 I2C 罗盘作为 GPS/罗盘组合的一部分使用。SPI 总线SPI1PA5/PA6/PA7CS 为 PA4连接 v3.0.1 的 MPU6000 及 v3.0.3 以上版本的 IMU注释标明 PA7 用于 3.0.33.0.4 及以上改用 PD7 备用脚位SPI2PB13/PB14/PB15同时承载 RAMTRON FRAMCS PB12用于参数高速存储HAL_WITH_RAMTRON 1和 microSD 卡CS PE15SPI3PB3/PB4/PB5CS 为 PA15连接第二路 IMUIMU 声明hwdef.dat 第 94–98 行IMU Invensense SPI:mpu6000 ROTATION_NONEv3.0.1、IMU Invensensev3 SPI:imu2 ROTATION_ROLL_180v3.0.3 的 ICM-42688并额外支持外接 Invensensev3 IMUSPI:imu1。CAN 总线PD0RX/ PD1TX接 CAN1第 42–43 行可接 DroneCAN 电机、ESC 遥测等外设。扩展 GPIO引脚丝印功能GPIO 编号物理引脚D1通用输出1PC14D2通用输出2PC13D3通用输出3PE4D4Cam Feedback4PE6D5Cam Trigger5PC15这些引脚hwdef.dat 第 175–179 行均为 0 ~ 3.3V可用于继电器控制、云台/相机快门触发与反馈等。蜂鸣器挂在 PE5TIM15_CH1ALARM功能RGB 状态灯为 PE3(红)/PE2(绿)/PE1(蓝)/PE0(黄)。7. 引脚总图8. 固件获取与刷写固件获取F4BY_H743 的官方固件可从 ArduPilot 官方固件发布站获取位于标注为 F4BY_H743 的子文件夹中该站的 Copter/Plane/Rover/Sub 各版本目录下均有对应文件夹。刷写方式板上出厂预装了 ArduPilot 兼容 Bootloader之后可用任何 ArduPilot 兼容地面站直接加载.apj固件文件。首次刷写需进入 DFU 模式按住 Bootloader 按键的同时插入 USB然后使用任意 DFU 工具加载with_bl.hex固件该固件包含 Bootloader烧入后即建立完整的 Bootloader 应用固件结构。Bootloader 的 Flash 布局在 hwdef-bl.dat 中定义FLASH_RESERVE_START_KB 0表示 Bootloader 从 Flash 0 偏移安装FLASH_BOOTLOADER_LOAD_KB 128表示 Bootloader 本体占 128KB而应用固件侧的FLASH_RESERVE_START_KB 128正好与之衔接保证应用固件从 128KB 处开始加载两者互不覆盖。9. 小结F4BY_H743 在 ArduPilot 仓库中的完整定义由三个文件构成README.md面向用户的硬件规格、串口/PWM 映射与参数配置指南hwdef.dat面向构建系统的完整引脚定义是本文所有映射表的权威来源hwdef-bl.datBootloader 专用的精简硬件定义排查接线问题时建议按README 映射表 → hwdef.dat 对应行的路线核对串口看SERIAL_ORDER与 UART 引脚段PWM 看 TIM2/TIM1/TIM4/TIM8 四段模拟量看 ADC1 段电池参数看HAL_BATT_*宏。板级 ID 1531 可用于在固件选择、日志与 GCS 通信中确认当前刷写对象确为 F4BY_H743。【免费下载链接】ardupilotArduPlane, ArduCopter, ArduRover, ArduSub source项目地址: https://gitcode.com/GitHub_Trending/ar/ardupilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表