Полетные контроллеры на F1, F3, F4 и F7. Какой выбрать?

naze32_lite2

При выборе полетного контроллера для коптера постоянно упоминаются значения F1, F3, F4 и F7. Всё это серии процессоров (микроконтроллеров) для ПК, и в этой статье мы расскажем про их отличия, а также поможем выбрать наиболее подходящий.

Содержание

Если вам не знакомы слова Betaflight (англ.), Cleanflight (англ.) и Raceflight — тогда вначале прочтите эти статьи.

Если вы просто хотите выбрать один из лучших ПК, тогда читайте: Топ 5 лучших ПК, по мнению нашего сообщества.

Что значит F1, F3, F4 и F7?

По сути F1, F3, F4 и F7 это 4 серии процессоров (микроконтроллеров) STM32. Этот STM32 процессор — мозг полетного контроллера, по сути, как процессор в вашем компьютере. В настоящее время существует 10 серий, по убыванию вычислительных мощностей: F7, F4, F3, F2, F1, F0, L4, L1, L0, W.

flight-controller-fc-proccessor-stm32-f1-f3-f4-f7-cpu-chip

STM32 F1, F3, F4 в полетных контроллерах

Микроконтроллер Тактовая частота Число последовательных портов (UART) в ПК Объем флеш-памяти*
F1 (STM32F103CBT6) 72 МГц 2 128KB
F3 (STM32F303CCT6) 72 МГц 3 256KB
F4 (STM32F405RGT6) 168 МГц 3 1MB
F7 (STM32F745VG) 216 МГц 8 1MB

Флеш-память упоминаемая здесь и память для blackbox — это две разные вещи, сейчас имеется ввиду встроенная память для хранения прошивки. Размер памяти может варьироваться в зависимости от модификаций чипа.

Первым 32-битным ПК на F1 был CC3D. F1 — самая медленная серия из всех рассматриваемых. Хороший пример контроллеров на F1 – это Naze32 и CC3D.

naze32

Полетный контроллер Naze32

Первые ПК на F3 появились в 2014 году, в настоящее время наиболее популярны: X-Racer, Betaflight F3, LUX V2, и KISS FC.

mini-quad-fc-flight-controller-betaflight-f3-fpvmodel

Полетный контроллер Betaflight F3

Вскоре после F3 появились ПК на F4. Они становятся все более популярными: Raceflight Revolt, BrainFPV RE1 и DemonRC Soul.

mini-quad-fc-flight-controller-raceflight-revolt-f4

Полетный контроллер Revolt F4

F7 — новейшее поколение микроконтроллеров, они только начинают появляться на рынке. ПК на их основе пока не много. Вот, например: AnyFC F7 FC.

f7-fc-flight-controller-mini-quad-fpv

Полетный контроллер AnyFC F7

Забавный факт. Регуляторы скорости тоже переходят от 8 битных к 32 битным микроконтроллерам! В наши дни в регуляторах довольно часто используется STM32 F0.

Разница между контроллерами на F1 и F3

Кратко о преимуществах F3 над F1

  • Одна и та же частота, но более быстрые операции с плавающей запятой, благодаря отдельному модулю операций с плавающей запятой
  • Дополнительный UART порт (COM-порт), итого 3 против 2. Но у F3 имеется отдельный порт для USB, так что при подключении к компьютеру, UART1 будет свободен. На F1 для подключения по USB используется UART1, поэтому на F1 мы и не используем UART1 для периферии. Т.е. получается, что свободно 3, а не 1 порт
  • У всех последовательных портов в F3 имеется аппаратный инвертор сигнала, т.е. любой порт можно использовать с SBUS или SmartPort безо всяких хаков и модификаций
  • Некоторые новые контроллеры на F3 имеют более продуманный дизайн и больше фич по сравнению со старыми на F1
xracer-f303-flight-controller-top

Полетный контроллер XRacer F303

Производительность процессора (частота)

F1 и F3 имеют одинаковую максимальную частоту 72МГц, в то же время F4 – 180МГц.

Несмотря на то, что F1 и F3 имеют одну максимальную частоту, F3 выполняет операции с плавающей запятой быстрее благодаря математическому сопроцессору. F3 работает значительно быстрее, чем F1 при использовании PID контроллера на математике с плавающей запятой.

Многие из вас уже знают, looptime = 2k — по сути максимум, чего можно добиться от Naze32 c Betaflight, это значение синхронно с частотой опроса гироскопов (2 кГц). Больше не получится просто потому, что процессор не справится с нагрузкой (можно разогнать до 2,6 кГц, но результат будет нестабильным).

Платы на F3 могут использовать луптайм 4k и при этом можно запускать другие ресурсоёмкие задачи — использование акселерометров, светодиодных полос, софтсериал (программная эмуляция последовательного порта). На F1 нам приходилось отказываться от многих фич, просто чтобы работать с частотой 2k.

Итого, с учетом ПИД контроллеров, числа последовательных портов, числа доп. каналов (Aux) и т.д. мы можем достичь следующих значений (допустим, что акселерометры отключены):

Когда говорят 8k/8k или 4k/4k, то подразумевают луптайм и частоту опроса датчиков

  • Платы на F1: 2k — 2,6k, CC3D — 4k/4k (благодаря подключению датчиков по шине SPI)
  • Большинство плат на F3 и F4 с шиной SPI — 8k/8k, если шина i2c, тогда только 4k/4k
  • F4 с Raceflight: 8k/8k, а при использовании MPU6500 или 9250 — до 32k/32k

Все эти ПК могут передавать данные на регуляторы с частотой 32k без каких-либо проблем. Всегда проверяйте нагрузку на процессор командой «status» в консоли (CLI). Я предпочитаю, чтобы в Betaflight загрузка была меньше 30%.

motolab-tornado-fc-flight-controller

MotoLab Tornado F3

Число последовательных портов

Помимо увеличения вычислительных мощностей и преимуществ looptime, серия F3 предоставляет больше последовательных портов (UART).

Такие вещи как MinimOSD, SBUS, SmartPort telemetry, Blackbox (при использовании openlog и SD карты), подключение к компу по USB, GPS и т.д. используют последовательные порты.

На контроллерах с F1, таких как Naze32, у нас было только 2 порта. Немного раздражало то, что не получалось использовать blackbox, Sbus и MinimOSD одновременно, а это мой обычный конфиг. Платы на F3 имеют 1 дополнительный UART порт и это очень удобно.

Другие преимущества контроллеров на F3

Многие платы на F3 также имеют встроенный стабилизатор на 5В или даже встроенную PDB, так что, теоретически, вы можете питать контроллер напрямую от аккумулятора.

Платы на F3 также имеют встроенные аппаратные инверторы на последовательных портах, так что нет необходимости переделывать ваш приемник X4R-SB, чтобы подключить SBUS и SmartPort. Платы на F1 инвертеров не имеют, так что требуется переделка.

F3 практически полностью контакт-в-контакт совместим с серией F1, и некоторые писали в комментариях, что они успешно заменили чип F1 на F3 в плате CC3D, и используют looptime = 125 в квадриках (благодаря тому, что гиры подключены по шине SPI).

Отметим, что от процессора не зависит размер флеша для хранения данных. На самом деле размер определяется чипом памяти на плате.

RMRC-DODO-FC-flight-controller-f3

RMRC Dodo F3

Различия между F3 и F4

  • У F4 выше тактовая частота, 168 МГц против 72 МГц у F3. На F4 можно использовать частоту луптайм 32 кГц; F3 и F4 могут работать с луптайм 8k, но при этом процент загрузки F4 будет ниже. Это особенно важно при использовании новой функции «Dynamic Filter» (динамический фильтр), которая требует очень много вычислительных ресурсов, поэтому F4 определенно имеет преимущество
  • У F4 обычно 3 последовательных порта, но иногда бывает и 5 (зависит от платы); у F3 — обычно 3 шт
  • Большинство плат на F4 можно использовать как с Betaflight, так и с Raceflight. Raceflight One теперь закрытый проект и поддерживает только свой ПК Revolt
  • У F1 и F4 нет встроенных инверторов (есть только в F3 и F7). Поэтому если вы хотите использовать SBUS или SmartPort, то придется разобраться с инверсией сигнала; F3 и F7 — новее, в них инверторы есть
  • Благодаря тому, что у F4 значительно больше вычислительных мощностей, появляется возможность генерировать OSD без помощи дополнительного чипа, например, как это сделано в BrainFPV RE1 F4

Преимущества F7 над F3 и F4

  • У F7 тактовая частота еще выше (216 МГц против 168 МГц)
  • Больше последовательных портов с аппаратной инверсией
  • У F7 суперскалярная архитектура и встроенный DSP — т.е. F7 это платформа с запасом на будущее, которая позволит разработчикам улучшить и оптимизировать алгоритмы работы полетных контроллеров

На платах с процессорами F7 в теории можно использовать луптайм до 32k. Но это не совсем честное время цикла, потому что данные от гир приходят реже. Частота опроса гир ограничена типом чипа. Например, MPU6000 можно опрашивать с частотой 8k, а ICM-20602 — 32k.

Время цикла (луптайм) — это тема отдельной статьи. Всегда ли большая частота — это хорошо?

У F7 больше последовательных портов с аппаратной инверсией сигнала. Всю эту периферию мы можем использовать разом: SBUS, OSD, VTX SmartAudio, Smartport Telemetry, Blackbox. Может что-то еще появится в будущем.

Итак, какой выбрать? F1, F3, F4 или F7?

Конечно вы можете летать на коптере с платой на F1, но более быстрые F3 и F4 дают вам лучшую производительность и позволят использовать ресурсоемкие фичи. ПО для полетных контроллеров постоянно развивается, и скоро придется выкинуть платы на F1 потому, что их производительности не хватит.

Обновление (июнь 2017) — на платах F1 скоро не будет хватать флеш-памяти для хранения всей прошивки, поэтому в ближайшее время Betaflight перестанет поддерживать платы на F1. Следовательно, если хотите летать на новых прошивках — избегайте покупки ПК на F1.

Так что в настоящее время выбор сокращается до F3, F4 или F7.

Что касается ПК на F7, если вы не используете гиры с частотой 32k, и временем цикла тоже 32k, то единственным преимуществом F7 будет большее число последовательных портов (8 штук). На самом деле сейчас это не большое преимущество, но в будущем может пригодится. По-моему, F7 должен хорошо подойти для тех задач, где требуется большое количество последовательных портов, например iNav.

Единственный недостаток F7 — размер чипа (F745VG), он крупнее чем F3 и F4, т.е. для прочих деталей, разъемов почти не остается места. Надеюсь в будущем получиться использовать более компактные варианты, типа F722RE. У него размеры как у F3/F4, а памяти меньше, чем у F745.

Производителям нужно время чтобы оптимизировать дизайн плат, в будущем мы сможем использовать еще больше вычислительных мощностей. Так что, по моему мнению, сейчас пока нет смысла гнаться за F7.

Если бы я собирался купить новый контроллер завтра, я вероятнее всего купил бы F3 или F4, потому что у них есть весь необходимый мне функционал, а также очень продуманный дизайн и расположение элементов.

Вот список 5 лучших ПК по нашему мнению.

Что случилось с F2, F5 и F6?

В полетных контроллерах используются чипы STM32 серий F1, F3, F4 и F7, любопытно, почему пропущены F2, F5 и F6.

F2 — это что-то вроде старой версии F4, а следующий в линейке F3 уже имел модуль операций с плавающей запятой (мат сопроцессор, для ускорения вычислений), так что разработчики поступили логично и пропустили F2.

STM32 F5 и F6 — просто не существуют, причина в том, что именование STM32 основано на нумерации ARM процессоров, где F1 — это Cortex M1, F3 основан на Cortex M3 и т.д., а Cortex M5 и M6 — не существует.

История редактирования

  • Октябрь 2015 — написана статья про F1 и F3
  • Октябрь 2016 — обновлена информация о F4
  • Май 2017 — обновлена информация о F7
  • Июнь 2017 — добавлена новость о прекращении поддержки F1 со стороны Betaflight
  • Август 2017 — добавлена информация о F2, F5 и F6

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.