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

Basler

 

최근 몇 년 사이 임베디드 비전 애플리케이션의 수는 계속 증가했다. 이 시스템들은 임베디드 컴퓨팅 보드 및 카메라 모듈을 기반으로 하며, 비전 작업을 보다 저렴하면서 효율적으로 관리할 수 있도록 한다.

 

카메라 모듈과 호스트 사이의 연결인 인터페이스는 이러한 임베디드 비전 시스템의 구성에서 중요한 역할을 한다. FPGA 기반 시스템을 위해서라면 LVDS 인터페이스(Low Voltage Differential Signaling)는 고려할 만한 가치가 있다. 하지만 MIPI CSI-2 인터페이스가 적절한 선택인 경우가 많다.

 

본문에서는 임베디드 비전 분야를 위한 인터페이스의 중요성과 특징을 설명한다.

 

1. MIPI 란?

 

MIPI(Mobile Industry Processor Interface) 연맹은 모바일 통신 및 엔터테인먼트 전자 산업의 거의 모든 애플리케이션 또는 하드웨어 제조업체들로 구성되어 있다.

 

이 연맹의 목표는 모바일 프로세서 및 주변기기(예: 위치 센서, 카메라, 입력 인터페이스, 디스플레이) 간의 모든 주요 인터페이스를 표준화하는 것이다. 이렇게 되면 모바일 주변기기 제조업체들이 자사 하드웨어를 다양한 종류의 프로세서에 맞추기가 쉬워져 프로세서 제조업체들이 광범위한 호환 기기들을 만들 수 있다. 이것은 보다 경제적인 개발 및 생산 프로세스로 인해 양쪽 모두에게 이익이 된다.

 

잘 알려진 MIPI 표준으로는 DSI(Display Serial Interface) 사양 및 CSI(Camera Serial Interface) 사양이 있다.

 

2. MIPI CSI-2 정의

 

CSI 사양은 이미 수 년 동안 존재해왔다. 이제 CSI-3라는 3세대까지 등장했다. CSI-3는 전 세대 표준에 비해서 확실한 장점(예: 훨씬 높은 최대 대역폭)에도 불구하고 하드웨어 지원 부족으로 인해 업계에서 인기를 얻지 못했으며 현재는 최신 하드웨어 요구 사항을 완벽히 만족시키고 있는 CSI-2 표준이 가장 널리 사용되고 있다.

 

MIPI CSI-2 사양은 신호 전송의 물리적 계층(D-PHY 또는 C-PHY)뿐 아니라 이를 기반으로 한 이미지 데이터 전송을 위한 CSI-2 프로토콜을 설명한다. 이 표준은 또한 I²C, 즉 CCI(Camera Control Interface)를 통한 카메라 구성을 위한 인터페이스도 명시한다.

 

2.1 물리적 계층 - C-PHY 대 D-PHY

 

MIPI CSI-2에서는 개별 레인을 통해 이미지 데이터가 연속적으로 전송된다. 일반적으로 2~4개 레인으로 이미지 센서나 카메라 모듈을 연결한다. 가능한 최대 대역폭은 레인 수에 비례한다. 예를 들어 4개 레인은 2개 레인에 비해 두 배의 대역폭을 제공한다. 이 표준은 휴대 전화 뒷면의 고해상도 카메라는 4레인으로 연결하고 저해상도 카메라는 2레인만으로 연결하는 스마트폰 업계에서 비롯되었다. 결과적으로 거의 모든 관련 온칩 프로세서들은 이미 2레인의 CSI-2 인터페이스 한 개와 4레인 인터페이스 한 개를 갖고 있다.

 

C-PHY를 통한 물리적 이미지 데이터 전송

 

C-PHY에서 레인은 세 개의 전도체로 구성되며 클럭이 내장된 3상 심볼 코딩을 구현한다. 최신 사양에 따르면 이것은 이론적으로 레인당 5.7 GBit/s의 속도를 구현한다.

 

D-PHY는 C-PHY에 비해 단순한 구조를 갖고 있으며 LVDS와 비슷하게 데이터 스트림은 두 개의 전도체를 통해 차등 전송된다. 그 후에는 모든 레인이 공유된 클럭 회선을 이용할 수 있다. 결과적으로 보다 간단한 이 구성은 레인당 최대 2.5 GBit/s의 느린 데이터 전송 속도만 지원한다. 느린 대역폭에도 불구하고 대부분의 애플리케이션에 적합한 D-PHY는 특히 표준 계층으로 인기를 끌고 있다.

 

하지만 D-PHY 및 C-PHY는 각각의 하드웨어에서 공존할 수도 있으며 개별 센서들은 하나의 전송 방식 또는 다른 전송 방식과 함께 동작할 수 있다.

 

카메라 제어 인터페이스(CCI)

 

CSI-2 역시 CCI(Camera Control Interface) 형태로 센서/카메라 모듈 구성을 위한 표준 프로토콜을 제공한다. CCI는 물리적으로 I²C를 기반으로 하며 일반적으로 카메라 모듈은 거의 모든 SoC에 다양하게 존재하는 임의의 I²C 인터페이스를 통해 구성할 수 있다. 하지만 SoC뿐 아니라 센서/카메라 모듈 분야에도 통일성이 부족하다. 일부 SoC는 전용 I²C/CCI 인터페이스를 사용하여 구성해야 하며, 많은 센서/카메라 모듈들이 표준화된 CCI가 아닌 제조업체 고유의 구현 방식을 통해 구성된다.

 

 

2.2 CSI-2 프로토콜 계층

 

CSI-2는 패킷 지향 프로토콜이다. 그렇기 때문에 특별히 패킷 데이터 형식을 사양에서 알 수 있다.

 

애플리케이션이 일반적으로 사용할 수 있는 픽셀 형식(예: RGB, YUV, RAW 및 JPEG)도 명시된다. 하지만 모바일 프로세서의 MIPI CSI-2 드라이버는 보통 몇 가지 픽셀 형식만 지원한다(때로는 산업용 화상 처리 시장에서 일반적이지 않은 픽셀 형식).

 

 

2.3 산업 표준(예: GenICam)과 비교한 MIPI CSI-2MIPI CSI-2

 

MIPI CSI-2는 ‘회선 표준’ 이상의 역할을 하며 이런 점에서 GigEVision 사양(기가빗 이더넷을 통한 이미지 데이터 전송)과 비슷하다. 화상 처리 시장에서 널리 사용되는 GenICam 제품군의 표준과 달리 MIPI CSI-2는 GenAPI에서와 같은 표준화된 소프트웨어 스택, 표준화된 프로그래밍 인터페이스(Application Programming Interface, API), 그리고 표준화된 이미지 데이터 인터페이스(예: GenTL)가 부족하다. MIPI CSI-2를 사용할 경우 이미지 데이터는 대개 Video4Linux(V4L)를 통해 전송되지만 이 또한 표준화되어 있거나 보편적인 상황은 아니다.

 

3. 어떤 혜택이 있을까

 

모바일 프로세서가 대량 생산되면서 시장 규모와 경쟁 압박으로 인해 짧은 혁신 주기에 점점 더 효율적인 프로세서들이 등장하고 있다. 저렴한 보급형 프로세서조차 이제는 두 개 또는 네 개 레인이 있는 하나의 칩에 MIPI CSI-2 인터페이스 두 개를 갖고 있다.

 

모바일 프로세서만 생산했던 많은 제조업체들(예: Qualcomm, Rockchip, Samsung)이 화상 처리 업계에서 흥미로운 시장을 찾아냈으며 이제 산업용 애플리케이션의 소량 제품에 대한 안정적인 공급도 함께 수행한다. 이와 동시에 보다 보편적인 산업용 임베디드 프로세서(예: NXP의 i.MX 제품군, TI의 일부 Sitarra SoC, NVIDIA, Intel Atom SoC)에도 MIPI CSI-2 인터페이스가 장착되므로 화상 처리 시장에서 사실상 이 카메라 인터페이스는 필수 요소가 되었다.

 

CSI-2를 이용하면 아주 얇고 저렴한 머신 비전을 설계할 수 있으며 매우 높은 대역폭의 센서나 카메라 모듈을 사용할 수 있다. 하지만 프로세서가 저렴하고 가격이 더 내려간다는 사실이 유닛 비용 하락의 유일한 요인은 아니다. 사용자들은 애플리케이션에 따라 최적의 시스템 디자인을 선택할 수 있다. 이로 인해 임베디드 시스템의 에너지 소비를 줄일 수도 있다.

 

MIPI CSI-2는 기술적으로 보드 간 연결을 통해 플랫 플렉스 케이블로 구현할 수 있는 초소형 디자인을 지원한다. 그렇지 않으면 이러한 소형화는 LVDS 기반 연결을 통해서만 가능하며 플러그가 커서 상대적으로 더 많은 공간을 차지하는 USB 3.0연결로는 불가능하다. MIPI CSI-2 인터페이스를 이용하면 이미지 데이터를 카메라 모듈이나 센서에서 프로세서로 직접 전송할 수 있다.

 

이는 USB 3.0에서와 같이 중간 처리나 데이터 변환의 필요성을 없애 프로세서 성능에 영향을 주지 않는다. 해당되는 하드웨어(예: 마이크로컨트롤러) 역시 생략된다. 이러한 조건들은 임베디드 시스템을 훨씬 더 단순하게 구현할 수 있게 한다.

 

 

4. 어떤 문제가 있을 수 있나

 

MIPI CSI-2 카메라 인터페이스의 특징과 마찬가지로 사실상 추가 비용이 없지만 개발 중에 약간의 장애를 감안해야 한다.

 

케이블 길이: 안타깝지만 물리적 이미지 데이터 전송(D-PHY)은 20cm 이하의 짧은 케이블 길이만 허용한다. 스마트폰과 같은 모바일 애플리케이션의 경우에는 이것은 문제가 되지 않지만 상당수의 산업용 애플리케이션 옵션에서는 제외된다.

 

플러그: 불행히도 MIPI Alliance는 MIPI CSI-2용 플러그를 표준화하지 않고 있다. 이는 센서와 카메라 모듈을 항상 전용 방식으로 개별 연결해야 함을 의미한다.

 

드라이버 지원: 표준 드라이버 및 소프트웨어 스택이 하기 때문에 Video4Linux 부속 기기로서 전용 I²C 드라이버를 이용해 주어진 SoC의 CSI-2 드라이버에 맞게 센서나 카메라 모듈을 개별적으로 보정해야 한다. 즉 SoC용으로 설계된 센서/카메라 모듈을 선택할 때는 이 모듈에 해당되는 I2C 드라이버도 있는지 확인해야 한다. 이는 센서/모듈 및 SoC 선택을 크게 제한한다.

 

픽셀 형식: 위에서 설명한 바와 같이 대부분의 CSI-2 드라이버들은 몇 종류의 픽셀 형식만 지원하는데 화상 처리 시장에서 필요한 것이 아닐 수도 있다.

 

카메라 API: GenICam 제품군의 표준은 화상 처리 시장에서 인기를 누리고 있다. GenICam 덕분에 카메라 API는 표준화되어 있고 모든 카메라 기능을 완전히 이용할 수 있다. 카메라 기능 지정도 제조업체에 관계없이 표준화되어 프로그램 코드의 변화 없이도 사용자가 카메라 모델, 그리고 심지어 인터페이스 기술까지 변경할 수 있다(예: GigEVision 대신 USB3 Vision 사용). 하지만 반대로 표준화된 기능 및 API가 부족해 카메라 모듈 간, 또는 SoC 간 이전 시에는 기존 코드를 다시 사용하기 힘들다.

 

이 모든 장애물들은 적절한 비용으로 극복할 수 있지만 개발 및 생산 비용을 늘릴 수 있다(예: 더 긴 케이블 구현).

 

산업용 카메라 제조업체들은 모든 카메라 기능 및 픽셀 형식을 액세스함과 동시에 1미터 이상의 훨씬 긴 케이블을 사용할 수 있게 해줄 MIPI CSI-2 기반 카메라 솔루션용 GenICam 인터페이스 개발을 위해 힘쓰고 있다.

 

5. 요약

 

MIPI CSI-2 인터페이스는 가볍고 비용에 최적화된 구조가 필요한 임베디드 비전 시스템에 적합하다. 하지만 상응하는 카메라 모듈의 통합, 특히 소프트웨어 개발에 따른 수고가 필요하다. 드라이버 및 이미지 데이터 인터페이스는 애플리케이션에 맞춰 수정해야 한다. 기타 제한 사항으로는 하드웨어로 인한 제약도 감안해야 한다.

 

따라서 시스템 개발자들이 자신의 작업량을 추정하려면 기존 카메라 소프트웨어와 소프트웨어 인터페이스뿐 아니라 드라이버의 범위와 호환성도 고려해야 한다. 여기에서 적합한 옵션을 구할 수 있다면 효율적인 비전 시스템을 개발해 성능이 좋은 최종 제품을 제작할 수 있다.

 

 

자료 제공: Basler(www.baslerweb.com)

 

 

주요기사

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

창닫기확인