강의 PPT - 수원과학대학교 정보통신과

Download Report

Transcript 강의 PPT - 수원과학대학교 정보통신과

임베디드시스템1
1주차. 임베디드 시스템과
임베디드 리눅스
수원과학대학교 정보통신과
1.1 임베디드 시스템의 개요

임베디드 시스템(Embedded System)이란?
 컴퓨터의
하드웨어와 소프트웨어가 미리 정해진 특정
한 기능을 수행하기 위하여 결합된 시스템

Computers Inside a Product (or a System)

다양한 목적으로 사용되는 PC와 달리, 한 가지 또
는 몇 가지 특수한 작업을 수행
 하지만,
스마트폰이나 태블릿 PC처럼 Embedded
System에서도 점차 범용성을 띄어 가고 있다
수원과학대학 정보통신과
2
임베디드시스템의 특징
 특정
기능 수행
 내장성
 강한 제약성
 소형,
전력 소모량 작고, 실시간 반응 요구
 안전성
혹은 신뢰성
 가격 민감성
 제한된 시스템 자원
 호환성
 깔끔한 오류 처리
수원과학대학 정보통신과
3
임베디드 시스템 응용분야 [1]

정보가전

디지털 TV

인터넷 냉장고

인터넷 세탁기

전자레인지
수원과학대학 정보통신과
4
임베디드 시스템 응용분야 [2]

제어분야




공장자동화
가정자동화
로봇 제어
공정제어
수원과학대학 정보통신과
5
임베디드 시스템 응용분야 [3]

정보기기

단순한 통화 중심의 이동 전화기에서 각종 정보검색, 오락,
메시징 등의 복합 기능이 수행되는 디지털 정보단말기기로
발전

단말기기 각각의 기능에 맞는 마이크로프로세서, 메모리,
운영체제, 응용 프로그램 등으로 구성

예)핸드폰, PDA, 스마트 폰, MP3 플레이어, 게임기기 등
수원과학대학 정보통신과
6
임베디드 시스템 응용분야 [4]

항공/군용
항공기
 보통 수 백 개의 프로세서 탑재
 우주왕복선
 Pathfinder -실시간 운영체제인 VxWorks가 탑재된 것으로 유명
 대표적인 실시간 시스템의 하나
 영상처리, 통신 등 모든 처리기능을 복합적으로 가짐

NASA Pathfinder
(mission to MAR 1997)
수원과학대학 정보통신과
7
임베디드 시스템 응용분야 [5]

게임기
 고성능
프로세서 탑재
 마이크로소프트의 Xbox
 소니의 playstation
 닌텐도 Wii
수원과학대학 정보통신과
8
임베디드 시스템 응용분야 [6]

물류/금융/사무용기기
 물류/금융


물류 : POS 단말기
금융 : 자동 현금 입출금기 혹은 ATM 단말기
 사무용기기

프린터, 스캐너, 팩스, 복사기, 이들의 기능을 하나로 모은 복
합기 등
수원과학대학 정보통신과
9
임베디드 시스템 응용분야 [7]

네트워크 기기



디지털 교환기, PABX (private automatic branch exchange) 등의
음성 서비스 통신기기
라우터, 게이트웨이, 공유기 등의 유무선 데이터 통신 장비
Set-top box
수원과학대학 정보통신과
10
임베디드 시스템의 구성

임베디드 시스템 구성


임베디드 H/W
 프로세서/컨트롤러, 메모리, I/O 장치, 네트워크 장치, 센서
임베디드 S/W
 운영체제, 시스템 S/W, 응용 S/W
H/W
S/W
Micro Processor
OS - Kernel
Memory
입출력 장치
네트워크 장치
수원과학대학 정보통신과
시스템 소프트웨어
응용 소프트웨어
임베디드 시스템
11
임베디드 시스템 하드웨어

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)
수원과학대학 정보통신과
12
임베디드 시스템 하드웨어 - 프로세서

프로세서
임베디드 시스템의 핵심 부분
반도체 회사에서 많은 종류의 제품들을 시판
 프로세서의 속도





MHz의 클럭속도
8 비트, 16 비트, 32 비트, 64 비트 등 데이터 버스의 크기와 기본연산의 단위에
따라 선택
마이크로 프로세서 와 마이크로 컨트롤러
마이크로 프로세서 : CPU 코어만을 하나의 칩(chip)으로 구성한 경우를 말
한다.
 마이크로 컨트롤러 : CPU 코어에 여러 종류 및 크기의 메모리, 네트워크 입
출력 장치, TPU 등의 timer 프로세서 장치 등, 다양한 주변장치들까지 포함


CISC 와 RISC 프로세서
CISC (Complex Instruction Set Computer) : 복잡하고 다양한 고기능의 명
령어를 갖는 아키텍처
 RISC (Reduced Instruction Set Computer) : 명령어의 개수를 줄이고 동일
규격화하여 명령어 수행의 파이프라이닝(pipelining)을 극대화하며, 저전력
소모에 저가로 생산할 수 있도록 한 아키텍처

수원과학대학 정보통신과
13
임베디드 프로세서의 종류
프로세서
제조사
종류
8051 계열
Atmel, Cirrus, Intel, TI 등
8051 외 각종 호환 칩
PowerPC 계열
Motorola (현재: Freescale)
MPC860, 850, 8260
ARM 계열
ARM
ARM7, ARM9, ARM10, ARM11
INTEL 계열
Intel
strongARM, Xscale(PXA255),
Bulverde(PAX270)
삼성계열
삼성
S3C2410, S3C2440 등
MIPS계열
MIPS
MIPS32, MIPS63 등
x86계열
AMD, Intel 등
i386, i686 등
수원과학대학 정보통신과
14
임베디드 시스템 하드웨어 - SoC

기타


프로세서 로직을 라이선스하여 SoC(System on a Chip) 형태로
프로세서 코어, 메모리, 디지털 신호 처리(DSP, Digital Signal
Processing) 및 주변장치 등을 하나의 칩에 통합하여 제조 가능
SoC 특징


제품의 크기가 보드가 아니라 칩 크기로 소형화되기 때문에 저전력
소모, 제품 가격 하락, 안정성 증가뿐만 아니라 혁신적인 디자인도 가
능.
모듈별로 재사용 가능한 IP(Intellectual Property) 개발이라는 새로운
사업 모델의 등장. 이전에는 일부 반도체 회사에서만 프로세서 칩을
설계, 제조 및 판매가 가능했지만, 이제는 영국의 ARM처럼 프로세서
코어 IP를 판매하는 회사도 등장. ASIC(Application Specific
Integrated Circuit) 제조 기술만 있는 회사이면 IP를 라이선스하여 프
로세서와 같은 칩 생산이 가능
수원과학대학 정보통신과
15
임베디드 시스템 하드웨어 - 메모리
 메모리의 역할 : 프로그램과 데이터 저장
 메모리의 종류
대 분류
비 휘발
(nonvolatile)
중 분류
ROM
세 분류
특징
Mask
ROM
칩 제조사에서 영구적으로 자료를 저장한 ROM
EEPROM
전기적으로 반복 삭제 가능한 ROM, 바이트 단위로만 쓰
기 가능
FLASH
블록 단위로 읽기 및 쓰기 가능
읽기는 빠른 (수 ms) 반면 쓰기는 느림(70-100ns)
NAND 및 NOR 형태가 있음
SRAM
하나의 cell이 6개의 트랜지스터로 구성된 flip-flop을 사용
용량의 약점과 빠른 접근 시간의 장점
비동기적 SRAM(ASRAM)과 동기적 SRAM(SSRAM)이 있음
DRAM
하나의 cell이 하나의 트랜지스터와 1 개의 커패시터로 구성
용량의 장점과 refresh의 필요성으로 인한 SDRAM에 비해 상대적 느린
접근 속도의 단점
휘발성
(volatile)
수원과학대학 정보통신과
16
1.3.1 운영체제 일반

운영체제



컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영되도록
사용자에게 편리성 제공, 컴퓨터 하드웨어와 사용자간의 인터페
이스 역할을 하는 시스템 프로그램
자원 관리자 역할과 응용 소프트웨어에게 컴퓨팅 자원에 대한 서
비스 제공자 역할
커널


운영체제를 작동시키는 핵심 프로그램
커널이 관리하는 컴퓨팅 자원


물리적 자원: 프로세서, 메모리, 디스크, 터미널, 네트워크 등과 같은
시스템 구성 요소들과 주변 장치
추상적 자원: 태스크와 쓰레드, 페이지(page)와 세그먼트(segment),
파일 및 inode, 통신 프로토콜 및 패킷 등, 보안 혹은 사용자 계정에
따른 접근 제어 등
수원과학대학 정보통신과
17
1.3.2 리눅스

리눅스의 역사



리눅스의 장점






1991년 8월 리누스 토발즈에 의해서 커널 0.1 버전이 개발됨
GNU 프로젝트의 지원을 받아 2001년 커널 버전 2.4.0 발표 후 대
중화
유닉스와 완벽하게 호환 가능 / 공개 운영체제이며 무료
강력한 네트워크 기능을 제공하며 인터넷의 모든 기능을 지원
멀티태스킹을 지원
안정적이며 하드웨어 기능을 효과적으로 사용
다양한 응용 소프트웨어를 제공
리눅스의 단점


공개 소프트웨어이기 때문에 오류로 인한 사고 발생시 보상 불가
커널 버전이 너무 빨리 변화
수원과학대학 정보통신과
18
커널버전번호와 배포판

커널 버전 번호 linux-x.y.z.tar.gz




x: 주 버전 번호로 리눅스 골격 자체의 획기적인 변화를 의미
y: 부 버전 번호이며 홀수이면 개발중인 커널이고 짝수이면 안정
된 커널
z: 릴리스 번호로 추가된 기능은 없지만 오류 수정 등에 의한 작
은 변화를 의미
배포판



비상업적이거나 상업적인 소프트웨어를 통합한 리눅스 패키지
리눅스 커널 외에 GNU 유틸리티, 개발 환경, X 윈도우 시스템 등
을 포함
레드햇 리눅스 배포판



Redhat Linux,
Redhat Enterprise Linux,
Fedora Core
수원과학대학 정보통신과
19
1.3.3 임베디드 시스템 운영체제

O/S의 등장 배경
 시스템의

규모가 커짐
Multi Tasking
 Network이나
음

multimedia가 시스템의 기본으로 자리 잡
Networking, GUI, Audio, Video
 임베디드
시스템이 해야 할 일이 많아지고 복잡해짐
 순차적인 프로그램이 어렵게 됨
 임베디드 시스템에도 운영체제의 개념이 필요하게 됨
수원과학대학 정보통신과
20
임베디드 시스템 운영체제 [2]

Real Time System (실시간 시스템)

실시간 시스템의 정의


정해진 시간 내에 시스템이 결과를 출력하는 적시성을 가진 시스템
주어진 작업을 빨리 처리하는 것이 아니고 정해진 시간(deadline)을
넘어서는 안된다는 뜻임

주어진 입력(event)에 대해 정해진 시간 내에 행동할 수 없을 때
문제가 발생하는 시스템.

적시성(timeliness)이란?


열악한 환경 하에서도 데드라인(deadline) 이내에 논리적으로도 정확
한 출력 값을 산출해 내는 것 .
deadline이란?

반응에 요구되는 시간의 한계 값
수원과학대학 정보통신과
21
임베디드 시스템 운영체제 [3]

Real Time System의 분류
 Hard


제어작업이 deadline을 어기는 경우 시스템에 심각한 영향을
주는 time-critical 속성을 지닌 시스템
예) 원자력 발전소 제어, 화재 발생 검출시스템, 항공기, 우주
왕복선, 자동차 등
 Soft


realtime 시스템 (경성 실시간 시스템)
realtime 시스템
Deadline을 어긴 단위 제어 작업의 무효화로 시스템의 평균적
성능에 미세한 영향을 주는 시스템
예) 컴퓨터, 정보기기, 네트워크 관련기기 등
수원과학대학 정보통신과
22
1.3.4 임베디드 리눅스


리눅스 커널 2.6부터 선점형 멀티태스킹 지원, 실
시간 지원 강화
저성능의 프로세서와 소용량의 메모리를 가진 제
한된 컴퓨팅 자원 하에서 특정 응용 프로그램의
수행에 필요한 요구사항을 충족시키도록 최적화
된 리눅스
수원과학대학 정보통신과
23
임베디드 리눅스 [1]

임베디드 리눅스의 출현 배경
 H/W의

32/64bit 고성능 CPU
 S/W의

발전
많은 기능 요구
O/S의 기능이 중요, 안정된 운영체제의 제공(멀티 태스킹)
 강력하고
다양한 네트워크 환경의 제공
 다양한 형태의 파일시스템과 실행파일 포맷 지원
 확장성의 다양함과 용이함의 제공
 Free Software
수원과학대학 정보통신과
24
임베디드 리눅스 [2]

임베디드 리눅스 장점






기능성과 확장성이 우수 (리눅스 이용에 따른 장점)
PowerPC, ARM, MIPS 등 다양한 CPU Platform지원함
로열티가 없으므로 가격 경쟁력이 우수
사용자 층이 넓어 오류 수정이 빠르고 안정성이 우수
기존의 데스크 탑 개발 환경과 동일하여 개발이 용이함
임베디드 리눅스 단점






기존의 RTOS보다 많은 메모리를 요구함
범용 OS로 설계되어 Real-Time 지원이 어려움
개발 환경이 Text 기반의 환경임으로 개발에 어려움이 있음
GUI 환경을 개발하기 어려움
제품화하기 위한 솔루션 구성이 어려움
많은 업체들과 개발자들이 독자적으로 개발하고 있어 표준화가
어려움
수원과학대학 정보통신과
25
1.4 X-Hyper270-TKU 임베디드 시스템
수원과학대학 정보통신과
26
X-Hyper270-TKU 임베디드 개요

SDRAM
128MB

Flash 32MB
(NOR Type)

CPLD로 DATA/
ADDRESS
디코딩
(FanOut 과
노이즈 방지)
2015-04-13
27
Power Supply
SYS_En
LDO
3.3V
MIC5219
PWR-En
VCC_IO
VCC_SRAM
LDO
3.3V
MIC5219
LDO
3.3V
MIC5219
VCC_LCD
VCC_MEM
MCU
VCC_PLL
PXA270
Bulverde
VCC_CORE
LDO
1.1V
MIC5219
LDO
1.38V
MIC5219
1.45V
StepDown
TPS62000
VCC_BB
LDO
ATX
POWER
3.3V
MIC5219
5V
VCC_USB
VCC_USIM
3.3 V
Regulator
AME1085 1
3.3V
Regulator
3.3 V
AME1085 2
5V
Device Block
(Flash, SDRAM, CPLD, Ethernet,
UART, NAND, USB, AC97…)
5V
Device Block
(LCD BLU inverter, Sound AMP…)
2015-04-13
28
Interface(SDRAM : 4EA)

AddressBus A[24, 21..10]
BULVERDE
PXA270
Bank Select A[21, 20 ]
K4561632
DRAM Control
CAS,RAS,CLK,R/W,CS
DataBus D[31..0]
SDRAM
DataBus D[15..0]
SDRAM
K4561632
SDRAM 사용을 위
해 정의된 PIN들로
부터 인터페이스하
며 해당 레지스터
를 셋팅함으로써
SDRAM의 속도, 타
입 지정
DataBus D[31..16]
SDRAM
K4561632
DataBus D[15..0]
SDRAM
K4561632

16MBit x 4Bank x
16Bit SDRAM 4개
를 DATA Bus 각
각 상하위에 연결
(128MB)
DataBus D[31..16]
2015-04-13
29
Interface (Flash : 2EA)

RDnWR
ChipSelect 0 (0x0000_0000)
ChipSelect 0
BULVERDE
PXA270
nWE
nOE
CPLD
XC2C256
nWE
물리주소가
0x0000_0000 번
지에 위치함으로
Chip Select0 사용
(System 부팅)
NOR FLASH
nOE
AddressBus A[25.. 0]
AddressBus A[25.. 0]
Data Bus D[31..0 ]
Data Bus D[31..0 ]
TE28F128
Data Bus D[15..0 ]

16Bit FLASH 2개
를 DATA Bus 각
각 상위 하나 하위
하나에 연결
(32MB)
NOR FLASH
TE28F128
Data Bus D[31..16 ]
2015-04-13
30
Interface(기타)






10 Base-T Ethernet :CS8900 1EA
10/100 Base-T Ethernet : LAN91C111 2EA
64MB NAND Flash Memory : K9K1G08U0M
1EA
Mini IDE Interface
USB 2.0 HOST TD242LP 1EA
4PORT Full Function Controller TL16C554
2015-04-13
31
X-Hyper270-TKU 메인 보드
2015-04-13
32
X-Hyper270-TKU 메인 보드 Spec
분류
M
A
I
N
B
O
A
R
D
CPU
Memory
내용
비고
PXA270(520MHz)
BULVERDE(VF-BGA)
Norflash memory 32MByte
TE28F128J3C
SDRAM 128MByte
K4S561632-TC75
Serial x 1Ports
RS-232 LEVEL
Display
6.4" TFT LCD
CMOS Camera I/F
Internal
USB Host 1.1 1Port
Peripheral
USB Slave 1Port
PCMCIA Slot
CF Slot
MMC/SD Slot
Serial x 4Ports
Full Function UART 4 Port.
USB Host 2.0 2Port
TD242LP
Nand Flash 64MByte
K9F1208U0M
IDE I/F
mini IDE
External
Analog RGB(VGA Monitor)
THS8135
Peripheral
Ethernet(10)
CS8900A 1 Port
Ethernet(10/100)
SMSC91C111 2Port.
Audio(CS4299)
SPEAKER 내장
Touch Panel
RTC4513
2015-04-13
Extension Conn.
160 pin
CPLD
256 pin CPLD
BATTERY 내장
2.54mm pitch
XC2C256-7FT256C(BGA)
33
X-Hyper270-TKU IEB 보드
수원과학대학 정보통신과
34
X-Hyper270-TKU IEB 보드 Spec
I
E
B
B
O
A
R
D
2015-04-13
분류
내용
비고
FPGA
EP1C6240PQFP
Cyclone (PQFP-240)
Programming Rom
EPC2
EP2(PLCC/SOCKET)
RF Device
CC2420
CC2420(QLP48)
DC Mocter Control
L298
DIP
Step Mocter Control
L297
DIP
ADC
ADC0804
DAC
DAC0800
7-Segment
7-Segment * 8
DOT Matrix
DOT Matrix
Charicter LCD
Charicter LCD
35
Memory Map
2015-04-13
36
Flash & SDRAM Memory Map
FLASH (32M 32bit)
0x0200 0000
30 MByte
Root Filesystem
0x001C 0000
0xA0000000
Kernel Image
1MByte
0x000C 0000
Reserved
Bootloader
512KByte
0x0004 0000
256KByte
0x0000 0000
2015-04-13
37