ps3 eye synchronisation
Posted: 24 December 2010 06:06 AM   [ Ignore ]
New Member
Rank
Total Posts:  7
Joined  2010-11-03

I’d like to sync 3 PS3 eye cameras.  This page gives some relevant details, but how do I connect up the VSYNC’s and HSIN’s of each camera?

Do I just connect the VSYNC of one camera, the ‘master’, to the HSIN’s of the other two cameras, the ‘slaves’?

Also, can anyone suggest a good method of determining if all 3 frames have been captured at the same time? I.e. if one camera drops a frame, how can I reliably detect this?

Thanks smile

Profile
 
 
Posted: 30 December 2010 04:06 AM   [ Ignore ]   [ # 1 ]
New Member
Rank
Total Posts:  21
Joined  2010-03-26

Your questions have been answered in other threads in this very forum. Note however that the layout of the board has changed with the recent version of the camera. Cogville page may not apply to your camera. I have not had time to look for the locations of FSIN (note _F_SIN) and VSYNC on the new boards.

As for the verification, the best way is to use an oscilloscope if you have one. I have not found a way to reliably detect when frames are dropped.

Profile
 
 
Posted: 05 January 2011 10:00 AM   [ Ignore ]   [ # 2 ]
New Member
Rank
Total Posts:  7
Joined  2010-11-03

Thanks, I managed to bumble through on my own - I’m posting this to help clarify the current info available, in case anyone needs it smile

One of my cameras turned out to be the new PCB.  I guessed at the FSIN pin (correctly! smile), here it is:
http://i.imgur.com/cRoUj.jpg

Sadly, after a quick look, I couldn’t find VSYNC.

My set up is as follows:
1. Arduino generating desired sync frequency, e.g. 60hz square wave at 3.3V.
2. Signal fed to all the cameras by connecting to FSIN.  No need to use VSYNC.

To test synchronisation (using old revision PCB), hook up a scope to FSIN and VSYNC:
http://i.imgur.com/NSYrI.jpg
(in sync)
Top trace is FSIN, bottom is VSYNC. VSYNC should go high (signifying the start of capture) on the rising edge of FSIN.


http://i.imgur.com/2K8YB.jpg
(out of sync)

To synchronise frames, I made a class which spawns a thread for each camera.  Each thread grabs frames ASAP and places into a circular buffer and stores a timestamp (using TimeGetTime()). Then I made an algorithm to look at these timestamps and group frames together - pretty obvious stuff.

Hope someone finds it useful!

Profile
 
 
 
 


RSS 2.0     Atom Feed