Chapter. 1 Embedded System 소개 Jaeheung, Lee
목차 임베디드시스템개요임베디드시스템시장현황임베디드시스템동향실시간임베디드시스템임베디드시스템 H/W 임베디드시스템 S/W 임베디드시스템활용분야임베디드시스템향후전망임베디드 SoC 특징임베디드시스템실습환경 1
학습목표 임베디드시스템의기본개념을이해하고, 미래기술방향에대해관심을갖도록동기를부여 Ubiquitous Computing 에대한기초이해를유도 2
임베디드시스템개요 임베디드시스템 정의 : 마이크로프로세서혹은마이크로컨트롤러를내장하여 (Embedded) 원래제작자가지정한기능만을수행하는장치 구성 만일한시스템에서사용자가프로그램을바꿔가면서그에따라여러가지기능들을수행할수있다면, 그시스템은대부분의사람들이임베디드시스템이라고분류하지않음 Example) PC is NOT an Embedded System 임베디드 H/W : 프로세서 / 컨트롤러, 메모리, I/O, 네트워크 임베디드 S/W : 커널, 시스템 S/W, 응용 S/W 응용분야 정보가전, 정보단말, 통신장비, 항공 / 군용, 물류 / 금융, 차량 / 교통, 사무, 산업 / 제어, 의료, 게임 3
임베디드시스템개요 임베디드시스템이란? Computers Inside a Product (or a System) Any device that includes a programmable computer but is not itself a general-purpose computer 컴퓨터하드웨어와소프트웨어가조합되어특정한목적을수행하는시스템 H/W : 마이크로프로세서 / 컨트롤러, 메모리, 센서, 구동기등 S/W : OS, 디바이스드라이버, 응용프로그램, 네트워크응용등 4
임베디드시스템개요 임베디드시스템의구성 임베디드 H/W 프로세서 / 컨트롤러, 메모리, I/O 장치, 네트워크장치, 센서, 구동기 임베디드 S/W 운영체제, 시스템 S/W, 응용 S/W 5
임베디드시스템개요 임베디드시스템의특징 소형, 경량화저전력소비낮은가격고신뢰성유 / 무선네트워크실시간시스템 PC에버금가는반응속도특정한기능에부합하는최적화 6
임베디드시스템시장현황 2011 년임베디드시스템세계시장 약 20,000억달러규모임베디드S/W 분야 : 약 2000억달러규모매년평균 20% 의성장률 2015년약 100,000억달러수준으로성장전망 (RCW Mirus, 2010) 2011 년국내시장규모 약 3 조 8 천억원규모 2015 년 10 조규모로성장전망 ( 정보통신연구진흥원, 2010) 7
실시간임베디드시스템 필요성 Must provide correct results at required time deadline Types For examples Security system that checks ID badges Robot that welds sheet metal Automated teller machine Hard real-time systems 정해진시간내에작업의결과가절대적으로출력되어야하는시스템 ( 전투기비행제어시스템, 핵발전소제어시스템, 인공위성제어시스템 ) Soft real-time systems 정해진범위를넘는시간지연이발생하더라도시스템의에러가되지않는시스템 Most of control system is real-time embedded systems 8
실시간임베디드시스템 상용 RTOS(Real-time Operating System) 대표적인제품으로 VxWorks, psos, QNX, OS-9, VRTX 등이있음 VxWorks WindRiver 사에서판매하는제품으로세계시장에서가장점유율이가장높음 많은종류의마이크로프로세서를지원하며대부분의상용 Chip 에대한 Device Driver 지원 OSE Enea OSE Systems 에서개발, 판매하는 RTOS 국내보다는세계시장에서훨씬높은인지도와점유율보유 9
실시간임베디드시스템 상용 RTOS(Real-time Operating System) LynxOS LinuxWorks 사에서개발 UNIX 와호환이가능하며 OS 의사이즈가크고, 복잡 규모가큰 Real-Time Application 개발에적합 RTLinux Finite State Machine Labs 사에서개발, 판매하는 Embedded Linux Windows CE VRTX Microsoft 에서판매하는 Embedded Windows OS 몇년전만해도국내에서가장높은시장점유율을가졌던 Mentor Graphics 사의 RTOS 10
실시간임베디드시스템 상용 RTOS(Real-time Operating System) psos Integrated Systems사에서판매 WindRiver에서인수 VxWorks와함께세계시장상위의점유율 QNX QNX Software Systems사에서개발 UNIX와호환이가능비상업용으로는 Real-Time Platform Package를무료로다운가능 OS-9 Microware 사에서개발, 판매하는 RTOS 로서, 국내보다는세계시장에서높은인지도와시장점유 11
실시간임베디드시스템 비 - 상용 RTOS(Real-time Operating System) Nucleus Plus Accelerated Technology 사에서개발, 판매 다른 RTOS 들과는달리 Full Source Code 를제공 제품당지불하는 Royalty 가없음 국내에서는휴대폰단말기와 PDA 등 50 여종의제품에서사용되고있으며, 우리별 1 호, 2 호에도탑재 SuperTask US Software 사에서개발, 판매 Nucleus 와마찬가지로 Source Code 를 Open 하며, No Royalty 12
실시간임베디드시스템 비 - 상용 RTOS(Real-time Operating System) microc/os(uc/os) 최근에학교를중심으로많이사용하면서널리알려진 RTOS Jean J. Labrosse 라는사람이개발하여배포 책을구입하면부록에 Source Code 가포함되는형태로판매되며, Royalty 역시없음 꾸준한 Upgrade 를통하여많은종류의프로세서를지원 현재는 Upgrade 된 uc/os-ii 를개발하여배포 13
실시간임베디드시스템 RTOS 비교표 RTOS MAKER 국내 Agent Royalty Policy VxWorks WindRiver WindRiver Korea Yes OSE Enea OSE Systems 트라이콤텍 Yes VRTX Mentor Graphic 다산인터네트 Yes psos WindRiver WindRiver Korea Yes Ncleus Plus Accelerated Technology ATI Korea No Super Task US Software 아라전자 No microc/os(uc/os) 개인 없음 No QNX QNX Software Systems 다산인터네트 Yes OS-9 Microware Microware Korea Yes LynxOS LinuxWorks 없음 Yes RTLinux Finite State Machine Labs 없음 Yes Windows CE Microsoft Microsoft Yes 14
임베디드시스템 H/W 임베디드시스템하드웨어의특징 프로세서 : 프로그램의명령어처리메모리 : 프로그램과데이터저장주변장치 : 시스템과외부장치 (External Devices) 들을연결네트워크장치 PC H/W vs 임베디드시스템 H/W H/W 항목 PC 임베디드시스템 프로세서 고성능탑재 최소한의성능탑재 메모리 대용량메모리 최소한의메모리사용 보조기억장치 다양함 :HDD, ODD, DVD 거의사용안함 주변장치 다양함 :KBD, MOUSE, SPKR 필요한장치만사용 15
임베디드시스템 H/W 프로세서 프로세서 임베디드시스템의제일중요한부분반도체회사에서각각많은종류의제품들을시판 프로세서의속도 수 MHz에서수십혹은수백 MHz의클럭속도 8비트, 16비트, 32비트, 그리고 64비트 데이터버스의크기와기본연산의단위에따라서선택 16
임베디드시스템 H/W 프로세서 PC 를설계할때의프로세서선택 : Intel or AMD 임베디드시스템 기능의복잡도 (complexity) 및시스템의크기면에서매우다양 마이크로프로세서 : 데이터부와제어부로구성된 CPU core 만포함 마이크로컨트롤러 : CPU core 에여러종류및크기의메모리와다양한주변장치들까지도포함 많은종류의마이크로프로세서및마이크로컨트롤러들중에서가격대비성능이최적인제품을찾아내는것은매우어려운일 17
임베디드시스템 H/W 프로세서 ARM 계열 ARM 아키텍처의배경 ARM 은원래영국캠브릿지에있는 Acorn Computer Limited 에서개발된프로세서 Acorn 은 BBCmicro 라는 6502 를이용한 PC 를만듬 애플의영국지사와 VLSI Technology 그리고 Acorn 사가합작하여 ARM 사설립 ARM 의특징 ARM 프로세서의가장큰특징인저전력설계 다른프로세서에비해적은전력을소모하면서높은성능 ARM7 의 60Mips 에서부터 ARM11 계열의 500Mips 를넘어가는프로세서까지다양 18
임베디드시스템 H/W 프로세서 PowerPc 계열 PowerPC 아키텍처의배경 IBM RS/6000 을모델로해서 IBM, 모토로라그리고애플이함께만든프로세서 1993 년에발표된 PowerPC Architecture Specification 은 32 비트서브셋을갖춘 64 비트스펙 거의모든 PowerPC 들 (IBM RS/6000 후기모델과모든 IBM pseries 하이엔드서버예외 ) 은일반적으로 32-bit 일반 PC 나워크스테이션용으로사용하기위해서개발되었기때문에최신의설계기술을사용하였고높은성능을낼수있도록설계 19
임베디드시스템 H/W 프로세서 PowerPc 계열 PowerPC 의특징 높은퍼포먼스, 저전력, 낮은열분산이강력한 ' 임베디드적 ' 특징 32 (32 또는 64 비트 ) GPRs (General Purpose Registers) 와 PC (Program Counter-IAR/Instruction Address Register 또는 NIP/Next Instruction Pointer 라고일컬어짐 ), LR (link register), CR (condition register) 를갖춤 MPC850 의 50MHz 에서부터 MPC7450 의 733MHz 까지다양한성능 20
임베디드시스템 H/W 메모리 임베디드시스템메모리의선택 : 운영체제와응용소프트웨어 사용하게될메모리의종류및크기 메모리의주요역할 : 프로그램과데이터저장 21
임베디드시스템 H/W 메모리 ROM: 비 - 휘발성메모리 전원이차단된경우에도메모리의프로그램또는데이터가없어지면안되는경우 ROM (Read Only Memory), PROM (Programmable Read Only Memory), EPROM (Erasable Programmable Read Only Memory) FLASH 메모리 PC : BIOS (Basic Input Output System) 가 EPROM 에상주 -> 부팅 (booting) 전원이처음으로 PC 에공급될때시작되어 PC 의각종입출력장치등의주변장치들을초기화하는데사용 그이후에 BIOS 는운영체제를디스켓이나하드디스크에서읽어서 RAM 에저장하고그이후에는운영체제가 RAM 에서실행을시작 부팅이되고난이후에 PC 는운영체제가시작되고각종응용프로그램이실행되어사용자의입력을기다리는상태 22
임베디드시스템 H/W 메모리 RAM 큰용량의프로그램이나데이터를저장하는데주로사용 DRAM(Dynamic Random Access Memory) DRAM 은대용량이필요한경우에많이사용 SRAM(Static Random Access Memory) 일반적으로 SRAM 은저용량 고속으로읽고써야하는경우에주로사용 : 캐쉬메모리 Random Access 기억장치의주소를 CD 나하드디스크처럼순서대로 (serial) 읽지않고원하는주소를마음대로읽을수있기때문에유래 23
임베디드시스템 H/W 입출력장치 임베디드시스템의동작형태 외부입력에반응하여정해진작업을실행하며지정된출력을발생 임베디드시스템의사용방법 폴링 (Polling) : Simple Implementations 인터럽트 (Interrupt) : Efficient Implementations 입력장치 키보드, 마우스, 마이크등 센서 (Sensor) 를많이활용 외부에서발생한물리적인현상, 즉온도, 빛, 위치등의값 ( 또는변화량 ) 들을임베디드시스템으로읽어들이는역할을수행 24
임베디드시스템 H/W 입출력장치 예 : 온도센서와히터 (Heater) 를이용하여용액의온도를 70 로일정하게유지하는간단한임베디드시스템 용액의온도가 65 로떨어진경우에이온도변화량을센서가감지하게되며이신호를프로세서에입력 프로세서는온도가내려갔으므로히터를가동시킨뒤계속온도를감시하다가온도가 70 가되었을때에히터의가동을중지 25
임베디드시스템 H/W 직렬포트 (serial port) RS232C 규격, 몇 m 떨어진곳의주변장치대상 특징 : 저속, 간단 병렬포트 (parallel port) 시리얼보다더근접한위치의주변장치용 ; 프린터인터페이스 26
임베디드시스템 H/W USB (Universal Serial Bus) 및 IEEE 1394 최근에는주변장치에서많은멀티미디어데이터를처리해야하기때문에직렬이나병렬인터페이스로는부족한성능을개선 USB : 최대 12 Mbps까지전송속도최대 127개의주변장치들을연결프린터, 스캐너, 키보드, 조이스틱, MP3 Player 등의제품에서사용 IEEE 1394 : Apple 의 Firewire 400 Mbps까지의전송속도최대 63개의주변장치하드디스크, CD/CD-RW 및비디오카메라등의제품에서사용 27
임베디드시스템 H/W 네트워크장치 멀리떨어진곳의주변장치제어 유선네트워크 : 이더넷 (Ethernet) 이널리사용 IEEE 802.3 표준 현재시점에서가장많이사용되는근거리통신망 (Local Area Network 혹은 LAN) 기술 10Base-T : 10Mbps 의전송속도 CSMA/CD (Carrier Sense Multiple Access/Collision Detect) 프로토콜을구현 10/100 이더넷 : 100 Mbps 까지겸용으로속도를낼수있는고속이더넷을함께사용 Gigabit 이더넷을지원하는제품들도사용되기시작 10Gigabit 이더넷개발완료 28
임베디드시스템 H/W 네트워크장치 무선네트워크방식 CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) 프로토콜을지원 802.11b, 802.11g, 802.11n 규격 802.11b : 주파수대역 : 2.4GHz (ISM Band 사용 ) 최대전송속도 : 11Mbps 가장먼저나온기술로써전송속도가느리고다른기기와의주파수간섭문제가발생할수있음 29
임베디드시스템 H/W 네트워크장치 무선네트워크방식 802.11g : 주파수대역 : 2.4GHz (ISM Band 사용 ) 최대전송속도 : 24Mbps 802.11b를사용하는기기와상호호환이가능 802.11n : 주파수대역 : 2.4GHz, 5GHz 최대전송속도 : 300Mbps 근거리무선통신중전송속도가빠른편에속함 802.16 : WiMax, Wibro 에사용되며전송속도가가장빠름 30
임베디드시스템 S/W 임베디드시스템소프트웨어의구성 OS : RTOS, Embedded Linux 시스템 S/W: OS API, Network API, 응용 S/W: 각분야 / 용도별 PC S/W vs 임베디드시스템 S/W S/W 항목 PC 임베디드시스템 OS Windows RTOS, Linux 시스템 S/W Windows API RTOS & Linux API 응용 S/W HDD에서읽음 메모리에서읽음 개발환경 Visual Studio.NET 교차개발환경 31
임베디드시스템 S/W 운영체제 (Operating System) 범용운영체제 다양한프로그램을지원하지만, 덜매력적 Linux, Microsoft XP 혹은 2000pro 등의데스크탑운영체제 다양한장치와다양한작업들을수행 기본적으로커다란메모리를필요 임베디드시스템운영체제 가격경쟁력을갖추어야함 작은크기의메모리에도원활하게동작하는운영체제가바람직함 Embedded Linux, Windows CE, 국산실시간운영체제 (Real-time Operating System 혹은 RTOS) 인 Qplus 32
임베디드시스템 S/W 시스템 S/W 컴퓨터하드웨어를관리하고응용소프트웨어를실행하는데필요한프로그램들 운영체제, 각종하드웨어및주변장치들을구동하는데필요한드라이버프로그램 TCP/IP 를비롯하여시스템을네트워크로연결하는데필요한각종소프트웨어 프로그램을개발하는데사용되는여러프로그래밍언어 ( 예를들면 C, C++, 어셈블리언어 ) 컴파일러, 디버거, 프로그램개발도구 ( 예를들면마이크로소프트 Visual studio, Qplus ESTO) 등 33
임베디드시스템 S/W 응용 S/W 임베디드시스템의응용소프트웨어 운영체제와시스템소프트웨어를이용하여사용자에게유익한작업을수행하는소프트웨어들 예 : Desktop Publishing, Personal Information Management (PIM), Computer Aided Design (CAD), 과학계산용소프트웨어, 웹브라우저, 멀티미디어재생기등 일반적으로 RAM 에올려져서동작 많은경우에작은크기의임베디드시스템에서는시스템의전원이꺼지더라도다시전원을인가하면바로동작이실행될수있도록만들기위하여응용프로그램을 ROM 혹은플래시메모리에저장하기도함 34
임베디드시스템활용분야 정보가전 세탁기, 오디오, 인터넷, 냉장고, HDTV, 제어분야 공장자동화, 가정자동화, 로봇제어, 공정제어, 정보기기 핸드폰, 스마트폰, 태블릿 PC, 네트워크기기 교환기, 공유기, 홈게이트웨이, 게임기기 가정용게임기, 지능형장난감, 35
임베디드시스템향후전망 H/W 컴퓨터하드웨어기술 : 무어의법칙에따라서계속발전프로세서 데이터처리용량증가 : 32비트코어 64비트코어로발전고성능의파이프라인, DSP, 자바처리전용 H/W 추가 메모리 대용량화 DRAM FLASH 메모리의사용증가 네트워크 유 / 무선네트워크의대역폭의계속적인증가. 36
임베디드시스템향후전망 H/W SoC (System on-chip) CPU, 메모리, DSP, 주변장치등을한칩으로만드는기술 이전에하나의 PCB 보드에 CPU 칩, 메모리칩, 주변장치칩들을각각따로사용하여설계 각칩에해당되는회로를각각의 IP(Intellectual Property 또는지적재산권 ) 로확보해서한개의칩으로설계 Post-PC 시대의하드웨어기술의핵심 고성능, 저전력, 저가격, 안정성, 내구성, 혁신적디자인등이가능 37
임베디드시스템향후전망 S/W OS Plug-and-Play RTOS Linux will be there Windows 시장진입노력 : CE,.NET 모바일 OS의진화 Android, ios, bada, Simbian, System S/W 새로운장치와고성능화하는장치에맞는 API 계속개발 Device Driver 자동생성도구발전 : MS Platform builder Middleware의등장 38
임베디드시스템향후전망 S/W Application S/W Component Based Design: Plug-and-Play 응용 S/W 개발이가속화 S/W Modeling CAD Tool (UML) Development Tool CAD Tools for Rapid S/W development Automatic Source Code Generation Tool: Objectime, RoseRT 39
임베디드 SoC 특징 S5PV210 구성도 40
임베디드 SoC 특징 S5PV210 구조 S5PV210 Block Diagram 41
임베디드 SoC 특징 S5PV210 특징 32-bit RISC cost-effective, low power, high performance microprocessor solution Integrated ARM Cortex-A8 Core To provide optimized H/W performance for the 3G services 64-bit internal bus architecture 42
임베디드 SoC 특징 S5PV210 특징 Include H/W accelerators for tasks such as motion video processing, display control and scaling Integrated Multi Format Codec(MFC) Codec : MPEG-1/2/4, H.264, H.264 support MFC supports Real-Time video conferencing and Analog TV out, HDMI for NTSC and PAL mode Included H/W peripherals such as TFT-LCD Controller, Camera Interface, MIPI, ATA, UART, DMA, USB, 43
임베디드 SoC 특징 S5PV210 Pin Assign 44
임베디드 SoC 특징 S5PV210 Memory Address 맵 45
임베디드시스템실습환경 HBE-EMPOS II Processor : Intel Xscale PXA255(400MHz) Memory : Flash 32Mbyte, SDRAM 128Mbyte, SRAM 1Mbyte OS : Embedded Linux, WinCE Device 10/100Mbps Ethernet TFT-LCD(640x480) 7-Segment LED Push Button GPIO MMC/SD 46
임베디드시스템실습환경 HBE-EMPOS II Block Diagram 47
임베디드시스템실습환경 HBE-EMPOS II SW 환경 부트로더크로스컴파일러 (ARM Tool Chain) 하드웨어모니터링 Minicom (Linux) HyperTerminal (Windows) JTAG Interface GUI 개발환경 48
임베디드시스템실습환경 HBE-EMPOS II SW 구성 부트로더 : EMPOS-BOOT v0.1 리눅스커널 : linux-2.4.19-rmk4-pxa2-empx1 파일시스템 : ramdisk-16m(ext2) GUI : QT/Embedded-2.3.2, Qtopia-1.4.0(jffs) 49
임베디드시스템실습환경 HBE-EMPOS II 디바이스모듈구성 커널삽입디바이스 TFT-LCD, PCMIA/CF, Touch Screen AC97 Audio, IrDA, FFUART, MMC, 모듈형태디바이스 SMC9111 Primary/Secondary Ethernet Driver Prism2 Wireless Driver IDE Disk Driver Text LCD Driver LED, Button Driver 7-Segment GPIO Input/Output Driver 50
임베디드시스템실습환경 HBE-EMPOS II 기타자료 http://www.hanback.co.kr ( 한백전자홈페이지 ) 고객지원 Q & A 고객지원 자료실 51