Les cartes de développement : passé, présent et futur
sur
Qu’est-ce qu’une carte de développement ?
Il convient tout d’abord de s’accorder sur une définition claire de ce que l’on entend par « carte de développement » et de savoir en quoi celle-ci diffère d’un ordinateur à carte unique (SBC). Les cartes de développement sont généralement créées par les fabricants de microcontrôleurs, qui s’en servent de supports pour exposer les fonctionnalités de leurs produits (bien que cet usage s’étende aujourd’hui à d’autres types de composants que les microcontrôleurs). Un microcontrôleur est un circuit intégré qui comprend un processeur, de la RAM, un stockage flash ainsi que des entrées/sorties pour l’interfaçage avec le monde réel. C’est ni plus ni moins un ordinateur miniature contenu dans un boîtier unique. Il fournit aux développeurs un moyen pratique de contrôler des composants externes tels que des lumières, des petits moteurs, etc. Un SBC fournit la même fonctionnalité, à la différence notable que le processeur, la RAM et le stockage sont chacun contenus dans des circuits intégrés distincts sur la carte. Des interfaces permettent alors de connecter le SBC à un clavier et/ou un écran.
Tandis que le microprocesseur d’un SBC nécessite un système d’exploitation pour fonctionner, le microcontrôleur est géré à l’aide d’un environnement de développement intégré (IDE) fourni par le fabricant. Il est de plus en plus fréquent de nos jours de voir des fabricants créer des cartes de développement non dans le but de servir de support de démonstration à un microcontrôleur, mais pour présenter les caractéristiques de capteurs ou d’autres circuits intégrés auxquels le microcontrôleur s’interface. Ce sont ces cartes que l’on appelle couramment « cartes de démonstration », « kits d’évaluation » ou – si elles ont été assemblées pour permettre la collecte de composants dans un but tangible – « conceptions de référence ».
Certaines cartes n’ont pas pour principale vocation de servir au développement de matériel, mais plutôt de fournir un accès aux données « réelles » dont ont besoin les développeurs de logiciels pour créer et affiner les algorithmes indispensables aux applications d’intelligence artificielle et d’apprentissage automatique. Ces types de cartes ne correspondent donc pas tout à fait à la définition et à l’usage originels d’une « carte de développement », mais ce terme s’emploie désormais pour désigner collectivement tout élément matériel utilisé dans le cadre du développement matériel et logiciel de nouveaux objets électroniques.
Le passé
C’est en 2006 qu’apparaît la carte de développement à microcontrôleur qui, la première, attira l’attention de la communauté des ingénieurs. Cette plateforme de prototypage, qui sera plus tard connue sous le nom d’Arduino (figure 1), a été rapidement adoptée par une nouvelle catégorie de concepteurs en électronique constituée d’ingénieurs passionnés, d’amateurs et de bricoleurs dans l’âme. La popularité de l’Arduino a sans doute contribué au succès commercial des SBC et autres platesformes basées sur des microcontrôleurs qui l’ont suivie, dont la Beagleboard. Apparue en 2008, cette carte offrait aux ingénieurs une plateforme de développement open source et peu coûteuse dont le développement était assuré par la communauté open source. Puis vint en 2012 le premier ordinateur monocarte, le Raspberry Pi. À l’instar de la Beagleboard, il s’agissait au départ de proposer une plateforme éducative bon marché que les étudiants pourraient utiliser pour apprendre à coder. Mais l’attrait pour le Raspberry Pi a largement dépassé le cercle de l’enseignement et il a rapidement été adopté tant par les amateurs en électronique que par les ingénieurs professionnels.Le présent
Les SBC se divisent aujourd’hui en deux grandes catégories, à savoir les SBC propriétaires et les open source. Les SBC propriétaires sont généralement conçus pour être utilisés dans des applications finales et ont été soumis au même type de test et d’assurance qualité que les autres produits finaux. Ils sont soit intégrés à des équipements électroniques, soit installés dans une configuration en racks. Au contraire, les SBC open source offrent aux utilisateurs la possibilité de modifier librement la conception et la disposition de leur matériel. En ayant accès au code source, les utilisateurs peuvent rapidement et facilement apprendre comment fonctionnent le logiciel et le matériel et adapter la conception à leurs besoins.Aujourd’hui, de nombreux types de processeurs équipent les cartes de développement et les SBC : des processeurs X86 pour ordinateurs personnels traditionnels (AMD et Intel) aux processeurs ARM utilisés dans les applications industrielles et mobiles. Les systèmes d’exploitation les plus utilisés sur les SBC sont Linux et ses dérivés (Ubuntu, Fedora, Debian, etc.), mais aussi Android et Windows CE. De leur côté, les cartes de développement à microcontrôleur ne nécessitent pas de système d’exploitation, mais sont programmées à l’aide d’un IDE fourni par le fabricant. Les cartes de développement et les SBC ont tous deux évolué pour inclure des fonctionnalités comme la connectivité sans fil (wifi, Bluetooth) et les interfaces audio et vidéo les plus récentes. Ce faisant, certains SBC présentent aujourd’hui des fonctionnalités équivalentes à celles de nombreux ordinateurs personnels et tablettes.
Le futur : la carte de développement devient un produit final
Les fabricants avaient pris pour habitude de créer des outils de développement dans l’unique but de servir de support marketing à leurs microcontrôleurs. C’est ce qu’on appelait dans l’industrie le « design-in ». En effet, la carte de développement faisait gagner beaucoup de temps aux ingénieurs de conception désireux de tester le microcontrôleur dans leur laboratoire et d’en étudier les fonctionnalités. En leur facilitant ainsi la tâche, les fabricants pensaient que les concepteurs seraient également plus enclins à choisir leur microcontrôleur (avec naturellement les pièces auxiliaires qui s’y rapportent) pour le prototypage initial de leur produit et, in fine, pour la production en masse, ce qui rapporterait évidemment un volume de commande considérable au fabricant. Cette démarche tenait du bon sens dans le cas de produits dont les pièces présentent très peu de différences sur le plan des spécifications techniques d’un fournisseur à l’autre. Or, du côté des fabricants, cette approche a été, pour ainsi dire, victime de son propre succès. Ils se sont bientôt rendu compte qu’il leur fallait continuer à réduire sans cesse la charge de travail que représente l’essai de leur produit pour l’ingénieur chargé de la sélection. C’est alors que la carte de développement est devenue le principal élément différenciateur, d’autant plus lorsqu’il s’agit de produits globalement assez similaires à ceux de la concurrence.C’en est au point que, même pour des microcontrôleurs présentant un avantage incontestable par rapport à la concurrence (sur le plan de la puissance ou de la vitesse, par exemple), les ingénieurs concepteurs continuent d’avoir des exigences relatives à la carte de développement, notamment des fonctionnalités plug’n’play.
Les fabricants ont amélioré leur proposition de valeur en proposant des conceptions de référence qui se composent d’un microcontrôleur et d’autres circuits intégrés (généralement des capteurs). Initialement, ces conceptions étaient destinées à montrer comment interconnecter les appareils pour émuler la fonctionnalité électrique d’un produit final et peu d’attention était accordée au format, à la taille de la conception ou à la facilité de fabrication. Cependant, certains fabricants n’ont pas hésité à franchir le pas en proposant des conceptions de référence qui sont devenues des prototypes de produits à part entière et même des produits achevés.
Un exemple de cette évolution sont les conceptions de référence de la plateforme de capteurs de santé (HSP) de Maxim Integrated (qui fait désormais partie d’Analog Devices). Dans leur version initiale, ces conceptions de référence se composaient d’une petite carte de développement équipée d’une série de capteurs (température, pression, accéléromètre, biopotentiel, etc.) adaptés à des applications de forme et santé et que l’on peut configurer à l’aide d’un microcontrôleur. Le format de leurs successeurs, les HSP2.0 et HSP3.0, leur permettait d’être portés au poignet et ressemblaient de fait en tout point aux autres wearables disponibles sur le marché (figure 2).
Les développeurs avaient ainsi la possibilité d’évaluer la fonctionnalité de leurs capteurs dans des situations réelles. Un autre avantage non négligeable de ces conceptions est qu’elles permettaient aussi aux développeurs de logiciels d’accéder gratuitement aux relevés des capteurs, ce qui est rarement le cas avec d’autres wearables de ce type. Or, l’accès à ces informations permet de développer des algorithmes d’apprentissage automatique et d’intelligence artificielle qui apportent de la valeur ajoutée à l’application.
En montrant comment leur matériel facilite l’accès à ces données, Maxim entend bien sûr inciter les développeurs de produits à opter pour certains circuits intégrés (voir tous) présents dans sa conception de référence afin de les intégrer à leurs propres produits. Fort de cette expérience, Maxim a ensuite développé le bracelet MAX HEALTH BAND et la sangle de poitrine MAX ECG MONITOR. Ces deux produits ont été spécialement conçus et fabriqués comme des wearables de forme et santé aboutis. Bien qu’ils ne soient pas destinés à être vendus directement aux consommateurs, ces produits pourraient très bien intéresser des entreprises prêtes à conclure un contrat de licence de marque.
Le fait de proposer ainsi un produit entièrement fonctionnel, qui ne nécessite plus aucun travail de développement, semble être un bon moyen d’élargir et de renouveler sa clientèle commerciale non technique. La Thingy:91 de Nordic Semiconductor est un autre exemple de plateforme de développement où le matériel est devenu presque accessoire par rapport à la capacité de fournir aux développeurs un accès aux données dont ils ont besoin pour développer les logiciels et les algorithmes qui donnent sa valeur intrinsèque au matériel. Bien entendu, le but est de les faire opter pour cette même plateforme pour de nouvelles conceptions de produits qui exploitent les mêmes algorithmes. Sans doute cette technique fera-t-elle bientôt des émules parmi les autres fabricants.
L'utilisation accrue des cartes de développement dans les produits industriels
Il est de plus en plus courant de voir des cartes de développement et des SBC adaptés pour être utilisés dans des produits commerciaux. Une autre tendance est leur utilisation dans des applications à faible volume, mais à plus grande valeur, c’est-à-dire des produits finaux industriels comme des automates programmables industriels (API, ou PLC en anglais) (figure 3), qui sont soumis à des normes plus strictes que leurs équivalents commerciaux.Les cartes de test pour applications industrielles
De nombreux SBC aujourd’hui disponibles sont intrinsèquement devenus des conceptions abouties, car ils sont composés de pièces qui ont été initialement développées pour être utilisées dans des produits finaux, ce qui signifie qu’elles ont déjà subi des tests et que leur qualité est garantie. À cela s’ajoute le fait que les conceptions open source sont constamment revues par une armée de concepteurs et de programmeurs compétents qui mettent à jour et évaluent les cartes et les logiciels qu’ils utilisent.Les tests des cartes SBC sont désormais effectués par des entreprises de conception et de fabrication de haute qualité. Elles sont par conséquent soumises à des contrôles de qualité aussi rigoureux que ceux de tout autre produit final, ce qui leur permet même d’obtenir les certifications CE ou FCC. Ce flux de test peut facilement être étendu pour répondre aux exigences des produits industriels.
Or, les cartes de développement à microcontrôleur fournies par des fabricants ou des tiers, bien qu’elles soient habituellement adaptées à une utilisation dans des produits commerciaux, ne sont quant à elles généralement pas soumises à des tests aussi rigoureux que le sont ceux des produits industriels. De ce fait, les fabricants ne les recommandent pas pour une utilisation immédiate (sous leur forme actuelle) dans ces applications.
Même si certaines cartes incluent des composants de qualité industrielle, la plupart répondent seulement aux normes de qualité commerciale, parce qu’elles ne sont conçues que pour fonctionner à température ambiante.
Les prototypes de cartes de développement subissent généralement des tests à température ambiante pendant plusieurs jours ou semaines, mais cela varie selon le fabricant, car il n’y a pas de normes établies en la matière. La principale exigence de qualité pour les fabricants est que leurs cartes fonctionnent de manière fiable à température ambiante. Par conséquent, les acheteurs doivent être conscients qu’il est peu probable qu’elles aient été testées dans des conditions de température ou d’humidité extrêmes, de même qu’elles n’ont pas subi de tests de résistance aux contraintes associées à des vibrations ou à des chocs intenses.
Lors du choix d’une carte de développement pour une application industrielle, il est donc essentiel d’opter pour le moindre risque, notamment en vérifiant que les composants de la carte sont de la bonne classe de température. Il est également judicieux de tester simultanément plusieurs cartes à haute température pendant plusieurs jours. De même, si vous envisagez d’utiliser une carte de développement dans un produit susceptible de se retrouver dans un environnement très humide, il convient de la tester dans des conditions comparables. Enfin, les cartes destinées à être utilisées dans une application à fortes vibrations doivent être montées dans un cadre d’essai afin de tester leur résistance aux vibrations.
Discussion (0 commentaire(s))