Estoy usando la interfaz Atmel SAMA5D2 SPI configurada como esclava para comunicarme con un dispositivo externo que insiste en ser maestro. No estoy seguro de la función de la señal NSS en este caso.
En un proyecto anterior con el mismo SAMA5D2 pero con un dispositivo externo diferente, mantenía el NSS bajo para 32 relojes y luego el alto para 4, para transferir 32 bits de datos. Esto estaba funcionando bien. Sin embargo, no funciona con el dispositivo externo actual, porque ese mantiene el NSS bajo todo el tiempo que transfiere datos. Solo recibo datos confusos, lo que me hace sospechar que los datos no se toman correctamente del registro de desplazamiento. Entonces, esto me hace llegar a la conclusión de que el SAMA5D2 toma datos del registro de desplazamiento en el flanco ascendente del NSS, pero no puedo encontrar ninguna documentación que lo respalde.
Solo hay una página en hoja de datos (sección 46.7.4 en la página 1703), donde dice:
Si el NSS aumenta entre dos caracteres, debe mantenerse alto durante dos períodos de reloj MCK o más y el siguiente borde de captura SPCK no debe ocurrir menos de cuatro períodos MCK después del aumento del NSS.
Esto implica que lo estaba haciendo correctamente antes (NSS bajo para 32 bits y luego alto para 4 bits), pero el "Si" implica que no es un requisito.
¿Qué espera el SAMA5 de NSS en modo esclavo? ¿Hay alguna documentación para este caso?