Escudo de host de Arduino USB hecho en casa

1

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:

    
pregunta Blake Lucas

1 respuesta

2

El problema más probable es que hay demasiada inductancia en los cables D + / D-

USB es delicado. Pasar una señal USB a través de una placa de pruebas, un par de cables de conexión sueltos y una placa de conexiones otra vez probablemente degradará la señal hasta el punto de que no funcionará.

Es posible que pueda rescatar esta parte soldando las resistencias directamente entre la conexión USB y la conexión MAX3421E, evitando completamente la placa de pruebas. Será feo, pero podría funcionar.

Sin embargo, es probable que tenga que volver a la placa MAX3421E con un conector USB en la placa. Si hace esto, incluya también una huella para el cristal y los condensadores asociados en la placa; la capacitancia perdida en una placa de pruebas a menudo interferirá con los osciladores.

    
respondido por el duskwuff

Lea otras preguntas en las etiquetas