¿Qué microcontroladores puedo comprar para aprender tal comunicación USART, UART, RS232, USB, SPI, I2C, TTL? [cerrado]

Tengo un gran interés en aprender sobre comunicación USART, UART, RS232, USB, SPI, I2C, TTL. Encuentro algunas explicaciones detalladas sobre las comunicaciones anteriores en este enlace

Y quiero tener una comprensión profunda de eso aprendiendo usando un microcontrolador. Hay muchos tipos de microcontroladores hoy en día. Y estoy muy confundido sobre cuál debo elegir para aprender eso, ya que soy un novato en microcontrolador.

Pero encuentro este enlace y creo que este kit de inicio de arduino sería suficiente para aprender sobre las comunicaciones del protocolo. ¿Tengo razón? hay alguno mas barato? Si no es así, por favor recomiéndame el correcto.

Además, ¿hay alguna buena referencia para aprender las comunicaciones de los protocolos anteriores?

Gracias antes de antemano.

Para todos, excepto USB, Arduino debería estar bien y Google como recurso de aprendizaje. USB es significativamente más complicado.
@ pjc50: ¿quizás USB sea la próxima etapa de aprendizaje?
Un problema con una pregunta como esta es que podría preguntarle a 10 personas y obtener 10 respuestas diferentes (válidas). Lo anterior parece estar bien para empezar, pero una cosa obvia es que no tiene ningún dispositivo con el que hablar. Probablemente desee un adaptador TTL a RS232 y algunos dispositivos SPI/I2C como memoria/sensores de temperatura/lo que suene interesante. Probablemente valga la pena pensar en algunos proyectos del "mundo real" que pueda encontrar interesantes y ver qué partes serían útiles.
El PIC 18F2550 tiene todo lo que pediste.
Hilo sobre cómo elegir la plataforma de microcontrolador (μC). Todos los buses de comunicación mencionados en el OP están disponibles en muchos μC. Muchos para elegir. Si desea obtener una comprensión profunda, manténgase alejado de Arduino.

Respuestas (2)

Siento que el problema que está experimentando es que no está seguro de por dónde empezar y necesita ayuda para realizar la investigación necesaria para que pueda aprender por sí mismo estos protocolos que ha enumerado.

Para mí, parece que hay tres pasos para comprender bien un protocolo relativamente simple (simple en relación con protocolos como Bluetooth) e implementarlo en MCU. Voy a ser genérico aquí, pero intentaré señalarle algunas buenas direcciones lo mejor que pueda para que pueda comenzar su propia investigación.

1: Aprende el Protocolo

Lea sobre el protocolo en un nivel inferior; qué señales están involucradas, la lógica, los requisitos de tiempo, cómo se transfieren los datos, etc. Por ejemplo, este parece ser un gran artículo sobre cómo aprender cómo funciona UART en un nivel bajo:

Tutorial UART de Cytron .

Encuentre artículos como este para todos los protocolos y comprenda realmente lo que sucede en los pines de una MCU.

2: Hojas de datos de investigación sobre MCU

Encuentre una MCU que admita este protocolo y lea la hoja de datos. Digikey es una gran herramienta para encontrar MCU y las hojas de datos asociadas con ellos. Por ejemplo (yo mismo soy una persona AVR), elegiré el omnipresente ATmega328p. La búsqueda de esto en Digikey produce los diversos paquetes para este chip. Elegiré DIP ( ATmega328p DIP ).

Aquí puede abrir la hoja de datos de la MCU. En la sección 20, la hoja de datos analiza su USART HW (puede configurarlo para que se comporte de forma asincrónica para convertirse en UART simple). Aquí es donde tendrá que tomarse su tiempo e investigar cómo establecer los distintos registros para configurar el UART y cómo conectarse al HW en general.

Mire el diseño HW del propio protocolo:

ingrese la descripción de la imagen aquí

Las piezas de HW en negrita, por ejemplo, UBRRn, UDRn, UCSRnA, UCSRnB y UCSRnC, son registros con los que se interconecta para usar el USART HW. Por ejemplo, puede utilizar el registro UCSRnC para controlar si el USART funciona de forma síncrona o asíncrona.

3: realmente implementarlo

¡Tome la MCU de su elección, construya un circuito de suministro de energía y utilícelo! O, mucho más conveniente, interactúe con los registros usted mismo con Arduino; Por cierto, Arduino en realidad usa el ATmega328p. Usar Arduino listo para usar con sus funciones de alto nivel no le enseñará el protocolo involucrado. Pero en realidad, al jugar con los registros en el nivel inferior, realmente comenzará a comprender los matices y las complejidades involucradas.

Sí, es mucho trabajo, pero es gratificante; también te enseña habilidades invaluables en el camino que son útiles en EE.

TL; DR: Leer mucho

Toda la suerte.

es una pena que esto este cerrado, creo que el OP estaba donde yo estaba hace un rato. Verá que hay documentos y diagramas, etc., pero necesita hardware real y algo específico de hardware + tutorial que uno pueda seguir. La última opción, ahora estoy explorando minix3 y viendo cómo está escrito su soporte para estos protocolos, ya que minix3 no es muy grande. en general, hay un gran cambio de modelo mental para (como yo) un programador para pasar a escribir código para algunas cosas reales
una forma excelente sería algo para arduino o raspberry pi y una guía que le ayude a escribir un controlador SPI simple... hasta ahora no he encontrado nada como esto.

El problema es que cada familia / marca de micros son diferentes en la forma en que funcionan, cada lenguaje de programación también es diferente y, a veces, es posible que deba hacer las cosas de manera diferente para diferentes tareas.

Por lo tanto, no hay una respuesta correcta: para aprender los principios básicos , casi cualquier micro con un kit / entorno de desarrollo razonable servirá. Sin embargo, si tiene algo específico en mente, como aprender a programar micros Atmel en C, entonces sería mejor que comenzara por ese camino.