Tengo un dispositivo que proporciona un puerto USB. Si lo conecto a una PC con Windows, se reconoce como "CP2103 USB a UART Bridge Controller". De acuerdo con la documentación del dispositivo, debe comunicarse en formato serial a 38400bps.
Tengo que hablar con este dispositivo con un microcontrolador atmega.
Dado que el pinout del USB es diferente de la UART serie de la uC, en primer lugar pensé que necesitaría un circuito para convertir las señales.
Encontré el proyecto AVR-CDC y coloqué un CDC-232 para convertir USB ( GND
, D+
, D-
, VCC
) a RS232 ( TX
, RX
, GND
):
Parahacerlo,utilicéotroatmega328comouC,flasheadoconelhexágonoespecífico,conuncristalde16Mhzenlugardelde12Mhzespecificadoeneldiagrama.
LuegoconstruíotrocircuitoparaconvertirlaseñalRS232aTTL:
Por lo tanto, la conversión de señal debería ser USB - > RS232 - > TTL.
Programé mi uC para enviar algunos datos al dispositivo y puedo seguir la señal con el osciloscopio hasta que entre en el CDC-232, luego lo pierdo. No tengo salida en los pines 4 y 5 del CDC-232 uC, donde debería tener una señal USB.
¿Mi enfoque general es correcto? ¿Debo seguir depurando la parte CDC-232 o hay algún problema en otra parte?