2

Choix de la carte mère

.net

Cette année, l’association s’est enrichie de plusieurs membres expérimentés dans les technologies Microsoft .net.

Pour profiter de ces compétences et nous permettre de les approfondir, nous avons rapidement envisagé d’utiliser ce type de technologie dans l’une de ses versions adaptées à un usage électronique.

Dans ce domaine, deux solutions existent : les cartes Windows CE et celles MicroFramework.

Cartes Windows CE

Exemple de carte Windows CE : FriendlyArm mini 2440

Une carte embarquant Windows CE du genre FriendlyARM Mini2440 ferait l’affaire.

L’intérêt de ce genre de cartes, outre le fait de permettre la programmation avec le Compact Framework .net que je commence à maitriser (c’est un peu mon boulot…), est qu’elles présentent une grande variété d’interfaces (UART, ethernet, Carte SD, USB hote, I2C…). De plus, ce genre de plateforme propose des processeurs puissant (ARM920T de 400MHz dans le cas de la carte ci contre).

L’alimentation de la carte est simplifiée avec une seule alimentation (au lieu du port ATX nécessitant une demie douzaine de tentions d’alimentations différentes utilisé par les cartes mères standard type VIA Epia que nous avons pu utiliser par le passé).

D’un autre coté, cette plateforme impose la présence d’un OS + un framework ce qui implique des pertes de performances dans l’exécution du programme.

Enfin on peut également déplorer que le développement sur compact framework nécessite la version Professionnal de Visual Studio qui, bien que présentant un environnement de travail trés convivial et permettant le debbugage très simplement, est complètement hors budget (compter 1000€ par licence).

Cartes MicroFramework

Depuis quelques années, Microsoft s’est lancé dans un framework orienté pour l’électronique : le MicroFramework. Il est depuis devenu open source et peut être développé dans la version gratuite de Visual studio : Visual Studio Express. Ce « Framework » est en fait un CLR qui tourne sur la carte et execute le code managé, remplacant à la fois l’OS et le framework. Celui-ci est bien plus limité que le .net Framework classique mais offre un panel trés large de possibilités (gestion des entrées/sorties, Multi-threading, gestion de l’affichage, debuggage USB, nombreux driver de communication…). De plus, les cartes sont souvent moins cher que celles sous Windows CE !

Parmis les constructeurs de ce type de carte, on trouve Device Solution avec ses cartes Meridian/P ou Tahoe II, des cartes complètes proposant de nombreuses entrées/sorties, plusieurs port de communication (UART, I2C, SPI…) le tout alimenté en 5V.

D’autre part, on trouve un autre constructeur, GHI Electronic, qui sur son site Tiny CLR propose plusieurs cartes très intéressantes à partir de 35$ la carte pour la FEZ Panda, ainsi que de nombreux periphériques adaptés et leur drivers associés (et leurs sources !). Ces cartes sont pour la plupart plus petites que celles de Device Solution avec un processeur de 72Mhz permettant la communication grâce à 4 UART, un SPI, un I2C et deux CAN. Enfin, elles peuvent être alimentées avec une tension entre 5V et 12V.

Le choix

Dans le robot, nos contraintes sont les suivantes :

Carte FEZ Domino

  • Utilisation de l’I2C pour la communication avec nos divers périphériques et cartes déjà en notre possession (carte boussole, de contrôle de plusieurs servo-moteur et cartes à base de PIC)
  • Alimentation idéalement en 12V (directement sur les batteries) ou éventuellement en 5V (régulé par une autre carte)
  • Utilisation d’un port CAN pour communication avec la carte d’asservissement (offerte par Manitou et qui fera l’objet d’un prochain post)
  • Autant d’entrées/sorties que possible : même si nous aurons de toute facon d’autres cartes pour gérer certains actionneurs et capteurs du robot, il est bon de les limiter au maximum.
  • Si possible, suffisamment d’espace de stockage pour effectuer des logs.
  • Un prix aussi raisonnable que possible bien sur!

Au final, notre choix se fait donc sur la carte FEZ Domino, qui répond à tous les critères énoncés ci-dessus.

Vous aurez donc bientôt des nouvelles sur l’utilisation de cette carte ! En attendant, je vous encourage vivement à aller voir le post de Pierre Cauchois sur le sujet.

FriendlyARM Mini2440

  1. Oui, je compte me mettre à mon compte dans ce secteur, où puis-je trouver plus d’info ?

  2. Paul dit :

    Que voulez-vous dire par là ? Que cherchez-vous exactement ?