Difference between revisions of "Camera interface"

From ArmadeusWiki
Jump to: navigation, search
(Test)
(Test)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Under_Construction}}
 
 
 
On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI) of the i.MX chip found on your APF board.
 
On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI) of the i.MX chip found on your APF board.
 
Currently only the [[APF27]] & [[APF6]] are supported.
 
Currently only the [[APF27]] & [[APF6]] are supported.
Line 14: Line 12:
  
 
===APF6===
 
===APF6===
* [[APF6Dev]] boards have a wandcam compatible connector (near the PCIexpress one).
+
* [[APF6Dev]] boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).
 +
* MIPI bus is used on [[APF6Dev]]
  
 
==Driver==
 
==Driver==
* From now we consider that you have a supported camera module plugged on you development board
+
* From now we consider that you have a supported camera module plugged on your development board
 
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:
 
* CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:
 
{| border="1" cellpadding="10" cellspacing="0" summary="Camera drivers" class="wikitable"
 
{| border="1" cellpadding="10" cellspacing="0" summary="Camera drivers" class="wikitable"
 
|- style="background:#efefef;" align="center"
 
|- style="background:#efefef;" align="center"
! APF27 || APF6
+
! APF27 || APF6 (kernel 3.19+)
 
|---
 
|---
 
|<pre class="apf">
 
|<pre class="apf">
Line 32: Line 31:
 
|
 
|
 
<pre class="apf">
 
<pre class="apf">
# modprobe ov5640-mipi
+
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi
 
</pre>
 
</pre>
 
|}
 
|}
Line 45: Line 44:
 
<pre class=apf>
 
<pre class=apf>
 
# capture --width 640 --height 480 --cam_width 640 --cam_height 480
 
# capture --width 640 --height 480 --cam_width 640 --cam_height 480
 +
</pre>
 +
 +
* To trigger autofocus (APF6 with 3.19+ kernel):
 +
<pre class=apf>
 +
# v4l2-ctl -c auto_focus_start=1
 
</pre>
 
</pre>
  

Latest revision as of 16:54, 1 April 2016

On this page you will find useful informations on how to use the Camera/CMOS Sensor Interface (CSI) of the i.MX chip found on your APF board. Currently only the APF27 & APF6 are supported.

Hardware

APF27

  • All the signals of the i.MX27 CSI interface can be found on the J9 connector of the APF27Dev development board.
  • You should connect an external camera/sensor compatible with the CSI interface (8bits data bus) to see something ;-). Here are the tested sensor models:
  • All these sensors are controllable through an I2C interface. The one on J8 connector of APF27Dev can for example be used.

APF6

  • APF6Dev boards have a wandcam (OV5640) compatible connector (near the PCIexpress one).
  • MIPI bus is used on APF6Dev

Driver

  • From now we consider that you have a supported camera module plugged on your development board
  • CSI interface can be driven through the V4L2 (Video For Linux) standard interface as soon as CSI/MIPI driver is loaded:
APF27 APF6 (kernel 3.19+)
# modprobe mx27_camera
  • Then you have to load your camera driver in order for him to "attach" to the CSI one (for example for the OV9653):
 # modprobe ov96xx
# modprobe -a mx6-camera mipi-csi2 ov5640-mipi


  • Now it's up to you to configure your camera with the tools/API the camera driver is offering...

Test

  • We have a small SDL/V4L2 app to quickly test that your camera is working properly (you will also need a LCD interface): target/demos/camera/capture/
    • it may be installed by default on your rootfs depending on your Buildroot defconfig.
    • to launch it (here to have a 640x480 camera image on a LW700 TFT):
# capture --width 640 --height 480 --cam_width 640 --cam_height 480
  • To trigger autofocus (APF6 with 3.19+ kernel):
# v4l2-ctl -c auto_focus_start=1

Going further

Links