Comment choisir mon microcontrôleur ?

Problématique

Le panel de microcontôleurs est tel qu’on a l’embarras du choix.
Le but de cet article est d’essayer de voir quels sont les critères qui vont orienter mon choix en proposant une synoptique rapide des caractéristiques des microcontrôleurs.

Qui dit microcontrôleur dit ARM-Cortex, on ne va pas rentrer dans le détail de la technicité des familles de Cortex M0, M0+, M3, M4, etc , ce qui nous intéresse ici est : Quel microcontrôleur vais-je choisir pour mon application ?

Voici ici une liste de microcontrôleurs avec une architecture ARM 32 bits restreinte de chez ST :  Micro-controller *                    SRAM                   Flash                 Fréquence CPU
STM32F051R8T6                              8KB                  64KB                    48 MHz
STM32F103RGT6                           96KB              1024KB                    72 MHz
STM32F205RGT6                         128KB              1024KB                  120 MHz
STM32F405RGT6                         192KB              1024KB                  180 MHz
STM32F415RGT6                          192KB              1024KB                  180 MHz
STM32L152RBT6                            16KB               1024KB                   32 MHz

* Chaque microcontrôleur cité dans le tableau sont pin-to-pin compatibles, c’est un package de 64 broches type boîtier LQFP

Critères de choix

Le premier critère de choix pour un microcontrôleur concerne sa taille mémoire . En fonction de l’ applicatif que je vais développer et des services sélectionnés via l’interface de configuration, je vais naturellement exclure des familles de microcontrôleurs trop juste en ressources mémoire et qui ne permettront pas la compilation de l’applicatif.

Les librairies ne sont pas les mêmes en fonction du type de microcontrôleur, toutes les librairies sont fournies avec les micro type F2 à F4, un nombre restreint de librairies accompagnent les micro F0, F1 et L1, ce qui implique un nombre restreint de fonctionnalités.

On peut s’interroger sur les questions qui suivent :

– Ai-je besoin d’une interface graphique pour communiquer avec mon microcontrôleur ?
Si oui, je ne choisis pas les micro type F0, il n’ y a pas assez de ressources mémoire pour la gestion de la dalle tactile.

– Ai-je besoin d’une interface telle bus CAN (Control Aera Network) pour communiquer ?
Si oui dans ce cas j’exclus la famille de micro F0 et L1.

– Suis-je limité par le nombre d’entrées / sorties ?

Pour répondre à ces questions, les réponses se trouvent dans le datasheet du composant que l’on trouve facilement soit sur le site du fabricant : st.com dans notre cas ou sur un site où se vend le composant comme Farnell ou RS pour ne citer qu’eux.
Autant d’éléments de réponses qui vont orienter le choix du microcontrôleur.

Il n’est pas nécessaire de surévaluer un microcontrôleur dont les performances ne seront pas nécessaires pour mon application.
Le coût est un critère aussi important, pour donner une idée de prix un micro F415 coûte 5 fois plus cher qu’un F051.

Pour conclure

Ce sont les contraintes de mes besoins qui vont orienter l’architecture matérielle, la taille de mon applicatif et les services que requiert ma configuration de matériel.

Laisser un commentaire