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.
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:
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:
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.
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.
pjc50
calingga
PedroJ
olin lathrop
pjc50
Nick Alexeev