This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52840 - Storing parallel port data to flash

Hello,

We want to capture image data which is coming on parallel port on nRF52840 dk. The camera sensor we are using is OV2640. The parallel port (8-bit) data is coming to dk at the frequency of 1MHz. We are using PPI with GPIOTE event and EGU as a task. We are able to count the pclk from the camera module in EGU IRQHandler. However we want to capture the image data which will be around 6kB.

What is the feasible way to do it? As I read the data from parallel port by using array, it gets overflow and code stops execution as we can see while debugging. Is the data storing in flash memory feasible as we can see in product specification, the write time for 32-bit word is 41 micro seconds?

Also is there any reference to clock cycle consumed for each instruction? We want to calculate it for our EGU subroutine.

Thanks.

Parents
  • All the communication peripherals (apart QSPI) in nRF chips are serial peripherals so you would be needing a parallel to serial converter. But the data from the camera seems to be a bit too much to process for the serial devices running on 32MHz clock maximum. If your data is coming at 1MHz then there is not much room for the cpu to process this data.

     

    Also is there any reference to clock cycle consumed for each instruction? We want to calculate it for our EGU subroutine.

     We have not done this for any driver, but when you choose which serial device you are using, you can easily benchmark this, by transferring a known amount of data, calculating the throughput. With this info, you can calculate the average instructions it it takes for single-byte transfer.

Reply
  • All the communication peripherals (apart QSPI) in nRF chips are serial peripherals so you would be needing a parallel to serial converter. But the data from the camera seems to be a bit too much to process for the serial devices running on 32MHz clock maximum. If your data is coming at 1MHz then there is not much room for the cpu to process this data.

     

    Also is there any reference to clock cycle consumed for each instruction? We want to calculate it for our EGU subroutine.

     We have not done this for any driver, but when you choose which serial device you are using, you can easily benchmark this, by transferring a known amount of data, calculating the throughput. With this info, you can calculate the average instructions it it takes for single-byte transfer.

Children
No Data
Related