¿Cómo enviar datos desde la PC a un microcontrolador AVR32 mediante USB?

0

Tengo una placa con un AVR32 ( AT32UC3B0512 ) y un puerto USB. Me gustaría enviar datos al USART, utilizando un terminal desde mi PC, pero no sé cómo usar el USB para acceder a los pines RXD y TXD.
Leí en algunos foros sobre la implementación de un CDC. ¿Podría alguien decirme si esto es necesario o cómo hacerlo?

Detalles adicionales:

  • Hay un gestor de arranque en el AVR
  • Hoja de datos
  • La siguiente imagen muestra cómo el puerto USB está conectado al microcontrolador:
pregunta fholly

1 respuesta

0

No está claro si está conectando su AVR con una PC a través de un puerto USB o COM.

  1. USB

    Esto requiere un controlador de dispositivo para su AVR en la PC (ya sea HID, libusb, winusb, jungo, custom ...) y escriba un programa para PC que se conecte al controlador y envíe / reciba los paquetes USB, lo que no es fácil las cosas que se deben hacer como controladores suelen ser el modo KERNEL (aunque winusb y jungo (caro como el infierno) facilitan mucho las cosas sin la necesidad del código del modo KERNEL). También deberá codificar el firmware AVR32 para USB (adapte cualquier ejemplo de USB del ASF).

    Este enfoque no establecerá el estado de TX, RX, en cambio, el USB HW hará el trabajo pesado por usted.

  2. COM

    Bueno, esto es fácil, solo necesita cambiar los niveles de voltaje de RS232 a TTL o lógica 3.3V con MAX o cualquier otro convertidor. Y en la PC, simplemente abra el archivo que representa el puerto COM al que está conectado y lea / escriba lo que desee. Cómo usar pines USB en el lado MCU complica un poco las cosas. Si usa RX / TX de enlace serial, entonces puede usar el puerto serial HW directamente. En este caso, necesitaría configurar RX como entrada y TX como salida GPIO y escribir un controlador de protocolo serie personalizado en SW (como en la interrupción del temporizador), pero aún así es mucho más fácil que escribir cosas USB si no sabe lo que está haciendo.

Bueno, tengo la impresión de que estás apuntando a la opción # 1 , por lo que recomiendo usar algún ejemplo de clase HID (como mouse o teclado) o incluso mejor Ejemplo de USB a USART Gateway (creo que estaba en los ejemplos del kit UC3L0 Xplained), ya que deberían funcionar con los controladores nativos del sistema operativo, eliminando la necesidad de problemas costosos (y costo) para los controladores y, en el caso del puente, muy fácil. Código del lado de la PC (igual que para los puertos COM reales) como este:

respondido por el Spektre

Lea otras preguntas en las etiquetas