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

1

Tengo un gran interés en aprender una comunicación como 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 al aprenderlo usando un microcontrolador. Hay muchos tipos de microcontroladores en la actualidad. Y estoy muy confundido sobre cuál elegir para aprender eso, ya que soy un novato en microcontrolador.

Pero encuentro este enlace y creo que este arduino starter kit sería suficiente para que yo pueda aprender más arriba. protocolo de comunicaciones. Estoy en lo cierto ¿Hay alguna más barata? Si no es así, por favor, recomiéndame la correcta.

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

Gracias de antemano.

    
pregunta kalingga

2 respuestas

3

Siento que el problema que estás experimentando es que no estás seguro por dónde empezar y que necesitas ayuda para realizar la investigación necesaria para que puedas aprender estos protocolos que has enumerado.

Para mí, parece que hay tres pasos para comprender bien un protocolo relativamente simple (simple en relación con los protocolos como Bluetooth) e implementarlo en las MCU. Voy a ser genérico aquí, pero trataré de indicarte lo mejor que pueda para que puedas comenzar tu propia investigación.

1: Aprende el protocolo

Lee 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, esto parece ser un gran artículo sobre cómo aprender cómo funciona UART en un nivel bajo:

Tutorial de UART de Cytron .

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

2: Investigue las hojas de datos en 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 siempre omnipresente ATmega328p. Buscando esto en Digikey se obtienen los diferentes paquetes para este chip. Elegiré DIP ( DIP ATmega328p ).

Aquí puede abrir la hoja de datos de la MCU. En la sección 20, la hoja de datos describe su USART HW (puede configurarlo para que se comporte de forma asíncrona y se convierta en un simple UART). Aquí es donde tendrá que tomarse su tiempo e investigar cómo configurar los distintos registros para configurar el UART y cómo interactuar con el HW en general.

Mire el diseño HW del protocolo en sí:

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

3: implementarlo realmente

¡Tome el MCU que elija, construya un circuito de suministro de energía y utilícelo! O, mucho más convenientemente, interfaz con los registros con Arduino; Arduino en realidad usa el ATmega328p por cierto. Usar Arduino fuera de la caja con sus funciones de alto nivel no te enseñará el protocolo involucrado. Pero en realidad jugando con los registros en el nivel inferior, comenzarás a entender 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: Lee mucho

La mejor de las suertes.

    
respondido por el Nick Williams
2

El problema es que cada familia / marca de micros es diferente en la forma en que operan, cada lenguaje de programación también es diferente y, a veces, es posible que tenga que 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 funcionará. Sin embargo, si tiene algo en mente en mente, como aprender a programar Atmel micros en C, sería mejor que empiece por ese camino.

    
respondido por el John U

Lea otras preguntas en las etiquetas