2009-09-26 04:46:47 ov9655 cmos sensor on blackfin EZ527 kit: PPI Interrupt Error
r sultana (INDIA)
Message: 80486
Hi Michael,
I am working on the ov9655 sensor on blackfin EZ527 kit. I am using 2009 release of uclinux distribution. I am working on this v4l driver and trying to capture sxga image. I am using PPI as the data interface and I2c for control.
I am using surveyor settings of sxga image in present v4l driver and trying to capture image. But PPI status register shows a horizontal track error and frame track error. I have gone through the previous posts regading the under run error, and also tried to implement the work arounds mentioned in the troubleshoot url for under run, but still i am facing the same problem.
And for debugging purpose, we are using a VDSP tool which captures the image on the bare metal level. The image captured at the bare metal level (cmos sensor) gives the correct and clear image and also the PPI status register doen't show any error interrupt. But with linux driver, the image is not clear and has lot of green lines.
As part of debugging i have checked the waveforms on the DSO both for the bare metal code and for the linux driver code. Please find the attached images. As we see the the hsync assertion in linux happens earlier when compared to bare metal code implementation. Also, according to the HRM, the horizontal frame error occurs when the assertion of hsync is earlier than PPI count expires.
Can you look at the images attached and confirm whether the PPI error is because of the earlier hsync assertion.
Also, looking at the sxga image, is it that green lines are due to this ppi error, as dma has started tranfering from ppi fifo but ppi fifo has no data resulting in all zero's.
Need help in this regard.
Thanks,
Rsultana.
sxga-image.JPG
uclinux-hsync-vsync.jpg
baremetal-hsync-vsync.jpg
QuoteReplyEditDelete
2009-09-28 03:55:42 ov9655 cmos sensor on blackfin EZ527 kit: PPI Interrupt Error
Michael Hennerich (GERMANY)
Message: 80561 We don't have any ov9655 test hardware, so I only can give you a few
hints.
The HSYNC and VSYNC timings are always generated by the sensor itself.
This leads me to think that the sensor initialization fails when used in
the Blackfin Linux cam framework. You should start looking there. The
PPI errors are due to the fact that the sensors timings don't match with
what the driver expects.
Make sure that the sensor initialization succeeds, and that both DMA0
and PPI register settings matches with you known good example.
-Michael