Y a-t-il une vie au-delà des cartes Raspberry Pi ?
Transcription
Y a-t-il une vie au-delà des cartes Raspberry Pi ?
Cartes Application Y a-t-il une vie au-delà des cartes Raspberry Pi ? Au cours des dernières années, de nombreuses cartes de démonstration et de développement modulaires à moins de 100 dollars sont apparues sur le marché. Les coûts ne constituent donc plus un obstacle. Mais quid du facteur de risque en production critique ? Quid des délais de conception ? Varient-ils d’une plate-forme à une autre ? La communauté en ligne va-t-elle être fiable ? Toutes ces questions, et bien d’autres, se doivent d’être posées avant de sélectionner une carte. Revue de détail. C ’est l’été, la saison la plus agréable de l’année. Il fait beau, le championnat de fo ot ball va bientôt reprendre et les salles de cinéma présentent les films de l’été. En tant qu’amateur de cinéma, je ne peux m’empêcher de noter les similitudes entre les choix de sorties familiales dans la ville illuminée et ceux auxquels sont confrontés les concepteurs systèmes au moment de sélectionner leur prochaine plate-forme de développement ou de démonstration. Surtout lorsque de nombreux outils de pointe sont devenus si peu chers, de plus en plus attractifs et offrent un sentiment de satisfaction toujours plus grand ! Au cours des dernières années, on a en effet vu apparaître de nombreuses cartes de démonstration et de développement modulaires à moins de 100 dollars, issues de différentes sources. Mais attention, même si les niveaux de prix sont tous similaires, l’expérience utilisateur, les fonctionnalités et la flexibilité diffèrent au plus haut point. Ces cartes portent des noms désormais célèbres, comme Raspberry Pi, Arduino, Beagle Board ou encore Tower. Chacune d’entre elles présentent des avantages et des inconvénients pour tenter de répondre aux exigences ambitieuses des concepteurs d’aujourd’hui. Car si leur prix AUTEUR David Sandys, directeur marketing fournisseurs (Digi-Key Corporation). d’achat reste faible, quelle que soit la carte, cet état de fait ne dispense nullement de passer un peu de temps en amont pour s’assurer que les exigences de départ seront satisfaites. La plate-forme Raspberry Pi est sans conteste la plus connue de ces plates-formes. Pour seulement 25 dollars, on dispose d’une carte, d’un environnement de développement intégré (IDE) open source GNU et d’une communauté prête à vous assister. Il s’agit d’une bonne plateforme qui peut être suffisante si l’on crée une alarme de porte de réfrigérateur automatisée pour sa maison (vu que nos enfants ne referment jamais la porte !). Mais au-delà de l’anecdote, il doit bien y avoir une raison pour que de nombreuses alternatives à la Raspberry Pi existent ! Une étude récente du site Kickstarter. com montre qu’il y avait 23 projets axés sur la plate-forme Raspberry Pi contre 97 projets centrés sur la plate- forme Arduino. Mais si l’on espère passer de la conception au stade de production, il faut non seulement s’assurer que la conception soit réussie et fiable, mais également être certain que le prototype et son évolution en production seront également possibles. Dans cette optique, rappelons ici que la carte Raspberry Pi utilise un système sur puce (SoC) basé sur ARM1176 de Broadcom. Et même s’il existe encore beaucoup de détenteurs de licence pour ARM11, la plupart d’entre eux sont déjà passés des architectures ARM traditionnelles aux dispositifs à base de Cortex plus modernes. La société ARM elle même recommande les circuits basés sur un cœur Cortex-A5 pour les nouvelles conceptions de SoC (voir la section « Considering an ARM1176-based design ? » sur http:// www.arm.com/products/processors/ classic/arm11/arm1176.php). De plus, toutes les alternatives à Rasp- La carte Arduino Due est architecturée autour d’un microcontrôleur 32 bits flash Atmel SAM3X doté d’un cœur ARM Cortex-M3. ● L’EMBARQUÉ / N°3 / 2013 / 35 Application Cartes VUE D’ENSEMBLE DES PLATES-FORMES DE DÉVELOPPEMENT ÉCONOMIQUES PROCESSEUR(S) ARCHITECTURE(S) ENVIRONNEMENTS IDE COMMERCIAUX PRINCIPAUX (*) RTOS ÉCONOMIQUES SUPPORTÉS ATmega32/32x, ATmega2560, ATmega16x, AT91SAM3X8E ATmega, ARM Cortex-M3 Arduino IDE FreeRTOS, ChibiOS/RT OMAP3/AM335x ARM Cortex-A8 IAR Embedded Workbenchnull Linux, Android, Ubuntu Cerebot/Microchip dsPIC33f, PIC32MX dsPIC, PIC32 (MIPS) MPLAB IDE FreeRTOS ChipKit/Microchip PIC32MX PIC32 (MIPS) MPLAB FreeRTOS Discovery/ STMicroelectronics STM32 ARM Cortex-M0/M3/M4 IAR Embedded Workbench,Keil MDK-ARM FreeRTOS, ChibiOS/RT Freedom/Freescale Kinetis K20 & KLxx ARM Cortex-M0+/M4 CodeWarrior IDE, IAR Embedded Workbench MQX, MQX Lite i.MX233-OLinuXino/ Freescale i.MX23 ARM9 MSP430, Piccolo, Tiva MSP430, TMS320F282x, ARM Cortex-M4 Code Composer, IAR EWARM (Tiva), Keil MDKARM (Tiva) TI RTOS, FreeRTOS LPCXpresso/NXP LPC1xxx ARM Cortex-M0/M3 Code Red Linux Pioneer/Cypress Semiconductor PSoC 4 ARM Cortex-M0 PSoC Creator IDE PSoC5 LP ARM Cortex-M3 PSoC Creator IDE FreeRTOS MPC5125, Kinetis, HCS08/S08, S12, MCF51xx e300, ARM Cortex M0+/M4, MC9S08/12, Coldfire V1 CodeWarrior IDE, IAR Embedded Workbench MQX, FreeRTOS Wandboard/Freescale i.MX6 ARM Cortex-A9 - Linux, Android, Ubuntu Xplained, Xplained Pro/ Atmel ATmega128/256, AT32UC, ATSAM4 ATmega, XMEGA, AVR32, ARM Cortex-M0/M3/M4 Studio 6 IDE FreeRTOS RL78/G14 RL78 IAR Embedded Workbench FreeRTOS, Android CARTE/FABRICANT Arduino/Atmel BeagleBoard & BeagleBone/ TI LaunchPad/TI CY8CKIT-050/Cypress Semiconductor Tower System/Freescale YRDKRL78G14/Renesas Linux, Android De nombreux dérivés prennent en charge des fonctionnalités spécifiques. Une liste complète des spécifications est disponible sur le site eeWiki de Digi-Key : www.eewiki.net/display/DKSB. (*) La chaîne d’outils GNU/GCC est également disponible pour plusieurs des plates-formes ci-dessus. berry Pi présentent aujourd’hui de nombreuses versions pour s’adapter au jeu de périphériques spécifique des divers modèles des familles de microcontrôleurs utilisés. Or, ils n’existe que deux versions de Raspberry Pi pour l'instant et les seules différences résident dans la configuration mémoire, le nombre de ports USB, la connectivité Ethernet, un circuit de réinitialisation et un orifice de montage. Quelles sont donc les autres alternatives ? Commençons par Arduino. Conçue à l’origine autour des microcontrôleurs AVR 8 bits d’Atmel, la plateforme Arduino offre un langage convivial permettant de programmer facilement et efficacement des applications. Les ingénieurs peuvent également utiliser un environnement C standard, s’ils le souhaitent, et la 36 / L’EMBARQUÉ / N°3 / 2013 plate-forme a été étendue en gamme jusqu’aux solutions ARM 32 bits d’Atmel. Il existe bien entendu un écosystème et une communauté pour aider à réaliser ses conceptions. On compte actuellement plus de 50 cartes disponibles auprès d’Arduino et de tierces parties et les « shields » (cartes d’extension) peuvent étendre à l’infini (ou presque) les fonctionnalités de la carte de base. Ces « shields » se combinent à une carte Arduino standard pour, par exemple, apporter des capacités de communication sans fil, des capteurs, des écrans LCD, des liens Ethernet, un système GPS, des commandes moteur, etc. Il est même possible de combiner plusieurs « shields » pour créer des systèmes sophistiqués. La plate-forme Arduino est si populaire que des cartes compatibles sont disponibles auprès de fournisseurs et tierces parties pour les architectures de TI, Freescale, Microchip et NXP. Par exemple, la nouvelle plate-forme Freedom de Freescale, dédiée à ses microcontrôleurs à base de Cortex, présente un « shield » compatible Arduino et offre des solutions de développement logiciel pour accélérer les délais de mise sur le marché. Les plates-formes Arduino sont disponibles à partir de 25 dollars et la plupart affiche un prix inférieur à 50 dollars. BeagleBoard, BeagleBone et BeagleBone Black constituent un autre ensemble d’environnements de développement/démonstration économiques hautement fonctionnels. Tout comme pour la Raspberry Pi et l’Arduino, la communauté BeagleBoard présente un support et un contenu riches. Ces solutions sont axées autour des processeurs et microcontrôleurs de Texas Instruments et, même si les cartes Beagle- Cartes Application Board sont un peu plus chères que les autres plates-formes, le développeur bénéficie de nombreuses fonctionnalités avec un investissement qui n’est que légèrement supérieur. Ainsi, la carte BeagleBone Black ne coûte que 49 dollars, alors qu’elle est dotée d’un processeur Sitara AM355x de Texas Instruments basé sur un cœur Cortex-A8, cadencé à 1 GHz, avec en outre un accélérateur graphique 3D, un accélérateur en virgule flottante et deux microcontrôleurs PRU 32 bits. On trouve aussi sur la carte un port USB (client et hôte), une interface Ethernet et un port HDMI. Enfin, la plateforme prend en charge les systèmes Linux, Android, Ubuntu, etc. L’extension de l’environnement BeagleBoard se fait via de petites cartesfilles nommées « Capes » qui se connectent avec des embases à la plate-forme de base. Ces Capes permettent d’ajouter de nombreuses fonctionnalités à la carte d’origine, y compris des commandes moteur, des écrans LCD, de la communication sans fil ou filaire, des implantations de bus, etc. Les systèmes Tower, mbed et Xpresso à ne pas négliger Le système Tower de Freescale constitue également un environnement de développement/démonstra- Le système de développement Tower de Freescale permet de construire des applications basées sur architectures HCS08, Coldfire V1, Kinetis et sur des architectures de puissance. ● La BeagleBone Black est conçue autour d’un processeur Sitara AM355x de Freescale doté d’un cœur ARM Cortex-A8 cadencé à 1 GHz. ● tion de choix. Tower est une plateforme modulaire présentant des modules de base conçus autour des familles de microcontrôleurs de Freescale, des architectures 8 bits aux microcontrôleurs Kinetis basés sur des cœurs ARM 32 bits, en passant par les architectures de puissance. Le système Tower diffère des cartes concurrentes comme Raspberry Pi, Arduino et BeagleBone en ce sens que tous les modules, et leurs extensions, sont disponibles en tant que références Freescale, bien qu’il s’agisse de solutions en open source. Les modules d’extension incluent des capteurs divers, la conversion analogique-numérique haute performance, des systèmes Wi-Fi, l’affichage LCD, la commande moteur, etc. Les solutions Tower Kinetis et ColdFire fonction nent avec le système d’exploitation temps réel open source MQX. Si vous avez besoin d’un système d’exploitation temps réel, cette solution est attractive pour tous ceux qui développent des applications critiques. Côté prix, les plates-formes Tower sont disponibles à partir de 50 dollars, et certaines des fonctionnalités avancées proposées offrent une réelle valeur ajoutée pour un investissement somme toute modeste. Pour ceux qui recherchent une solution architecturée sur les microcontrôleurs LPC de NXP, les plates-formes de développement/démonstration mbed et Xpresso peuvent les satisfaire. NXP présente également des plates-formes économiques issues de tierces parties, comme les environnements Keil et IAR, qui sont intégrées à leurs suites logicielles. Les concepteurs peuvent alors s’appuyer sur LPCware de NXP, une communauté en ligne dédiée aux solutions de microcontrôleurs NXP. D’autres plates-formes économiques et riches en fonctionnalités sont dis ponibles, par exemple Wandboard et sa solution monocœur à base d’i.MX6 de Freescale à 79 $, avec la possibilité de mettre en œuvre des services Android Jelly Bean, Ubuntu et Linux. D’autres tierces parties comme Olimex offrent diverses platesformes via de nombreux dispositifs (STMicroelectronics STM32, Freescale i.MX21, Microchip PIC, etc.). La liste de possibilités est (presque) infinie. Pour une liste plus complète et plus détaillée, Digi-Key a créé un outil de sélection de carte de développement/démonstration convivial, disponible sur : http://eewiki.net/display/Resources/ Comparison+of+Embedded+System +Development+Platforms Le support technique est accessible par Web chat, téléphone, eeWiki ou via la communauté technique en ligne de Digi-Key, TechXchange. n L’EMBARQUÉ / N°3 / 2013 / 37 Logiciels & systèmes Professionnels de l’embarqué Découvrez le système d’information le plus complet, 100% utile à votre métier ! Une newsletter quotidienne Votre fil d’actualité gratuit Une newsletter hebdo Tous les jeudis, des infos exclusives à forte valeur ajoutée Un magazine 100% numérique, trimestriel, pour une information fouillée, analysée et développée Un site Internet Plus de 1 500 articles par an exclusivement dédiés à l’embarqué Abonnez-vous •Pub 148x210.indd 1 www.lembarque.com 20/03/13 12:52