beetlejuice
Member level 1
- Joined
- Jul 6, 2012
- Messages
- 36
- Helped
- 1
- Reputation
- 2
- Reaction score
- 1
- Trophy points
- 1,288
- Location
- Melbourne Australia
- Activity points
- 1,799
I am working on an application where I need to connect 4 Camera Chips to a central FPGA. The camera chips are MT9V034 devices and each has a Parallel output with a pixel clock of 26.6MHz, and also a LVDS output consisting of a single data channel and a separate clock at 320MHz. I have to get the camera video, from 4 camera boards to a central board with an FPGA 500mm from the camera boards. (Note the FPGA does not have dedicated SERDES inputs)
The first option is a simple ribbon cable from each camera with 11 signals (data, pclk, and horizontal and vertical syncs) to the FPGA board. This worries me because of EMC emissions from the ribbons.
The second, and much preferred option is to use the LVDS signals. So we have a single data channel with the pixel data and a separate clock channel operating at about 320MHz. This LVDS communication also worries me, primarily because I have no experience above 100MHz! So I'm hoping you more experienced engineers can offer some friendly advice.
Here are my options ...
1. Use 8 bit parallel data on a ribbon cable. As already mentioned the EMC bothers me and also its a lot of FPGA pins.
2. Ideally, I would connect the LVDS clock and data signals from the camera chip to the FPGA and simply clock in the data and convert back to parallel. However, I suspect that at this frequency - even though the transmission distance is just 500mm I'm going to have problems with the FPGA. (LVDS data and clock could be transmitted via a shielded multipair cable to there could be limited EMI and limited clock skew).
3. The MT9V034 documents suggest use of a DS92LV1212A deserialiser to receive the single data channel (without the lvds clock), and to auto recover the clock to recreate the parallel output. This is a potential solution but there is an unknown 'lock' time for the device to lock to the incoming data signal clock. Since my application will be capturing partial static images from the camera chip the at sporadic intervals, I am concerned that the DS92LV1212A wont be able to lock quickly enough each time that data is available to receive.
Any comments, advice or personal experience will be appreciated.
The first option is a simple ribbon cable from each camera with 11 signals (data, pclk, and horizontal and vertical syncs) to the FPGA board. This worries me because of EMC emissions from the ribbons.
The second, and much preferred option is to use the LVDS signals. So we have a single data channel with the pixel data and a separate clock channel operating at about 320MHz. This LVDS communication also worries me, primarily because I have no experience above 100MHz! So I'm hoping you more experienced engineers can offer some friendly advice.
Here are my options ...
1. Use 8 bit parallel data on a ribbon cable. As already mentioned the EMC bothers me and also its a lot of FPGA pins.
2. Ideally, I would connect the LVDS clock and data signals from the camera chip to the FPGA and simply clock in the data and convert back to parallel. However, I suspect that at this frequency - even though the transmission distance is just 500mm I'm going to have problems with the FPGA. (LVDS data and clock could be transmitted via a shielded multipair cable to there could be limited EMI and limited clock skew).
3. The MT9V034 documents suggest use of a DS92LV1212A deserialiser to receive the single data channel (without the lvds clock), and to auto recover the clock to recreate the parallel output. This is a potential solution but there is an unknown 'lock' time for the device to lock to the incoming data signal clock. Since my application will be capturing partial static images from the camera chip the at sporadic intervals, I am concerned that the DS92LV1212A wont be able to lock quickly enough each time that data is available to receive.
Any comments, advice or personal experience will be appreciated.