Estoy tratando de construir el Escudo de host USB Circuits @ Home (basado en el chip MAX3421E) desde cero; Ya que necesito poder encender Arduino usando el modo OTG, una placa prefabricada no funcionará para mi aplicación. Para empezar, simplemente estoy tratando de recrear el Mini Host Shield, pero estoy atascado cuando se trata de hacer que la transferencia de datos USB funcione. El boceto "board_qc" pasa todas las pruebas cuando lo ejecuto en mi escudo casero (conectado a un Arduino Pro Mini 3.3V 8MHz) pero luego falla con "Estado de error alcanzado por la máquina de estado USB" cuando enchufo un dongle BLE enchufable. Compré un escudo de host de tamaño completo para mi Arduino MEGA 2560 para recopilar datos de control para la depuración, y tanto ésta como la mochila funcionan perfectamente con el boceto board_qc. He mirado las señales D +/- USB de ambas placas con un osciloscopio (vea el enlace de la imagen adjunta) y son casi idénticas excepto por el extremo de la cola de las formas de onda. ¿Qué podría estar causando este problema o es mi problema en otra parte del circuito?
Mis pensamientos fueron:
1) demasiada capacitancia (mi oscilador de cristal de 20 pF + 2x39 pF capacitores en comparación con el oscilador de 9 pF especificado y los capacitores de 2x18 pF)
2) He protegido / conectado a tierra incorrectamente mi enchufe USB Female A
3) Como no he tenido tiempo de hacer un convertidor de refuerzo de 3.3V- > 5V, he estado alimentando el puerto USB con 5V desde mi Arduino MEGA 2560 y conectando a tierra el MEGA a mi circuito. ¿Tal vez la conexión a tierra entre Arduinos interfiere con las señales USB o el blindaje?
En este punto, estoy casi completamente perdido, ¡así que aprecio cualquier entrada! ¡Gracias!
IMÁGENES: