Usando ADuM3150 para la interfaz SPI con Arduino

0

Estoy tratando de usar un aislador para la comunicación SPI con el Arduino. Actualmente estoy usando el ADum3150. Puede encontrar la hoja de datos aquí . Hay algunos retrasos asociados con esta disposición y el ADum3150 proporciona un 'reloj retrasado' como se menciona en la página 17 de la hoja de datos para leer la salida en sincronización.

El arduino solo tiene reloj, miso, mosi y ss. ¿Cómo puedo usar esta función de reloj retrasado en el arduino?

    
pregunta rahul

1 respuesta

0

El reloj retrasado en este IC se proporciona para facilitar las comunicaciones SPI de alta velocidad. A altas velocidades, el retardo de propagación a través del aislador puede exceder la velocidad de repetición del reloj. El reloj retrasado corrige esto al proporcionar una señal de reloj sincronizada con los datos devueltos en MISO.

La forma en que lo usaría en términos prácticos es conectar MISO y el reloj retrasado hasta un segundo periférico SPI, en modo esclavo, y leer los datos devueltos desde allí en lugar de desde el periférico maestro SPI.

Como puede observar, el procesador en el Arduino solo tiene un periférico de bus SPI. Sin embargo, el uso del reloj retrasado solo es necesario a alta velocidad. La lista de características en la página 1 de los estados de la hoja de datos:

Supports up to 40 MHz SPI clock speed in delay clock mode
Supports up to 17 MHz SPI clock speed in 4-wire mode

Dado que el AVR solo funciona a 16MHz, y el más rápido que puede ejecutar el periférico SPI es 1/2, 8MHz. Como esto está muy por debajo del límite establecido de 17MHz, simplemente puede ignorar el reloj retrasado y conectar el aislador como lo haría con un periférico SPI de 4 hilos estándar.

    
respondido por el Nick Johnson

Lea otras preguntas en las etiquetas