B100 module rev 3 (top view)
This product evolved out of the original HDMI interface for the Raspberry Pi. Now it is a very general purpose design and can therefore be targeted to multiple platforms including the Raspberry PI, the HummingBoard or the Jetson TK1. As of December 2014 the first prototype is working on an iMX6 development platform with the video4linux (V4L) driver and Gstreamer playing out the video from the HDMI input on a HDMI monitor. In the current setup 4 CSI lanes are used.
Raspberry Pi
All Raspberry Pi models are not supported (yet) software wise, as the CSI-2 interface of the Raspberry Pi models has not disclosed (yet).
Status today
The B100 is targeted at software and system developers, who wish to undertake a port of the driver to their target system (iMX6 based). We are using the Nitrogen6x board as the test platform. If you are interested to attempt such a driver port please contact us for further support.
- C source code of the Kernel patch
- data sheet of the Toshiba bridge chip with detailed register description
- Excel spreadsheet application to assist in computing the register settings of the Toshiba bridge chip
Next step
We have started the port to the HummingBoard. We should know more shortly. One partner is working on porting the V4L driver to the Jetson TK1. I expect this to be available in July.
Technical details
- HDMI input: up to 1080p60
- HDMI to CSI-2 bridge chip: Toshiba TC358743XBG (U1)
- CSI-2: up to 4 lanes plus clock (J1 and J3)
- top connector: 40 pin for board to board connection
- size: 27 x 39 mm
- mounting: 2x M2.5 mounting holes
- on board micro controller for I2C interface to CSI-2 bridge chip (optional)
- configuration via I2C (simple I2C host interface) or UART (serial port) (optional)
- power: 3.3V
Software
- V4L (video4linux) driver
- download driver from RidgeRun
- tested on iMX6 development platform
- tested with gstreamer
Adapter boards
- 15 pin FPC MIPI/CSI interface for Raspberry PI and HummingBoard
- adapter board for the Nitrogen6x
- adapter board for the Jetson TK1
- other adapter boards in development
- in March 2015 two new modules have been introduced, which do not require the adapter boards (B101 and B102)
Status
- March 2015: production
Please check the purchase page for pricing and availability.
Raspberry Pi demo with Toshiba bridge
Article: Raspberry Pi demo at the Embedded World 2014 show
Image: JPEG image of the bridge connected to a Raspberry Pi
HummingBoard with B100
Nvidia Jetson TK1 development board with B100 (HDMI to CSI-2 bridge)
Schematics
Download schematics of B100-TK1 adapter for the Jetson TK1. The adapter board is a 2 layer board, which interfaces one B100 to the Jetson TK1. The Tegra K1 processor features two 4 lane CSI-2 ports, but only one is brought out on the extension connector of the Jetson board. Once the driver has been successfully ported we plan to design a carrier board, which features two integrated B100 modules for 2 independent video inputs. We feel confident that the CUDA subsystem of the Tegra K1 processor is powerful enough to process and encode 2 videos at 1080p.
Connectors
J1 is the 40 pin board to board connector on the top of the board. It mates with the following connector: Molex DF12(5. 0)-40DP-0. 5V(86). J3 is the 22 pin FPC connector. It has been removed from the B100 rev 3 and can now be found on the B102. It has the same pinout as the new CSI-2 connector on the RPI compute module base board. Both connectors feature 4 CSI-2 lanes. Simple adapter boards may convert this to other interfaces.
Testing B100 with gstreamer
# gst-launch mfw_v4lsrc capture-mode=5 fps-n=60 queue-size=7 ! queue max-size-buffers=3 ! gstperf ! mfw_v4lsink tc358743_mipi_camera_powerdown: powerdown=1, power_gp=0xa9 MFW_GST_V4LSRC_PLUGIN 3.0.7 build on Sep 9 2014 12:16:17. tc358743_mipi_camera_powerdown: powerdown=0, power_gp=0xa9 MFW_GST_V4LSINK_PLUGIN 3.0.7 build on Sep 9 2014 12:16:14. Setting pipeline to PAUSED … det_worker: 852f=0 det_worker: 8521=0 Pipeline is live and does not needet_worker: 852f=0 d PREROLL … det_worker: 8521=0 Setting pipeline to PLAYING … New clock: GstSystemClock det_worker: 852f=0 det_worker: 8521=0 det_worker: 852f=0 det_worker: 8521=0 det_worker: 852f=0 det_worker: 8521=0 det_worker: 852f=0 det_worker: 8521=0 det_worker: 852f=0 det_worker: 8521=0 det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=0 imx-ipuv3 imx-ipuv3.0: IPU Warning – IPU_INT_STAT_5 = 0x00000001 full screen size:1920×1080 [V4L Update Display]: left=0, top=0, width=1920, height=1080 >>V4L_SINK: Actually buffer status: hardware buffer : 12 software buffer : 0 det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f det_worker: 852f=7 det_worker: hdmi detect 7 det_worker: detect 8521=f perf0: frames: 55 current: 53.50 average: 53.50 arm-load: 1 perf0: frames: 116 current: 59.62 average: 56.56 arm-load: 27 perf0: frames: 177 current: 59.68 average: 57.60 arm-load: 25 perf0: frames: 239 current: 60.64 average: 58.36 arm-load: 25 perf0: frames: 300 current: 59.70 average: 58.62 arm-load: 25 perf0: frames: 361 current: 59.66 average: 58.80 arm-load: 25 perf0: frames: 422 current: 59.69 average: 58.92 arm-load: 25 perf0: frames: 484 current: 60.67 average: 59.14 arm-load: 25 |