Terminación USB en STM32F437xx

Estoy a punto de diseñar la conexión USB en nuestras placas y me pregunto si las resistencias de terminación y el pull-up en D+ son necesarios cuando se usa el STM32F437xx. La hoja de datos dice:

No external termination series resistors are required on DP (D+) and DM (D-) pins 
since the matching impedance is included in the embedded driver.

Con respecto a la resistencia pull-up en D+ se establece:

HNP/SNP/IP inside (no need for any external resistor)

Sin embargo, todas las placas de desarrollo que revisé (Olimex STM32-H407 y ST STM32F4DISCOVERY & STM32439I-EVAL) parecen incluir al menos las resistencias de terminación de 22 ohmios. El Pull-Up en D+ no está incluido.

Por ahora, simplemente colocaré las dos resistencias y lo haré. Aún así, me gustaría entender la razón por la cual uno "terminaría dos veces" las líneas.

En caso de duda, coloque las almohadillas para las resistencias y luego rellénelas con 22 Ω o 0 Ω dependiendo de la dirección en la que sople el viento en ese momento.
Mi placa STM32F4DISCOVERY tiene resistencias de 0 Ω tanto para la conexión USB del chip STM32F4 como para la conexión del STM32F1. Eso está hecho por ST, por lo que iría sin terminación, ya que tanto su hoja de datos como su placa de demostración oficial lo tienen de esa manera.
@Majenko gracias por consultar con los tableros reales. No los tengo a mano y solo revisé los esquemas.

Respuestas (1)

La razón por la que los diseñadores de hardware pusieron almohadillas adicionales es porque viven en el mundo real. Los fabricantes de chips a menudo afirman muchas cosas, especialmente en sus 'hojas de datos preliminares' (las cifras de consumo de energía son notoriamente malas) solo para dejar caer la pelota sobre las piezas de producción. Esto puede ser especialmente importante para cosas como las resistencias de terminación de alta velocidad, donde un valor incorrecto puede causar problemas de señal o EMC que solo descubrirá en una placa terminada. Tener las almohadillas allí significa que el ingeniero de hardware puede agregar fácilmente algo de resistencia adicional si descubre que el diseño no funciona como se requiere.

Por ejemplo, las primeras piezas del STM32 se anunciaban con resistencias pull-up integradas de 1,5 kΩ en las líneas USB. Esta fue una gran característica, excepto que resultó que todas las unidades de producción solo tenían resistencias de 0,81 kΩ a 0,95 kΩ debido a problemas de fabricación. Esto no permitiría que un dispositivo pasara el cumplimiento de USB y necesitaba un rediseño bastante extenso para solucionar el problema.

Unas cuantas almohadillas y puentes adicionales no valen mucho en comparación con los costos de tener que volver a hacer una placa cerca del final del ciclo de diseño y es por eso que los buenos diseñadores de hardware actuarán de manera muy conservadora en este tipo de cosas hasta que tengan experiencia que el fabricante de chips está cumpliendo sus promesas.