Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 31

Comment choisir son composant de logique programmable



  1. #1
    gwenou22

    Comment choisir son composant de logique programmable


    ------

    Bonjour,
    Je suis actuellement en école d'ingénieur en électronique et pour notre projet de 4eme année, nous avons un système de contrôle de la vigilance au volant à réaliser.
    La principale contrainte de notre cahier des charges est la réalisation d'un système de taille réduite (système de la taille d'une oreillette bluetooth environ)
    Nous capterons dans un premier temps les mouvements de la tête à l'aide d'accéléromètre.
    A partir de ces 3 données d'accélération (suivant l'axe x,y et z), nous devrons filtrer numériquement (pour un soucis d'encombrement) notre signal puis l'analyser.
    Et c'est là que je suis un peu perdu vis a vis du choix de notre puce de calcul.
    Si j'ai bien compris, il existe 2 type de composants programmable :
    - Les FPGA qui permettent un traitement parallèle des infos (mais ceux-ci me semble encombrant)
    - Les micro-contrôleurs qui sont programmés de manière séquentielle. Mais dans les micro-contrôleurs, il en existe une multitude. Comment faire sont choix?

    Spécificité de la puce :
    - 6 I/O ou plus (les entrées seraient analogiques ou numériques selon le choix du capteur)
    - de petite taille (20mm*10mm)
    - puissance de calcul suffisante pour faire des opérations de filtrage et d'analyse
    - Faible consommation pour pouvoir être embarqué
    - Programmable en C si possible

    Merci d'avance pour votre aide.

    Si vous avez aussi des connaissances sur l'étude du mouvement de la tête par accéléromètre, je suis preneur.

    -----

  2. Publicité
  3. #2
    Luj

    Re : Comment choisir son composant de logique programmable

    Bonjour. Sujet très intéressant.

    Réfléchissez bien si c'est vraiment les axes x, y, z que vous voulez analyser ou plutôt les angles. Bien sûr les valeurs mesurées sont disponibles pour chacun des axes, mais vous aurez plutôt intérêt à en déduire un angle : éliminer les mouvements quand la tête pivote (lacet) car cela signifie la conscience de l'auteur (cet angle étant celui qui nécessite le plus d'effort du cou) et vous concentrer sur la vitesse de rotation quand la tête roule ou tangue.

    A mon avis pas besoin d'un FPGA, un simple micro-contrôleur suffira largement pour faire l'acquisition du signal et le filtrage (c'est un filtre lent qu'il vous faut, sur une longue période). A vue de nez, Wii Nunchuck + Arduino (voire Wii Motion Plus) et c'est tout pour la partie matérielle. Pour la taille, aucun problème, après le prototype vous pouvez passer à la réalisation avec les mêmes puces mais dans un format miniature (ADXL311 en CMS + ATmega328 en CMS + radio pour transmettre l'information).

    Il me semble que pour ce projet, le plus important sera de mettre en oeuvre un protocole de test sur plusieurs cobayes pour visualiser le comportement et en déduire une "empreinte" de l'activité. C'est plus des sciences cognitives que de l'électronique.

    A votre service

  4. #3
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Notre référant voulait plutôt des accéléromètres donc nous allons plutôt étudier les accélérations suivant x,y,z mais nous avons aussi pensé utilisé des gyromètre qui nous affranchirait de nombreux problèmes. D'après notre étude préalable sur les accéléromètres, ceci nous permettrait de déduire l'angle d'inclinaison de la tête en exploitant l'accélération de pesanteur. En dérivant cette information nous pourrons retrouver la vitesse de déplacement (de haut en bas de la tête).
    Au niveau des phases de test, nous pensons réaliser des enregistrements d'info de notre capteur sur le PC (par l'intermédiaire de sondes d'acquisition) puis tout d'abord les traiter en C sur le PC. Puis adapter ce programme à notre micro-contrôleur pour l'utiliser sur notre prototype.

    Pour le choix du capteur. Nous avions vu l'ADXL. mais pouvons-nous le brancher directement sur l'entrée du micro-controleur (dans la datasheet : 8-channel 10-bit ADC ça veut dire 8 entrée avec des CAN 10bits?)
    Sinon, on pensait à un capteur directement avec une sortie numérique.

    Pour l'ATmega :
    - connais-tu la carte pour charger le programme sur l'ATmega?
    - Faut-il rajouter une horloge externe pour contrôler la puce?
    - Je pense pas que l'on ai besoin de 23 I/O, en prenant un composant qui en posséderais moins, ne pourrait-on pas améliorer certaines autres performances?
    - Est ce que des micro-controleur avec sortie analogiques existe? (notre alerte serait réaliser par un émetteur de son piezzo-electrique donc en ayant plusieurs amplitude, on pourrait moduler l'intensité sonore).
    - Y a t-il possibilité de réaliser notre programme en C en informatique avant de le compiler en hexa pour la puce?

  5. #4
    DAUDET78

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    Je suis actuellement en école d'ingénieur en électronique et pour notre projet de 4eme année,
    Citation Envoyé par gwenou22 Voir le message
    - Est ce que des micro-controleur avec sortie analogiques existe? (notre alerte serait réaliser par un émetteur de son piezzo-electrique donc en ayant plusieurs amplitude, on pourrait moduler l'intensité sonore).
    Vous débarquez d'où ? De Mars ou de Petaouchnok?

    En 4éme année, vous ne savez pas qu'un buzzer se pilote avec une sortie tout ou rien et qu'on peut le moduler par du PWM ?????????
    - Y a t-il possibilité de réaliser notre programme en C en informatique avant de le compiler en hexa pour la puce?
    Vous avez déjà lu "le microcalculateur pour les nuls"

    C'est quoi cette école d'ingénieur ?
    J'aime pas le Grec

  6. #5
    Forhorse

    Re : Comment choisir son composant de logique programmable

    C'est vrai que pour des gens en école d'ingenieur, les questions posées sont un peu "étranges".
    Quelque part ça me rassure, moi qui voulait devenir ingenieur en electronique, je me rend compte que finalement j'aurais perdu mon temps avec toutes ces années d'études

  7. A voir en vidéo sur Futura
  8. #6
    gwenou22

    Re : Comment choisir son composant de logique programmable

    La formation d'ingénieur a peut être ses défauts pour franchir la barrière de la théorie à la pratique mais c'est le but de la 4eme année. Je ne vois pas vraiment quel est votre intérêt de me démonter ainsi.

    Je n'ai en effet quasiment jamais touché à un micro-controleur de ma vie et tente de m'y former pour le projet. Je me pose donc certaines questions qui vous semble peut-être idiote.

    Mais le sujet n'est pas du tout sur la compétence (ou l'incompétence) d'un étudiant en école d'ingé donc revenons à nos moutons.

    Avez-vous plutot des adresses ou conseils pour me former sur la programmation de micro-contrôleurs?

    Merci d'avance

  9. Publicité
  10. #7
    DAUDET78

    Re : Comment choisir son composant de logique programmable

    Et en quatrième année, tu n'as pas eu de cours sur les microprocesseurs ......

    Commence par faire clignoter une LED .... http://www.abcelectronique.com/bigonoff/
    J'aime pas le Grec

  11. #8
    gwenou22

    Re : Comment choisir son composant de logique programmable

    On a eu un petit cours sur l'architecture des microprocesseurs en 3eme année. Avec quelques TPs en assembleur sur la carte ST7.
    Si je ne m'abuse, le lien que tu m'a donné s'oriente vers des PIC. Notre référant voudrais que nous utilisions des micro-controleurs de texas (architecture ARM cortex). L'apprentissage et la programmation sur PIC est-elle identique?

  12. #9
    DAUDET78

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    L'apprentissage et la programmation sur PIC est-elle identique?
    La philosophie est sensiblement la même ainsi que la méthode opératoire.
    Par contre les logiciels de développement, le hard , c'est différent.

    Si ton prof te demande d'utiliser un processeur Machin, il doit te fournir les outils de développement. Pas la peine de poser la questions sur un forum ....
    J'aime pas le Grec

  13. #10
    ftorama

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    Notre référant voudrais que nous utilisions des micro-controleurs de texas (architecture ARM cortex).
    Ca fait plaisir de voir des profs lucides et au fait du marché. Avec l'accord récent ARM-Microsoft, il va falloir se préparer à en manger à toutes les sauces des ARM, et des Cortex en particulier....déjà qu'ils équipent une très grande majorité des téléphones et autres tablettes (même l'Ipad), alors maintenant que la porte vers le monde du PC est ouverte, ça va saigner pour Intel.

    L'apprentissage et la programmation sur PIC est-elle identique?
    Conduire une 2 chevaux, un tracteur ou une Porsche, c'est la même chose....dans le principe. Seulement il y a quelques nuances et détails qu'il faut prendre en compte et qui font la différence.

    Si le prof vous met à dispo le compilo tout prêt, ça va aller très vite. Ces micros sont relativement faciles à prendre en main, surtout pour une utilisation de base.

  14. #11
    Luj

    Re : Comment choisir son composant de logique programmable

    On en mange déjà à toutes les sauces, voir du côté de la Netduino (d'ailleurs c'est une solution si vous n'avez pas encore de carte ARM sous la main).
    La programmation est quand même plus ardue qu'un micro-contrôleur !

    De combien de temps vous disposez pour faire ce projet ? Et de quel budget pour acheter le matériel ?

  15. #12
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Nous avons jusqu'à fin mai à raison de 4h par semaine sauf 4semaines qui seront à temps complet.
    Notre budget complet est d'environ 500-600€ (avec justification de toute nos dépense bien sur).
    Nous avons accès à la carte LM3S9b92 pour nos tests (LM3S9b96 à partir de fin fevrier).
    La programmation est quand même plus ardue qu'un micro-contrôleur !
    Ce n'est pas des micro-controleurs qui utilise l'architecture ARM?

  16. Publicité
  17. #13
    Luj

    Re : Comment choisir son composant de logique programmable

    ARM est un microprocesseur. On parle d'architecture RISC (qui effectivement est commune aux micro-contrôleurs de type AVR (et PIC ?) et ARM. A mon niveau d'amateur totalement ignare, la différence que je fais c'est qu'un micro-contrôleur est tout intégré (notamment la mémoire) et ne nécessite pas de gestion particulière des périphériques (notamment la mémoire, bis).

  18. #14
    ftorama

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par Luj Voir le message
    ARM est un microprocesseur. On parle d'architecture RISC (qui effectivement est commune aux micro-contrôleurs de type AVR (et PIC ?) et ARM. A mon niveau d'amateur totalement ignare, la différence que je fais c'est qu'un micro-contrôleur est tout intégré (notamment la mémoire) et ne nécessite pas de gestion particulière des périphériques (notamment la mémoire, bis).
    Bah non justement, le terme ARM regroupe différentes familles.

    Les anciens encore courants sont les ARM7, ARM9 et ARM11. Les ARM7 sont des microcontrôleurs 32 bits avec mémoire intégrée.

    Les ARM9 et 11 sont entre deux. Il faut effectivement ajouter de la mémoire externe, mais ils disposent des autres périphériques( UART, I2C, SPI, PWMs), qu'un microprocesseur au sens stricte ne propose pas.

    Dans les nouvelles générations d'ARM, les principaux représentants sont:
    - les Cortex-M0 qui ont pour vocation de proposer une alternative à nos bons vieux 8 bits avec des performances bien supérieures, mais un prix dérisoire. Ce sont de purs micro-contrôleurs
    - Les Cortex-M3, qui se situent entre ARM7 et ARM9 au niveau performances. Ils disposent aussi de mémoire interne. Certains disposent de l'USB, de l'Ethernet intégré, d'une vingtaine de timers ( ). On en trouve avec port mémoire externe.
    - Les Cortex-A8, là il leur faut de la mémoire externe, mais ce sont des monstres de puissance. L'Ipad en est équipé par exemple (même si Apple a essayé de le cacher)

    Après il existe des tas de variantes, tels que des IPs pour intégrer dans des FPGA, des coeurs seuls pour faire du muticoeur, etc.

    Côté matos de programmation....un MAX232 peut suffire. Au moins pour les Cortex-M3, ils sont préchargés avec un bootloader sur port série, idem pour les ARM7

    Bref, y'a pas que la Mini2440 parmi les ARM (toute allusion à certains tutos serait purement fortuite )

  19. #15
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Nous avons eu une réunion avec notre référant hier.
    Au niveau du choix des composants, notre capteur deviendrait un accéléromètre avec sortie I2C (12 ou 16bits).
    Pour notre micro-contrôleurs on nous a réouvert des portes en nous proposant de prendre un PIC (j'aurais trouvé le PIC18F2550) ou d'utiliser les MSP430.
    A moins que vous me conseillez de rester sur des ARM-cortex pour mieux s'adapter au marché à venir.

    Ensuite, pour le choix du micro-controleur dans la famille sélectionnée.
    Je le fait en fonction des I/O (configurable en I2C, PWM...), de la vitesse de calcul(comment l'évaluer?) mais aussi en fonction de l'espace mémoire dispo(comment l'évaluer aussi?)
    Y a t-il d'autre critère à prendre en compte?

    Merci d'avance.

  20. #16
    invite98765423456
    Invité

    Re : Comment choisir son composant de logique programmable

    Je ne pense pas que le pic soit un bon choix. Ton appli nécessite quand même àpriori une capacité de calcul assez importante. D'autre part, partir sur une marque de micro puis en changer est une perte de temps considérable. Pars donc sur ton LM3S9b92 pour être confortable : quand tu fais le debug de ton code, les options de compilation du style -g3 facilitant le debug peuvent doubler ou même tripler la taille de ton code.
    Quand ton code sera au point, tu pourras repartir sur un plus petit modèle de LM3S mieux adapté à tes besoins (il en existe en boitier QFP 7mmx7mm avec 48 pattes). Si par contre tu pars directement avec un pic (qui à première vue est au moins 10 fois plus lent et possède également moins d'un dixième de la mémoire du LM3S) et que tu te retrouves à un moment dans une impasse, tu seras bien embêté pour changer de µC.

    th

  21. #17
    invite98765423456
    Invité

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par ftorama Voir le message
    Bah non justement, le terme ARM regroupe différentes familles.

    Dans les nouvelles générations d'ARM, les principaux représentants sont:
    Salut, Ftorama

    Les cortex-M4 de Freescale (avec FPU intégrée) commencent à sortir et FSL vient d'annoncer une toute une nouvelle gamme de cortex-A9 (1 à 4 cores) en complément de ses A8.

    Thierry

  22. #18
    WalkOver

    Re : Comment choisir son composant de logique programmable

    Gérer un accéléromètre, calculer les angles et envoyer ça par HF...

    Un ARM pour ça ?

    Un petit 8bit type 18F ou ATmega suffit largement non ?

  23. Publicité
  24. #19
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Nous n'aurions finalement plu accès à la LM3S dont je parlait il y a 2 jours
    Le µcontroleur du LM3S était pour le coup plutôt sur dimensionné pour notre projet.
    Un PIC 8bits te semble un peu limite?
    L'avantage du PIC, c'est que l'on a dans l'école des cartes de tests que l'on peut relier au PC par USB pour récupérer facilement les données (du capteur par ex) pour envisager des tests par PC avant.
    Sinon, on a accès a des cartes pour MSP430 (16bits). Ce serait mieux?

  25. #20
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par WalkOver Voir le message
    Gérer un accéléromètre, calculer les angles et envoyer ça par HF...

    Un ARM pour ça ?

    Un petit 8bit type 18F ou ATmega suffit largement non ?
    il n'y a pas d'envoi par radio. On gére l'accéléromètre, filtre le signal pour récupérer les angles mais ensuite, on les analyse directement pour voir si ce comportement annonce un signe d'hypovigilance. En cas d'hypovigilance, l'µc gère une buzzer piezzo pour alerter le conducteur.

  26. #21
    WalkOver

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    il n'y a pas d'envoi par radio. On gére l'accéléromètre, filtre le signal pour récupérer les angles mais ensuite, on les analyse directement pour voir si ce comportement annonce un signe d'hypovigilance. En cas d'hypovigilance, l'µc gère une buzzer piezzo pour alerter le conducteur.
    Pour moi, ton appli se fait à l'aise avec un 18F dont tu disposes déjà de la plateforme de DEV

  27. #22
    ftorama

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    Nous n'aurions finalement plu accès à la LM3S dont je parlait il y a 2 jours
    Le µcontroleur du LM3S était pour le coup plutôt sur dimensionné pour notre projet.
    Un PIC 8bits te semble un peu limite?
    L'avantage du PIC, c'est que l'on a dans l'école des cartes de tests que l'on peut relier au PC par USB pour récupérer facilement les données (du capteur par ex) pour envisager des tests par PC avant.
    Sinon, on a accès a des cartes pour MSP430 (16bits). Ce serait mieux?
    Y'a pas photo entre MSP et PIC...le premier sans hésiter

  28. #23
    Forhorse

    Re : Comment choisir son composant de logique programmable

    C'est sûr que les PIC c'est pas ce qu'il y a de plus performant, mais faut déjà lui en demander pour le pousser dans ses limites.
    Pour ma part je bosse actuellement sur un projet où, pour la première fois de ma vie, un 16F87x n'est pas assez puissant... je vais devoir passer à un 18F, et encore c'est surtout pour beneficier d'une peripherie plus performante (l'ADC des 16F87x se révele bien trop poussif pour mes besoins)

    Je pense que pour ce genre de projet un PIC peut passer.
    Maintenant pour le côté didactique, il est certainement plus interessant de passer sur quelque chose de plus costaud.

  29. #24
    gwenou22

    Re : Comment choisir son composant de logique programmable

    N'ayant quasi jamais programmé sur µc, commencer par le commencement sur un PIC est peut-être plus intéressant. Puis à l'occasion d'un autre projet, je pourrais découvrir les joies de bêtes un peu plus costaud.
    Les cartes de tests de l'école pour les PIC avec les logiciels qui vont avec sont aussi assez tentantes.

  30. Publicité
  31. #25
    ftorama

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    N'ayant quasi jamais programmé sur µc, commencer par le commencement sur un PIC est peut-être plus intéressant. Puis à l'occasion d'un autre projet, je pourrais découvrir les joies de bêtes un peu plus costaud.
    Les cartes de tests de l'école pour les PIC avec les logiciels qui vont avec sont aussi assez tentantes.
    Le PIC n'est pas un commencement, c'est une famille comme une autre, mais avec des choix technologiques souvent dépassés ou des arguments bidons.

    Il n'y a qu'à voir l'exécution d'une instruction en 4 temps de cycle (ou 2 temps de cycle à partir des 24F) ou les consos au dessus de la concurrence. Ne parlons pas des DsPic qui n'ont en commun avec les DSP que les 3 lettres.

    Bref, utilise une archi moderne ou une archi que tu as le plus de chances de retrouver dans ta vie pro dans quelques années. A ce titre, le MSP430 est largement préférable ou mieux un ARM. Un Cortex-M0 serait parfaitement adapté à votre cas, et ceux-là on va en manger à toutes les sauces ces prochaines années

    Ce ne sont pas 4 leds et 3 boutons sur un PCB qui doivent vous faire choisir une famille.

    Là tu es sur une appli ou la conso va être un facteur primordial. Il n'y a pas à discuter, les PIC sont hors jeu

  32. #26
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Je me suis un peu penché sur des cortex-M0.
    Et je suis arrivé à la famille des NUC100. Ces µc consomme 2,5mA (en 3V à 4MHz), cela est à peine mieux que le PIC18F.

    Avez-vous des conseils d'autre famille d'µc qui utilise des ARM cortex-M0?
    Au niveau des cartes de développement, j'ai vu la LPCXpresso. Y en a-t-il d'autres sympathiques (et peut-être moins cher?). Pour les PIC, il y a une carte de test avec debugger qui récupère les infos de la puce par USB pour ensuite pouvoir les exploité sur le PC (enregistrer et exploiter informatiquement les données qui correspondant à la sortie du capteur par exemple). Est ce que ça existe aussi pour les ARM cortex?

    Merci d'avance.

  33. #27
    ftorama

    Re : Comment choisir son composant de logique programmable

    Citation Envoyé par gwenou22 Voir le message
    Je me suis un peu penché sur des cortex-M0.
    Et je suis arrivé à la famille des NUC100. Ces µc consomme 2,5mA (en 3V à 4MHz), cela est à peine mieux que le PIC18F.
    Sauf que le Cortex-M0 travaille au moins 4 fois plus pour la même conso donc finalement travaille moins et consomme moins.

    Y'a pas que le chiffre de la conso à regarder. Il y a aussi la conso en veille, la puissance de calcul pour cette conso etc. Tu peux avoir un composant qui affiche 1 mA mais si il doit tourner 10 fois plus longtemps que celui à 4mA, il est perdant dans la comparaison.

    Les chiffres que je t'ai donné sont tirés du site de NXP (LPC1111).

    Au niveau des cartes de développement, j'ai vu la LPCXpresso. Y en a-t-il d'autres sympathiques (et peut-être moins cher?). Pour les PIC, il y a une carte de test avec debugger qui récupère les infos de la puce par USB pour ensuite pouvoir les exploité sur le PC (enregistrer et exploiter informatiquement les données qui correspondant à la sortie du capteur par exemple). Est ce que ça existe aussi pour les ARM cortex?

    Merci d'avance.
    Je serais tenté de dire qu'on s'en fo... un peu de l'USB pour ton projet. Les LPC1111 sont équipés d'une interface SWD (Single Wire Debug). Faut voir ce qui est possible avec. Au pire, on peut faire du debug via port série.

  34. #28
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Et au niveau kit de développement. En as-tu un à me conseiller?

  35. #29
    gwenou22

    Re : Comment choisir son composant de logique programmable

    Après discussion avec mon prof, voilà la nouvelle petite bête qu'il me propose.
    Nous travaillerions sur un ARM Cortex-M3 de energy micro. Ce serait le EFM32G840.
    Qu'en pensez-vous?

  36. #30
    ftorama

    Re : Comment choisir son composant de logique programmable

    180µA/MHz en activité sur un Cortex-M3

    J'en prendrai 1000

Sur le même thème :

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. comment choisir son wc suspendu
    Par sayl dans le forum Bricolage et décoration
    Réponses: 1
    Dernier message: 18/02/2010, 22h26
  2. Recherche composant programmable pour logique combinatoire
    Par jorg1n dans le forum Électronique
    Réponses: 18
    Dernier message: 31/08/2009, 11h14
  3. La logique programmable
    Par joe.ldn dans le forum Électronique
    Réponses: 4
    Dernier message: 16/07/2009, 21h06
  4. help comment choisir son processeur
    Par jacky85 dans le forum Matériel - Hardware
    Réponses: 49
    Dernier message: 22/01/2008, 20h28
  5. Comment choisir son télescope?
    Par Pinoch dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 25
    Dernier message: 01/08/2007, 21h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.