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?