Question:
Vous voulez appliquer les connaissances en EE - quel microprocesseur recommanderiez-vous?
O_O
2011-03-30 02:07:12 UTC
view on stackexchange narkive permalink

Voici mon histoire: j'ai obtenu mon diplôme en génie électrique MAIS je n'ai pas beaucoup d'expérience avec les circuits (OMG, non? O_O). La plupart de mon éducation portait sur la théorie de la communication, donc je me sens vraiment incomplète et je veux appliquer mes connaissances quelque part et commencer à faire quelque chose sur un microprocesseur. Ce serait également une bonne compétence à développer pour la main-d'œuvre. Avez-vous des recommandations sur le type de microprocesseur avec lequel je devrais travailler? PIC? Arduino? Autres? Qu'est-ce qui est le plus utilisé sur le marché et à des fins de production? Est-ce que ça importe? J'entends qu'Arduino a une très bonne communauté d'aide, mais j'entends que c'est plus pour les «amateurs»? Est-ce nécessairement une mauvaise chose? Toute idée est très appréciée. Merci !!

Les PIC sont des microcontrôleurs. Voici une bonne [question] (http://electronics.stackexchange.com/questions/1092/whats-the-difference-between-a-microcontroller-and-a-microprocessor) montrant la différence entre les deux.
Je pense qu'Arduino va bien. Plus tard, vous pouvez passer de l'environnement logiciel Arduino à l'AVR nu et à un compilateur C, qui est la façon dont les microcontrôleurs sont utilisés dans l'industrie.
Onze réponses:
user3624
2011-03-30 02:30:58 UTC
view on stackexchange narkive permalink

Hé, bon timing! Cette semaine, j'ai interviewé des étudiants E.E. pour un poste de stagiaire. Voici ce que je peux dire avec une certitude à 100%: les étudiants des grandes écoles, même les juniors travaillant sur leur licence, ont presque ZÉRO de connaissances utiles. Un gars que j'ai interviewé n'a pas pu calculer la valeur d'une résistance de limitation de courant pour une LED. Oui, c'est ce que 30k $ / an vous rapporteront pour une éducation. Le fait est que toute expérience pratique ou connaissance que vous avez vous placera au-dessus de vos camarades de classe lorsqu'il s'agira de décrocher un emploi! Sérieusement, c'est si mauvais là-bas.

OK, passons à votre question. Du point de vue des employeurs, peu importe le uC que vous utilisez. Les chances sont que quoi que vous choisissiez, ce sera faux. Ce qui est plus important, c'est que l'expérience et les connaissances que vous acquérez s'appliqueront à la plupart des uC. Cela étant dit, tenez-vous-en aux plus communs.

Les PIC Microchip sont mes moins préférés. Le matériel est bon, mais écrire des logiciels pour eux est une douleur extrême dans le vous-savez-quoi. Je les ai utilisés dans le passé, et plus jamais. J'ai aussi utilisé le Cypress pSoC 1. C'était bien au début, mais leur logiciel est bogué et la documentation manque beaucoup. Un de mes projets actuels utilise un MSP430, mais il est trop tôt pour dire à quel point cela fonctionne. Les uC basés sur TI ARM sont également bien, mais pourraient être trop pour vous à ce stade précoce.

Question: envisageriez-vous également des étudiants en CS s'ils avaient appliqué certaines connaissances avec les systèmes embarqués (Aka a travaillé avec des circuits / bas niveau C, assemblage / et avait travaillé avec des microcontrôleurs et autres?
Dans ce cas, nous recherchons toute personne ayant des connaissances ou une expérience applicables (Micro, C / Asm, VHDL, soudure, etc.). Peu importe qu'ils soient CS, EE ou qu'ils travaillent sur un programme d'arts libéraux.
Hé, je sais * faire * calculer la résistance de limitation de courant d'une LED! Où dois-je envoyer mon CV?
Je dis aux gens que l'université vous donne une nouvelle boîte à outils avec de nouveaux outils brillants et vous apprend les noms des outils. C'est votre premier vrai travail où vous découvrez les outils dont vous avez vraiment besoin et ceux dont vous n'avez pas, et comment les utiliser vraiment ... Ainsi que tous les outils que vous n'avez jamais appris à l'école.
old_timer
2011-03-30 08:28:53 UTC
view on stackexchange narkive permalink

Le msp430 a un très bon jeu d'instructions. Et vous pouvez actuellement obtenir une carte msp430 pour jouer avec environ cinq dollars. ARM domine le monde des processeurs, personne n'est même proche, presque tout ce que vous utilisez est basé sur le bras. Aussi un bon jeu d'instructions, de nombreuses variantes peuvent être obtenues pour moins de 50 $, allez à sparkfun. le jeu d'instructions de bras réduit est appelé pouce et le jeu d'instructions de pouce étendu est appelé thumb2 et il y a maintenant un noyau qui est uniquement thumb2 (chaque instruction de pouce est mappée une à une avec des instructions de bras, il était donc facile d'insérer simplement l'instruction de bras dans le pipe lorsqu'une instruction de pouce a été trouvée, mais thumb2 a changé pour créer un nouveau noyau). ST, que j'aime plus que LPC et peut-être que les autres micros basés sur le bras, a maintenant une carte de découverte de ligne de valeur pour environ 12 dollars (vous voulez les stm32 à 12 dollars, pas les stm8 à 7 dollars ou tout ce qui est un processeur complètement différent, a un 6502, j'ai acheté les mauvais mais je n'ai pas encore joué avec). Le jeu d'instructions PIC, l'ancien / réel (pas le mips PIC32) est très éducatif, et en fait élégant, mais affreux pour les compilateurs, ne touchera jamais msp430 ou armera dans cette perspective. Microchip et pic étaient l'Atmel AVR (papillon et maintenant Arduino) de son époque, mais ne "comprend pas" vraiment. Atmel «comprend» et ses clients sont très heureux et très fidèles. J'aime beaucoup mes planches de bras sam7. Le jeu d'instructions AVR est affreux, mais cela ne l'a pas empêché d'être incroyablement populaire auprès des amateurs. Cela dépend si vous voulez apprendre à programmer ou si vous n'avez pas à vous en soucier. Si vous ne voulez pas trop vous lancer dans la programmation, l'arduino est probablement votre premier choix. Si vous voulez vous lancer dans la programmation, j'ai quelques émulateurs sur github, un thumbulator, un émulateur de pouce et un msp430. Vous pouvez avoir une idée de ce qui se passe.

Ma recommandation est d'en obtenir quelques-uns, beaucoup d'autres peuvent être obtenus pour moins de 50 dollars. sparkfun.com pour beaucoup d'entre eux, directement de TI pour l'ezusb (le tableau de bord à 5 dollars est moins cher, mais l'ezusb a des cartes supplémentaires, 3 pour 10 $). Aussi directement de TI (ou devez-vous aller à digikey / mouser?) Les planches stellaris, remplies de choses tellement que vous ne pouvez pas vraiment accéder aux E / S sans couper les traces. mais en même temps beaucoup de fiches techniques à lire et à comprendre ainsi que beaucoup plus de schémas à lire et à comprendre. Les planches stellaris sont plus dans la catégorie des sous 100 dollars. le 811 est super facile à bricoler, soyez prudent.

knjn.com a des cartes fpga abordables, pluto je pense. Je pense que tout ce dont vous avez besoin pour cela après que le matériel soit libre (de xilinx ou altera). À un moment donné, altera avait une version modelsim, mais je préfère verilator et icarus verilog. Je voudrais passer plus de temps sur ghdl mais je n'en sais pas assez pour le connecter à un banc de test C. Avec verilator, il est quelque peu trivial de construire un banc de test en C avec lequel vous pouvez écrire du code / des pilotes qui peuvent ensuite parler au matériel ou s'exécuter sur le matériel en fonction de ce que vous faites ... ici encore suppose que vous avez un intérêt en programmation ... Je suis un grand fan de cyclicity-cdl.sf.net, un langage de conception de matériel qui, à mon avis, est bien fait. Il dispose également de son propre environnement de simulation gratuit. Fondamentalement, vous pouvez faire des conceptions logiques pour environ 50 dollars, quel que soit le coût du tableau. Ou si vous ne voulez pas acheter le matériel, vous pouvez faire des tonnes de conceptions avec tous les outils gratuits. gtkwave est votre ami quand il s'agit de regarder les formes d'onde vcd, même avec modelsim maintenant je crée simplement un .vcd et utilise la visionneuse de gtkwave.

J'ai trouvé des choses comme le décodage des télécommandes IR à l'aide d'un récepteur IR (Radio Shack les avait, maintenant digikey ou mouser ou sparkfun), bit banging rs232, i2c, spi, dallas one wire (dallas semi est maintenant maxime). x10, etc. s'il y a un espace de loisirs / hacker où vous pouvez traîner et souder et utiliser un oscilloscope qui serait vraiment utile. Apprendre à lire des protocoles comme ceux-ci et à déboguer votre logique / logiciel avec une portée est très utile (n'utilisez pas le progiciel qui laisse la portée le décoder pour vous, apprenez-le à l'ancienne).

Apprendre à programmer les différents périphériques dans les différents microcontrôleurs (minuteries, pwm, etc.) est très éducatif. écrans lcd et oled, etc. (stellaris ou arduino sont bons pour cela).

le mbed n'est pas une mauvaise plate-forme autre que les douloureuses leds bleues.

lattice a le brevia pour pas beaucoup d'argent et le mico8, je crois, s'intégrera là-dedans et est sous forme source afin que vous puissiez le simuler. Les outils de treillis ne sont pas aussi mauvais que les autres. Donc, vous pouvez obtenir un peu de microcontrôleur et de logique et d'électronique si c'est ce que vous recherchez.

Le principal problème avec Arduino et les amorces ST lxpresso et quelques autres est le fort désir de vous tenir dans leur bac à sable. L'Arduino est facile à effacer et reprogrammer et prendre en charge la carte et abandonner le bac à sable, les deux autres ne le sont pas. ne les achetez pas. Là où cela peut aider ou nuire à ce que vous essayez de faire, c'est qu'en regroupant tous les éléments "durs" dans un package ou une API ou tout ce qui vous le cache. Et si vous souhaitez apprendre ce protocole (spi, i2c, etc.) ou comment agiter les signaux sur un écran LCD pour le faire fonctionner, ou pwm un moteur de manière simple ou difficile. Vous voudrez peut-être ne pas être lié au bac à sable. Dans le même temps, en utilisant le bac à sable Arduino, vous n'avez pas à vous soucier trop de la programmation et pouvez passer plus de temps à câbler l'électronique à la carte et à déboguer ou à jouer avec ces circuits, sans avoir à vous soucier de l'Arduino lui-même.

Il y a des endroits qui vendent 2 ou 3 cartes électroniques pour environ 50 $, et utilisent l'aigle Je pense que c'est un logiciel de mise en page que vous pouvez télécharger et utiliser gratuitement. Cela vaut probablement la peine de télécharger et d'essayer de faire des mises en page même si vous n'êtes pas prêt à acheter des tableaux ou même si vous avez une idée de quelque chose que vous voulez construire.

Certes, vous avez peut-être encore un budget universitaire, et je comprends cela, mais je dirais d'essayer autant de ces différentes plates-formes que vous pouvez mettre la main sur. Vous avez probablement plus de temps que d'argent en ce moment, vous pouvez donc certainement utiliser un logiciel gratuit qui simule une grande partie de ce genre de choses, vous pouvez également rechercher les fiches techniques et les schémas et les outils logiciels et matériels pour les différentes cartes avant d'appuyer sur la gâchette pour acheter.

La véritable éducation que vous devez savoir ici est la lecture de fiches techniques et de schémas. Et vous ne voulez pas lire uniquement les fiches techniques d'un seul fournisseur, certaines sont bonnes, d'autres sont horribles, et dans le monde réel avec un vrai travail dans ce domaine, vous devez faire face aux bons et aux mauvais. Les autres compétences sont le soudage et l'utilisation de l'oscilloscope, le soudage que vous pouvez vous permettre (enfin un bon fer à repasser, probablement pas encore), une lunette, le genre que vous utiliseriez vraiment dans un travail, pas abordable. Lorsque vous obtenez ce premier emploi, obtenez autant de temps que possible. Regardez comment les autres ingénieurs l'utilisent car ils ont tous leur propre façon de naviguer dans les menus et les fonctionnalités. Le débogage est essentiel à votre carrière. Si vous vous penchez vers la logique, passez quelques heures sur les outils xilinx et altera ainsi que sur les autres que j'ai mentionnés et soyez vraiment à l'aise en regardant les formes d'onde sur modelsim ou gtkwave. Les outils payants sont tous horribles, les pires logiciels que vous puissiez imaginer et, pour une raison quelconque, coûtent des dizaines de milliers. (et le logiciel empire chaque année / version). Mais cette douleur est la clé de ce cheminement de carrière, «connaissez vos outils».

Je suis désolé, mais: TL; DR.
Kellenjb
2011-03-30 02:18:59 UTC
view on stackexchange narkive permalink

Chaque microcontrôleur a son domaine où il est vraiment capable de bien prospérer. Par exemple, le MSP430 est très bon pour une faible puissance. Si vous voulez vraiment vous préparer à toutes les industries, vous devez apprendre tout ce que vous pouvez obtenir et donc, lorsque vous rencontrez une situation que vous rencontrez, vous connaissez le meilleur microcontrôleur à utiliser.

Les Ardunios sont pas des microcontrôleurs, ils sont essentiellement une carte de développement construite autour d'Atmel AVR comme microcontrôleur. Les Ardunios sont très axés sur les amateurs, ce qui n'est pas une mauvaise chose pour commencer, mais vous devrez en savoir plus sur l'Atmel qui est utilisé si vous voulez faire quelque chose avec eux dans l'industrie.

Et si vous avez une tâche spécifique à laquelle vous souhaitez vous attaquer, créez une nouvelle question indiquant ce que vous voulez faire et nous pouvons vous aider à déterminer ce que vous devez rechercher dans le meilleur microcontrôleur.
+1 pour Atmel AVR. Ils sont utilisés pour l'enseignement dans de nombreuses universités.
@Polemon, tout comme les PIC et les MSP430.
@Kellenjb Je ne connais pas les PIC et les MSP430 dans les universités. La mienne utilisait des AVR Atmel sans carte de prototypage, juste des planches à pain. J'utilise le MSP430 à la maison pour jouer avec. Cependant, je n'ai jamais utilisé de PIC.
@Polemon Je dis qu'ils sont utilisés. J'ai enseigné dans une université qui avait des PIC à leur base et travaillais sur du matériel de formation pour les MSP430
@Kellenjb: ¯ \\ (° _o) / ¯
@polemon - Excellent commentaire. Devra se rappeler celui-là.
some.hacker
2011-03-30 02:29:25 UTC
view on stackexchange narkive permalink

J'ai programmé sur Atmel, PIT, microchip et TI, et personnellement, j'aime bien l'IDE de TI. Ils ont déployé beaucoup d'efforts pour rendre leurs microcontrôleurs aussi faciles à utiliser que possible. Sans oublier que leur documentation et leurs tutoriels sont bien au-dessus de la moyenne. Essayez de vous procurer un kit de développement MSP430. C'est un microcontrôleur avec une quantité décente de mémoire et de puissance de traitement, il dispose de convertisseurs A / N et N / A multicanaux et est même livré avec un émetteur-récepteur 2,4 GHz intégré pour expérimenter les réseaux sans fil. Le kit de développement est livré avec 2 modules MSP430, un programmeur USB et une batterie, et c'est moins de 100 $.

Je vais devoir regarder ça!
Toby Jaffey
2011-03-30 02:31:18 UTC
view on stackexchange narkive permalink

Vous devez utiliser le bon microcontrôleur / microprocesseur pour la tâche à accomplir.

Choisissez un projet, puis choisissez votre processeur.

Leon Heller
2011-03-30 02:20:04 UTC
view on stackexchange narkive permalink

Microchip est le leader du marché des microcontrôleurs 8 bits, vous ne vous tromperez donc pas si vous apprenez sur eux. Les appareils ARM Cortex remplacent les appareils 16 bits et 8 bits dans de nombreuses applications, il sera donc également utile de les connaître.

russ_hensel
2011-03-30 21:02:55 UTC
view on stackexchange narkive permalink

Je dirais fermement que vous devriez commencer votre expérience en C, pas en Assembler. Il présente de nombreux avantages, parmi lesquels il est beaucoup plus facile de transformer votre expérience en un nouveau processeur. Si vous choisissez Assembler, vous devriez avoir une bonne raison de supporter la douleur supplémentaire (dans certains cas, cela peut être raisonnable).

Vous devriez pouvoir mettre la main sur des outils logiciels gratuits pour démarrer, sinon passer à un autre processeur. Il est difficile de voir comment vous pourriez vous tromper en commençant par un Arduino et utiliser cette expérience pour envisager d'autres environnements.

terrace
2011-03-30 21:51:30 UTC
view on stackexchange narkive permalink

Je recommanderais de commencer avec Arduino, de faire quelques projets, puis de vous apprendre à programmer l'AVR ATMega. Les deux raisons d'utiliser AVR sont:

  1. énorme réseau de support en ligne entre AVR Freaks, les forums Arduino, les forums SparkFun et les forums Adafruit
  2. Chaîne d'outils gratuite et open source (contrairement à PIC AFAIK)

J'ai un bon appareil à obtenir est le Bus Pirate, qui fonctionne comme un programmeur FAI pour les puces AVR + fait beaucoup d'autres choses: http://dangerousprototypes.com / bus-pirate-manual /

Un excellent premier projet est de construire un tableau LED. Commencez avec un prototype Arduino, puis refaites-le avec une puce AVR ATtiny (de nombreux tutoriels sont disponibles).

Phil Frost
2013-01-10 01:19:36 UTC
view on stackexchange narkive permalink

Si vous voulez quelque chose de bien supporté par des outils gratuits (comme dans la liberté), la ligne AVR d'Atmel est probablement la voie à suivre. Un environnement de développement de travail est fourni dans toutes les distributions Linux majeures, les packages Mac OS sont facilement disponibles, et je parie que les packages Windows le sont également.

Je vous conseille de rester à l'écart d'Arduino. C'est une plate-forme conçue pour plaire au programmeur informatique amateur qui veut faire clignoter les LED, pas aux ingénieurs en herbe. Les bibliothèques de logiciels et les outils de développement vous empêcheront d'apprendre quoi que ce soit (sauf peut-être comment faire fonctionner une JVM sous Linux ... amusez-vous!) Et vous apprendront probablement quelques mauvaises habitudes dans le processus. C'est aussi très cher. C'est un peu plus qu'un AVR avec le circuit de référence dans la fiche technique, un programmeur USB attaché en permanence et une paire d'en-têtes pour les modules «blindés» qui, pour une raison quelconque, ne sont pas montés à un intervalle de 100 mil, vous ne pouvez donc pas vous connecter à une maquette. Bien sûr, vous pouvez acheter un bouclier de planche à pain, et c'est cher. Procurez-vous un programmeur AVR USB réutilisable pour le prix d'un Arduino et achetez plutôt un ATMega à 1 $.

Johan
2011-03-30 02:23:10 UTC
view on stackexchange narkive permalink

Sélectionnez un microcontrôleur commun et utilisez-le pour un projet.

Il y a beaucoup de choses sur ce sujet sur ce forum, je pense que je recommanderais le avr: s.

  • pic
  • avr
  • bras
John U
2013-01-09 23:01:33 UTC
view on stackexchange narkive permalink

Si vous voulez apprendre quelque chose d'utile sur le plan commercial, je ne me soucierais pas d'Arduino ou même de PIC (bien que les PIC apparaissent pour des travaux simples dans des appareils commerciaux). Le monde de nos jours fonctionne sur ARM, de la télécommande de votre téléviseur à votre téléphone intelligent.

Quoi que vous fassiez, je commencerais par quelque chose que vous pouvez coder en C - oui, il y a d'autres langues, mais C est toujours universellement populaire. & vous tiendra en bonne place.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...