Hello Everyone,
I'm currently developing a SoC and I would like to achieve a correct interaction between the SoC and the Nordic Nrf52832.
The output of the SoC is a PISO register (Parallel Input to Serial Output). The 8 bits data reach the register at 200 kHz (1MBps). The idea is to transfer this data to a computer through the Nordic Nrf52832, by:
-A flag (an output signal of the SoC), enables a GPIOTE event at the Nrf52832 each time the data is ready.
-This event, through PPI, enables the SPI protocol of the Nrf52832. The SPI protocol enables de SPI_CLK, that is connected to the PISO register. The 8 bites data is transfered to the Nrf52832 at a high rate (for example, 4 MBps) and saved into a buffer.
-This buffer, through PPI, transfers this data to the UART, and the UART send the data to a PC.
This should take place every time the flag is high, I mean, : flag -> GPIOTE -> PPI -> SPI (ENABLE) -> 8 serial bits from SoC to NRF -> Buffer at NRF -> PPI --> UART ... WAIT FOR THE NEXT FLAG..
In conclusion, the whole operation has to be faster than 200kHz to avoid data loss.
My questions are the following one:
i) Do you believe that it is possible? (Due to the high rates of transmission)
ii) Do you think that there is an easier way to transmit the data?
iii) I'm doing in that way because I don't find a way to overcome the problem that if the PISO is changing its value and it the SPI_CLK is enabled, there will be an error in the tramsmited data.
Thank you