3 min read
Introducing CCS Tools, MIPI's Latest Breakthrough for Faster and Easier Camera Integration
Sakari Ailus and Rob Gough, MIPI Alliance Camera and Software Working Groups : 14 December 2020
MIPI Alliance changed the game for integrating cameras and other sensors into mobile devices when it recently introduced CCS Static Data as part of the new MIPI Camera Command Set v1.1 (MIPI CCSSM v1.1) specification. Now CCS Tools is making this innovation even more powerful. Find out more and register for the upcoming webinar below.
A New Set of Tools for CCS Static Data Files
CCS Static Data makes hardware implementation faster and easier by providing a standardized method of describing a sensor's limits and capabilities outside of hardware. Beyond this, CCS Static Data also includes support for model-specific registers (MSRs). Because device drivers can parse the CCS Static Data format, vendors and system integrators can add support for new image sensors and update MSRs for existing ones without making driver changes.
Now MIPI Alliance is introducing CCS Tools, a set of tools and libraries that will help component vendors and system integrators take advantage of CCS Static Data to achieve faster time to market at lower cost. This is good news for anyone developing or integrating hardware in the mobile device, IoT and automotive industries, where new products are packed with a growing number of image sensors.
Now that even low-end smartphones have multiple cameras, and cars are being built with more cameras for driving automation and in-vehicle infotainment (IVI), CCS Tools will help vendors and system integrators quickly implement and integrate new image sensors to stay ahead of the curve.
CCS Tools was developed for anyone who works with CCS Static Data, including hardware engineers, programmers and testers. It gives them a common toolset that can be used across vendors, devices and operating systems – saving them from having to create their own tools or debug a multitude of different implementations. It will ease implementation of CCS Static Data and allow for hardware updates without time-consuming changes to software.
Use with CCS v1.1
CCS v1.1 enables rapid, plug-and-play integration of image sensor functionalities in mobile and mobile-influenced devices without the need for device-specific drivers. While designed for use with the broadly adopted MIPI Camera Serial Interface 2 (MIPI CSI-2®) v3.0, it is backward-compatible with earlier versions of CSI-2. CCS v1.1 supports both MIPI C-PHY℠ or MIPI D-PHY℠ physical layers.
CCS Tools complements CCS v1.1 and is publicly available now. It includes three main elements:
- A definition of a plain-text format, based on YAML, that lets developers read and edit CCS Static Data files in text and can be easily produced by scripts and other programs
- A Perl script to convert those text-based CCS Static Data files to the CCS Static Data binary format
- A reference library for parsing binary CCS Static Data files
The CCS Static Data plain-text format makes it easy for developers to read and edit CCS Static Data files, which can then be converted into the size-optimized CCS Static Data binary format. The standard conversion program in CCS Tools saves developers from having to write their own converter.
The parser library reference implementation, written in C, provides a common tool for parsing the binary files the converter produces, making it easier to support CCS Static Data in drivers. Including this in CCS Tools prevents a proliferation of independently developed parsing libraries. It also ensures that CCS Static Data binaries are read the same way wherever the standard parser library is used.
With CCS Static Data, one device driver can interact with many different image sensors and modules, determining the capabilities, configurations and limits of each one by referring to corresponding CCS Static Data. This makes it possible to have one common driver for each OS, simplifying the integration of new components.
Anyone is allowed to write and contribute drivers for specific operating systems. In addition, the Linux driver for all CCS-compliant camera sensors has been developed for inclusion in the Linux mainline kernel.
Access the Tools & Additional Resources
CCS Tools is distributed under the 3-Clause BSD License and is available for download in the MIPI Alliance GitHub repository. You can also download MIPI CCS v1.1 and a Conformance Test Suite for the specification.
See a CCS Tools Demo at Upcoming Webinar
To find out more about the features and benefits of CCS Tools, the Camera and Software working groups are hosting a webinar on Jan. 13, 2021, at 11 a.m. EST, 8 a.m. PST. During the webinar, Sakari Ailus, the key contributor to the project, will provide an overview of the components of MIPI CCS Tools, and share a demonstration of both the CCS Tools and the Linux CCS driver.