Enfrento un problema al hacer una PCB personalizada con STM32F103C8T6 FS CDC , pero toda la historia se veía así.
La misma MCU, la misma aplicación y relojes y dos comportamientos diferentes: ¿qué estoy haciendo mal?
Uno de los errores típicos en los dispositivos USB alimentados por bus es la mala gestión de la resistencia pull-up. Su descripción dice: "1.5k pullup to 3.3" , lo que significa que el evento de conexión USB (DP pullup) se verá inmediatamente después de conectarse. Por lo tanto, el host comenzará el proceso de enumeración en 100 ms. Sin embargo, su MCU tardará un tiempo en arrancar, por lo que no estará listo con las respuestas adecuadas y las consultas del host fallarán. Para cuando su MCU esté lista para comunicarse, el host declarará el puerto como inactivo y mostrará un error. Cuando una placa de demostración recibe alimentación externa antes de conectarse al host USB y ya está en funcionamiento, la conexión está bien.
Para evitar este percance, todas las placas de demostración STM acreditadas tienen la resistencia pull-up controlada desde el pin GPIO, generalmente PB2 o PD2. Luego, el pull-up se establece por código solo cuando la pila USB está lista para responder.
La conexión del pin de identificación en el receptáculo Micro-B en el lado del dispositivo USB es intrascendente, está diseñada para un host USB OTG, no para un dispositivo simple.
brahans
0___________
Ale..chenski
kaziel
turbo j
43
básicamente indica que no hay comunicación USB además del pullup en una línea de datos.Ale..chenski