entendiendo una hoja de datos SPI - tamaño FIFO versus tamaño de registro de recepción

0

Mi pregunta está relacionada con la diferencia entre un tamaño de registro de recepción SPI y un FIFO.

Por ejemplo: estoy mirando la hoja de datos de SPI para 2 dispositivos (1) una spi IP para un FPGA y (2) el controlador SPI en una MCU.

La hoja de datos para el FPGA (Altera - procesador de software) dice que SPI que recibe el registro de espera puede tener un tamaño de hasta 32 bits. Aquí está la hoja de datos de la fpga

Aquí está la hoja de datos de la MCU (Intel C1000 mcu). Dice que tiene hasta 32 bits de tamaño de trama.

Perotambiéndicequetiene"compatibilidad con el modo FIFO con 16B TX y RX FIFOs a partir de 4 entradas de 32bits de ancho", ¿qué significa esto?

    
pregunta dut tom

1 respuesta

1

Tamaño de registro de recepción = El número de bits por transferencia. La cantidad mínima de datos que se pueden enviar.

Recibir tamaño FIFO = El número de transferencias que se pueden almacenar en búfer hasta que la CPU las lea antes de que se pierdan los datos. Dado que el tamaño de la transferencia es variable, esto se hace usando una cantidad fija de memoria en lugar de mantener un número fijo de transferencias para evitar el desperdicio de memoria. El número de transferencias almacenadas dependerá del tamaño de la transferencia.

Normalmente, los buses SPI se utilizan en una configuración basada en interrupciones, una vez que se completa la transferencia, se genera una interrupción. Luego, la CPU detiene lo que está haciendo, copia los datos recibidos en un búfer de software y luego los procesa o establece un indicador de que hay nuevos datos y vuelve a lo que estaba haciendo anteriormente.

Pero SPI puede ejecutarse muy rápido, ¿qué sucede si la CPU no puede dejar todo y leer los datos antes de que llegue la próxima transferencia? Ahí es donde entra en juego el FIFO de recepción. Permite que el hardware almacene varias transferencias para que la CPU no tenga que responder tan rápidamente. Dependiendo de la cantidad de datos que se envíen, incluso puede ser práctico utilizar un sistema de sondeo en lugar de interrupciones.

    
respondido por el Andrew

Lea otras preguntas en las etiquetas