Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Full Camera Link Full - Multiple Clocks

Status
Not open for further replies.

shaiko

Advanced Member level 5
Joined
Aug 20, 2011
Messages
2,644
Helped
303
Reputation
608
Reaction score
297
Trophy points
1,363
Activity points
18,300
Hello,

The full Camera Link standard allows a pixel size of up-to 64 bits.
These 64 bits (of the same pixel) are negotiated over 3 aggregated groups (24,24,16 bits).

However, each group has it's own pixel clock (giving us 3 clocks)...So how does the receiving side know how to re-aggregate the data of a specific pixel if each bit group has it's own clock ?
In other words, what prevents the receiver from erroneously mixing data from pixel n with data from pixel n+1 (or n-1) ?
 

andre_luis

Super Moderator
Staff member
Joined
Nov 7, 2006
Messages
9,318
Helped
1,166
Reputation
2,351
Reaction score
1,152
Trophy points
1,403
Location
Brazil
Activity points
54,320
So how does the receiving side know how to re-aggregate the data of a specific pixel
Just guessing, but considering that each group has its own clock, would be expected its own PLL on receiver side, so once the frame size is well defined, the completion of each bunch should occur separately.
 

Tetik

Member level 4
Joined
May 29, 2014
Messages
76
Helped
20
Reputation
40
Reaction score
20
Trophy points
8
Activity points
452
You need to map the bits according to this page : https://en.wikipedia.org/wiki/Camera_Link. In fact, you can pack more than one pixel in a 64 bit. In the past, I packed 4 pixels of 16 bits for each clock cycle of 80MHz, i was sending 4 pixels at a time.

For this you need to use ioserdes 7:1.

To keep synchronisation, the receiver needs to use FVAL (Frame Valid), LVAL (Line Valid) and DVAL (Data Valid). The frame grabber needs to know what is the format you used to display the information correctly.
 
  • Like
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating

shaiko

Advanced Member level 5
Joined
Aug 20, 2011
Messages
2,644
Helped
303
Reputation
608
Reaction score
297
Trophy points
1,363
Activity points
18,300
So you used fifos for the phase alignment and a state machine that monitors the frame and line signals?
 

Tetik

Member level 4
Joined
May 29, 2014
Messages
76
Helped
20
Reputation
40
Reaction score
20
Trophy points
8
Activity points
452
After packaging the pixels to form a 64 bits vector I stored them in a FIFO to have a complete line. When the fifo got enough pixels to form a line, I sent them to the frame grabber.

I never did the receiver side but I presume that they store the pixels that has the FVAL, LVAL and DVAL valid. If one them is not valid they simply ignore the pixels.
 
  • Like
Reactions: shaiko

    shaiko

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top