Pines equivalentes RxD TxD en USB

Quiero construir un programador USB actualmente para AT89C51. Estoy atascado en cómo hacer que se comunique con la PC. En RS232, los pines RxD TxD son sencillos, solo necesitamos usar el convertidor de nivel lógico para interactuar con MC. ¿Qué pasa con el USB? ¿Las líneas Data+ Data- son iguales a RxD TxD? ¿Puedo conectar estas líneas de datos USB a MC directamente? No necesitan convertidores de nivel lógico. ¿Bien?

Vi algunos convertidores de USB a RS232. ¿Por qué existen? Pensé que la interfaz USB era más fácil, ¡en realidad no!

Entonces, ¿cómo enviaría datos desde la PC a mi programador a través del puerto USB? Por favor ayuda y gracias

La interfaz USB es tan difícil como $#!+.
Si sabe cómo programar usando RS232, intente usar convertidores simples de USB a UART de FTDI o equivalente. Tendrán esquemas de referencia y firmware... casi todo está ahí..." atmel.in/Images/DOC0287.PDF " tiene detalles de la figura 3 detalles del circuito de programación. " atmel.in/Images/doc7764.pdf " consulte la 2.ª sección Programación en el sistema utilizando el software FLIP disponible gratuitamente en el sitio web de atmel.
USB es (o se supone que es) simple para el usuario final. ¡Definitivamente no para el implementador!
No, normalmente no necesita ningún convertidor activo entre los pines D+/D- de un dispositivo USB y el bus. Según el diseño de la interfaz integrada del chip, la robustez, etc., a veces pueden ser recomendables las resistencias en serie o un dispositivo de filtro integrado . Pero es probable que la conexión directa funcione al menos en un prototipo.

Respuestas (3)

El USB no se puede utilizar simplemente como un puerto serie. Hay muchas capas de protocolo de software que deben admitirse.

Algunos microcontroladores tienen algún soporte USB incorporado. Aun así, sospecho que usar USB para comunicaciones en serie no es tan simple como podría pensar.

Ver también
convertidor USB/serie sin chip FTDI
http://www.fourwalledcubicle.com/LUFA.php

Entonces, necesito usar convertidores de USB a TTL o un cable de USB a RS232, ¿no?
@dimSutar: Sí. Eso es probablemente lo que hace la mayoría de la gente.

El USB es un protocolo bastante complejo, por lo que existen adaptadores estándar de USB a RS232. Si desea una solución de conjunto de chips, algo como el chip FTDI FT232H podría ser una buena solución. Si desea niveles TTL, puede obtener productos como un cable FTDI Cable 5V VCC-3.3VI/O que probablemente sería la solución más fácil, aunque no la más económica:

Cable serie USB

Algunos microcontroladores tienen hardware USB incorporado y pilas de software proporcionadas por el proveedor que pueden facilitar un poco las cosas. Pero el AT89C51 no es compatible con USB y, al implementarlo, es posible que el software no sea técnicamente imposible (se ha hecho en algunos controladores). .

Si considera lo que hace USB, se dará cuenta de que no puede ser una interfaz simple como UART. Las líneas D+ y D- son bidireccionales, por lo que no existe un equivalente a las líneas RXD y TXD de RS232. En cambio, las comunicaciones ocurren en una dirección a la vez y D+ y D- forman una señal diferencial.

Hay un protocolo de software complejo involucrado con todas las comunicaciones que son del tipo de llamada y respuesta con un dispositivo que actúa como host (la PC) y otros como dispositivos que solo hablan cuando se les solicita. Si desea obtener más detalles, visite www.usb.org .

Todos los dispositivos USB a RS232 que ha visto contienen un microprocesador. En el caso de los dispositivos FTDI, todo está programado para usted y no puede cambiarlo. En el caso de otros procesadores tienes que escribir tu propio código; aunque hay varios ejemplos disponibles para los procesadores más populares.