Carte de développement
Beagleboard, pandaboard, snowball, FOX Board G20. Toutes ces cartes sont appelées carte de développement.
A quoi sert une carte de développement ? Elles ont plusieurs rôles, le principal est le développement de nouveaux produits.
Example
Prenons par exemple le développement d’une chaine hifi avec une beagleboard. La beagleboard est une carte développée par Texas instrument. Elle est équipée d’une entrée et d’une sortie audio, d’un contrôleur ethernet, des plusieurs ports USB, d’une sortie HDMI.

La chaine hifi développée aura pour fonctionnalités:
- Connexion internet
- Écoute de musique en streaming depuis les webradio, spotify, lastfm
- Écoute de musique depuis un périphérique upnp
- Partage de musique avec un périphérique upnp
- Fonction NAS
- Commande à distance
-
- Télécommande ir
-
- Commande depuis un smartphone
-
- Commande depuis un pc
- Afficheur lcd (alphanumérique)
-
- Commande de la chaine
-
- Affichage de l’heure, la piste en cours de lecture, etc
- Amplificateur 2×20W + sub de 40W
- reveil/timer
- Enregistrement de la musique sur disque dur
-
- depuis streaming
-
- depuis clé USB
-
- depuis line in
-
- programmation enregistrement
Par rapport aux fonctionnalités de la chaine hifi, on peut en déduire les fonctionnalités matérielles nécessaires au fonctionnement de la chaine hifi:
- ethernet,wifi,cpl
- port USB
- audio
- disque dur
- récepteur infrarouge
- afficheur lcd
- boutons poussoirs ou tactile (on/off, play/pause, stop, next, prev, etc)
- alimentation
- amplificateur
- processeur/dsp suffisamment puissant pour gérer un OS, le réseau et le décodage audio
- mémoire
Prototypage
Pour fabriquer un premier prototype, deux choix s’offrent à nous:
- soit tout fabriquer nous même
- soit utiliser des cartes déjà existantes
La première solution a plusieurs inconvénients:
- coût – fabriquer un prototype en petite série coûte très cher et surtout, la carte peut contenir des erreurs de designs
- temps – le développement d’une carte peut être très long. Pendant que les électroniciens font la carte, les développeurs ne peuvent pas travailler.
- modularité – si après la fabrication, les composants ne sont pas suffisamment puissant pour assurer toutes les fonctionnalités, il faut tout recommencer.
La seconde solution n’as que des avantages:
- coût – une carte de développement est relativement peu cher face au cout de fabrication d’un prototype
- temps – la carte de développement offre une base solide au développeur ainsi qu’aux électroniciens. Les électroniciens peuvent concevoir une carte (basé sur la carte de développement) pendant que les développeurs utilisent les cartes de développement pour concevoir leurs programmes.
- modulaire – la carte de développement est livrée avec certaine fonctionnalités de base. Il est aussi possible grâce à des ports d’extension d’ajouter des modules (wifi, disque dur, etc) à la carte. Ce système permet de tester si les composants choisit répondent parfaitement à nos besoins (et éventuellement les changer).
Dans notre cas, une beagleboard sera la base pour développer la chaine hifi. Comme mentionné plus haut, la carte comporte déjà un module ethernet, des entrées/sorties audio, des ports usb, un processeur, de la mémoire. Pour avoir toutes les fonctionnalités de la chaine hifi, il ne manque que les boutons, le lcd, le wifi, un disque dur, le récepteur infrarouge, l’amplificateur et l’alimentation.
La carte seule est déjà suffisante pour implanter la plupart des fonctionnalités. Un OS (linux) permet d’avoir un niveau d’abstraction suffisamment élevé pour développer des logiciels indépendamment du matériel.
La beagleboard est vendue avec une démo grâce à laquelle on pourra tester si le processeur est suffisamment puissant pour décoder du MP3/OGG, gérer les réseaux, etc. On pourra également mesurer sa consommation et tester d’autres fonctionnalités (mise en veille, usb, etc). Si la carte convient, on pourra donc utiliser les composants qu’elle comporte pour fabriquer la chaine hifi.
Presque toutes les fonctionnalités peuvent être développées grâce aux éléments déjà présents sur la carte. Toutes les fonctionnalités utilisant le réseau par exemple, peuvent être développées et testées grâce à la présence du module ethernet. L’ajout plus tard du wifi ne nécessitera que peu de modification (voir aucune si le code est bien fait).
Pour développer la façade (composer des boutons, du lcd, du récepteur infrarouge, etc), nous avons 2 possibilités: soit brancher tous les composants directement sur la beagleboard, soit brancher une autre carte de développement comportant déjà ces composants (avec tous les avantages que ça comporte).

Pour faciliter la migration des programmes développés sur la beagleboard vers la carte finale de la chaine hifi, il faudra que le code soit abstrait. Le code source des applications ne doit pas directement accéder au matériel. Il doit uniquement passer par l’OS pour accéder au matériel. Si l’OS supporte la carte finale, alors il ne sera pas nécessaire de modifier le code source.
L’alimentation et l’amplificateur peuvent aussi être développés à part, sous forme de module.
Pour avoir un premier prototype, il suffit d’assembler les modules et de tester. Si le prototype est convenable, les électroniciens peuvent continuer (ou finir) les cartes de la chaine hifi puis faire un second prototype. Les développeurs peuvent alors faire migrer leurs applications sur ces nouvelles cartes et ainsi finir la chaine hifi. Si les applications ont été bien écrites, alors la migration se fait facilement.
Conclusion
Pour conclure, le rôle de ces cartes est de fournir une plateforme de développement pour concevoir un produit. Ces cartes permettent aux développeurs de commencer à écrire les applications avant d’avoir entre les mains le produit final. Ces cartes permettent aussi aux électroniciens de tester et apprendre à se servir des composants qu’ils utiliseront dans le produit final.
Leur coût parfois élevé, est vite rentabilisé. Leur utilisation permet un gain de temps important et permet aux électroniciens d’être certains que leurs cartes seront fonctionnelles une fois terminées.
Les cartes de développement sont aussi utilisées pour tester les composants afin d’être certains qu’ils correspondent bien à nos besoins.Et depuis quelques temps, avec la monté en puissance des processeurs ARM, beaucoup de ces cartes sont utilisées comme ordinateur. Elles ne remplacent pas le PC de bureau. Par contre, comme elles sont silencieuses, qu’elles consomment peu de courant, elles sont utilisées pour effectuer des tâches qui nécessitent qu’elles fonctionnent 24/24 (serveur de fichier, etc).
























