Hello,
I'm working on a mechatronics project for school using the Arduino Uno and OV7670. Before I even attempt to collect data from the camera, I'm looking for consistency in timing events, such as PCLK cycling a consistent number of times before HREF goes low or VSYNC goes high. I'm getting erratic results for this and can't seem to pinpoint why.
I've come up with a guess for why this is occuring:
I've checked PCLK with an oscilloscope, and it does indeed cycle at 10 MHz. Since the Arduino Uno uses a 16 MHz clock, I was thinking perhaps 10 MHz was too fast and therefore I'm not detecting cycles somewhere in between. I'm not sure how to rectify/test for this problem. I'm also wondering if the code I've used to assess the state of PCLK and VSYNC is too lengthy, and there's too many instructions so that the value of PCLK is not checked frequently enough, and thus cycles are missing in between.
If anyone has any experience or advice to contribute to this project, I'd greatly appreciate it. Thanks in advance for the help!
Some resources I've used:
The data sheet for the OV7670
Helpful instructions on getting started with/understanding the OV7670