Tengo un problema de comunicación SPI con ENC28J60 chip. Básicamente, no puedo utilizar SSP en el modo SPI como es, porque ENC28J60 espera CS para ser baja para múltiples bytes, mientras que SSP cambia a alta después de cada byte transmitido. Para superar esto, tengo el bit GPIO actúa como CS. Mirando la señal del analizador lógico, me parece correcto, pero todavía no obtengo el resultado esperado.
He conectado LPC1788 <-> ENC28J60 así:
SSP0_SCK - SCK
SSP0_SSEL - NC
P0_19 - CS
SSP0_MISO - SDO
SSP0_MOSI - SDI
GND - GND
La señal se ve así:
El MOSI parece correcto, el reloj es algo extraño (no estoy seguro de si este retraso de 0,5 us es normal), el enable también es correcto, pero el MISO debería devolver algo en el último byte MOSI (0x00).
EDIT: He cambiado el reloj para que sea compatible con ENC28J60 (reloj bajo en reposo). La imagen se ha actualizado también.