Professional Documents
Culture Documents
Chevallier Sensor To Display
Chevallier Sensor To Display
Chevallier Sensor To Display
Maxime Chevallier
maxime.chevallier@bootlin.com
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1
Maxime Chevallier
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1
Preamble - goals
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1
Embedded Linux Conference Europe, October 2020
Video Acquisition
Hardware
Maxime Chevallier
maxime.chevallier@bootlin.com
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1
Necessary components
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1
Image capture
LED Flash
Sensor
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 6/1
Lens
I Lens :
I Controls the focus of the incoming light
rays
I Can be adjusted for manual or
auto-focus
I Voice Coil Actuator :
I Lens position is adjusted by a Voice Coil
actuator
I A wire coil is attached to the Lens
I The Lens assembly sits in a static
magnetic field
I The coil is drived by a DAC providing
adjustable current
I Mostly controlled through I2 C
I MEDIA_ENT_F_LENS
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 7/1
Flash
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 8/1
Sensor
Control plane
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 9/1
Digital Sensors
Sensor
VSYNC
I Pixel Clock : Ticks every pixel sent
I HSYNC : Toggles on line end data
I VSYNC : Toggles on frame end lines
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 11/1
Digital transmission protocols : CCP2
I Serialized interface
I Sync signals embedded in data clk+ / clk-
Sensor
I Uses differential pairs to transmit data
d+ / d-
and clocks
I PHY Layer is based on subLVDS
I 4 pins needed : 2 for clk and 2 for data
I Up to 650 mbps
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 12/1
Transmission protocols : MIPI CSI
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 13/1
MIPI D-PHY Layer
I Serialized interface
I Sync signals embedded in data
clk+ / clk-
I Uses differential pairs to transmit data
Sensor
and clocks
dp1 / dn1
I Minimum 4 pins : 2 for clk and 2 per lane dp2 / dn2
... ...
I Up to 4 lanes
I Up to 6 Gbps
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 14/1
MIPI C-PHY Layer
I Serialized interface
I Sync signals and clock embedded in data
I 3-levels signals : High, Med and Low A/B/C
Sensor
I 3 lines per lane
I 16 bits transmitted over 7 symbols (in
... ...
quinary)
I Up to 3 lanes
I Up to 41 Gbps
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 15/1
Analog transmission protocols
NTSC
SECAM
PAL or PAL/SECAM
no info
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 16/1
Interlacing
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 17/1
Analog to Digital Transcoders
analog video
External signal
Decoder SoC
video source
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 18/1
Host Interface
SoC
Camera Interface
PHY RAM
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 19/1
Image processing
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 20/1
Example : Nokia N900
Sensor
CSI et8ek8
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 21/1
Example : Custom Product
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 22/1
Linux Support
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 23/1
Conclusion
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 24/1
Thank you!
Questions? Comments?
Maxime Chevallier — maxime.chevallier@bootlin.com
- Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 25/1