Hi,
I am testing that nRF52832 transfer QVGA still image from image sensor to phone as follows.
-
nRF52832(nRF52 DK) is connected with image sensor through some signals(8bit data bus, MCLK, PCLK, HSYNC and VSYNC..)
-
Initialize pin change interrupt by VSYNC signal.
-
When user push button, nRF52 DK read QVGA still image from image sensor in VSYNC interrupt service routine.
-
nRF52 DK transfer image to phone by Bluetooth.
Then, I have two problems so I ask some questions to you.
First, for pin change interrupt,
Interval between H/W external interrupt(VSYNC interrupt) generation time and interrupt service routine(pin change interrupt) entry time is about 7.6us(B), but it should be under 0.4us in our project.
Also, I had test it in GPIOTE_IRQHandler() but the interval is 2.4us(A).
If you have any solution that can decrease interval to under 0.4us, please let me know it.
HSYNC_IN => HSYNC interrupt signal from image sensor
DBG_PORT0 => Debug signal which I add in GPIOTE_IRQHandler() start position
DBG_PORT1 => Debug signal which I add in HSYNC interrupt service routine(pin change int)
Second, VSYNC interrupt service routine should not be disturbed by any other interrupt for about 200ms because image sensor output image data by only VSYNC, HSYNC and PCLK timing irrespective of nRF52832.
Then it seems that other interrupt (RF interrupt?) is disturbing VSYNC interrupt.
I had changed interrupt priority to Low - High, but read image have noise lines.
Also I had changed it to Highest but nRF52832 is not working.
Do you have any solution that other interrupt does not disturb VSYNC interrupt? (ex. : RF off => read image data from interrupt => RF on => tx data to phone..)