Inicialmente se obtuvo una licenciatura en ingeniería eléctrica grado, y comenzó a diseñar los circuitos de lógica fuera de la escuela. Después de un par de años, me di cuenta de que la mayoría de lo que estaba haciendo se puede hacer uso de los microprocesadores (esto fue en la década de 1970, cuando los primeros acaba de llegar en el mercado). Así que me fui de nuevo y consiguió un grado MSC. Desde entonces he aprovechado la combinación de los dos en una exitosa carrera de hardware embebido de diseño y programación.
Sin un entrenamiento formal, es bastante duro para recoger suficiente conocimiento de electrónica para el diseño de circuitos complejos desde el principio; desde mi experiencia siempre parece más fácil enseñar a un EE del programa de enseñar a un CS importantes para el diseño de hardware.
Dicho esto, probablemente, usted puede aprender lo suficiente en su cuenta para entender los esquemas de desarrollo de tableros, etc., al menos el digital porciones. Los circuitos analógicos (op-amps, amplificadores, fuentes de alimentación, etc.) es más un arte negro, especialmente de alta frecuencia de RF (radio frecuencia) de los circuitos. Hay un montón de matemáticas involucradas; por ejemplo, echa un vistazo a estas ecuaciones para los diversos tipos de filtros. Esto está muy lejos de la lógica digital, donde se trabaja con el álgebra Booleana y cosas como mapas de Karnaugh. Ya no vas a ser el diseño de circuitos, usted sólo necesita una comprensión básica de puertas lógicas (and, or, NAND, NOR, XOR y not). Puede que también desee aprender acerca de los flip-flops (que se utiliza para hacer los registros), los multiplexores y de los multiplexores. Estos bloques de construcción, junto con la memoria, la conforman las entrañas de un microcontrolador.
Un libro que recomiendo para empezar es "Prácticas de Electrónica para los Inventores"; olvida los Inventores ángulo, simplemente claramente un buen libro básico sobre el tema. (Otro libro menciona a menudo es "El Arte de la Electrónica", pero cuesta cuatro veces más ($90 vs $22), y es un poco más teórico.
Otro libro usted puede mirar en es "Código: El Lenguaje Oculto de Hardware y Software", por Charles Petzold, que era una leyenda en Microsoft. Es bastante básico, pero hace un buen trabajo de mostrar cómo el software y el hardware trabajen juntos.
En términos de herramientas, usted va a querer obtener al menos una decente multímetro, que puede medir el voltaje, la corriente, la resistencia, y tal vez de la capacitancia. Una de las satisfacciones primeros pasos en la programación embebida es ser capaz de parpadear un LED usando uno de los pines de un microcontrolador. Este es esencialmente el "Hola Mundo" de los incrustado mundo. Usted encontrará docenas, si no cientos de posts en este foro vuelva a esta actividad.
Finalmente, si usted quiere tomar en serio a hurgar en los circuitos, usted querrá obtener un osciloscopio digital, tal vez 60 o 100 MHz.
Como alguien dijo, una de las habilidades que usted querrá dominar es la lectura de las hojas de datos para las diversas partes en un PCB (placa de circuito impreso); no sólo el microcontrolador sino también de diversos periféricos, como los sensores, pantallas Lcd, módems (utilizado para celular, Bluetooth y otras comunicaciones), etc.
Como usted ya ha trabajado con un Arduino, te sugiero que te paso por encima de los 8-bits del procesador mundo a una de 32-bits. Usted querrá elegir un determinado microprocesador de la familia y, a continuación, obtener una tarjeta de desarrollo para ir con ella. Yo voy a sugerir un ARM Cortex-M7 procesador: el STM32F746NGH6. Es un procesador RISC, como AVR32 y MIPS, corriendo a 216 MHz. El que tiene el procesador de 1 MB de Flash, 340K de RAM, y todos los habituales interfaces en serie (I2C, SPI, UART, USB), además de hasta 18 temporizadores. Usted puede o no se han encontrado algunos de estos periféricos en el Arduino. Usted encontrará que todo el hardware de interconexión que se hace por escrito dedicados registra en el chip proporciona para cada periférico. La explicación de todo esto es lo que hace que las hojas de datos tanto tiempo (220 páginas para este chip en particular). Usted, evidentemente, puede ignorar algunas de las más complicadas como DMA y DSP hasta más tarde.
Hay una muy buena placa de evaluación disponibles para $50. It has a 4.3" touch screen LCD, 8 MB of additional RAM and lots of other goodies. In any case, you want to stay away from single board computers (SBCs) like the Raspberry Pi and Beaglebone Black; they are very capable and also inexpensive (you can get a Raspberry Pi for a little as $20). Sin embargo, en general, ejecutar Linux, y es mucho más difícil de conseguir "el metal" en esas, porque usted tiene que tratar con los controladores de dispositivo de ajuste en el Linux del modelo.
Yo sugiero que pruebe a escribir programas en lenguaje ensamblador, además de C, ya que sin duda le dará una mejor idea de lo que está pasando bajo el capó. Además es divertido. El libro "ARM7 a programar en Lenguaje ensamblador:+ de 100 ejemplos" sólo está disponible como un libro electrónico (Kindle), pero se puede descargar un lector Kindle para su PC, si usted no es dueño de un Kindle.
Si solo un programa en C (o en algún otro lenguaje de alto nivel como C++, pero la gran mayoría de firmware para microcontroladores en C), usted no verá ninguna referencias a los registros del procesador. Usted necesita cualquier programa en la asamblea, o tengan un desensamblador disponibles donde se puede ver el código de la máquina el compilador genera para usted.
Además, el libro "Diseño Digital y Arquitectura de computadores: BRAZO Edición" se ve muy interesante, ya que abarca tanto el diseño de hardware y arquitectura de ARM. Así que usted puede ser capaz de utilizar como su inicial hardware introducción. (Puede hacer clic en "Mira dentro" de un de estos libros para ver la Tabla de Contenido y páginas de muestra.)