¿Quiere aplicar el conocimiento de EE? ¿Qué microprocesador recomendaría?

Aquí está mi historia: obtuve mi título de ingeniero eléctrico PERO no tengo mucha experiencia con circuitos (OMG, ¿verdad? O_O). La mayor parte de mi educación fue sobre la teoría de la comunicación, por lo que realmente me siento incompleto y quiero aplicar mi conocimiento en algún lugar y empezar a hacer algo en un microprocesador. También sería una buena habilidad para desarrollar para la fuerza laboral. ¿Tienen alguna recomendación sobre con qué tipo de microprocesador debería trabajar? ¿FOTO? ¿arduino? ¿Otros? ¿Qué es lo que más se utiliza en el mercado y con fines productivos? ¿Importa? Escuché que Arduino tiene una muy buena comunidad de ayuda, pero escuché que es más para "aficionados". ¿Es eso necesariamente algo malo? Cualquier idea es muy apreciada. ¡¡Gracias!!

Los PIC son microcontroladores. Aquí hay una buena pregunta que muestra la diferencia entre los dos.
Creo que Arduino está bien. Más tarde, puede pasar del entorno de software Arduino al AVR simple y un compilador C, que es la forma en que se utilizan los microcontroladores en la industria.

Respuestas (11)

¡Oye, gran momento! Esta semana he estado entrevistando a estudiantes de EE para un puesto de pasante. Esto es lo que puedo decir con 100% de certeza: los estudiantes de las grandes escuelas, incluso los jóvenes que trabajan en su licenciatura, tienen casi CERO conocimiento útil. Un tipo al que entrevisté no podía calcular el valor de una resistencia limitadora de corriente para un LED. Sí, eso es lo que obtendrás con $30k/año para una educación. ¡El punto es que cualquier experiencia práctica o conocimiento que tengas te pondrá por encima de tus compañeros de clase cuando se trata de conseguir un trabajo! En serio, es tan malo por ahí.

Bien, a tu pregunta. Desde la perspectiva de los empleadores, no importa qué uC use. Lo más probable es que elijas lo que elijas, estará mal. Lo que es más importante es que la experiencia y el conocimiento que obtenga se aplicarán a la mayoría de las UC. Dicho esto, apégate a los comunes.

Los PIC de Microchip son mis menos favoritos. El hardware está bien, pero escribir software para ellos es un gran dolor de cabeza. Los he usado en el pasado, y nunca más. También he usado Cypress pSoC 1. Fue agradable al principio, pero su software tiene errores y falta mucha documentación. Un proyecto mío actual usa un MSP430, pero es demasiado pronto para decir qué tan bien funciona. Los uC basados ​​en TI ARM también son buenos, pero pueden ser demasiado para usted en esta etapa inicial.

Pregunta: ¿También consideraría a los estudiantes de informática si hubieran aplicado algún conocimiento con sistemas integrados (es decir, trabajaron con circuitos/C de bajo nivel, ensamblaje/y trabajaron con microcontroladores y demás?
En este caso buscamos a cualquier persona con conocimiento o experiencia aplicable (Micro's, C/Asm, VHDL, soldadura, etc). No importa si son CS, EE o están trabajando en algún programa de artes liberales.
¡Oye, sé cómo calcular la resistencia limitadora de corriente de un LED! ¿Dónde envío mi currículum?
Les digo a las personas que la universidad les da una nueva caja de herramientas con herramientas nuevas y brillantes y les enseña los nombres de las herramientas. Es tu primer trabajo real en el que descubres qué herramientas realmente necesitas y cuáles no, y descubres cómo usarlas realmente... Además de todas las herramientas que nunca aprendiste en la escuela.

El msp430 tiene un conjunto de instrucciones muy bueno. Y actualmente puedes conseguir una placa msp430 para jugar por unos cinco dólares. ARM domina el mundo de los procesadores, nadie está ni cerca, casi todo lo que usa está basado en el brazo. También es un buen conjunto de instrucciones, se pueden obtener muchas variaciones por menos de $ 50, vaya a sparkfun. el conjunto de instrucciones de brazo reducido se llama pulgar y el conjunto de instrucciones de pulgar expandido se llama pulgar 2 y ahora hay un núcleo que es solo pulgar 2 (cada instrucción de pulgar se asigna uno a uno con las instrucciones de brazo, por lo que fue fácil simplemente insertar la instrucción de brazo en el pipe cuando se encontró una instrucción de pulgar, pero thumb2 cambió que hicieron un nuevo núcleo). ST, que me gusta más que LPC y quizás los otros micros basados ​​en brazo, ahora tiene una placa de descubrimiento de línea de valor por alrededor de 12 dólares (quieres el stm32s de 12 dólares, no el stm8s de 7 dólares o lo que sea, es un procesador completamente diferente, tiene una sensación de 6502, compré los incorrectos pero aún no he jugado con él) . El conjunto de instrucciones PIC, el antiguo/real (no el mips PIC32) es muy educativo y realmente elegante, pero terrible para los compiladores, nunca tocará msp430 o arm desde esa perspectiva. Microchip and pic era el Atmel AVR (mariposa y ahora Arduino) de su época, pero realmente no "lo entiende". Atmel "lo entiende" y sus clientes están muy contentos y leales. Me gustan mis tableros de brazo sam7, bastante. El conjunto de instrucciones AVR es terrible, pero eso no ha impedido que sea increíblemente popular entre los aficionados. Depende de si quieres aprender a programar o no tener que preocuparte por ello. Si no quieres dedicarte mucho a la programación, el arduino es probablemente tu primera opción. Si desea iniciarse en la programación, tengo un par de emuladores en github, thumbulator, un emulador de pulgar y un msp430. Puedes tener una idea de lo que está pasando.

Mi recomendación es obtener algunos, se pueden obtener muchos diferentes por menos de 50 dólares. sparkfun.com para muchos de ellos, directamente de TI para el ezusb (la plataforma de lanzamiento de 5 dólares es más barata, pero el ezusb tiene placas adicionales, 3 por $10). También directamente desde TI (¿o tienes que ir a digikey/mouse?) las placas stellaris, repletas de cosas que realmente no puedes llegar a la E/S sin cortar rastros. pero al mismo tiempo, muchas hojas de datos para leer y comprender, así como muchos más esquemas para leer y comprender. Las placas stellaris están más en la categoría de menos de 100 dólares. el 811 es muy fácil de construir, tenga cuidado.

knjn.com tiene algunas placas fpga asequibles, creo que plutón. Creo que todo lo que necesitas para eso después del hardware es gratis (de xilinx o altera). En un momento, altera tenía una versión de modelsim, pero prefiero verilator e icarus verilog. Me gustaría dedicar más tiempo a ghdl, pero no sé lo suficiente como para conectarlo a un banco de pruebas C. Con verilator es algo trivial construir un banco de pruebas usando C con el que puede escribir código/controladores que luego pueden hablar con el hardware o ejecutarse en el hardware dependiendo de lo que esté haciendo... aquí nuevamente se supone que tiene algún interés en programación ...Soy un gran admirador de ciclicity-cdl.sf.net, un lenguaje de diseño de hardware que siento que Verilog está bien hecho. También tiene su propio entorno de simulación gratuito. Básicamente, puede hacer diseños lógicos por $ 50 dólares más o menos, sin importar el costo de la placa. O si no quiere comprar el hardware, puede hacer toneladas de diseños con todas las herramientas gratuitas. gtkwave es su amigo cuando se trata de mirar las formas de onda de vcd, incluso con modelsim ahora simplemente creo un .vcd y uso el visor de gtkwave.

Encontré cosas como decodificar controles remotos IR usando un receptor IR (Radio Shack solía tenerlos, ahora digikey o mouser o sparkfun), golpeando bits rs232, i2c, spi, dallas one wire (dallas semi ahora es maxim). x10, etc. si hay un espacio de hobby/hacker donde puedas pasar el rato y soldar y usar un osciloscopio que sería realmente útil. Aprender a leer protocolos como estos y depurar su lógica/software con un osciloscopio es muy útil (no use el paquete de software que permite que el osciloscopio lo decodifique por usted, aprenda a la antigua).

Aprender a programar los diversos periféricos en los diversos microcontroladores (temporizadores, pwm, etc.) es muy educativo. pantallas lcd y oled, etc. (stellaris o arduino son buenos para esto).

el mbed no es una mala plataforma aparte de los dolorosos leds azules.

Lattice tiene el brevia por poco dinero y creo que el mico8 encajará allí y está en forma de fuente para que pueda simularlo. Las herramientas de celosía no son tan malas como las demás. Entonces puede obtener un pequeño microcontrolador y lógica y electrónica si eso es lo que busca.

El problema principal con Arduino y los cebadores ST lxpresso y algunos otros es el fuerte deseo de mantenerte en su caja de arena. El Arduino es fácil de borrar y reprogramar y tomar el control del tablero y abandonar la caja de arena, los otros dos no lo son. no los compre Donde esto puede ayudar o perjudicar lo que está tratando de hacer es envolver todas las cosas "duras" en un paquete o API o lo que sea que básicamente lo oculte. Y si está interesado en aprender este protocolo (spi, i2c, etc.) o cómo mover las señales en un LCD para que funcione, o pwm un motor de la manera fácil o difícil. Es posible que desee no estar atado a la caja de arena. Al mismo tiempo, al usar el sandbox de Arduino, no tiene que dedicarse demasiado al lado de la programación y puede pasar más tiempo conectando la electrónica a la placa y depurando o jugando con esos circuitos.

Hay lugares que venden 2 o 3 tableros por $ 50, y usan el águila, creo que es un software de diseño que puede descargar y usar de forma gratuita. Probablemente valga la pena descargarlo e intentar hacer algunos diseños, incluso si no está listo para comprar ningún tablero o incluso si tiene una idea de algo que desea construir.

De acuerdo, es posible que aún tenga un presupuesto universitario, y lo entiendo, pero diría que pruebe tantas de estas plataformas diferentes como pueda. Probablemente tenga más tiempo que dinero en este momento, por lo que ciertamente puede optar por un software gratuito que simula gran parte de estas cosas, también puede investigar las hojas de datos y los esquemas y las herramientas de software y hardware para las diversas placas antes de apretar el gatillo para comprar.

La verdadera educación que necesita saber aquí es leer hojas de datos y esquemas. Y no desea leer solo las hojas de datos de un proveedor, algunas son buenas, otras son horribles, y en el mundo real, con un trabajo real en esta área, tiene que lidiar con lo bueno y lo malo. Las otras habilidades son soldar y usar el osciloscopio, soldadura que pueda pagar (bueno, una buena plancha, probablemente todavía no), un osciloscopio, del tipo que realmente usaría en un trabajo, no asequible. Cuando obtenga ese primer trabajo, obtenga tanto tiempo de alcance como pueda. Observe cómo lo usan otros ingenieros, ya que todos tienen su propia forma de navegar por los menús y las funciones. La depuración es fundamental para su carrera. Si te inclinas por la lógica, dedica algunas horas a las herramientas xilinx y altera, así como a las otras que mencioné, y siéntete realmente cómodo mirando formas de onda en modelsim o gtkwave. Las herramientas de pago son horribles, el peor software que puedas imaginar y, por alguna razón, cuestan decenas de miles. (y el software empeora cada año/versión). Pero ese dolor es la clave de ese camino profesional, "conoce tus herramientas".

Lo siento, pero: TL;DR.

Cada microcontrolador tiene su ámbito en el que realmente puede prosperar bien. Por ejemplo, el MSP430 es muy bueno para bajo consumo. Si realmente desea prepararse para toda la industria, necesitaría aprender todo lo que pueda tener en sus manos y, por lo tanto, cuando tenga una situación en la que se encuentre, sabrá cuál es el mejor microcontrolador para usar.

Los ardunios no son microcontroladores, son esencialmente una placa de desarrollo construida alrededor de Atmel AVR como su microcontrolador. Los ardunios están muy orientados a los aficionados, lo que no es malo para empezar, pero deberá aprender más en profundidad sobre el Atmel que se está utilizando si desea hacer algo con ellos en la industria.

Y si tiene una tarea específica que le gustaría abordar, cree una nueva pregunta que indique qué es lo que quiere hacer y podemos ayudarlo a determinar qué necesita buscar en el mejor microcontrolador.
+1 para Atmel AVR. Se utilizan para la enseñanza en muchas universidades.
@Polemon y también lo son los PIC y los MSP430.
@Kellenjb No sé sobre PIC y MSP430 en universidades. El mío usaba Atmel AVR sin tablero de prototipos, solo tableros. Uso MSP430 en casa para jugar con él. Sin embargo, nunca usé PIC.
@Polemon, digo que se usan. Enseñé en una universidad que tenía PIC en su núcleo y estaba trabajando en material de capacitación para MSP430
@Kellenjb: ¯\(°_o)/¯
@polemon - Excelente comentario. Habrá que recordar ese.

Debe usar el microcontrolador/microprocesador correcto para la tarea en cuestión.

Elija un proyecto, luego elija su procesador.

He programado en Atmel, PIT, microchip y TI, y personalmente me gusta más el IDE de TI. Se han esforzado mucho en hacer que sus microcontroladores sean lo más fáciles de usar posible. Sin mencionar que su documentación y tutoriales están muy por encima de la media. Intente obtener un kit de desarrollo MSP430. Es un microcontrolador con una cantidad decente de memoria y potencia de procesamiento, tiene convertidores A/D y D/A multicanal, e incluso viene con un transceptor integrado de 2,4 GHz para experimentar con redes inalámbricas. El kit de desarrollo viene con 2 módulos MSP430, un programador USB y un paquete de baterías, y cuesta menos de $100.

Voy a tener que investigar esto!

Microchip es el líder del mercado en MCU de 8 bits, por lo que no se equivocará si aprende sobre ellos. Los dispositivos ARM Cortex están reemplazando a los dispositivos de 16 y 8 bits en muchas aplicaciones, por lo que también será útil familiarizarse con ellos.

Recomendaría comenzar con Arduino, hacer algunos proyectos y luego aprender a programar el AVR ATMega. Las dos razones para usar AVR son:

  1. enorme red de soporte en línea entre AVR Freaks, foros de Arduino, foros de SparkFun y foros de Adafruit
  2. Cadena de herramientas gratuita y de código abierto (a diferencia de PIC AFAIK)

Un buen dispositivo para obtener es el Bus Pirate, que funciona como un programador ISP para chips AVR y hace muchas otras cosas: http://dangerousprototypes.com/bus-pirate-manual/

Un gran primer proyecto es construir una matriz de LED. Comience con un prototipo de Arduino, luego vuelva a hacerlo con un chip AVR ATtiny (muchos tutoriales disponibles).

Yo diría firmemente que deberías comenzar tu experiencia en C, no en Assembler. Tiene muchas ventajas, entre ellas que es mucho más fácil llevar tu experiencia a un nuevo procesador. Si elige Ensamblador, debe tener una buena razón para asumir el dolor adicional (en algunos casos puede ser razonable).

Debería poder obtener herramientas de software gratuitas para comenzar, si no cambiarse a un procesador diferente. Es difícil ver cómo podría salir mal al comenzar con un Arduino y usar esa experiencia para considerar otros entornos.

Si desea algo bien respaldado por herramientas gratuitas (como en libertad), la línea AVR de Atmel es probablemente el camino a seguir. Se empaqueta un entorno de desarrollo de trabajo en todas las principales distribuciones de Linux, los paquetes de Mac OS están fácilmente disponibles y apuesto a que los paquetes de Windows también lo están.

Te aconsejo que te mantengas alejado de Arduino. Es una plataforma diseñada para atraer al programador de computadoras aficionado que quiere hacer que los LED parpadeen, no a los aspirantes a ingenieros. Las bibliotecas de software y las herramientas de desarrollo lo protegerán de aprender cualquier cosa (excepto posiblemente cómo hacer que una JVM funcione en Linux... ¡diviértase!) y probablemente le enseñen algunos malos hábitos en el proceso. También es muy caro. Es poco más que un AVR con el circuito de referencia en la hoja de datos, un programador USB conectado de forma permanente y un par de encabezados para módulos de "protección" que, por alguna razón, no están montados en un intervalo de 100 mil, por lo que no se puede conectar a una placa de prueba. Por supuesto, hay un protector de placa de pruebas que puedes comprar, y es caro.

Seleccione un microcontrolador común y utilícelo para un proyecto.

Hay mucho sobre este tema en este foro, creo que recomendaría el avr:s.

  • Foto
  • Avr
  • brazo

Si desea aprender algo comercialmente útil, no me molestaría con Arduino o incluso con PIC (aunque PIC surge para trabajos simples en dispositivos comerciales). El mundo en estos días funciona con ARM, todo, desde el control remoto de su televisor hasta su teléfono inteligente.

Hagas lo que hagas, empezaría con algo que puedas codificar en C; sí, hay otros lenguajes, pero C sigue siendo universalmente popular y te resultará muy útil.