Hello everyone,
I'm an owner of a tower kit, TWR VF65GS10, and I want to use a digital camera MIPI/CSI-2 and interface it to the VIU3 interface of the Vybrid.
What should I need to do it ? I'm not going to use the VideoADC included. Does anyone tested to connect a camera to this kit before ?
If someone have some experience about camera interface with vybrid please let me know about it.
Regards,
Ahmed.
Solved! Go to Solution.
Hello Ahmed,
Unfortunately, we have not used a camera module with the Vybrid Tower, as VIU3 is not well broken out. Some functionality of VIU has been implemented in a driver in the Linux kernel for the powerpc mpc512x target:
http://lxr.free-electrons.com/source/drivers/media/video/fsl-viu.c?v=3.0
http://lxr.free-electrons.com/source/drivers/media/platform/fsl-viu.c
If you were looking to use Linux, you could use this driver as a base for your own driver. Timesys can help with custom driver development under a services agreement. Let me know if you have any questions.
Thanks,
Timesys Support
CSI-2 is serial camera interface, and VIU3 is parallel camera interface. CSI and VIU3 are not compatible.
Regards,
Edward
Thank you Edward,
Yes I am going to use a parallel camera interface, do you/anyone tested a camera module on tower board vf6xx ?
If yes what kind of camera did you used ?
Does anyone have advices/samples ?
thank you,
Regards,
Ahmed.
Hello Ahmed,
Unfortunately, we have not used a camera module with the Vybrid Tower, as VIU3 is not well broken out. Some functionality of VIU has been implemented in a driver in the Linux kernel for the powerpc mpc512x target:
http://lxr.free-electrons.com/source/drivers/media/video/fsl-viu.c?v=3.0
http://lxr.free-electrons.com/source/drivers/media/platform/fsl-viu.c
If you were looking to use Linux, you could use this driver as a base for your own driver. Timesys can help with custom driver development under a services agreement. Let me know if you have any questions.
Thanks,
Timesys Support
Ahmed,
yes, I was using Vybrid Tower card with camera to debug and prototype final product code.
Regarding camera, I don't want to disclose its model. Any model with parallel interface should work well. You may have following problems interfacing camera to Vybrid Tower card:
1) find Vybrid VIU_DATAx wires, which don't interfere with Vybrid card circuits. You should study Vybrid Tower card schematics
2) I don't know if it is possible to have both camera and LCD-RGB display connected to Vybrid Card at the same time. I wasn't interested in this and don't know if this is possible. Some VIU data wires may interefe also with TWR-SER or TWR-SER2. You may need to check these circuits too. My task was to capture image data from camera and calculate some figures, no need to feed LCD with data from camera or use Ethernet. I was removing Vybrid card from tower and using only primary side PCI-E connector to interface with camera.
3) LCD connection probably requires contiguous VIU_DATA? signals set like data0, data1..data6. I was interfacing 12bit camera and didn't find such contiguous signals set. This forced me to shift some camera data bits left, some bits right when processing captured data at run time (NEON is great at this).
You need to study Vybrid RM Table 57-1 and Table 57-24. First table explains what VIU3 data pins you need to use, second table explains how data bits will be packed in image storage RAM.
Don't get fooled by Table 57-1. It is misleading a bit. I think columns RGB565, RGB666 and RGB888 should contain the same values, like R7-R7-R7 for bit7 of red component. Though formats are different and RGB565 includes only 5 bits of red, R4 (R7) will be stored in the same bit position in RAM!
Regards
Edward
Thank for those helpfull information Edward,
I don't need LCD-RGB display also, I just need to capture data from camera, for a future application where I'll use my own sensor and everything between to convert data etc..
So for the moment I'm just focusing on a camera, see how I can interface it with the VIU, I checked the pins I'll have to use, (DATA, pix_clk, hsync, vsync, i2c for control, clk but which one? fid and de ?..) now I'm looking for a camera with parallel interface and if I can find also drivers for it. What do you think about this module : 5 MP High definition camera module | Camera module with S mount holder
It's based on a OV5640. I found only some cameras examples on imx6 boards but on vybrid not at all.
Regards,
Ahmed.
(I won't bother looking for OV5640 datasheet, sorry. Camera manufacturers for some reasons keep them nonpublic and often NDA protected. )
You need Pix_clk camera output, horizontal and vertical sync's and data ouputs. These are mandatory. FID and DE are optional. Connect them if your camera has such outputs.
I'm not sure what CLK are you asking about. Is it camera clock input? If so, then you can connect it to Vybrid CKO1 or CKO2 clock observation outputs. Camera must have built in PLL, which should accept wide range of input clock frequency. You should be able to produce required frequncy on CKOx pin.
Edward
Thank you Edward for the information about clock, that's what I was wondering. For the pins and choice of the camera it's better now.
For your camera application did you start it from scratch or did you follow an example ? what about drivers ?
Moreover did you make it work under mqx,linux? This point is not so clear for me. Which core is accessing the VIU
Thank you,
Best regards,
Ahmed
No drivers, no OS - bare metal. For camera position and image check I used FSL USB stack, USB Video Class device. This requires "no driver", Windows detects and installs driver on first plug in. There's plenty of USB WebCam apps on the net, which work with USB Video class devices.
Edward
Thank you Edward I'm going to study the USB Stack.
Which IDE did you use to develop ? (Eclipse DS-5,IAR..?)
I have some difficulties to detect my board under IAR EW and debug my apps. I'm working on DS-5 for the moment.
Regards,
Ahmed
timesyssupport can you attend this case?