Interceptar SPI del controlador del helicóptero RC

2

Tengo esta comunicación por radio con un helicóptero RC. Descubrí que el RX en el heli usa un AVR MCU y un chip CYRF6989 de 2.4GHz para comunicarse con el controlador del heli y lo traduce para impulsar los servos y los motores. La MCU y el chip CYRF se comunican por SPI. Quiero interceptar e interpretar la señal, así que soldé algunos cables en ella. Soy capaz de leer la señal (ya sea MOSI o MISO) utilizando una placa prototipo Arduino. Pero tengo problemas para entender / interpretar el flujo de datos. Así que necesito un enfoque diferente al de leer solo MOSI O MISO.

Mi situación actual es que el Arduino es el esclavo, y o bien leerá la señal MOSI o MISO, pero no puedo entender cómo iría leyendo toda la "conversación", por lo que tanto MOSI como MISO señal. Lo único que se me ocurre es conectar MOSI y MISO a 1 cable mediante un diodo (por lo que los chips MCU y CYRF de la placa RX no reciben señales mixtas) y leer los datos que fluyen sobre ese cable con el arduino. Tablero (usando los pines SPI del Atmega 328P). Entonces, MOSI y MISO vienen por el mismo cable, lo que no debería ser un problema realmente, ya que MOSI y MISO nunca ocurrirán simultáneamente. Pero el problema con ese enfoque es que no tengo una indicación del origen (¿MOSI o MISO?) De la señal. Sería lo más fácil tener a los autobuses SPI en la MCU, pero eso no va en contra de los principios de SPI y AtMega2560 tampoco.

Básicamente, mi pregunta es, ¿cuál es un buen enfoque para interceptar la conversación SPI, por lo que soy más capaz de interpretar su significado?

    
pregunta Mike de Klerk

2 respuestas

2

Para escuchar completamente una conversación SPI, debes estar atento a las cuatro líneas: selección de chip, reloj, MOSI y MISO. Posiblemente podría hacer esto con dos periféricos SPI separados. Ambos están conectados a chip select y clock, con uno viendo MOSI y el otro MISO. El resto es firmware para interpretar los resultados.

    
respondido por el Olin Lathrop
2

La Bus Pirate para es SPI Sniffer sugiere que puede leer MOSI y MISO

  

El sniffer SPI puede leer todo el tráfico, o filtrar por el estado del pin CS. El byte detectado en el pin MOSI se muestra como un valor con formato HEX, el byte detectado en el pin MISO está dentro de ().

$ 30 bien gastado?

    
respondido por el RedGrittyBrick

Lea otras preguntas en las etiquetas