Acabo de recibir un analizador lógico Saleae y lo estoy utilizando para piratear un conjunto de batería Guitar Hero . La placa principal dentro del conjunto de batería se comunica con otra placa auxiliar mediante SPI. Cuando entro en la conversación, veo esto:
ElnegroesMOSI,elmarrónesMISO,elrojoesRELOJyelnaranjaesACTIVADO/seleccióndeesclavo.
Medoycuentadedoscosasextrañasqueestánsucediendoaquí:
- Elrelojnosiempre"corre". Sin duda, tiene un patrón: se ejecuta cuando ENABLE es bajo (cada 100 Hz).
- Incluso cuando ENABLE es alto (lo que supongo que significa que el esclavo no está seleccionado), se produce una conversación entre el maestro y el esclavo.
¿Alguien tiene una idea de lo que está pasando aquí? ¿Los diseñadores de la junta se volvieron perezosos o hice algo mal al capturar los datos?
Detalles:
- Capturado a 4 MHz
- El reloj funciona a 2 MHz, cuando se está ejecutando
Aquí hay otra vista, ampliada:
Obviamente,ningunadeestasimágenesproporcionamuchainformaciónsobreloquerealmenteseestá"diciendo", ya que no me acercé lo suficiente. Pero creo que son suficientes para transmitir mi punto de vista. Si quieres una imagen diferente, solo pregunta.
EDIT
Kris sugirió que la línea de habilitación se use para encuestar a la placa esclava en el muestreo. Esto tiene sentido. Echa un vistazo a esta captura de pantalla:
Las pequeñas burbujas negras con contornos rojos son instancias donde el software pudo descodificar una transmisión SPI. Esto solo ocurre cuando la línea de habilitación es baja, lo que sigue lo que Kris sugirió.