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

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

 

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

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

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

Полетные контроллеры на F1

Первым 32-битным ПК был CC3D с процессором серии F1.

F1 — самая медленная серия из всех рассматриваемых, сейчас их можно считать устаревшими, т.к. скоро Betaflight перестанет их поддерживать (из-за ограниченных возможностей железа).

Хороший пример контроллеров на F1 – это Naze32 rev 5 и Rev 6.

Полетные контроллеры на F3

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

KISS FV v1.03

Полетные контроллеры на F4

Вскоре после F3 появились ПК на F4.

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

ПК на F4 набирают популярность благодаря большим вычислительным мощностям, таких ПК выпускается всё больше и больше: Betaflight F4, DYS F4, Kakute F4, Matek F4 AIO, Raceflight Revolt и BrainFPV RE1.

omnibus f4 v5

Полетные контроллеры на F7

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

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

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

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

 

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

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

 

Время цикла (Looptime)

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

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

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

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

При изменении looptime всегда проверяйте загрузку процессора командой «status» в консоли (CLI), обычно рекомендуется держать загрузку менее 30%, хотя некоторые платы позволяют и больше.

 

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

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

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

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

 

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

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

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

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

 

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

  • У F4 тактовая частота выше более, чем в 2 раза. 168 МГц против 72 МГц у F3. При этом имеется и сопроцессор, который давал преимущество F3 перед F1
  • На F4 можно использовать частоту луптайм 32 кГц; по сравнению с 8k для плат на F3, но Betaflight рекомендует использовать 8k, в этом случае для прочего функционала остается гораздо больше ресурсов

Looptime — это тема для отдельного разговора. Вот статья про то, всегда ли 32k — это хорошо.

  • F3 — обычно 3 последовательных порта. У F4 иногда бывает и 5 штук, что позволяет вам получить все преимущества увеличенной вычислительной мощи. Новые камеры управляются через последовательный порт, так что доп. порты дают платам на F4 еще одно преимущество
  • Большинство плат на F4 можно использовать как с Betaflight, так и с Raceflight. Raceflight One теперь закрытый проект и поддерживает только свой ПК Revolt
  • У F1 и F4 нет встроенных инверторов (есть только в F3 и F7). Поэтому если вы хотите использовать SBUS или SmartPort, то придется разобраться с инверсией сигнала; F3 и F7 — новее, в них инверторы есть

 

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

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

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

Некоторые платы с F7 имеют 2 набора датчиков (гир). Первый — хорошо известные, проверенные, с низким уровнем шума MPU6000, и ICM-20602 — для достижения частоты 32k. Правда сейчас одновременно используется только один чип (в зависимости от настроек), возможно в будущем можно будет использовать их одновременно для дальнейшего улучшения характеристик.

 

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

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

Мы можем рассчитывать на то, что технологии и дальше будут развиваться в сторону увеличения производительности процов, что даст больше возможностей для реализации новых функций и новой периферии, можно будет использовать более сложные алгоритмы и фильтры, что позволит нашим квадрикам летать просто потрясающе!

ПО для полетных контроллеров постоянно развивается, и скоро придется выкинуть платы на F1 потому, что их производительности не хватит.

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

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

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

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

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

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

 

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

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

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

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

 

Категория
Для новичков