Проектування контролера польоту PX4
The PX4 reference design is the Pixhawk series of flight controllers. First released in 2011, this design is now in its 5th generation (with the 6th generation board design in progress).
Сумісність з бінарним кодом
Всі плати, виготовлені за певним дизайном, мають бути сумісними з двійковим кодом (тобто можуть запускати ту ж саму прошивку). З 2018 року ми будемо надавати набір тестів для перевірки бінарної сумісності, який дозволить нам перевірити та сертифікувати цю сумісність.
Покоління FMU 1-3 були розроблені як відкрите обладнання, тоді як покоління FMU 4 та 5 надали лише специфікації роз'ємів та живлення (схеми були створені окремими виробниками). Для кращої сумісності, починаючи з FMUv6 і пізніше, буде використано повний модельний референтний дизайн.
Reference Design Generations
- FMUv1: Development board (STM32F407, 128 KB RAM, 1MB flash, schematics) (no longer supported by PX4)
- FMUv2: Pixhawk (STM32F427, 168 MHz, 192 KB RAM, 1MB flash, schematics)
- FMUv3: Pixhawk variants with 2MB flash (3DR Pixhawk 2 (Solo), Hex Pixhawk 2.1, Holybro Pixfalcon, 3DR Pixhawk Mini, STM32F427, 168 MHz, 256 KB RAM, 2 MB flash, schematics)
- FMUv4: Pixracer (STM32F427, 168 MHz, 256 KB RAM, 2 MB flash, pinout)
- FMUv4 PRO: Drotek Pixhawk 3 PRO (STM32F469, 180 MHz, 384 KB RAM, 2 MB flash, pinout)
- FMUv5: Holybro Pixhawk 4 (STM32F765, 216 MHz, 512 KB RAM, 2 MB flash, pinout)
- FMUv6: work in progress, final name TBD, variant 6s (STM32H7, 400 MHz, 2 MB RAM, 2 MB flash) and variant 6i (i.MX RT1050, 600 MHz, 512 KB RAM, external flash)
Розподіл функцій основної / ввід-вивідної функції
Діаграма нижче показує розподіл обов'язків автобуса та функціональних відповідальностей між платами FMU та I/O в контролері польоту серії Pixhawk (плати вбудовані в один фізичний модуль).
Деякі контролери серії Pixhawk будуються без плати введення-виведення для зменшення розміру або складності, або для кращого вирішення певних сценаріїв використання плати. У цьому випадку І/O драйвер не запущений.
INFO
Manufacturer flight controller variants without an I/O board are often named as a "diminutive" of a version that includes the I/O board: e.g. Pixhawk 4 Mini, _CUAV v5 nano.
Build targets that must run on flight controllers with an I/O board map the FMU outputs to AUX
and the I/0 outputs to MAIN
(see diagram above). Якщо ціль запускається на обладнанні, де відсутня або вимкнена плата вводу-виводу, вихідні сигнали головних ШШ не будуть присутні. You might see this, for example, by running px4_fmu-v5_default
on Pixhawk 4 (with IO) and Pixhawk 4 Mini (without I/O).
WARNING
On Pixhawk 4 Mini this results in a mismatch between the MAIN
label screenprinted on the flight controller and the AUX
bus shown during Actuator Configuration.
that if a build target is only ever intended to run on a flight controller that does not have an I/0 board, then the FMU outputs are mapped to MAIN
(for example, the px4_fmu-v4_default
target for Pixracer).
PX4 PWM outputs are mapped to either MAIN
or AUX
ports in Actuator Configuration.