Difference between revisions of "OV3640"
From ArmadeusWiki
(→Drivers) |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 2: | Line 2: | ||
* http://framos.eu/4702.html?&L=3 '''but:''' this product has a limited order quantity of 500pcs | * http://framos.eu/4702.html?&L=3 '''but:''' this product has a limited order quantity of 500pcs | ||
* ?? if someone knows one more affordable... tell us !! | * ?? if someone knows one more affordable... tell us !! | ||
+ | * 2014-02: Maybe at http://www.uctronics.com/mega-pixel-camera-module-ov3640-hq-lens-p-1508.html, but not tested... | ||
Sensor seems pretty cool but, as always with Omnivision, datasheets are under NDA and init procedure looks like black magic. | Sensor seems pretty cool but, as always with Omnivision, datasheets are under NDA and init procedure looks like black magic. | ||
Line 9: | Line 10: | ||
* Somebody from OMAP community tried to push a driver some times ago: | * Somebody from OMAP community tried to push a driver some times ago: | ||
** https://patchwork.kernel.org/patch/9753/ | ** https://patchwork.kernel.org/patch/9753/ | ||
+ | |||
+ | Our actual driver is a mix between these twos. | ||
+ | |||
+ | <pre class="apf"> | ||
+ | # modprobe mx27_camera | ||
+ | # modprobe ov3640 | ||
+ | </pre> | ||
==Debugging== | ==Debugging== | ||
− | * Access to sensor registers | + | * Access to sensor registers from userspace (here I2C 7 bit @ = 0x30): |
<pre class="apf"> | <pre class="apf"> | ||
− | # | + | # ./v4l2-dbg -c 0x30 -g 0x3d |
− | # | + | ioctl: VIDIOC_DBG_G_REGISTER |
− | # | + | Register 0x0000003d = 99h (153d 10011001b) |
+ | |||
+ | # ./v4l2-dbg -c 0x30 -s 0x3d 0 | ||
+ | Register 0x0000003d set to 0x0 | ||
+ | |||
+ | # ./v4l2-dbg -c 0x30 -g 0x3d | ||
+ | ioctl: VIDIOC_DBG_G_REGISTER | ||
+ | Register 0x0000003d = 0h (0d 00000000b) | ||
+ | |||
+ | # ./v4l2-dbg -c 0x30 -l | ||
+ | ioctl: VIDIOC_DBG_G_REGISTER | ||
+ | |||
+ | 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||
+ | 00000000: 00 80 80 12 00 00 00 00 00 01 96 52 04 80 01 43 | ||
+ | 00000010: 40 00 10 8f 4a 00 04 1a ba 01 81 00 7f a2 10 00 | ||
+ | ............... | ||
</pre> | </pre> | ||
==Links== | ==Links== | ||
* http://www.ovt.com/products/sensor.php?id=7&limit=25,24 | * http://www.ovt.com/products/sensor.php?id=7&limit=25,24 | ||
+ | |||
+ | [[Category:Vision]] |
Latest revision as of 12:31, 7 February 2014
OV3640 is an Omnivision 3 Mpixels sensor that can be found in the following commercial camera modules:
- http://framos.eu/4702.html?&L=3 but: this product has a limited order quantity of 500pcs
- ?? if someone knows one more affordable... tell us !!
- 2014-02: Maybe at http://www.uctronics.com/mega-pixel-camera-module-ov3640-hq-lens-p-1508.html, but not tested...
Sensor seems pretty cool but, as always with Omnivision, datasheets are under NDA and init procedure looks like black magic.
Drivers
- Freescale i.MX27/i.MX51 BSP have a driver for it (very customized one == only usable with Freescale BSP/boards)
- Somebody from OMAP community tried to push a driver some times ago:
Our actual driver is a mix between these twos.
# modprobe mx27_camera # modprobe ov3640
Debugging
- Access to sensor registers from userspace (here I2C 7 bit @ = 0x30):
# ./v4l2-dbg -c 0x30 -g 0x3d ioctl: VIDIOC_DBG_G_REGISTER Register 0x0000003d = 99h (153d 10011001b) # ./v4l2-dbg -c 0x30 -s 0x3d 0 Register 0x0000003d set to 0x0 # ./v4l2-dbg -c 0x30 -g 0x3d ioctl: VIDIOC_DBG_G_REGISTER Register 0x0000003d = 0h (0d 00000000b) # ./v4l2-dbg -c 0x30 -l ioctl: VIDIOC_DBG_G_REGISTER 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000: 00 80 80 12 00 00 00 00 00 01 96 52 04 80 01 43 00000010: 40 00 10 8f 4a 00 04 1a ba 01 81 00 7f a2 10 00 ...............