¿Cuál es la diferencia entre Spi y Spi enmarcado?
¿Cuál es la diferencia entre Spi y Spi enmarcado?
Aquí están los detalles de cómo se implementan el SPI normal y el SPI enmarcado en un PIC32.
"En el modo Normal, el SPI Master controla la generación del reloj serial. el número de pulsos de reloj de salida corresponde al ancho de datos de transferencia: 8, 16 o 32 bits ".
"En la operación en modo Enmarcado, el Frame Master controla la generación del marco Pulso de sincronización. El reloj SPI aún es generado por el maestro SPI y se está ejecutando continuamente. "
"SPI enmarcado" es básicamente un microchip compuesto y se admite en algunos de sus chips (dsPIC y PIC32, creo).
Normalmente, el maestro mantiene baja la selección de chip para hablar con un esclavo y el maestro simplemente envía los pulsos de reloj que desee para definir el ancho de datos (8,16,32 bits).
Cuando la unidad SPI está en modo de cuadro, la selección de chip no hace esto, sino que puede funcionar como una salida o entrada que genera o acepta un pulso de 1 bit llamado 'sincronización de cuadro'. Esto indica el comienzo de una 'palabra' de datos. En este modo, el reloj maestro genera continuamente el reloj.
Esto también significa que el enlace ahora es punto a punto, solo puedes comunicarte con un dispositivo en este modo.
Esto existe principalmente para permitir que el microcontrolador se comunique con los códecs de audio de baja velocidad. Puede aproximar la comunicación I2S / TDM con esta configuración (para algunos dispositivos, no todos).
No es realmente algo que utilice para audio de alta calidad o alta frecuencia de muestreo, ya que no hay soporte para las funciones adicionales necesarias para dicha operación (compatibilidad real con I2S, búferes profundos, control de frecuencia de muestreo robusto, etc.).
No he escuchado el término "SPI enmarcado", pero sugeriría que hay dos comentarios en los que he visto que los dispositivos SPI manejan el cable de selección de chip. En algunos dispositivos, cada vez que se suelte y se reafirme el cable CS, el siguiente byte estará interesado como el primer byte de una secuencia de comandos; en algunos otros dispositivos, cualquier byte que se reciba mientras se afirma CS se interpretará de manera idéntica, independientemente de si CS se ha desactivado desde el byte anterior. En algunos de estos sistemas, sería una práctica habitual volver a colocar CS entre bytes.
Si tuviera mis druthers, el cable CS sería opcional y los dispositivos SPI asumirían el inicio de un nuevo comando si hubiera dos bordes ascendentes en el cable de datos mientras el cable del reloj estaba bajo (si SPI no se usara, sería tiene que ser atado bajo). Sin embargo, no conozco ningún dispositivo SPI que funcione de esa manera, aparte de un CPLD que yo mismo diseñé.