Hi Nordic Community,
I am using the nRF51822 to receive a data stream from the SPIS module and transfer the data directly to a phone over BLE using the S130 softdevice. My data ranges from 2kB to 40kB so reading it into RAM and then transferring to the SD is not an option. I am trying to figure out the best way to buffer the data from SPIS to SD with the least amount of overhead and being able to meet timing requirements. The problems I face are listed below:
- How can I deal with the difference in throughput of the SPIS module and BLE. They are orders of magnitude difference. If I let both modules run, the SPIS module will read data in much faster than the SD can get it out.
- How can the SD and SPIS module communicate so that any intermediate buffers are not overflowed and throughput is maximized.
- If the SD blocks the processor, how can I receive data for the next packet from SPIS and be ready to send it to the SD? DMA?
There is a lot of functionality and options built into the NRF and I am hoping some of you with more experience can point me in the right direction to solve this problem!