임베디드 비전 애플리케이션에서 MIPI CSI-2 인터페이스의 중요성

최근 몇 년 동안 점점 더 많은 수의 임베디드 비전 애플리케이션이 시장에 등장하고 있다. 이 시스템들은 임베디드 컴퓨팅 보드와 카메라 모듈을 기반으로 한 시스템이다. 이러한 시스템은 보다 저렴하고 효율적인 비전 작업을 관리할 수 있어 많은 소비자들이 찾고 있다.
카메라 모듈과 호스트 사이의 연결인 인터페이스는 이러한 임베디드 비전 시스템의 설정에 중요한 역할을 한다. 예를 들어 플러그 앤 플레이 USB 3.0 인터페이스가 사용될 수 있다. LVDS(Low Voltage Differential Signaling) 인터페이스는 특히 FPGA 기반 시스템에서 고려할 가치가 있다. 그러나 대부분의 경우 MIPI CSI-2 인터페이스가 적절한 선택지 이다. 바슬러가 제공한 이 글을 통해 임베디드 비전 분야에서 인터페이스의 중요성과 특징에 대해 알아보자.

1. MIPI는 무엇인가?


MIPI Alliance(Mobile Industry Processor Interface Alliance)는 이동 통신 및 엔터테인먼트 전자 산업의 거의 모든 응용 프로그램 또는 하드웨어 제조업체의 연합이다. MIPI의 목표는 모바일 프로세서와 주변 장치(위치 센서, 카메라, 입력 인터페이스, 디스플레이 등) 사이의 모든 중요한 인터페이스를 표준화하는 것이다. 만약 목표를 이루게 된다면, 모바일 주변기기 제조업체는 하드웨어를 다양한 유형의 프로세서로 쉽게 조정할 수 있게 될 것이다.
MIPI 제품은 프로세서 제조업체를 위해 잠재적으로 호환 가능한 주변기기를 더 많이 생성한다. 이렇게 하면 양측이 보다 경제적인 개발 및 생산 프로세스를 통해 이익을 얻을 수 있을 것이다. 잘 알려진 MIPI 표준에는 DSI(디스플레이 직렬 인터페이스) 사양과 CSI(카메라 직렬 인터페이스)가 포함됩니다.

2. 무엇이 MIPI CSI-2를 정의하는가? 무엇이 아닌가?
CSI 사양은 이미 수년간 존재해왔으며, 최근 3세대가 나타났다. 즉, CSI-3이다. 그러나 하드웨어의 지원 부족으로 CSI-3는 업계에서 인기를 얻지 못하였지만 이전 표준에 비해 명백한 이점이 있다(예: 훨씬 더 높은 대역폭). 현재 가장 널리 사용되는 CSI-2 표준이 현재의 하드웨어 요구 사항을 충족시키기에 충분하다는 사실 또한 여기서 중요한 역할을 한다.
MIPI CSI-2 사양은 신호 전송의 물리적 계층(D-PHY 혹은 C-PHY)과 이를 기반으로 하는 영상 데이터 전송을 위한 CSI-2 프로토콜을 나타낸다. 또한 이 표준은 I²C 즉, CCI를 통해 카메라 구성을 위한 인터페이스를 지정한다.
 
2.1 물리적 층- C-PHY vs. D-PHY
MIPI CSI-2를 사용하면 영상 데이터가 개별 레인을 통해 직렬로 전송된다. 이미지 센서나 카메라 모듈을 2 혹은 4레인으로 연결하는 것이 일반적이다. 가능한 최대 대역폭은 레인 수에 따라 선형적으로 확장한다. 즉, 4개의 레인이 2개의 레인에 비해 가능한 두 배의 대역폭을 제공한다. 이 표준은 휴대 전화 뒤에 있는 고해상도 카메라가 4개 레인으로 연결돼있지만 앞에 있는 2개 레인의 저해상도 카메라로 연결된 스마트 폰 세계에서 유래되었다. 결과적으로 거의 모든 해당 온-칩 프로세서는 이미 2개의 레인이 있는 1개의 CSI-2 인터페이스를 가진다.
- 물리적 이미지 데이터는 C-PHY를 통해 전송된다.
C-PHY에서 레인은 3개의 도선으로 구성되어 내장된 시계와 3단 기호 코딩을 실현한다. 최신 사양에 따르면 이것은 이론적으로 레인 당 5.7Gbit/s의 전송속도를 달성했다.

- 물리적 이미지 데이터는 D-PHY를 통해 전송된다.
D-PHY는 C-PHY에 비해 구조가 단순하다. LVDS와 마찬가지로 데이터 스트림은 두 개의 도선을 통해 서로 다르게 전송된다. 모든 레인에서 공유된 외부 시계 레인이 이용가능하다. 결과적으로 이 간단한 설정은 레인 당 최대 2.5Gbit/s 의 낮은 데이터 전송 율만을 허용한다. 더 낮은 대역폭에도 불구하고(대부분의 애플리케이션에는 충분함), D-PHY는 특히 표준 층에 있다. 그러나 D-PHY와 C-PHY는 개별 하드웨어에도 공존할 수 있으며 개별 센서는 예를 들어 하나 또는 다른 기술로 작동할 수 있다.

- 카메라 컨트롤 인터페이스 (CCI):
CSI-2는 CCI의 형태에서 센서/카메라 모듈 구성을 위한 표준 프로토콜을 제공한다. CCI는 물리적으로 I²C를 기반으로 하며 일반적으로 카메라 모듈은 임의의 I²C 인터페이스에서 구성되며 이것은 거의 모든 SoCs에서 여러 상황에서 나타난다.
그러나 센서/카메라 모듈과 SoCs 자체에서 균일성이 결여되어있다. 일부 SoCs에는 구성에 사용해야 하는 전용 I²C/CCI 인터페이스가 있다. 동시에 많은 센서/ 카메라 모듈은 표준화된 CCI가 아닌 제작자-특수, 특허 실행을 통해 구성된다.

2.2 CSI-2 프로토콜 층
CSI-2는 패킷 지향 프로토콜이다. 이러한 이유로 CSI-2 사양은 특히 패킷 데이터 형식으로 설명된다. 애플리케이션에서 일반적으로 사용할 수 있는 가능한 픽셀 형식 (RGB, YUV, RAW, JPEG 등) 또한 지정된다. 그러나 모바일 프로세서의 MIPI CSI-2 드라이버는 일반적으로 몇가지 픽셀 형식만을 지원 한다 (때때로 산업 이미지 처리 시장에서 관습에 얽매이지 않는 경우가 있는 픽셀 형식).

2.3 산업 표준과 비교하여 MIPI CSI-2 
MIPI CSI-2는 ‘표준 규격’에 대한 설명에 가깝고 이 점에서는 GigEVision 사양(기가비트 이더넷을 통한 이미지 데이터 전송)과 비슷하다. 이미지 처리 시장에서 일반적으로 사용되는 GenICam 제품군의 표준과 달리, MIPI CSI-2에는 GenAPI로 대표되는 표준 프로그래밍 인터페이스 (Application Programming Interface, API)가 없다(예를 들어  표준화 된 이미지 데이터 인터페이스 GenTL). MIPI CSI-2를 사용하는 경우 이미지 데이터는 일반적으로 Video4Linux(V4L)를 통해 전달된다. 하지만 Video4Linux(V4L)는 표준화되지 않았으며, 보편적으로 제공되지 않는다.

3. 장점은 무엇인가?
모바일 시장은 거대하고 모바일 프로세서는 매우 많은 양으로 생산되며 시장 규모와 경쟁 압력은 짧은 혁신 주기에서 프로세서의 효율성을 증가시킨다. 매우 저렴한 저가형 프로세서는 현재 일반적으로 2-4개의 레인이 있는 칩에 두개의 MIPI CSI-2 인터페이스를 장착하고 있다.
한때 모바일 프로세서만(Qualcomm, Rockchip, Samsung과 같은) 생산했던 많은 제조업체들이 이미지 처리 업계에서 흥미로운 시장을 발견하고 이젠 산업 애플리케이션에 있어 때때로 모듈 파트너를 통해 더 작은 양과 더 긴 이용성 제품을 공급한다.
이와 동시에 보다 일반적인 산업용 내장 프로세서는(예. NXP 로부터 i.MX 제품군, TI 로부터 일부 Sitarra SoCs, NVIDIA, Intel Atom SoCs 등) 현재 MIPI CIS-2 인터페이스가 장착되어 있기 때문에 새로운 카메라 인터페이스는 사실상 이미지 처리 시장에서는 피할 수 없다.
CSI-2는 매우 얇고 저렴한 머신 비전 디자인을 가능하게 하여 대역폭이 매우 큰 센서나 카메라 모듈을 사용할 수 있다. 하지만 프로세서의 가격이 저렴하고, 더 저렴해지는 것이 단가가 낮아지는 유일한 이유는 아니다. 수많은 전임자들에 의해 개발자들은 애플리케이션에 따라 최적의 시스템 설계를 자유롭게 선택할 수 있다. 예를 들어, 이는 내장된 시스템의 에너지 소비를 줄일 수 있다.

MIPI CSI-2은 기술적으로 매우 작은 크기의 설계를 가능하게 하며 이는 보드간의 연결을 통해 평평하고 유연한 케이블로 구현할 수 있다. 그렇지 않으면 이 기능은 LVDS 기반 연결을 통해서만 가능하며 USB 3.0을 통해서는 확실히 불가능한데 이것의 플러그는 더 큰 공간을 차지하게 만든다. 사용 가능한 어셈블리 공간은 내장형 시스템을 기반으로 하는 많은 제품에서 가장 관련성이 높은 요소 중 하나이므로 USB 3.0은 여기서 전혀 고려되지 않을 수 있다.
MIPI CIS-2 인터페이스를 사용하면 이미지 데이터는 카메라 모듈 또는 센서에서 프로세서로 직접 전송할 수 있다. 따라서 USB 3.0의 경우와 같이 임시 프로세싱 혹은 데이터 변환이 불필요하다. 데이터 프로세서 용량에 미치는 영향을 ‘우회’ 하지 않는다. 해당 하드웨어(마이크컨트롤러 등)도 생략된다. 이러한 조건으로 인해 훨씬 더 슬림한 내장 시스템을 구현할 수 있다.
 
4. 어떠한 방해가 발생할 수 있나?
효율적인 MIPI CSI-2 카메라 인터페이스의 제안이 매력적인 만큼 추가 비용 없이 사실상 사용할 수 있으므로 개발 중에 고려해야 할 몇 가지 장애물이 있다.

-케이블 길이: 안타깝게도 물리적 영상 데이터 전송 D-PHY에서는 일반적으로 20㎝ 이하의 짧은 케이블 길이만 허용한다. 스마트 폰과 같은 모바일 애플리케이션의 경우 이는 문제가 되지 않지만 많은 산업용 애플리케이션의 경우에는 그렇지 않을 수 있다.
-플러그: 안타깝게도 MIPI Alliance는 MIPI CIS-2를 표준화하지 않는다. 카메라 모듈은 항상 독점적인 방식으로 개별적으로 연결되어야 한다는 것을 의미한다.
-드라이브 지원: 표준화된 드라이버와 소프트웨어 묶음이 없으므로 전용 I²C 드라이버를 통해 지정된 SoC 의 CSI-2 드라이버를 Video 4 Linux 하위 장치로 개별적으로 조정해야한다. 다르게 말하자면, SoC 용으로 설계된 센서, 카메라 모듈을 선택하는 경우 이 모듈에도 해당 I²C 드라이버가 있는지 확인해야 한다. 이는 센서의 모듈 및 SoCs 선택의 폭을 상당히 좁아지게 한다.
-픽셀 형태: 위에서 설명한대로 대부분의 CSI-2 드라이버는 매우 적은 픽셀 형식만을 지원하며 반드시 이미지 처리 시장에서 필요한 것은 아니다.
-카메라 API: GenICam 가족의 기준은 이미지 처리 시장에서 잘 알려져 있다. GenICam 덕분에 카메라 API 는 표준화되고 모든 카메라 기능에 대한 전체 접근이 보장된다. 또한 카메라 기능에 대한 지정은 제조업체에 관계없이 표준화되어 사용자가 프로그램 코드를 크게 변경하지 않고도 카메라 모델과 인터페이스 기술(예. GigEVision 대신 USB3 비전)을 변경한다. 반면 표준화된 기능 지정과 표준화된 API가 없어 카메라 모듈 간 혹은 SoC 를 전환할 때 기존 코드를 재사용하기 어렵다.

이러한 장애물은 모두 적절한 비용으로 극복할 수 있지만 이로 인해 개발 및 제조비용이 증가할 수 있다. 산업용 카메라 제조사들은 또한 더 긴 케이블을 통해 동시에 모든 카메라 기능과 픽셀 형식에 접근할 수 있는 MIPI CSI-2 기반 카메라 솔루션을 위한 GenICam 인터페이스를 개발하고 있다.

5. 요약
MIPI CSI-2 인터페이스는 슬림하고 비용 최적화 구조가 바람직한 내장형 비전 시스템에 적합하다. 그러나 해당 카메라 모듈의 통합에는 특히 소프트웨어 측면에서 노력이 필요하다.
드라이버 및 이미지 데이터 인터페이스를 애플리케이션에 맞게 조정해야 할 수 있다. 예를 들어, 하드웨어에 의해 제기되는 것과 같은 다른 제한 사항도 고려해야 할 수 있다. 따라서 시스템 개발자가 작업 부하를 안정적으로 추정할 수 있도록 하려면 드라이버의 범위와 호환성, 그리고 기존 카메라 소프트웨어 및 SW 인터페이스를 고려해야한다. 여기서 올바른 옵션을 사용할 수 있다면 효율적인 비전 시스템을 개발하여 성능이 우수한 최종 제품을 만들 수 있다. 

자료제공 : Basler

주요기사

먼저 비밀번호를 입력하여 주세요.

창닫기확인