430 likes | 1.2k Views
제 1 장 임베디드 시스템 개요. - 임베디드 리눅스 중심으로 -. 목 차. 1.1 임베디드 시스템 의미 1.2 임베디드 시스템 구성 및 특징 1.3 임베디드 시스템 소프트웨어 1.4 임베디드 시스템 하드웨어 1.5 임베디드 시스템 응용분야 1.6 임베디드 시스템 향후 전망. 1.1 임베디드 시스템의 의미. 임베디드 시스템 (Embedded System) 이란 ? 컴퓨터의 하드웨어와 소프트웨어가 미리 정해진 특정한 기능을 수행 하기 위하여 결합된 시스템
E N D
제1장 임베디드 시스템 개요 -임베디드 리눅스 중심으로-
목 차 1.1 임베디드 시스템 의미 1.2 임베디드 시스템 구성 및 특징 1.3 임베디드 시스템 소프트웨어 1.4 임베디드 시스템 하드웨어 1.5 임베디드 시스템 응용분야 1.6 임베디드 시스템 향후 전망
1.1 임베디드 시스템의 의미 • 임베디드 시스템(Embedded System)이란? • 컴퓨터의 하드웨어와 소프트웨어가 미리 정해진 특정한 기능을수행하기 위하여 결합된 시스템 • Computers Inside a Product (or a System) • 다양한 목적으로 사용되는 PC와 달리, 한 가지 또는 몇 가지 특수한 작업을 수행 • 하지만, PDA와 같이 Embedded System에서도 점차 범용성을 띄어 가고 있다
1.1 임베디드 시스템의 의미 • 임베디드 시스템의 일반적인 의미 • 마이크로 프로세서/마이크로 컨트롤러를 내장(embedded)하여 원래 제작자가 의도한 특정한 기능만을 수행하는 장치 • 미리 정해진 특정한 기능을 수행하도록 프로그램이 내장되어 있는 시스템 • 일반적으로 보다 큰 시스템의 일부이거나 독립된 시스템 • 특별한 업무를 수행하거나 사용자가 임의로 정한 업무를 수행 • 하드웨어와 소프트웨어를 포함하는 특정한 응용시스템 • 하드웨어와 소프트웨어의 변경이 매우 어려운 시스템 • 개인 휴대 정보 단말, 지리 정보 시스템, 의료 정보 단말, 정보가전, 게임기기, 자동차, 항공기 및 우주선, 의료 및 산업 원격 조종 장비 등의 시스템을 총칭
1.2 임베디드 시스템의 구성 • 임베디드 시스템 구성 • 임베디드 H/W • 프로세서/컨트롤러, 메모리, I/O 장치, 네트워크 장치, 센서, 구동기 • 임베디드 S/W • 운영체제, 시스템 S/W, 응용 S/W H/W S/W Micro Processor OS - Kernel Memory 시스템 소프트웨어 입출력 장치 응용 소프트웨어 네트워크 장치 임베디드 시스템
스마트 서비스 VOD 무선 게임 LBS 무선인터넷 M-커머스 멀티미디어 메세징 영상전화 고신뢰성 경량화 최적화 네트워크 지원 멀티미디어 지원 마이크로프로세서 저전력화 1.2 임베디드 시스템의 특징 • 특정한 기능에 부합하는 최적 화 설계가 가능 • 소형, 경량, 저전력 • 열악한 환경속에의 안정성 • Real-time Operation(Must finish operations by deadlines) • Extreme Cost Sensitivity • Many embedded systems are mass-market items that must have low manufacturing costs. • Limited memory, microprocessor power, etc.
1.3 임베디드 소프트웨어 • Systemsoftware • System의 하드웨어를 관리하고 응용프로그램에게 시스템을 사용할 수 있는 효율적이고 안전한 interface를 제공하는 software(O/S, 미들웨어, 디바이스 드라이버) • 운영 체제 • Linux, Window XP Embedded, Window CE, VxWorks, uC/OSII • Device drivers • Device를 제어하기 위한 interface 제공 • Application software • 실제 필요한 기능을 수행하는 software • PDA의 일정 관리 software • 휴대폰의 각종 서비스(game, 벨소리, 전화번호부)
1.3 임베디드 소프트웨어 • O/S의 등장 배경 • 시스템의 규모가 커짐 • 임베디드 시스템이 해야 할 일이 많아지고 복잡해짐 • 순차적인 프로그램이 어렵게 됨 • Multi Tasking • 임베디드 시스템에도 운영체제의 개념이 필요하게 됨 • Network이나 multimedia가 시스템의 기본으로 자리 잡음 • Networking, GUI, Audio, Video
1.3 임베디드 소프트웨어 • Real Time System (실시간 시스템) • 실시간 시스템의 정의 • 정해진 시간 내에 시스템이 결과를 출력하는 적시성을 가진 시스템 • 주어진 작업을 빨리 처리하는 것이 아니고 정해진 시간(dedline)을 넘어서는 안 된다는 뜻임 • 주어진 입력(event)에 대해 정해진 시간 내에 행동할 수 없을 때 문제가 발생하는 시스템. • 적시성(timeliness)이란? • 열악한 환경 하에서도 데드라인(deadline) 이내에 논리적으로도 정확한 출력 값을 산출해 내는 것 . • deadline이란? • 반응에 요구되는 시간의 한계 값
1.3 임베디드 시스템 소프트웨어 • Real Time System의 분류 • Hard realtime 시스템 : 제어작업이 deadline을 어기는 경우 시스템에 심각한 영향을 주는 time-critical 속성을 지닌 시스템예) 원자력 발전소 제어, 화재 발생 검출시스템, 항공기, 우주 왕복선, 자동차 등 • Soft realtime 시스템 : Deadline을 어긴 단위 제어 작업의 무효화로 시스템의 평균적 성능에 미세한 영향을 주는 시스템예) 컴퓨터, 정보기기, 네트워크 관련기기 등
1.3 임베디드 시스템 소프트웨어 • 상용 RTOS • pSOS • VxWorks • VRTX • 임베디드 OS • Windows CE • 임베디드 리눅스 • 임베디드 자바 • Qplus • Tiny OS • OS 선정 • 시스템의 특성 파악 그 시스템에 적합한 OS 선정
1.3 임베디드 시스템 소프트웨어 • WinCE.NET • 강력한 GUI, 멀티미디어 및 인터넷 기능을 내장 • PDA 등의 정보 가전 기기에 널리 사용되는 운영체제 • 다 종의 Intel 계열 32bit 프로세서 지원, 다양한 주변장치에 대한 빠른 지원, Visual Studio라는 편리한 개발 도구 지원 등의 장점 • 마이크로 소프트사가 제안한 .NET 구조 지원 • 부담이 되는 기술료(running royalty), 크기가 큰 무거운 • 소프트웨어 종속성 심화 • VxWorks • 전통적인 분야인 제어, 통신 기기, 로봇 등의 분야에서 1위를 고수 • WindRiver사의 대표적 RTOS • 스레드(Thread) 기반의 태스크(Task) 관리를 지원 • 작고 모듈화된 커널 구성 • 토네이도(Tornado)라는 편리한 개발 환경
1.3 임베디드 시스템 소프트웨어 • PalmOS • Palm Computing사에서 공급 • 핸드헬드(Hand-held) 장비에 가장 많이 사용되는 32비트 운영체제 • 작은 크기와 웹 입력 프로그램 및 웹 프로그램 개발 도구들이 풍부 • 소스 코드는 부분적으로 공개 • Palm은 지난 5년간 선도적인 PDA 플랫폼이었으나 WinCE, 임베디드 리눅스 및 Symbian의 맹렬한 추격을 받고 있음 • EPOC (Symbian) • 무선 통신을 활용하는 모바일 장비를 위해 최적화된 32비트 멀티 스레딩(multi-threading) 운영체제 • 영국의 Psion사에 의해 개발되었고, 그 후에 Ericsson, Motorola, Nokia와 함께 설립한 Symbian사에 의해 계속 개발 공급 • 통신 프로그램과 웹 브라우저와 각종 오피스 도구들을 갖춤 • OPL, C++, Java 언어를 제공, 높은 시스템 안정성, 고기능 전력 절약 기능 및 유연한 GUI의 장점이 있어 모바일 기기에 많이 탑재
1.3 임베디드 시스템 소프트웨어 • Lynx OS • Linux Real-Time 사의 임베디드 운영체제로 POSIX 호환성을 제공하면서도 작은 크기의 장점을 가진 32 비트 운영체제 • Embedded Linux 계열 • Linux 커널 2.4.x나 2.6.x를 기반으로 임베디드 시스템의 특징에 필요한 빠른 부팅, 저전력 관리, 크기의 소형화, GUI의 소형화 등의 기능을 갖도록 개선한 것이 주종 • MontaVista의 HardHat, 한국에서는 한국전자통신 연구원(ETRI)의 Qplus/Esto 등 • Clinux, TinyOS • MMU가 없는 CPU를 사용하는 센서 노드 등을 위한 작은 임베디드 시스템용으로 많이 사용 • 기타 • REX, eCos, microCOS II, 네트워크 장비를 위한 RTOS인 Cisco 사의 IOS, in-house kernel 등
1.3 임베디드 리눅스 시스템 • 임베디드 리눅스의 출현 배경 • H/W의 발전 • 32/64bit 고성능 CPU • S/W의 많은 기능 요구 • O/S의 기능이 중요, 안정된 운영체제의 제공(멀티 태스킹) • 강력하고 다양한 네트워크 환경의 제공 • 다양한 형태의 파일시스템과 실행파일 포맷 지원 • 확장성의 다양함과 용이함의 제공 • Free Software
1.3 임베디드 리눅스 시스템 • 임베디드 리눅스 장점 • 기능성과 확장성이 우수 (리눅스 이용에 따른 장점) • PowerPC, ARM, MIPS 등 다양한 CPU Platform지원함 • 로열티가 없으므로 가격 경쟁력이 우수 • 사용자 층이 넓어 오류 수정이 빠르고 안정성이 우수 • 기존의 데스크 탑 개발 환경과 동일하여 개발이 용이함 • 임베디드 리눅스 단점 • 기존의 RTOS보다 많은 메모리를 요구함 • 범용 OS로 설계되어 Real-Time 지원이 어려움 • 개발 환경이 Text 기반의 환경임으로 개발에 어려움이 있음 • GUI 환경을 개발하기 어려움 • 제품화하기 위한 솔루션 구성이 어려움 • 많은 업체들과 개발자들이 독자적으로 개발하고 있어 표준화가 어려움
1.4 임베디드 시스템 하드웨어 • Processor • 프로그램 명령어 처리기 • 8bit/16bit/32bit & 64bit • Arm 계열, Power PC 계열, MIPS 계열 등 • Memory • 프로그램 및 data 저장 • RAM/ROM/FLASH memory • I/O device • serial port, parallel port, USB, IEEE1394A • Network device • Lan(802.3, csma/cd), wireless lan(802.11, csma/ca)
1.4 임베디드 시스템 하드웨어 • 프로세서 • 임베디드 시스템의 핵심 부분 • 반도체 회사에서 많은 종류의 제품들을 시판 • 프로세서의 속도 • MHz의 클럭속도 • 8 비트, 16 비트, 32 비트, 64 비트 등 데이터 버스의 크기와 기본연산의 단위에 따라 선택 • 마이크로 프로세서 와 마이크로 컨트롤러 • 마이크로 프로세서 : CPU 코어만을 하나의 칩(chip)으로 구성한 경우를 말한다. • 마이크로 컨트롤러 : CPU 코어에 여러 종류 및 크기의 메모리, 네트워크 입출력 장치, TPU 등의 timer 프로세서 장치 등, 다양한 주변장치들까지 포함 • CISC 와 RISC 프로세서 • CISC (Complex Instruction Set Computer) : 복잡하고 다양한 고기능의 명령어를 갖는 아키텍처 • RISC (Reduced Instruction Set Computer) : 명령어의 개수를 줄이고 동일 규격화하여 명령어 수행의 파이프라이닝(pipelining)을 극대화하며, 저전력 소모에 저가로 생산할 수 있도록 한 아키텍처
Where Are the Processors? Where Has CS Focused? Direct2% InteractiveComputers Robots6% Vehicles12% 200Mper Year 8.5B Parts per Year Servers,etc. Embedded Computers 80% In Vehicles In Robots Embedded 프로세서 Source: DARPA/Intel (Tennenhouse)
1.4 임베디드 시스템 하드웨어 • 메모리의 역할 : 프로그램과 데이터 저장 • 메모리의 종류
1.5 임베디드 시스템 응용분야 • 정보가전 : 세탁기, 오디오, 인터넷 냉장고, HDTV 등 • 제어분야 : 공장자동화, 가정자동화, 로봇 제어, 공정제어 등 • 정보기기 : 핸드폰, PDA, 스마트 폰, LBS 등 • 네트워크기기 : 교환기, Router, 공유기, 홈 게이트웨이 등 • 게임기기 : 가정용 게임기(PS2, XBox), 지능형 장난감 등 • 항공/군용 : 비행기, 우주선, 로켓, 야전 이동단말(GPS, GIS) • 물류/금융 : ATM, RFID, 물류단말, 영업단말 등 • 차량/교통 : 자동차, ITS 등 • 사무, 의료 : 전화기, 프린터, Heart pacer, 수술로봇, 증강현실장비
전자레인지 인터넷으로 요리정보 검색 및 다운로드 HDTV/인터넷TV 인터넷 검색, 각종 기능 설정 등 홈 네트워크 보일러 인터넷으로 제어 및 각종 운행 세탁기 인터넷으로 세탁기 제어 및 각종 자동 실행 캠코더 디지털 카메라, 네트워크 연결, 다양한 기능 인터넷 냉장고 인터넷으로 제어, 정보 검색 및 다운로드 1.5 임베디드 시스템 응용분야 • 정보가전 • 기술의 발전에 따라 일반 가전 제품에 다양한 기능이 요구됨 • 다양한 기능의 처리를 위한 가전제품 전용 임베디드 시스템 적용 • 가정 내 네트웍 구성에 따른 원격 제어, 정보 수집 등이 가능해짐 • 홈 오토메이션, 홈 네트워킹과 함께 가정 자동화의 핵심 부분 • 인터넷 냉장고, HDTV, 인터넷 전자레인지,DVR, 세탁기 등
1.5 임베디드 시스템 응용분야 • 공장자동화 : FA ( Factory Automation ) • 특정 기계나 장비를 통해 생산 과정을 자동적으로 관리하는 시스템 • 센서와 제어 시스템, 로봇 등으로 구성하여 무인시스템을 구축 • 공장 자동화 및 로봇은 실시간 시스템과 임베디드 시스템 발전의 원동력 • 생산성증대: 인건비감소, 오류감소, 품질의 균일화, 생산기간단축 • 로봇, conveyor belt
1.5 임베디드 시스템 응용분야 • 정보단말기기 • 단순한 통화 중심의 이동 전화기에서 각종 정보검색, 오락, 메시징 등의 복합 기능이 수행되는 디지털 정보단말기기로 발전 • 단말기기 각각의 기능에 맞는 마이크로프로세서, 메모리, 운영체제, 응용 프로그램 등으로 구성 • 앞으로는 다양한 단말기기가 하나의 기기로 통합될 것으로 예상됨 • 핸드폰, PDA, 스마트 폰, MP3 플레이어, 게임기기 등
NASA Pathfinder (mission to MAR 1997) 1.5 임베디드 시스템 응용분야 • 항공기 • 보통 수 백 개의 프로세서 탑재 • 우주왕복선 • Pathfinder -실시간 운영체제인 VxWorks가 탑재된 것으로 유명 • 대표적인 실시간 시스템의 하나 • 영상처리, 통신 등 모든 처리기능을 복합적으로 가짐
1.5 임베디드 시스템 응용분야 • 교통 • 자동차의 엔진 및 각종 제어 시스템, 무인 자동화 시스템 • 지능형 교통시스템(ITS : Intelligent Transport Systems) 등 • 지능형 장난감 • 단순한 장난감의 형태에서 지능성을 갖는 형태로 변화
1.5 임베디드 시스템 응용분야 • 고성능 프로세서 탑재 • 마이크로소프트의 Xbox • 소니의 playstation 2 • 닌텐도 게임보이 어드벤스 (nintendo gameboy advance) • 32-Bit ARM 프로세서 • 2.9인치 TFT 스크린 • 32,768 색상을 지원하는 휴대형 게임 장치
1.5 임베디드 시스템 응용분야 • 물류/금융 • 물류 : POS 단말기 • 금융 : 자동 현금 입출금기 혹은 ATM 단말기 • 사무용기기 • 프린터, 스캐너, 팩스, 복사기, 이들의 기능을 하나로 모은 복합기 등
1.5 임베디드 시스템 응용분야 • 디지털 교환기, PABX (private automatic branch exchange) 등의 음성 서비스 통신기기 • 라우터, 게이트웨이, 공유기 등의 유무선 데이터 통신 장비 • Set-top box
임베디드 시스템의 각국동향 • 미국 • 프로세서, OS, 프로토콜 등 전 분야를 점유 • 미국은 군사/과학용 임베디드 S/W를 21세기 핵심 분야로 선정하고 매년 4천억 달러 이상을 연구개발에 투자 • 유럽 • 개발도구, 브라우저 등의 일부 업체가 존재 • 군사/교통용 임베디드 S/W에 '99년부터 7년간 3조8천억을 투자 • 일본 • 총무성 주도로 Ubiquitous 네트워크 개발을 추진 중 • ‘84년부터 TRON 협회에서 표준 임베디드 OS를 개발 • 일본 내 가전제품에 적용 중 • 임베디드 OS: • Real-time Operating System 중심 • MS의 WinCE 및 임베디드 리눅스 진입 시작 • 미들웨어, 각종 서비스를 포괄하는 플랫폼 기술이 중요하게 대두
1.6 임베디드 시스템 향후 전망 • Embedded system의 다기능화 추세로 WinCE, Embedded Linux, Palm OS, Symbian, 등과 같은 범용 운영체제 기반으로 산업이 재편되고 있음 • MS는 임베디드 OS 시장의 주도권 장악을 미래 전략으로 채택함
1.6 임베디드 시스템 향후 전망 • 임베디드 운영체제(OS)에 절대강자가 없는 상황 • PC 시장과 같이 특정 OS 가 시장을 독점하지 못하고 있음 • 적용제품의 종류, 규모에 따라 여러 종류의 상용 및 비상용 제품 다양 • 임베디드 OS 및 플랫폼, 애플리케이션 시장을 놓고 불꽃 튀는 경쟁 • VxWorks를비롯한 RTOS • 윈도CE • 임베디드 리눅스 • 썬의 Java • 일본의 Tron