IOT 오픈소스 > 라즈베리파이
라즈베리 파이란
 
라즈베리 파이란?
 
 

라즈베리 파이는 케임브리지 컴퓨터 랩의 에반 업톤(Eben Upton)이주변의 동료들과 함께 매년 컴퓨터 과학을 공부하고자 지원하는 학생들의 자질이 낮아져가는 현실을 개선해 보고자 어린이들을 위한 작고 값 싼 컴퓨터의초기 개념을 고안하면서 2008년 라즈베리 파이 재단을 설립하였다..

처음에는 ATMEL사의 ATMEGA644 마이크로 컨트롤러를 기반으로 하였으나 후에 브로드컴사의 제품으로 변경하였다.

라즈베리 파이를 한 문장으로 정의하면 컴퓨터 교육 및 취미 활동 증진을 위해 만들어진 ARM 리눅스 기반싱글 보드 컴퓨터 라고 할 수 있다.

리눅스의 개발자로 널리 알려진 리누스 토발즈(Linus Tovalds)는라즈베리 파이에 대해 실패를 감내할 수 있는 컴퓨터라고말한 바 있다 맞는 말이다.예전에는 애플 II, MSX 등과 같은 8비트컴퓨터들과 더 나아가 IBM-PC가 바로 실패를 감당할 수 있는 컴퓨터였다. 뚜껑을 열고 슬롯에 뭔가를 만들어 꽂고, 연결하고, 프로그램을 작성하고, 다른 사람이 만든 프로그램들을 해킹해서 뭔가를바꿔보고 하면서 가지고 놀 수 있었다.

하지만 이제는 PC는 더 이상 실패를 감내할 수 있는 컴퓨터가 아니다. PC를 망가뜨리면 게임을 하고 싶어하는 아이들의 성화를 견뎌야 되고, 온라인쇼핑과, 가계부 기입과, 은행 업무 처리, 심지어 다 끝내지 못한 회사일 까지 해야 하는 아내의 불만 폭탄을 견뎌야 한다.

우리와 우리 아이들에게는 스마트폰과 스마트패드가 있지만 이러한 기기들 역시 실패를 감내하기 에는 너무나 고가인대다가뚜껑을 열어보기조차 쉽지 않다.

게임과 텔레비전에 파묻혀 사는 요즘 아이들은 과연 예전의 우리들처럼 뭘 직접 만들어보고 궁리해본 경험이 있기나한 것일까? 요즘의 이 아이들이 자라면 과연 우리 세대들처럼 뭔가 새로운 것을 접하면 눈을 반짝이며신기해하고 밤새워 무엇인가를 만들고, 망가뜨리고, 고치고, 또 다시 새롭게 만들면서 재미를 느낄 수 있을까?

그렇지 않다면 우리가 우리 아이들에게 그런 경험을 할 수 있는 기회를 제공해 주어야 하지 않을까? 우리의 부모들은 우리에게 그런 기회를 주었는데 우리는 우리의 아이들에게 그런 기회조차 주지 않고 텔레비전과인터넷과 스마트폰에 내맡겨 버리고 있는 것은 아닐까?

라즈베리 파이로 무엇인가를 궁리하며 만드는 재미, 잃어버린 재미를되찾아 보자. 그리고 우리 아이들에게도 그런 재미를 느낄 수 있는 기회를 주자.

그래야 우리 아이들이 자랐을 때 이제껏 이루어낸 이 땅의 제조업과 컴퓨터, 인터넷, 과학기술을 마음 놓고 물려줄 수 있고 더욱 더 발전하기를 기대할 수 있을 것이다.

 

라즈베리파이 가 만들어지기 까지

라즈베리 파이가 만들어져 판매되기까지의 과정을 간단히 정리하였다.

 

11 라즈베리 파이의 개발 연혁 

연도

연혁

2011-08-12

첫 번째 알파 보드 제작, 전원 공급 및 부팅 됨

2011-11-28

모델 B 세부 사양 공개

2012-01-09

재단 기금 조성을 위해 모델B베타 경매

익명의 구매자에 의해 영국 컴퓨팅 역사 센터에 기부

2012-01-10

모델B 제조 시작

2012-02-17

첫 번째 루트 파일 시스템 다운로드 공개

2012-04-19

라즈베리 파이 최초 배송 시작

2012-07-16

1 1개 구매 제한 취소

2012-10-15

비용 추가 없이 모델B의 메모리 크기를 512MB로 상향 조정

2012-11-30

모델A 공급 시작

2013-01-17

첫 번째 모델A 자선 경매에 부쳐짐

3609.15 파운드( 615만원)에 낙찰

 

라즈베리 파이 재단(Raspberry PI Foundation)은영국 소재의 자선 단체(등록 번호 1129409)이다.

 겨우 1년만에 알파 모델로부터 대량 생산이 이루어질 수 있었다는 것은그 만큼 많은 사람들의 노력이 더해진 결과일 것이다. 물론 재단이 만들어진 것이 2006년이니만큼 그 이전에 많은 시간이 투입되었을 것이다. 첫 번째모델이 경매에 부쳐지고 이를 낙찰 받아 컴퓨터 박물관에 기증하는 모습을 보면 우리의 척박한 현실에 비추어 보면 그저 부러울 따름이다.

 

라즈베리 파이의 사양

라즈베리 파이의 하드웨어 구성 

그림 12 5 x LED 표시등

라즈베리 파이

ARM과 Intel CPU와의 차이

라즈베리 파이는 인텔사의 x86 계열의 중앙처리장치를 사용하는 IBM호환 PC와는 달리 ARM 계열의중앙처리장치를 사용하기 때문에 서로 다른 특성을 가진다. x86 계열의 CPU ARM은 서로 상당히 다른 설계 방향을 가지고 발전해왔기때문이다.

CISC(Complex Instruction Set Computer) RISC(Reduced Instruction Set Computer)

x86 계열의 CPU는소위 CISC(Complex Instruction Set Computer)방식의 CPU이다. 성능 향상을 위해 좀 더 복잡한 명령어를 수용하고, 시스템 클럭을 점점 높여 가는 방향으로 발전해 왔다. 따라서 크기는점점 커지고, 점점 더 많은 열이 발생하게 되었으며 엄청남 크기의 방열판을 필요로 하게 되었다. 반면 ARM 계열의 CPU는복잡한 명령어를 추가하는 대신 단순한 명령어들만을 유지하면서(RISC; Reduced InstructionSet Computer) 파이프라이닝 (Pipelining) 기법을 적극 활용하는 방향으로발전하였다. 실행할 명령어를 꺼내오기(Fetch) – 해석(Decode) – 실행(Execute) 3 단계로 실행할 수 있도록단순한 명령어들 만을 포함하여 파이프라이닝 효율을 극대화하는 방법을 사용한다. 이로 인해 컴파일러가대신 복잡해지는 단점은 있지만 저 전력, 저 발열, 고 효율화를이룰 수 있었고 낮은 가격의 시스템 개발이 가능해졌다.

직접 제조대 IP(Intellectual Property) 라이선싱

인텔은 x86 계열의 CPU를직접 설계하고 개발하여 생산한다. 반면에 ARM CPU를 설계만 할 뿐 이를 직접 생산하지는 않는다. 대신 설계한 CPU를 다른 제조 회사들에게 라이선싱 해주어 다양한 주변기기를 덧붙여 생산할 수 있도록 해준다. 이처럼 자신의 생산 시설을 보유하지 않고 반도체 설계 개발에만 집중하는 경영 방식을 팹리스(FABless; Fabrication-less) 방식이라고 한다. ARM의코어 IP를 라이선싱 하여 다양한 SoC를 제조하는 회사들은자신들의 기술을 접목하고 주변 장치를 추가하여 여러 가지 목적에 맞는 다양한 변종 MCU들을 생산한다. 이러한 회사들로는 삼성전자를 비롯하여 텍사스인스트루먼트(TI; TexasInstrument), ST마이크로(STM; ST Micro Electronics), NXP(필립스의반도체 부문), ATMEL, Nouvoton 등등 이루 헤아릴 수 없이 많다. 물론 브로드컴(Broadcom)도 그 중의 하나이다. 이러한 방식은 사용자들에게 폭넓은 이식성이라는 커다란 장점을 제공해 준다.

ARM 계열 대 Cortex 시리즈

ARM사는 ARM 7, 9, 11 등의 CPU들을 계속 출시해오다가 2000년대 중반 Cortex 시리즈라고 하는 새로운 CPU 시리즈를 출시하였다. Cortex 시리즈는 모바일 기기 시장에 주력해오던 ARM사가 MCU시작에 주목하면서 새로이 출시한 야심작으로 8비트 위주로 형성되어있는 MCU 시장을 32비트 코어로 대체해 나가기 시작하고있다. Cortex 시리즈는 기존의 ARM 계열의 명령어셋 중 일부로 제공되던 Thumb 명령어 셋을 발전시켜 사용하며 기존의 클래식 ARM 명령어 셋과는 약간 차이가 있다. 하지만 운영체제나 애플리케이션프로그램을 포팅 하는데 있어서 다른 CPU보다는 훨씬 적은 노력으로도 작업이 가능하다.

어찌되었든 라즈베리 파이는 x86 계열의 CPU가 아닌 ARM 코어를 사용하고 있기 때문에 서로 다른 명령어셋을 사용하므로 PC 리눅스를 그대로 사용할 수는 없다. 애플리케이션도마찬가지이다.

 

리눅스와 윈도우와의 차이

리눅스와 윈도우 사이에는 단순한 기술적 차이 이외에도 다른 많은 차이점들이 존재한다. 중요한 몇 가지 만을 살펴보자.

오픈 소스대 상업 라이선스 (Commercial License)

MS 윈도우는 상업용 라이선스(CommercialLicense) 모델을 사용하고 있어 사용자는 돈을 내고 윈도우를 사용할 권리를 구입하여 사용한다. 반면 리눅스는 오픈 소스 라이선스(Open Source License) 모델을 채택하고 있어 무료로 사용할 수 있다. 하지만 모든 것이 무료라는 것은 아니다. 단지 사용권을 돈을 내고구입할 필요가 없다는 뜻이다. 리눅스를 DVD에 담아 제공한다면 DVD화하는데 들어간 비용을 요구할 수 있고, 구매자는 비용을 지불해야한다. 기술 지원을 제공한다면 제공자는 기술 지원 비용을 청구할 수 있고, 사용자는 비용을 지불해야 한다. 상업용 라이선스의 경우 구입한 라이선스를설치할 수 있는 PC의 대수를 제한하며 소프트웨어의 내부 작동 원리를 들여다 보려고(Reverse Engineering)하는 것도 금지되어 있다. 반면오픈 소스 라이선스 소프트웨어의 경우 소스가 공개되어 있으므로 얼마든지 들여다 보고 원리를 학습할 수 있고, 문제가있으면 직접 수정을 해도 된다. 수정된 소프트웨어를 다시 배포할 수도 있다. 단지 세부적인 라이선스 조건에 따라 수정한 내용을 동일 조건으로 공개해야 된다거나 하는 약간의 제약이 있을뿐이다.

라즈베리 파이처럼 새로운 하드웨어에 탑재할 운영 체제를 선택하는데 있어서 오픈 소스 운영체제는 당연히 우선 선택대상이 될 수 밖에 없다. 윈도우는 MS가 포팅을 해주기전에는 절대 포팅이 될 수도 없으며 설사 포팅을 해준다고 하더라도 배보다 배꼽이 더 큰 라이선스 비용을 지불해야 될 것이다.

단일 커널 (Monolithic Kernel) 대 마이크로 커널 (MicroKernel)

운영 체제의 핵심 부분을 커널(Kernel)이라고 하며 MS 윈도우는 여러 부분으로 커널이 나뉘어져 있다. 반면에 리눅스는단일 커널(monolithic) 방식을 채택하고 있다. 서로장단점이 있으며 최근의 추세는 서로의 장점을 취하여 복합(Hybrid) 형태로 발전해가는 추세다.

그림 13 단일, 마이크로, 복합커널 비교

라즈베리 파이

폭넓은 호환성

윈도우는 마이크로소프트 만의 표준을 고집하는 경향이 있어 실제 컴퓨터 세계의 수 많은 다른 표준들을 지원하지않는 경우가 많다. 반면 리눅스는 맥, 유닉스 등을 어우르는광범위한 표준들을 지원한다. 네트웍 프로토콜, 파일 시스템표준 지원 등에 있어서 특히 그렇다.

장치 호환성

윈도우의 경우 몇 년에 한 번씩 업데이트 되기 때문에 새로운 주변장치를 연결하기 위해서는 해당 디바이스 드라이버를새로 설치해주어야 하는 경우가 많다. 반면 리눅스는 매우 빠르게 버전업이 되므로 현존하는 대부분의 주변장치 드라이버가 포함되어 제공된다. 패키지 매니저를 이용하면 새로운 디바이스 드라이버를 설치하는 것도비교적 간편하다.

 
 

라즈베리 파이의 특징

저렴한 가격

라즈베리 파이의 장점은 무엇 보다 저렴한 가격이라고 할 수 있다. 모델 B 5만원대, 모델 A 3만원대의 가격으로 구입할 수 있다. 물론 케이스나 주변기기는 별도로 구입을 해야 하지만 PC의 주변기기를그대로 이용할 수 있기 때문에 대부분을 그대로 활용할 수 있다. 다른 싱글 보드 컴퓨터의 경우 오리지널제품이 널리 알려진 이후 다양한 변종 제품들이 많이 만들어지고 있는 것을 볼 수 있다. 하지만 라즈베리파이의 경우에는 워낙 저렴한 가격 때문에 당분간은 비슷하거나 더 저렴한 가격의 호환 제품을 기대하기는 어려울 것 같다.

소형

라즈베리 파이의 또 다른 장점은 크기가 매우 작다는 점이다. 어른손바닥 보다 작은 크기이기 때문에 어디든지 휴대가 가능하다. 자작 또는 저렴한 케이스로 몸체를 보호해주기만하면 가방에 쏙 들어 간다. 주변 기기는 어디든 널려있는 PC 주변기기를활용할 수 있고 야외나 이동중인 차 안 이라면 충전식 배터리 팩과 소형 LCD, 미니 키보드를 이용하여랩톱 컴퓨터처럼 사용할 수 있다.

강력한 그래픽처리 능력

라즈베리 파이를 처음 접하는 사람들은 손바닥만한 보드에서 HDMI 단자를통해 Full HD 해상도(1920 x 1080p)의 동영상을거침없이 재생하는 것을 보면 누구나 라즈베리 파이의 강력한 비디오 재생 능력에 감탄할 것이다. 셋톱박스및 통신장비 제조업체로서 탄탄한 업력을 가지고 있는 브로드컴 사의 강력한 GPU를 내장하고 있는 덕분이다.

GPIO(General Purpose Input Output) 포트

라즈베리 파이를 MCU를 평가하고 응용 보드를 개발하기 위한 기반으로사용되는 평가보드와 같은 눈높이에서 본다면 분명 라즈베리 파이에 탑재되어 있는 GPIO 포트는 빈약하기그지없다. 하지만 PC의 눈높이로 보았을 때는 아주 획기적이다. 기존의 PC는 하드웨어를 직접 제어하기 위해서는 별도의 GPIO 보드를 슬롯에 꽂거나 주변기기 입장에서 보면 구현하기 복잡하고 비싸기 그지없는 USB인터페이스를 구현해야만 한다. 하지만 라즈베리 파이는 GPIO 포트를 제공한다. C 언어는 말할 것도 없고 파이썬이나 스크래치와같은 간편한 언어를 이용하여 하드웨어를 직접 제어할 수 있다. PHYSICAL COMPUTING이 가능한것이다. 겨우 몇 줄의 간단한 프로그래밍으로 발광 다이오드를 켜고, 스위치입력을 받고, 모터를 회전시키고 온도와 빛을

PC 주변 기기 활용

라즈베리 파이는 PC의 주변 기기를 그대로 활용할 수 있다. 2개의 USB포트를 제공하므로PC에 사용하던 키보드와 마우스를 사용할 수 있고 HDMI 포트로는 모니터를 연결할 수있다. 컴포지트 포트도 제공하므로 구형 TV를 화면 표시장치로 사용해도 된다. 심지어 전원 어댑터도 micro USB 커넥터를사용하므로 스마트폰에 따라온 충전기를 그대로 사용할 수 있다. 물론 어댑터의 규격은 확인을 해봐야 된다. 주의할 점은 PC 주변기기는 라즈베리 파이와의 호환을 전제로 만들어진것이 아니라는 점이다.

라즈베리 파이에서 실행가능한 운영체제들

라즈비안

라즈베리 파이의 표준 운영 체제이다. 비교적 오래된 PC 리눅스 배포판인 데비안(Debian)ARM 용으로 포팅 및 최적화 하였다. GUI(Graphic UserInterface)는 가볍고 에너지 효율성에 주안점을 두고 개발된 LXDE(LightweightX11 Desktop Environment)를포함하고 있으며 웹 브라우저는 Midori를 포함하고 있다. 이외에도 파이썬(Python), 스크래치(Scratch) 등의개발 도구 및 다양한 멀티미디어 도구와 예제를 포함하고 있다. FPU(Floating PointProcessing Unit)를 기본 지원하는 표준 버전 이외에 FPU를 지원하지 않는오라클(Oracle) JVM과 같은 소프트웨어들을 위해 소프트웨어로FPU을 에뮬레이션(emulation)해주는 Soft-float버전을 별도로 제공한다. 라즈베리 파이를 처음 접하거나 일반적인 용도로 사용할 사용자라면라즈비안이 최적의 운영 체제이다. 라즈베리 파이 재단 홈 페이지의 다운로드 페이지에서 내려 받을 수있다.

라즈베리 파이 재단 홈 페이지의 다운로드 페이지: http://www.raspberrypi.org/downloads

사용자 아이디: pi

패스워드: raspberry

Pidora

파이도라는 라즈베리 파이에 최적화된 페도라 리믹스(Fedora Remix)이다. ARMv6 명령어 셋에 최적화된 Pixaman libarmmem을 포함하여 라즈비안과 동일한 hard-float 호출관행을 사용한다. 더 자세한 내용은 http://Pidora.ca를참조하기 바란다.

사용자 아이디: root

패스워드: raspberrypi

Arch Linux ARM

아치 리눅스 ARM PC용아치 리눅스의 ARM 버전이다. 단순성과 최종 사용자가 모든것을 제어할 수 있도록 전권을 부여하는데 목적을 두고 있다. 이 배포판은 초보자에게는 적합하지 않다. 최신 버전은 hard-float ABI를 지원하며 커맨드 프롬프트가나타나기 까지 10초 이내에 부팅을 완료한다.

사용자 아이디: root

패스워드: root

 

RISC OS

RISC OS는 영국 케임브리지에서Acorn사에 의해 디자인 된 운영 체제이다. 기원을 거슬러 올라가보면 1987 ARM 마이크로프로세서를 디자인한 팀에 도달한다. RISC OS는 캐슬 테크놀로지(Castle Technology)가소유하고 있으며 RISC OSOpen에 의해 유지, 관리 되고 있다. 라즈베리파이 사용자들에게는 무료 버전이 제공된다.

                                                         그림 11 라즈베리 파이 모델B의 하드웨어 구성

라즈베리 파이

 

SoC

라즈베리 파이 보드 중앙에 위치하고 있다. 브로드컴사의 BCM2835가 사용된다. 원래의 목적은 모바일 기기에 사용될 목적으로개발된 것으로 강력한 멀티미디어 성능과 함께 저전력 고성능을 특징으로 한다. ARM11코어와 브로드컴 VideoCore IV GPU를 내장하고 있다.

코어

코어는 700MHz ARM1176-JZFS가 들어있다. 메모리보호장치(MMU; Memory Management Unit)를포함하고 있어 가상 메모리 기능을 사용하는 리눅스를 실행할 수 있다. 부동소수점처리장치(FPU; Floating Point Processing Unit)를 포함하고 있어 하드웨어 기반의 빠른 실수처리를 지원한다. 자바 바이트 코드를 하드웨어에서 직접 실행하는 기능(Jazelle)을포함하고는 있지만 운영 체제 수준에서 이를 활용하지는 못한다. ARM11 코어는 ARMv6 명령어 셋을 실행하며 요즘 많은 인기를 얻고 있는 ARMCortex 패밀리에 사용되는 ARMv7 명령어 셋과는 약간 차이가 있다. 하지만 비교적 쉽게 이식이 가능하다.

GPU

브로드컴의 VideoCore IV를 내장하고 있다. 1920 x 1080p 해상도의 Full HD 비디오를 재생 및인코딩 할 수 있으며 빠른 2D 3D 그래픽 처리 성능을가지고 있다. 저전력 소모를 특징으로 한다.

메모리

특이하게도 보드 중앙의 MCU 위에 업혀 있다. 이런 특이한 방식의 메모리 실장은 라즈베리 파이의 구조를 단순하게 하고 원가를 절감하는데도 기여하고 있다. 모델A 256MB, 모델B는 처음에는 256MB를 장착하고 있었지만 리비전 2가 나온 얼마 후 512MB로 업그레이드 된다.

HDMI

보드 아래쪽에는 HDMI 출력 포트가 있다. HDMI 포트는 디지털 방식으로 영상, 음성 및 제어 신호를 내보내고영상 출력 장치를 감지하여 작동한다. 따라서 라즈베리 파이에 전원을 공급하기 전에 영상을 출력할 장치를먼저 연결하고 전원을 켜두는 것이 좋다.

이더넷

이더넷 컨트롤러 및 이더넷 포트가 장착되어 있다(모델 B). 10/100Mbps를 지원하며 속도를 자동 감지하여 연결된다. 자동 MDX를 지원하므로 다른 컴퓨터와 직접 연결 시 반드시 크로스 랜 케이블을 사용하지 않아도 된다. 한 가지 아쉬운 점이라면 원가 절감 노력 때문이기는 하겠지만 이더넷 컨트롤러가 USB와 대역폭을 공유하고 있어 웹캠 영상을 이더넷으로 전송하려고 하면 심한 성능 저하를 경험하게 된다. 전용 카메라 사용을 기대하는 이유가 된다.

USB

2개의 USB포트를 장착하고있다(모델 B). 키보드와 마우스를 연결하면 끝이기 때문에다른 USB기기를 추가로 연결하려면 USB 허브를 사용해야된다. USB허브를 사용할 때는 주의해야 할 점이 있다. 라즈베리파이의 USB 허브는 500mA 이상은 지원하지 않는다. USB저장장치나 무선랜 동글 등 전력 소모가 큰 장치를 USB허브에연결하여 사용할 생각이라면 별도의 전원 공급 장치를 가진 USB허브를 사용할 것을 권한다.

오디오 잭

3.5mm 오디오잭을 통해 스테레오 오디오 출력을 사용할 수 있다. HDMI 포트로도 오디오 출력이 가능하며 둘 중 하나만 사용할 수 있다. 어느쪽 출력을 사용할 지는 설정을 통해 지정할 수 있다.

RCA 비디오 잭

아날로그 비디오 출력을 사용할 수 있다. HDMI 포트로도 비디오출력이 가능하며 둘 중 하나만 사용할 수 있다. 구형 텔레비전을 출력 장치로 사용해야 하는 경우 유용한연결 방법이 된다. 어느 쪽 출력을 사용할 지는 설정을 통해 지정할 수 있다.

GPIO

GPIO 포트에 대해서는 제10장에서 상세히 다룬다. 미리 주의를 당부할 사항은 GPIO 포트는 직접 MCU와 연결되어 있는 단자들이 집적되어 노출되어 있으므로 충분한 주의를 기울여야 한다는 점이다. 전원 커넥터나 점퍼 케이블 등이 GPIO 포트에 스치거나 잘못된핀에 닿지 않도록 세심한 주의를 기울여야 한다.

SD 카드 슬롯

보드의 뒷면에 위치하고 있는 SD카드 슬롯에는 SD 플래시 메모리 카드를 꽃을 수 있다. 플래시메모리 등의 내부 저장장치가 없으므로 반드시 SD카드에 운영 체제를 기록한 후 슬롯에 꽂아야 부팅을 할 수 있다. 다른 USB저장 장치에 루트 파티션을 만들어 마운트 하도록 할 수는있지만 부팅 경로가 SD카드로 고정되어 있어 SD카드 없이부팅하도록 만들 수는 없다.

전원 커넥터

전원 커넥터는 스마트폰에 흔히 사용되는 마이크로 USB 커넥터이다. 일반적으로 싱글보드에서 전원 커넥터로 많이 사용되는 배럴 잭 대신 마이크로USB 커넥터를 채용한 이유는 스마트폰용 전원 어댑터를 그대로 사용할 수 있도록 하기 위함이다. 최대한비용을 절감할 수 있도록 여러 모로 고민한 흔적이 엿보인다. 하지만 한가지 주의할 점이 있다. 일반적으로 스마트폰 충전을 위해 같이 따라오는 전원 어댑터들은 직류 5V,500mA 출력을 지원한다. 반면 라즈베리 파이 모델 B는보드 자체만으로 700mA를 소모한다. 여기에 키보드, 마우스가 소모하는 전류까지 더해지면 500mA 출력의 전원 어댑터로는전력 부족으로 인한 이상 현상을 겪기 쉽다. 적어도 1A 이상의전원 어댑터를 사용할 것을 권한다.

정전압 레귤레이터

전원 커넥터 옆에 누워 있는 검고 네모난 칩은 정전압 레귤레이터이다. 전원커넥터를 통해 입력되는 전압을 5V로 안정화시키는 역할을 한다. 일반적으로직류 5V를 공급하는 전원 어댑터라면 정확히 5V의 출력을내는 것이 아니라 5.2V 정도로 여유 있게 출력을 내보내기 마련이다.또한 가정에 공급되는 교류 전압도 편차가 있을 수 있다. 이러한 여분의 전압은 정전압 레귤레이터를통해 5V로 안정화된다. 그럼 강제로 낮춰진 전압은 어떻게되는 것일까? 아깝지만 열로 발산된다. 레귤레이터 윗부분에직사각형의 알루미늄 판이 노출되어 붙어있는 까닭은 열 방출을 돕기 위한 것이다.

CSI 커넥터

CSI 커넥터는 카메라 모듈을 연결하기 위한 것이다. 카메라 직렬 인터페이스(CSI; Camera Serial Interface)는모바일 기기 산업에 관련된 회사들을 회원사로 하는 MIPI 얼라이언스의 표준 중의 하나이다.라즈베리파이를 위한 CSI 카메라 모듈이 최근에 발표되었지만 상당히 아직 물량이 충분치 못해 구하기가 쉽지않은 상황이다. 영상 입력이 필요하면 아쉬운 대로 USB 웹캠을대신 사용할 수 있지만 USB와 이더넷이 대역폭을 공유하고 있어 성능은 만족스럽지 못하다.

DSI 커넥터

DSI 커넥터는 액정 패널 디스플레이를 연결하기 위한 것이다. DSI(Display Serial Interface) CSI와마찬가지로 MIPI 얼라이언스의 표준 중의 하나이며 호스트(이미지데이터 소스)와 장치(이미지 데이터의 목적지)간의 시리얼 버스와 프로토콜을 정의한다.

 

LED 표시등

LED 표시등은 모두 5개가있다. PWR(빨강색)은 전원 공급 여부를 표시한다. 라즈베리 파이에 전원이 공급되면 이 LED가 켜진다. ACT(초록색) SD카드접근을 나타낸다. 운영체제가 SD카드를 읽고 쓸 때 마다이 LED가 활발하게 점멸한다. 나머지 세 개의 LED, FDX(초록), LNK(초록), 100(노랑)은 이더넷과 관련된 표시등들이다. FDX Full Duplex(전 이중)의 약자로 양 측이 동시 송수신을 병행할 수 있음을 의미한다. 이더넷이연결된 상태에서 통상 켜져 있어야 한다. LNK Link의약자로 이더넷이 연결되어 있음을 의미한다. 100은 이더넷이100Mbps로 연결되어 있음을 의미한다. 꺼져 있다면10Mbps로 연결된 것이다.

라즈베리 파이는 모델B와 모델A 두가지 모델로 공급된다. 모델B가 먼저 공급되었으며 처음에는 256MB의 메모리가 장착되었으나 이내 512MB로 업그레이드되었다. 아마도 GUI를 실행하기에 메모리가 너무 부족했기 때문이었던 것이아닐까 하는 생각이 든다.

모델A는 모델B보다 나중에공급되기 시작했으며 메모리가 256MB, USB포트가 1개있고, 이더넷 포트가 없는 점이 다르다. 물론 그 만큼 가격이더 싸다. 이더넷 포트도 없고 USB포트도 한 개뿐인 모델A를 어디에 쓰랴 싶겠지만 반드시 그렇지 만도 않다.

마을 주변 여러 곳의 온도와 습도를 측정하여 SD카드에 기록하는 애플리케이션을개발한다고 가정해 보자. 개발하는 단계에서는 키보드도 있어야 하고 마우스도 있어야 하며 이더넷도 연결이가능해야 할 것이다. 하지만 개발이 완료되고 난 후 목적한 곳에 설치된 후에는 꼭 필요한 기능만 있으면된다. 개발하는 과정에서는 라즈베리 파이 B를 이용하여 개발하는것이 편리하다. 하지만 개발이 완료된 후에는 여러 곳에 설치를 해야 하니 좀 더 값이 싼 모델 A를 이용하는 것이 좋은 선택이 될 수 있다.

SoC

시스템온칩(System on Chip)을 줄인 말이다. PC의 주 기판을 들여다 본적이 있다면 중앙처리장치(CPU; CentralProcessing Unit), 메모리, 주변기기 입출력 제어장치(I/O Controller) 등등 여러 가지 칩들과 회로들이 가득 들어차 있는 것을 보았을 것이다. 컴퓨터를 집어 넣어 여러 가지 전자기기를 만들기 시작한 이래(이러한시스템을 임베디드 시스템이라고 한다) 컴퓨터의 크기를 줄이려는 갖가지 시도가 행해졌는데 이 가운데 가장성공적인 방법은 컴퓨터 시스템을 통째로 칩으로 만드는 방법이다(최초의 상업적 성공 사례는 80년대 중반 발표된 인텔의 8051이다). 라즈베리 파이에 사용되는 BCM 2835는 단순한 CPU라기 보다는 CPU를 포함한 다양한 주변기기를 하나의 칩 안에집적한 SoC이다. SoC를 만드는 방법은 FPGA CPLD같은 방법이 사용된다. 이를 위해서는 하드웨어 프로그래밍 언어인 VHDL을 사용한다. 이에 대해서는 이 책의 범위를 벗어나므로 생략하기로 한다.

MCU (Micro Controller Unit)

임베디드 시스템을 개발할 목적으로 CPU 및 주변 회로를 집적하여만들어진 SoC를 말한다.

코어(Core)

MCU안에 포함되어 있는 프로세서 즉, CPU를 일컫는 말이다.

ARM

ARM은 코어를 설계한 회사의 이름이다. ARM사는 CPU를 직접 생산하지는 않는다. CPU를 설계한 후 이를 다른 제조 회사들에게 지적 재산권(IntelectualProperty) 형태로 라이선스 해 준다.

FABless (fabrication-less)

생산은 다른 회사에 일임하고 반도체 설계 및 개발에만 전념하는 경영 방식을 말한다.

GPU (Graphic Processing Unit)

그래픽 처리 유닛 즉 화면 출력을 위한 처리를 전담하는 유닛을 말한다.

 
 
이전글
아두이노 실습 - LED 제어 2014/07/07
아두이노 환경설정 2014/07/07
다음글
갈릴레오 보드 개요 2014/07/07
아두이노 실습 - 스위치로 LED 제어하기 2014/07/08