- 16 Jun 2023
- 2 Minutes to read
- Print
- DarkLight
- PDF
Architecture of TEVI AR Series Cameras
- Updated on 16 Jun 2023
- 2 Minutes to read
- Print
- DarkLight
- PDF
Introduction
This article guides you known TEVI AR series cameras how to work. Help who want to modify for their project.
You must have the background knowledge to modify the kernel configuration, rebuild, and replace the kernel and the device tree source (DTS)
This article will take this SOM ( yocto kernel 5.15.52 ) and EDM-G-WB for example. Other support board list can referance as below.
yocto release notes
ubuntu 22.04-release notes
android 12 release notes
Camera Model
The TEVI AR series camera model is base on 3 part shown below.
Our camera products contains hardware devices and software support. We have open source driver and device tree overlay to support Technexion SOM, and camera ISP is already included. Besides, we provid VizionViewerâ„¢ SDK to help you adjusting in develop project.
Driver: tevi-ap1302 driver
ISP FW: build-in EEPROM
VizionSDK: coming soon
This is a easy flow to understand our camera how to boot up and using on develop board no matter what OS you used on linux.
Device tree include GPIO expander, EEPROM, ISP and MIPI-CSI. The operation of power and reset pin, you can reference GPIO expander part. All the devices are controlled by I2C except MIPI-CSI. you can get each address in device tree.
The tevi-ap1302 driver is already includes loading ISP FW from EEPROM. So, only need to check the device tree be set and then driver will probing camera. More detail about driver can see Camera Driver Analyze topic.
Camera Block Diagram
The block of software as below shows what you needs in kernel space and see device node in user space. You can take a easy test by using gstearmer to preview on the display and using VizionSDK to control camera adjustment setting.
The block of hardware as below shows TEVI AR series camera how to connect to SOM. You can see there is an EEPROM on camera module, that is where we pre-flash ISP firmware. It need driver to loading to ISP chip.
It is completely possible to connect the camera to the host. After the camera is connected, you can power the unit back up. Once booted up, you can check initialization of AP1302 driver.
If it shows detected tevi-ap1302 camera sensor, the driver is initialized correcly.
$ dmesg -t | grep ap1302
dmesg -t | grep ap1302
tevi-ap1302 1-003d: sensor_probe() device node: tevi_ap1302@3d
tevi-ap1302 1-003d: Product:TEVI-AR0521, Version:1. Lens:S84-IR FW:428 Freq:48M MIPI:816M, Version:1
tevi-ap1302 1-003d: probe success
mx8-img-md: Registered sensor subdevice: tevi-ap1302 1-003d (1)
mx8-img-md: created link [tevi-ap1302 1-003d] => [mxc-mipi-csi2.0]
You can check to see if a camera has been connected correctly and initialized. You can list the v4l2 devices as below
$ v4l2-ctl --list-devices
():
/dev/v4l-subdev0
mxc-isi-cap (platform:32e00000.isi:cap_devic):
/dev/video0
mxc-isi-m2m (platform:32e00000.isi:m2m_devic):
/dev/video2
mxc-isi-cap (platform:32e02000.isi:cap_devic):
/dev/video1
FSL Capture Media Device (platform:mxc-md):
/dev/media0
Camera Driver Analyze
The driver will get notifier form DTS and start probing to get GPIO, data-lane setting, and loading the ISP firmware from EEPROM writing in AP1302. Then, registering camera as a v4l2 sub-device that media device can link it. At last, driver will check loading ISP firmware success or not.