Отличия полетных контроллеров на 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.

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 — это две разные вещи, сейчас имеется ввиду встроенная память для хранения прошивки. Размер памяти может варьироваться в зависимости от модификаций чипа.

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

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

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

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

naze32

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

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

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

Betaflight F3

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

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

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

Matek CTR F4 FC

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

F7 — новейшее поколение микроконтроллеров, они только начинают завоевывать рынок. Полетников на их основе становится все больше и больше: Kakute F7Betaflight F7 FC и SP Racing F7.

Betaflight F7 FC

Забавный факт. Регуляторы скорости тоже переходят от 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 имеют одну максимальную частоту, 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%, хотя некоторые платы позволяют и больше.

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 имеют 3 порта.

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

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

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

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

RMRC-DODO-FC-flight-controller-f3

RMRC Dodo F3

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

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

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

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

Почему F4 не работают со SmartPort напрямую:

SmartPort — это полудуплексный протокол, т.е. по одному проводу S.Port данные передаются в обоих направлениях (но не одновременно, поэтому «полу-«).

Микроконтроллеры F3 и F7 могут обрабатывать полудуплексные протоколы самостоятельно, так что SmartPort подключается напрямую. 

Кроме того, сигнал SmartPort инвертирован, а F3 и F7 могут самостоятельно инвертировать входящие и исходящие сигналы. Так что тут тоже нет проблем.

F4 тоже можно работать с полудуплексными протоколами, но не может работать с инвертированными сигналами без внешнего инвертора.

Преимущества 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, но, при использовании более новых полетников вы получите коптер с лучшими характеристиками, и сможете использовать новые ресурсоемкие функции.

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

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

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

Даже на F3 заканчивается место для прошивки, поэтому многие функции недоступны: GPS, джойстик. Так что я не буду советовать брать сейчас полетник на F3.

Поэтому в настоящее время выбор сокращается до «F4 или F7?», и довольно легко понять, что лучше:

  • Хотите использовать looptime 32k? Берите F7, т.к. на F4 при включении новых дополнительных функций вы сможете использовать только 16k
  • Нужно больше последовательных портов? Берите F7, т.к. обычно там больше свободных портов
  • У вас пульт управления от FrSky? Берите F7, т.к. на всех последовательных портах есть аппаратная инверсия сигнала для SBUS и SmartPort, поэтому подключать такой контроллер гораздо проще

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

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

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

Я собрал в одну таблицу все характеристики полетных контроллеров, так что вы можете сравнить их более подробно.

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

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

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

STM32 F5 и F6 — просто не существуют.

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

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

Отличия полетных контроллеров на F1, F3, F4 и F7: 2 комментария

  1. 3k

    >>>именование STM32 основано на нумерации ARM процессоров, где F1 — это Cortex M1, F3 основан на Cortex M3 и т.д.

    уважаемый кто вам сказал такой бред?
    Cortex M1- не существует!
    F3 основан на Cortex M4

    перед тем как утверждать подобную чушь советую самому ознакомится с документацией!
    http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus.html

    1. Новиков Александр Автор записи

      Спасибо, обновил перевод, оригинальная статья на английском тоже обновлена.

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

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

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