Journal Des MEMS et du Libre

Posté par  .
Étiquettes :
43
24
juil.
2011

Sommaire

Linuxfriennes, Linufriens,

(La mode du "cher Journal" et dérivés devrait s'arrêter avec la révélation suivante :
Le journal ne se lit pas ! Ce sont les visiteurs du site qui le lisent !).

Suite à un commentaire de ma part dans lequel je disais qu'il n'y a rien de Libre dans le secteur où je bosse, je me fends ici d'un journal, et j'en profite pour faire un état des lieux des "Sources Ouvertes" qui gravitent autour de ce secteur.

Mais commençons par le commencement :

Introduction

Je travaille dans les MEMS, Micro-ElectroMechanical Systems.
Le principe qui a conduit à ces petits joujoux est la découverte que le Silicium n'est pas seulement un matériau remarquable pour ses propriétés électroniques, mais également mécaniques. Les MEMS utilisent donc une technologie dérivée mais très proche des techniques de fabrication des circuits intégrés traditionnels, mais le but est de fabriquer des éléments mécaniques, mobiles, avec des connexions électriques.
Un système complet comporte en plus de la partie mécanique, une électronique de gestion. Le tout est soit fait sur une seule puce en Silicium, soit en deux ou plus puces, avec la partie mécanique d'un côté, et la partie électronique de l'autre.
Si je dis électronique de gestion et pas de commande, c'est parce que les MEMS peuvent être des capteurs aussi bien que des actionneurs, et l'électronique est bien évidemment très différente !
Les exemples les plus connus de MEMS sur le marché sont les capteurs de pression, mais surtout les accéléromètre, les gyroscopes, et peut-être de façon un peu plus sujette à discussion (pas vraiment des MEMS), les capteurs magnétiques (boussoles). On les retrouve maintenant dans les téléphones portables, appareils photo, etc.

Le lien avec les circuits intégrés

Pourquoi s'intéresser aux MEMS ?

Et bien, on est sur un site qui traite du Libre, je suis un Linuxien et libriste modéré, mais disons tout de même convaincu, et la vraie question serait plutôt pourquoi ne pas en parler ?

Comme vous le savez ou devriez le savoir, il existe un mouvement libre autour des circuits intégrés, dont le meilleur regroupement est le site OpenCores.

Mais intéressons-nous un peu au flot de conception (simplifié) de circuit intégré :

  1. Définitions des spécifications (fonctions, interfaces)
  2. Modélisation haut niveau (un peu de VHDL/Verilog haut niveau), simulations haut niveau
  3. Modélisation bas niveaux, utilisant éventuellement des bibliothèques (VHDL/Verilog) Cette partie inclut les optimisations. A partir du résultat, on peut utiliser un outil de synthèse automatique
  4. Synthèse du circuit: on obtient ici le schéma électronique bas niveau
  5. Organisation du layout du circuit
  6. Placement, routage (on dipose les blocs du circuit, le routage correspond aux connexions électroniques

Maintenant, que trouvons-nous sur des sites comme OpenCores ?

  • Des bibliothèques
  • Des descriptions synthétisables de circuit

On ne peut pas descendre plus bas, parce que pour plus bas, il faut les paramètres physiques des composants, et ces paramètres dépendent de l'usine et la technologie que vous allez utiliser (ex: TSMC 0.13µm ou Austria Microsystems 0.6µm ? Ça change beaucoup de choses !).

Et ceci n'est valable quasiment que pour les circuits numériques. Pour les circuits analogiques, on travaille encore en bas niveau (pas de synthèse automatique). On utilise donc dès les premières étapes de la conception les paramètres liés à la technologie.

Et les MEMS alors ?

Et bien pour les MEMS, la situation est encore plus délicate :
Il n'y a pas vraiment d'outil installé pour la description haut niveau. On utilise plutôt des outils de conception mécanique (CAD) que des outils du monde électronique. Bien évidemment il y a de plus en plus de passerelles, mais les outils de synthèse automatiques ne vont que rarement au-delà de "modifie légèrement ce composant pour que les specs changent de autant".

Parce que si pour l'électronique, un procédé de fabrication différent signifie essentiellement des paramètres différents, pour les MEMS, les procédés de fabrication peuvent n'avoir quasiment rien en commun.
Exemples : usinage de surface (donc films minces) contre usinage de volume (donc élements avec une dimension suivant Z très grande devant une des deux autres dimensions ; utilisation de silicium polycrystalling, monocrystallin, métal, matériau organique, etc.

Du coup, un concept ne sera applicable que pour une "famille" de technologie, ou le plus souvent, juste un noeud technologique particulier.

Il s'agit d'ailleurs d'un problème connu dans l'industrie et la réputation des MEMS auprès des micro-électroniciens : un produit, un procédé (procédé de fabrication différent pour chaque produit). C'est presque vrai.

Il y a plusieurs raisons à cette situation :

  • La technologie MEMS est finalement assez jeune et immatûre. Les "meilleures" technologies ne sont pas encore identifiées. Imaginez, par comparaison, que la bataille fasse toujours rage entre téléviseurs cathodiques optimisés, plasma, LCD, LED, AMOLED, etc. Faites-vous une bonne longue liste, ensuite la grande question est : comment faire une gamme de télé et écrans d'ordinateurs sur une seule techno ?
  • Les fabricants de composants entrent à peine dans le Fabless en électronique, certains veulent néanmoins conserver tout ou partie de la fabrication MEMS en interne, pour diverses raisons (ex: Bosch, qui ont quelques technos MEMS un peu exclusives).
  • Il y a, de l'avis général, beaucoup trop de purs fondeurs MEMS. Ce sont pour la plupart des petites fonderies aux capacités limitées, ce qui pousse les fabricants de composants à en avoir plusieurs, dont les technos sont incompatibles...

La situation pourrait changer avec l'entrée sur scène des géants de la micro-électronique : TSMC, Global Foundries, UMC. Avec des capacités de fabrication et d'investissements conséquentes, ils pourraient attirer assez de clients pour établir leurs technos comme un standard de fait.

Si un standard est établi, il devient possible de développer des briques élémentaires réutilisables, mais aussi de se lancer dans les conceptions libres et ouvertes.
Aujourd'hui, un composant MEMS libre serait totalement lié à un fondeur et une technologie en particulier, ce qui en limiterait considérablement l'intérêt...

Alors rien de Libre dans les MEMS ?

Ne soyons pas si pessimistes! Si la conception des MEMS eux-mêmes est toujours très fermée, il n'en va pas de même pour les outils de cette conception.

Tout d'abord, mentionnons :

Sugar

Sugar n'est pas seulement un outil de RedHat, mais aussi un projet relativement ancien de simulation comportementale de MEMS.
En général, les outils de simulation de MEMS sont basés sur les éléments finis, et sont des outils de bas niveau (on calcule les contraintes externes à un élément, internes, qu'elles soient mécaniques, thermiques, électriques, etc. et on en déduit un déplacement et/ou une déformation et/ou en incluant une température, etc.).
Sugar a une approche différente. On suppose ici que vous savez, par exemple, comment se comporte votre poutre sous diverses contraintes, et vous pouvez donc aborder la simulation à un niveau plus haut : des combinaisons de poutres, par exemple.

La mauvaise nouvelle, c'est que Sugar semble être plus ou moins à l'abandon. Si vous postez un message sur leur forum demandant si le projet est mort, vous recevrez systématiquement un "non non, ça a traîné mais on s'y remet bientôt". Ça fait presque 10 ans que ça va s'y remettre bientôt...
Encore une fois, Sugar est contraint de s'appuyer sur une technologie particulière (ici, le procédé PolyMUMPS). Mais le concept est adaptable relativement facilement à d'autres technos.

Simulation par éléments finis

Ensuite, si on sait que les éléments finis sont le point central des MEMS, on peut très bien imaginer des solutions basées sur OpenCascade. Malheureusement, je ne connais aucune initiative active allant dans ce sens aujourd'hui.

Il est difficile d'utiliser un simulateur FEM "brut" à cause des rapports d'aspect que peuvent présenter les MEMS (des objets dont les dimensions les rendent comparables à une feuille de papier très fine : on mélange quelques centaines de nm d'un côté, et de l'autre, les dimensions atteignenT les centaines de µm. On se retrouve avec de gros problèmes d'erreurs numériques. Il faut utiliser des méthodes de calcul particulières).

Une autre difficulté est souvent dans le côté dit "multiphysique". Les propriétés mécaniques des MEMS ne suffisent pas, il faut combiner le plus souvent au moins l'électronique et la mécanique. Parfois on y ajoute le thermique, et autre.
Beaucoup de composants MEMS sont vibrants, et les frottements avec le milieu ambiant ne sont pas négligeables. Néanmoins, les gens verséS dans l'art de la fluidique admettront volontiers qu'il s'agit d'une des choses les plus difficiles à simuler, non seulement en termes de puissance de calcul brut nécessaire, mais aussi en termes de modélisation initiale.

Donc, les simulateurs MEMS libres ne sont pas là aujourd'hui, mais on pourrait les voir arriver assez rapidement si des moyens sont mis dessus !

Applications

Enfin, avec la complexité croissante des systèmes modernes, on ne fournit plus vraiment un composant MEMS, mais on parle de "solution" : le composant, et les outils de gestion
informatique. (pilotes, algorithmes, etc.).
Et de ce côté, on retombe dans quelque chose qui sera plus familier pour tout le monde: des logiciels !
Pour prendre les applications les plus en vogues en ce moment, il y a beaucoup de choses à faire dans le domaine des centrales inertielles, correction des boussoles électroniques en fonction de l'attitude du téléphone, et encore beaucoup, beaucoup d'applications à réaliser.
Et de ce côté, on voit beaucoup de code libre.

On voit même ce côté libre du côté des fabricants, avec par exemple Freescale, qui fournit "CodeWarrior" un IDE basé sur Eclipse dédié au développement sur ses produits. Freescale produit également une gamme de capteurs MEMS sous le nom Xtrinsic embarquant de sérieuses capacités de calcul numérique. Le lien avec CodeWarrior est ici assez évident.

Conclusion

Les MEMS, comme beaucoup de composants matériels, sont sujets à extrêmement peu de développements libres. En revanche, leur environnement, aussi bien de développement que d'application, présente une activité existante et beaucoup d'opportunités.
En attendant, on ne me verra pas écrire que "je fais du Libre au travail" avant très longtemps...

  • # Code Aster

    Posté par  . Évalué à 6.

    Pour le calcul par éléments finis, n'est-il pas possible d'utiliser code aster développé par EDF ?
    Si j'en crois la liste des fonctionnalités :

    Multiphysic
    Internal chaining with thermal problems
    - Hydration, drying
    -Metallurgy
    Internal Chaining with mechanics
    -Thermal problems
    -Metallurgy
    -Hydration and drying
    -Electricity
    Internal coupling
    -Thermo-hydro-mechanics
    -Fluid-structure

    Article très intéressants. Merci.

    • [^] # Re: Code Aster

      Posté par  . Évalué à 4.

      Ah! Au temps pour moi.

      Je n'ai mentionné que OpenCascade, il est évident que j'aurais dû inclure toute la chaine FEM libre.
      Code Aster peut bien entendu être utilisé.

      Le problème c'est le "yapluka": il faut adapter tout ça aux MEMS.
      Une des plus grandes difficultés réside dans les rapports d'aspect.
      En calcul numérique, on n'aime pas, mais alors pas du tout avoir des gros nombres qui se baladent avec des petits nombres dans une même équation. Avec les inévitables approximations pendant le calcul, on arrive souvent à la catastrophe.

      La solution pour étudier les structures en films minces, ce sont des éléments dédiés, pour lesquels on change d'unité sur l'axe mince (ex: µm suivant X et Y, nm suivant Z).

      Or, il ne suffit pas de changer l'unité, toutes les équations sont à refaire, et certaines plus méchantes que d'autres (pensez à tous les effets non-linéaires, les propriétés isotropes, etc.).
      Ce type d'élément, à ma connaissance, n'est pas nécessaire dans les utilisations actuelles des outils FEM libres.

      En dehors des films minces, le boulot est beaucoup plus simple: les MEMS sont un empilement de couches de matériaux.
      Les problématiques des simulations en 2D ou en 3D, régime de faible déformation et régime non-linéaire sont, je suppose, les mêmes que pour d'autres secteurs.

      Les gros acteurs en FEM autour des MEMS aujourd'hui sont:
      - l'inévitable Ansys, qui en fait est partout...
      (et qui je dois avouer a aussi ma préférence ; y'a pas à dire des outils scriptables à merci c'est le pied!). Par contre une licence d'Ansys coûte les yeux de la tête!
      - Coventor, une suite très spécialisée qui fait bien plus que des simulations multiphysiques (par exemple: simulation du procédé de fabrication, bien moins trivial que ça en a l'air!)

      Je rêve de voir une suite de développement de MEMS libre émerger!

      • [^] # Re: Code Aster

        Posté par  . Évalué à 1.

        Merci pour ces précisions.

        Je n'ai mentionné que OpenCascade, il est évident que j'aurais dû inclure toute la chaine FEM libre.

        C'était juste par curiosité. Lors d'un projet pour l'école en multiphysique j'ai dû regarder plusieurs logiciels libres (Code Aster, CAST3M) et non libres (SAMCFE, Abaqus, Comsol …). Du coup je continue à me renseigner et ce genre de problème (grands nombres/petits nombres) est intéressant.

        Sinon, comme piste, j'ai eu des cours avec des profs qui ne juraient que par CAST3M, car d'après eux on peut tout faire avec.

  • # Commentaire constructif

    Posté par  . Évalué à 10.

    Le journal ne se lit pas! Ce sont les visiteurs du site qui le lisent

    Pourtant ton journal se lit très bien.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à -3.

      Ce commentaire a été supprimé par l’équipe de modération.

  • # Bon dimanche !

    Posté par  . Évalué à 7.

    Punaise un journal pertinent au réveil ça fait du bien.

    J'ai appris pas mal de choses dont je ne soupçonnais pas.

    • [^] # Re: Bon dimanche !

      Posté par  (site web personnel) . Évalué à 7.

      Posté par Refuznik le 24/07/11 à 13:34. Évalué à 2

      T'aurais pu faire un effort et te réveiller à 13:37...

      Prochainement, je vous proposerai peut-être un commentaire constructif.

    • [^] # Re: Bon dimanche !

      Posté par  . Évalué à 1.

      je confirme : un tel journal ça fait du bien aux yeux.

      bien écrit en plus.

      J'ai cependant une question : est ce bien les mêmes MEMS qui sont implémentés dans les capteurs d'inclinaison ?

      • [^] # Re: Bon dimanche !

        Posté par  . Évalué à 5.

        Un capteur d'inclinaison n'est rien de plus qu'un accéléromètre +/-1G.
        Il n'y a physiquement aucune différence entre une accélération de 1G et la gravité.

        Donc un capteur d'inclinaison MEMS, c'est un accéléromètre MEMS calibré sur 1G.

        • [^] # Re: Bon dimanche !

          Posté par  . Évalué à 1. Dernière modification le 25 juillet 2011 à 22:19.

          je dirais qu'il existe une différence majeure entre les 2 :
          un accéléromètre ne mesurera qu'une accélération, et même s'il est possible de mesurer une inclinaison avec (en intégrant les valeurs fournies par le capteur) on n'a pas du tout les mêmes informations qu'avec un inclinomètre (comme je l'ai mis dans ma màj sur mon commentaire mais que j'ai sûrement mal publiée) dans l'esprit de :

          qui sont tous deux dans la branche staging de l'ancienne hiérarchie de Linux.

          De plus, dans un accéléromètre, il n'y a pas de compensation de température - en tout cas je n'en ai pas trouvé- , ce qui, et je l'ai testé, influe largement sur les mesures.

          • [^] # Re: Bon dimanche !

            Posté par  . Évalué à 6.

            Euh, au risque de te décevoir:

            Si, un inclinomètre est un simple accéléromètre sur une portée particulière.

            On trouve des accéléros compensés en température (d'ailleurs les clients automobile refuseraient catégoriquement un produit qui ne l'est pas...).

            Quant à l'information de sortie d'un inclinomètre contre celle d'un accéléromère, c'est souvent la même chose (strictement le même produit, on change un facteur sur l'amplification dans la chaîne de traitement du signal, et on passe de +/-1G à +/-2 ou 5G ou autre).

            Un inclinomètre utilise la gravité pour établir son attitude. La gravité est une accélération de 1G suivant la verticale, rien de plus.
            Il n'y a rien à intégrer. Un petit calcul géométrique tout simple et c'est bouclé.

            Les corrections d'inclinaison des projecteurs muraux sont des applications des accéléromètres.

            Ajout: Je viens d'aller regarder la datasheet de l'ADI. C'est expliqué noir sur blanc: un simple accéléromètre avec des registres supplémentaires dans lesquels l'inclinaison est déjà calculée. Rien de plus...

  • # HP Deskjet

    Posté par  . Évalué à 7.

    Pour compléter le paragraphe sur les applications, la plus grosse application des MEMS (en argent) ce sont les têtes d'écriture des imprimantes à jet d'encres HP. Le contrat d'environ 100 millions d'euros est à ST Microelectronics, qui est du coup est devenue la plus grosse fonderie de MEMS du monde. Mais les MEMS sont des technologies assez peu chères, le prix d'un composant individuel (acheté en gros volumes) est environ 50 centimes, ce qui ne contribue que pour très peu au prix des téléphones portables ou même au prix des cartouches HP.

    Pour un classement des fonderies par revenus : http://www.isuppli.com/mems-and-sensors/marketwatch/pages/stm-is-top-mems-foundry-in-2010-texas-instruments-is-no-2.aspx

    • [^] # Re: HP Deskjet

      Posté par  . Évalué à 4.

      Absolument!

      Je ne l'ai pas mentionné, mais oui, les têtes d'impression sont encore un marché gigantesque. On peut citer aussi les scanners optiques (lecteurs de code barre, etc.), les solutions d'affichage graphique (TI fait déjà des réseaux de miroirs mobiles pour des projecteurs, ensuite vous avez des écrans à base de MEMS et bientôt les pico-projecteurs: des projecteurs muraux à brancher sur votre téléphone portable!).

      Les MEMS ne coûtent pas grand chose. Un accéléromètre pour téléphone portable, si "bon" soit-il (pour ce genre d'application, même les meilleurs ne sont pas "bons" comparés à n'importe quel accéléro pour automobile), sont largement en dessous d'1$/pc en gros volume.

      C'est le même principe d'économie d'échelle que les circuits intégrés (ne vous focalisez pas sur les processeurs d'ordinateur, qui sont un cas particulier, regardez plutôt par exemple comment embarquer 2 ou 3 CI dans une souris et faire en sorte que son coût de production reste sous 1$, voire beaucoup moins!)

    • [^] # Re: HP Deskjet

      Posté par  . Évalué à 3.

      la plus grosse application des MEMS (en argent)

      Je croyais qu'ils étaient en silicium ?!

      → []

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: HP Deskjet

      Posté par  . Évalué à 2.

      ce qui ne contribue que pour très peu .... au prix des cartouches HP.

      Toi, tu n'as pas d'imprimante HP qui bouffe une cartouche toutes les 30 pages.

  • # Du hard !

    Posté par  . Évalué à 4.

    Et ben y'a de tout sur linuxfr !

    Tu fais quoi exactement la dedans ? Conception ?

    J'ai un diplome d'ingé en microélectronique, j'en ai fais en maitrise par la suite au québec, puis un doc mais plutot en info. Je bosse dans le domaine des outils pour la microélectronique (compilateur / simulateur pour VHDL et autres langages du genre - en fait surtout SystemVerilog qui est utilisé par les industriels ici).

    Et donc, tout ce qui touche au matériel (microélectronique) m'intéresse. Et je comprend très bien ton sentiment : dans cette industrie, tout est extrêmement secret, vite complexe, requiert de lourds investissements, et des données très protégées. Et puis c'est vite parano sur la propriété intellectuelle.

    Ceci dit dans mon travail, on utilise beaucoup de libre (gcc, gdb, linux, vim, emacs…). Par contre je n'entend pas parler de contributions au libre :-(

    • [^] # Re: Du hard !

      Posté par  . Évalué à 4.

      Je ne pense pas que "utiliser sans contribuer" soit une exclusivité en micro-électronique, malheureusement ;).

      En ce qui me concerne, j'ai un peu touché à tout dans le domaine:
      -Diplôme d'ingénieur en micro-électronique
      -Doctorat en MEMS: actionneurs à base de polymères (donc: conception, simulations, fabrication en salle blanche, et test des actionneurs)
      -Premier boulot où j'ai varié les plaisirs (R&D) dans une boite de taille moyenne: packaging, suivi du design d'un ASIC par un sous-traitant (en gros: définition des specs, puis du protocole d'évaluation de l'ASIC, et suivi de l'avancement de leur côté). Un peu de techno, un peu de design, le plus souvent en gérant ce que font des sous-traitants qu'en le faisant moi-même. Et ma dernière tâche là-bas c'était amélioration de la qualité sur une ligne de prod de packaging.
      Bref, j'ai touché un peu à tout.
      -Et là j'attaque mon deuxième boulot, dans une très grosse boite, et du coup le boulot est un peu moins versatile: je vais me focaliser sur la techno (toujours en R&D).

    • [^] # Re: Du hard !

      Posté par  . Évalué à 1.

      Simple curiosité, ou as tu fait ta maîtrise ? J'ai fait une maîtrise a l'UdeM dans le même domaine (mais plutot verif pour moi). Tu travailles toujours en Amérique du nord ?

  • # et gmsh ?

    Posté par  . Évalué à 0.

    J'ai travaillé il y a quelques années avec gmsh. Au départ, c'était l'aspect maillage qui était prépondérant, puis ils ont fait des progrès du côté calcul et visualisation.

    C'est un système de type FEM qui est assez générique, ce qui est un avantage et un problème: il faut introduire soit-même toutes les équations liées aux contraintes et au couplages.

    Le site web: http://geuz.org/gmsh/

    CdMills

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.