OPEN-CAM KIT V2.0 Quick Guide Rev 1.0 Last update : 12. Jun. 2009 Copyright c 2008, Varram System Co.,Ltd ALL RIGHTS RESERVED Page 1
Release Information Date 2009.06.12 V1.0 Release Change Feedback on this document master@varram.com Feedback on this document 070-7579-3777 Page 2
CONTENTS Quick Guide 1. 제품소개 1.1 OpenCAM KIT의소개 1.2 OpenCAM의특징 1.3 OpenCAM KIT의학습효과및특징 1.4 제품구성 1.5 제품사양 2. Demo Program 사용법 Page 3
1. 제품소개 1.1 OpenCam V2.0 의소개 FULL OPEN 고성능 CPU 에서만가능했던카메라 ( 영상 ) 제어가 OpenCAM 을이용하면 AVR 에서도가능해진다. OpenCAM KIT OpenCAM 내장 회로도공개 /VGA 급 30fps RGB,RGB565,YUV,BW 등다양한영상포맷지원메모리버퍼내장 칼라 LCD 기반 2.6인치 TFT display 400X240 with Touch AVR기반 ATMega128적용 clk : 16Mhz 5V OpenCAM V2.0 KIT 는 OpenCAM 을이용한영상처리학습용키트이며 OpenCAM 을최적으로사용하는방법을배우기위한 ToolKit 이다. 기존 V1.0 에비하여업그레이드된하드웨어와다양한예제의소프트웨어제공 (TSC2003 을이용한터치및전압측정기능, SC604A 을이용한밝기조절, PCA9306 을이용한 I2C 레벨변환등..) 제품구성은위그림과같이디지털카메라센서인 OpenCAM 과영상을처리하기위한베이스보드로구성되어져있다. 또한 OpenCAM 에서획득한영상을실시간으로확인하기위해칼라 LCD 가포함되어있다. AVR 로동영상카메라구동이어려웠던이유? 이미지센서 일방적인영상데이터출력 AVR 영상을받을준비도안되었는데 T T 대부분의디지털카메라센서의경우 CCIR656/ ITU656 포맷으로전송하며 HOST MCU 가이를지원하지않으면영상을받기어려움. 영상한장을저장할메모리버퍼도없음 Page 4
고성능 ARM 기반 MCU 에서는카메라구동이가능한이유? (S3C2440 의예 ) 처리순서 : 1 2 3 4 카메라제어기내장 :CCIR656 포맷지원 영상한장저장후내부인터럽트발생! 이미지센서 영상데이터 1 2 영상저장 3 영상읽기 4 메모리버퍼 외부메모리 카메라제어기 (Camera Control Processor) 가 MCU 내내장되어있음. MCU 에내장된카메라제어기는카메라로부터영상데이터를읽어 ( 위그림에서 1 번 ) 외부메모리에적재한다.(2) 카메라제어기는한프레임의영상을받으면 ARM Core 에게내부인터럽트를발생시켜영상한장을받았음을알림.(3) ARM 은인터럽트를감지하여영상이저장된메모리에서영상을읽어오면영상획득과정이완료됨 (4) 따라서 CPU 는카메라에서바로영상을가져와야하는부담이줄어들게됨!! 시스템비용상승 / 설계의어려움 / 별도의메모리설계문제 OpenCAM 의탄생! AVR 도구동가능! 고성능 MCU 의카메라제어기를그대로구현한카메라. 1 2 3 4 의처리기능을내장함. 영상이필요할때 OpenCAM 메모리에서읽어오기만하면됨 Cortex, ARM, DSP 계열을사용할경우 고급영상처리도가능!! Page 5
1.2 OpenCam V2.0 의특징 오픈소스정책 1/ 6.2" VGA 센서와초소형마이크로렌즈탑재 사용자들의이해를돕기위해카메라의핵심노하우및 OpenCAM 관련회로를공개함. 사용을위한예제프로그램을단계별로제공 (EX1~EX13), 추후기타응용예제홈페이지를통해제공 핸드폰에사용되는초소형의 CIS 내장되어있으며이를구동하는회로도가제공되어실무에바로응용이가능. 간단한튜닝을통해수동으로렌즈의포커스변경가능. 다양한 MCU 와편리한인터페이스 8 비트의병렬통신을지원하여 AVR 에서임의의한포트를할당하여사용. 영상의수평 / 수직프레임신호를이용한동기화 자체메모리내장으로 MCU 에대한부하최소화. OpenCAM 자체에메모리가내장되어있어영상을획득함에있어사용자 MCU 의부하가최소화됨. 512k x 8 bits 의메모리내장 8bit YCbCr/8Bit Bayer/5:6:5RGB/8bit Y, CCIR 656 등다양한영상포맷지원 다양한응용이가능하도록다양한영상포맷지원 LCD 에적합한데이터포맷설정가능 Page 6
최대 640x480 크기로 30fps 의실시간이미지전송 전체영상을초당 30 장을전송하는기능. 실시간영상처리분야에응용가능고속영상전송기능 (640x240 크기로 60fps, 640x120 으로 120fps) 가능함 VGA / QVGA / QQVGA 등으로다양한영상크기지원 원하는크기로영상의크기를변경할수있어소프트웨어부담감소. I2C 통신을통한다양한카메라설정지원 영상의크기, 데이터포맷, 감도, 노출, 속도, 수평 / 수직 mirroring 등다양한기능을 I2C 를통하여설정이가능함 LCD Image 출력을위하여 image to RGB565 변환프로그램지원 LCD 에 Image 를출력하기위해 LCD FORMAT 인 RGB565 FORMAT 으로변환프로그램제공 Page 7
1.3 OpenCAM KIT 의학습효과및특징 카메라및 CIS(CMOS Image Sensor) 의동작원리이해 소스코드와회로도를공개하여핸드폰등에사용되는 CIS 의동작원리를자세히알수있음. AVR 을이용한영상출력소스및응용회로공개 ATMega128 을이용하여 OpenCam 을제어하고영상을 LCD 로출력하는예제를제공함. DSP 나 ARM 계열의 MCU 를사용할경우영상획득은물론다양한영상처리가가능. 임베디드기반영상처리학습. 추후응용예제제공 ) 시리얼을통하여 PC 로 Image 출력하기등.. OpenCAM 에최적화방법자료제공 저속 MCU 에서 LCD 를고속으로출력하는방법 OpenCAM 과 LCD 와의효율적인연동기법 Pipeline 이해를통한고속출력기법실습예제제공 Touch LCD 2.6 인치 (400X240) 디스플레이장착 160x120 및 320X240 크기의영상을출력하고기타공간을 User Interface 및응용부분으로활용가능 Touch 를이용한다양한활용 BACKLIGHT CONTROLLER 를이용한밝기조절 Page 8
1.4 제품구성 CAMERA: OpenCAM V2.0 MCU : Atmega128 16AU DISPLAY: 2.6inch TFTLCD (with touch panel) BOARD: MAIN BOARD (Mega128, TSC2003, SC604A, PCA9306, CP2102 etc..) USB CABLE 을이용한전원공급 CD : 회로도, 소스및관련자료. OpenCAM Module 1EA 5V 1A POWER USB cable 1EA CD 1EA BASE BOARD 1EA 1.5 제품사양 MCU : Atmega128 16AU 16Mhz 구동 5V DISPLAY : 2.6inch TFTLCD (with touch panel) TSC2003 을이용한 Touch 사용 CAMERA : VGA 30fps CMOS CAMERA BOARD : 인터페이스용베이스보드전원공급및시리얼통신을위한 USB CABLE USB 전원으로구동개발환경 : AVRSTUDIO Version4.14 Build 589 WINAVR-20070525 Page 9
2. DEMO PROGRAM 사용법 12 13 14 15 1 2 3 4 5 16 10 11 6 7 8 9 1. SPI PIN 2. ISP PORT 3. RESET BUTTON 4. BT1(BUTTON1) 5. BT2(BUTTON2) 6. PW LED 7. PW SWITCH 8. JUMPER - PW CHOICE 9. 5V PW INPUT 10. USB STATIC 11. USB CONNECTOR 12. CAMERA PORT 13. SERIAL & PW OUT 14. 400X240 LCD 15. TOUCH SIGNAL 16. PINOUT (LCD&CTL SIGNAL) Page 10
1 1. CAMERA 2. DATA PIN & CTL PIN 2 Page 11
CD 의 UTIL 폴더에서 CP210x_VCP_Win2K_XP_S2K3 드라이브를 PC 에설치한다. USB CABLE 을연결하고 USB LCD 에전원이들어오는지를확인한다. 1 1. USB LED ON 되었는지확인 2. JUMPER 를 USB PW 로위치시킨다. 3. 전원 SW 를 ON 한다. 3 2 < 전원 ON 시 LCD 초기화면 > Page 12
(0,0) X (0~399) Y (0~239) 10 9 8 7 6 5 11 1 2 3 4 (239,399) 1. Touch 좌표표시 (X,Y) 2. INPUT VOTAGE 표시 (USB 전원을사용함으로현재 USB 전원표시 ) 3. CAMERA 의 FRAMRATE 표시 4. Video Mode BT - CAMERA 를 Video mode 로동작 5. Still Mode BT CAMERA 의순간 Still image 촬영 6. Photo Mode BT CAMERA 의순간 Photo image 촬영 (5 번과의차이점은매번클릭시순간촬영이됨 5 번의경우순간촬영을위하여는 Video 전환후가능 ) 7. 현재 Mode 상태를표시 8. Camera 의현재영상을표시 9. 8 번영역을클릭시순간 Still image 가표시됨 10. 현재 Pen 의 Color 를표시 11. Pen 의 Color 를변경할수있는영역 Page 13
OPENCAM V2.0 은 CP2102 USB to SERIAL 칩을이용하여 PC 와시리얼통신을한다. 처음 USB 드라이브를설치했다. 장치관리자에서 COM PORT 를확인한다. PC 마다 COM? 번호가틀림으로확인바란다. 하이퍼터미널의속성설정은아래와같다. 왼쪽그림은연결하였을경우 OPENCAM 에서출력해주는 DATA 이다. 이 DATA 는 AVR 이현재 160X120 영상을 LCD 에뿌려줄때의속도이다. 즉초당약 57 번의영상을 LCD 로출력하는것이다. Page 14
이제 LCD TOUCH 를이용하여 CAMERA 를조작한다. Original Image 영역에서이미지가출력된다. 이때 Image 영역을터치하면 Still Shot Image 에순간영상이출력된다. 그럼 Still Image 영역에터치를이용하여그림을그릴수있다. 오른쪽 Photo,Still,Video 는영상입력방법을변경하는것이다. Photo 를연속적으로터치시, 터치시마다변경된영상을 1 frame 씩출력한다. 이때 Video 를터치하면동영상이출력된다. Still 의경우 Photo 와비슷한기능이긴하나 1frame 출력후다시터치하더라도변경되지않는다, 다시하기위해서는 Video 를클릭후 Still 을터치하여야한다. 위기능의소스는 EX12) 예제임으로예제를분석공부하면서해보기바란다. Page 15