Flight Controller F1, F3, F4, F7 E H7... SPIEGATO!

F1, F3, F4, F7 e H7 sono i diversi processori dei flight controllers dei droni race. Questo articolo spiega le differenze tra questi MCU, i vantaggi e gli svantaggi e ti aiuta a decidere quale FC scegliere. 

 

Cosa sono gli MCU F1, F3, F4, F7 e H7 dei flight controllers? 

F1, F3, F4, F7 e H7 sono i diversi processori STM32 (aka MCU - MicroController Unit). Il processore è il cervello di un controller di volo (FC), simile alla CPU in un computer. Attualmente ci sono 10 tipi di MCU STM32, dalla più veloce alla più lenta velocità di elaborazione: H7, F7, F4, F3, F2, F1, F0, L4, L1, L0.
 

 * Questa è la memoria flash all'interno di un chip del processore STM32, ed è usata per memorizzare i codici firmware del controller di volo, da non confondere con la memoria flash utilizzata per la registrazione della blackbox, che è un chip separato. 

 

F1 FC 

Il primo controller di volo a 32 bit mai usato su un mini quad era il CC3D che aveva il processore F1. Le FC con F1 hanno attualmente la più bassa potenza di elaborazione dei quattro STM MCU utilizzati nei controller di volo in questi giorni. La F1 è attualmente considerata obsoleta perché Betaflight ha chiuso il supporto per F1 FC nel 2017 a causa dei suoi limiti hardware. Altri controller di volo F1 ben noti sono la Naze32 Rev5 e Rev6 e Flip32. 

 

 

 

 

 

F3 FC 

I processori F3 sono stati introdotti per la prima volta sulle FC nel 2014 e si possono trovare su molti famosi flight controllers al momento, tra cui X-Racer, Betaflight F3 e KISS FC V1. 

 

 

 

 

 

F4 FC  

Mentre lo sviluppo dei firmware del controllers di volo continua, le F3 stanno lottando per gestire tutte le funzionalità di elaborazione intensiva senza ridurre il tempo di ciclo e stanno man mano diventando obsolete come le F1. Le FC F4 sono state introdotte poco dopo la F3 e hanno rapidamente guadagnato popolarità grazie al vantaggio di potenza di elaborazione, alcuni esempi sono Kakute F4 AIO, DYS F4, Matek CTR AIO, Raceflight Revolt e BrainFPV RE1. 

 

 

 

F7 FC 

F7 è l'MCU di ultima generazione dei quattro. Le F7 FC stanno lentamente conquistando il mercato e ci sono sempre più scelte sulle F7, come ad esempio Kakute F7, Betaflight F7 FC e SP Racing F7. Curiosità: anche gli ESC si stanno spostando dai processori a 8 bit a quelli a 32 bit! I processori ST032 F0 sono attualmente utilizzati in molti ESC a 32 bit. 

 

 

 

Differenze tra i controllori di volo F1 e F3 

Per riassumere, la F3 presenta i seguenti vantaggi rispetto alla F1: Velocità di clock simile su carta, ma la F3 ha hardware aggiuntivo per migliorare la sua capacità rispetto alla F1, ovvero l'unità floating point dedicata (FPU) che consente un calcolo più veloce. Le schede F1 hanno solo 2 UART rispetto alle 3 offerte da una F3. Inoltre, e forse ancora più importante, la serie F3 fornisce una porta USB dedicata. Era comune per gli utenti delle schede F1 evitare di connettere eventuali periferiche a UART1 al fine di mantenere questo slot per la connessione al PC. In realtà ciò significa che una scheda F1 ha solo 1 UART per hardware aggiuntivo, mentre una scheda F3 può solitamente utilizzare tutte e 3 le UART per dispositivi aggiuntivi. Tutte le UART su un processore F3 hanno inversione nativa, il che significa che è possibile far funzionare direttamente SBUS e Smart Port senza eseguire un "hack di inversione" Le nuove F3 FC offrono più funzionalità rispetto alle vecchie schede F1 e generalmente sono meglio pensate con un design ottimizzato per mini quad e multirotore in generale. 

 

Potenza di elaborazione (velocità) 

I processori F1 e F3 hanno la stessa velocità di clock di 72 MHz, tuttavia la F3 è migliore nella gestione dei calcoli grazie alla FPU (nota anche come "co-processore matematico"). Ciò consente a un F3 di eseguire i controller PID significativamente più velocemente di F1. 

 

Looptime 

Il looptime più alto che possiamo eseguire in Betaflight con una scheda Naze32 F1 è 2KHz. Il processore è semplicemente incapace di calcolare il tempo di ciclo più veloce di quello. (Può essere spinto a 2.6KHz ma diventa instabile) Le schede F3 possono ottenere looptime fino a 4KHz, eseguendo contemporaneamente anche altre attività a uso intensivo della CPU, come l'accelerometro (Acc), strisce LED, Soft-serial, Dynamic Filter ecc. Un F3 può persino funzionare a 8 KHz con Dynamic Filter disabilitato, tuttavia una F1 aveva bisogno di molte di queste caratteristiche comuni da sacrificare per poter eseguire solo 2K. Quando le persone parlano di "8K / 8K" o "4K / 4K", si riferiscono al tempo di loop e alla frequenza di campionamento del giroscopio. La F1 funziona principalmente tra 2K e 2.6K, se si possiede una CC3D è possibile eseguire 4K / 4K a causa del giroscopio SPI F3 e F4 con SPI Gyro Bus possono eseguire 8K / 8K, ma con i2C Gyro puoi fare solo 4K / 4K. I giroscopi ICM-20602 e MPU6500 / 9250 sono capaci di una frequenza di campionamento di 32K che consente a un FC, come la Revolt, di eseguire 32K / 32K. Quando imposti un nuovo looptime nel tuo FC, controlla sempre l'utilizzo della CPU in % in basso a destra, è sempre meglio rimanere sotto al 30% dell'utilizzo della CPU in Betaflight, anche se alcune schede potrebbero gestirne un po 'di più. 

 

Numero di UART 

Oltre alla potenza di elaborazione aggiuntiva e all'aumentata durata del loop, F3 offre anche più porte seriali hardware (UART) dotate di inverter integrati. Dispositivi esterni come la telemetria MinimOSD, SBUS, SmartPort, Blackbox (con Openlog e scheda SD), connessione USB del computer, GPS, ecc. Utilizzano tutte le porte seriali. I controllers di volo F1, come Naze32, hanno solo 2 UART che limita il numero di dispositivi esterni supportati. È frustrante essere costretti a scegliere di sacrificare blackbox, SBUS o MinimOSD, che mi piace includere su tutti i miei miniquad. Tuttavia, le schede F3 supportano l'utilizzo di tutti e 3. 

 

Altri vantaggi della F3 FC 

 La maggior parte delle schede F3, hanno un regolatore integrato da 5 V, ora sta diventando più comune avere un PDB integrato (scheda di distribuzione dell'alimentazione)nella FC, il che significa che il flight controller può essere alimentato direttamente dalla batteria LiPo. La F3 è quasi pin-to-pin compatibile con la serie F1 STM32, infatti qualcuno ha commentato sul mio blog, che ha sostituito con successo il chip F1 con una F3 sulla sua CC3D, e ora sta andando a 8K looptime su di essa (grazie al giroscopio SPI usato da questa FC). 

 

Differenze tra F3 e F4 

La velocità di elaborazione del processore F4 è più che doppia rispetto a F1 e F3 (72 MHz) a 180 MHz, mentre comunemente ha anche un FPU dedicato che è ciò che dà alla F3 il vantaggio rispetto alla F1. È possibile eseguire Looptime a 32KHz su una scheda F4 rispetto al massimo 8K di una F3; Poiché Betaflight incoraggia gli utenti a eseguire il ciclo di 8K su F4 come massimo tempo di ciclo, anche se può aumentare, c'è ancora più potenza di elaborazione da dedicare a funzioni extra. Looptime è una discussione completamente diversa. Le schede F3 sono generalmente limitate a 3 UART, ma alcune F4 FC ne possono offrire fino a 5 per consentirti di sfruttare appieno la loro potenza di elaborazione extra. Con la recente introduzione delle telecamere FPV con controller seriale, queste porte seriali extra offrono alla F4 un vantaggio decisivo. La nuova funzione di Betaflight "Dynamic Filter" è molto laboriosa per un processore, dando all'aumento della velocità della F4 un altro chiaro vantaggio. La maggior parte delle F4 FC sono supportate sia dal firmware Betaflight che da quello Raceflight (l'ultimo Raceflight One è ora chiuso e supporta solo la propria FC, la Revolt). F1 e F4 FC non hanno la capacità di inversione integrata che vediamo sui processori F3 o F7. Se si desidera eseguire SBUS o Smart Port, potrebbe essere necessario eseguire l'hack di inversione; I processori F3 e F7 hanno invertitori incorporati su tutte le UART perché sono MCU di nuova generazione. Perché F4 non funziona con SmartPort in modo nativo: SmartPort è un protocollo half-duplex, il che significa che il filo S.Port è bidirezionale che i dati vengono inviati e ricevuti nello stesso filo (anche se non allo stesso tempo, ecco perché è solo "metà"). Gli MCU F3 e F7 STM possono gestire internamente il protocollo half-duplex nel chip stesso, in modo da poter collegare SmartPort direttamente a questi controllori di volo senza alcuna modifica. Ma F4 non ha questa capacità. Anche se SmartPort è invertito, F3 e F7 possono invertire il segnale che entra o esce internamente, quindi nessun problema lì. F4 ha anche la capacità half-duplex, ma non funziona con il segnale invertito senza un circuito esterno che inverta per esso in modo bidirezionale. 

 

Vantaggi dell'F7 FC rispetto a F3 e F4  

F7 è un processore più veloce (216 MHz vs 168 MHz di F4). Il processore F7 ha una "superscalar pipeline" e funzionalità DSP - il che significa che F7 è una piattaforma migliore per lo sviluppo dei futuri firmware, consentendo agli sviluppatori di ottimizzare ulteriormente gli algoritmi del controller di volo. Le schede F7 consentono più UART, tutte con funzionalità di inversione del segnale incorporata. Considerando tutte le periferiche che possiamo usare al giorno d'oggi - ricevitore seriale, OSD, SmartAudio, SmartPort Telemetry, GPS, controllo telecamera ecc., Più UART abbiamo a disposizione e meglio è! È necessario overclockare F4 quando si esegue 32KHz, mentre il processore F7 è abbastanza veloce da gestire 32KHz senza overclocking. Looptime è anche limitato dal tipo di giroscopio (IMU) e dalla loro frequenza massima di campionamento. Ad esempio MPU6000 ha una frequenza di campionamento massima di 8KHz. Se vuoi fare 32KHz, dovresti usare l'IMU con una frequenza di campionamento massima più alta, come l'ICM-2 602. Alcuni progettisti hanno deciso di mettere due giroscopi diversi nei loro controller di volo F7. Uno è il comprovato giroscopio a basso "rumore" come l'MPU6000, e l'altro è un giroscopio più veloce che può fare 32KHz come l'ICM-20602. Questo permette al pilota di scegliere qualsiasi giroscopio che vogliono usare. 

 

H7 FC?! 

Seriously Pro Racing è il primo a rilasciare un controller di volo con processore H7 - l'H7 EXTREME. Si basa sul processore STM32H750 che fornisce una velocità di clock di 480 MHz, rispetto ai 216 MHz della F7. Questo vantaggio potrebbe sembrare inutile per ora, dato che abbiamo ancora margine per crescere con i controller di volo F4 e F7, sarà sicuramente utile quando inizieremo a eseguire il looptime a 8KHz con i filtri RPM insieme ad altre funzionalità di calcolo intensivi in futuro. Tuttavia, il chip STM32H750 utilizzato in H7 Extreme, ha solo 128kB di memoria flash (come la F1), che non è sufficiente per memorizzare i codici Betaflight attuali. È qui che il discorso si fa interessante. L'H7 FC memorizzerà il codice Betaflight su una memoria esterna, ad esempio su una scheda SD, o su una memoria flash esterna (la stessa utilizzata per la memorizzazione dei log di Blackbox). I codici vengono quindi caricati nella RAM quando è in esecuzione. Per aggiornare il firmware di Betaflight, dovrai solo aggiornare i file del firmware sulla scheda SD, non c'è più bisogno di flashare e quindi non ci saranno più problemi con il driver DFU. 

 

Quindi, quale scegliere tra F1, F3, F4, F7 e H7 FC? 

La risposta breve è, vai con F7 FC! Ecco la lunga risposta: Certo, puoi far volare il tuo multirotore con una scheda F1 meno recente, ma otterrai sicuramente prestazioni migliori dai nuovi controller di volo con processori più veloci e gestirai funzioni più intensive. Possiamo anticipare la tecnologia che si muove verso processori più veloci, che forniranno capacità per funzionalità e periferiche più interessanti e la possibilità di eseguire filtri e algoritmi più sofisticati che possono davvero rendere i nostri quad incredibili da volare! Man mano che il firmware FC continua ad avanzare, la limitata capacità delle schede F1 mancherà a tutte le fantastiche funzionalità del futuro. Aggiornamento (febbraio 2019) - Gli sviluppatori di Betaflight hanno annunciato di rinunciare al supporto per F3 FC in Betaflight 4.0 a causa della mancanza di spazio di memoria. Secondo me, H7 è un po acerbo da considerare seriamente. Personalmente aspetterò fino a quando alcuni altri produttori inizieranno a farlo, e il codice Betaflight è un po 'più ottimizzato per quella piattaforma. Quindi, in realtà, la decisione è ora giusta per F4 e F7, ed è abbastanza chiaro qual è la migliore. Esecuzione di looptime a 32KHz? Prendi la F7, perché su F4 probabilmente puoi essere in grado di eseguire solo 16K con altre funzioni di elaborazione intensiva. Hai bisogno di più UART? Prendi la F7, perché in generale troverai più UART su un F7 che su un F4 FC. Sei un utente di Frsky? Ottieni la F7 perché tutti i segnali di supporto UART invertiti come SBUS e SmartPort. È molto più facile impostarli rispetto all'F4 FC. Uno svantaggio con l'F7 FC di oggi è che usano un chip F7 più grande (F745VG) che occupa un po 'più di spazio fisico sulla scheda, quindi non c'è molto spazio per altri componenti e connessioni. Speriamo di vedere più piccole varianti F7 (come F722RE) usate in futuro. Il chip F722RE ha lo stesso pacchetto dei chip F3 / F4 su molti controllers di volo esistenti. Tuttavia, l'F745VG ha più memoria flash e RAM per l'archiviazione del firmware e dell'esecuzione del codice. Se dovessi acquistare un nuovo controllore di volo oggi, opterei probabilmente per un F7, perché questi FC sono generalmente ricchi di funzionalità e hanno layout molto ben congegnati con progetti maturi e user-friendly.

Courtesy of Oscar Liang