Estoy usando un módulo de desarrollo UM220XB para integrar el FT220X .
Mi diseño utiliza el FT220X para conectar mi microcontrolador a una PC a través de SPI. Mi diseño de circuito tiene 2 esclavos SPI y 1 maestro SPI en el bus.
Este es mi problema: El FT220X, de forma predeterminada, controla MISO y MOSI incluso cuando #CS no está activo. Esto provoca la contención del bus si hay varios esclavos SPI en el bus.
Estos chips FTDI tienen EEPROM incorporado que se pueden usar para configurarlos. Puedes usar una utilidad llamada FT_PROG.
La hoja de datos afirma que FT220X es compatible con el bus SPI de varios esclavos. Afirma que puedo reconfigurar la EEPROM para cambiar el comportamiento de MISO y MOSI. Supuestamente, puede usar FT_PROG para hacer que estas líneas sean IDLE para su uso con otro esclavo en el bus SPI.
Aquí está la cita de la hoja de datos (página 14):
Además, el bloque esclavo FT1248 admite varios dispositivos esclavos donde un maestro puede comunicarse con múltiples dispositivos esclavos SPI. Cuando el esclavo comparte buses con otros dispositivos esclavos SPI, el estado del búfer de lectura y escritura no se puede reflejar en los cables MIOSIO [0] y MISO durante la inactividad de CS #, ya que esto podría provocar la contención del bus. Por lo tanto, es posible que el usuario seleccione si desea activar o desactivar el estado del búfer durante la inactividad. (Esta configuración se puede aplicar en la memoria MTP interna con FT_PROG al mismo tiempo que se selecciona el modo FT1248).
Puedo leer y programar exitosamente la EEPROM del dispositivo con FT_PROG. La PC detecta el módulo y asigna un VCP. He revisado los menús FT_PROG, el manual del usuario FT_PROG, el manual UM220XB y el manual FT220X. Pero no puedo averiguar cómo cambiar esta configuración. En ninguna parte de FT_PROG puedo encontrar una configuración como esta. ¡Ayuda por favor!