CPU 선정시 고려사항
- 몇 비트 인지
-> 기준 : CPU가 처리하는 명령어 길이
-> 명령어 길이는 성능에 큰 영향 -> 긴 비트 CPU 성능이 좋음
-CPU Core가 어떤것인가
-> ARM, PowerPC, MIPS 인지
- CPU 동작 주파수
- ROM과 RAM은 어떻게 구성되어있는지
- 가격
- 컴파일러 등 개발환경
- 래퍼런스보드 평가키트는 무엇인고 가격이 얼마인가
-> CPU 성능 검증 혹은 시재품 개발 전 소프트 웨어 개발시 사용
- 운영체제 필요 한지, RTOS는 어떤걸 지원하는가
=> 데이터 시트에서 자세히 설명함
(1) 데이터 시트 정의
1) 전자 부품 설명서
데이터 시트
- 전자 부품 설명서
- 복잡한 전자부품의 설명법과 내부 구조를 자세히 설명
- 제조사에서 만들어 대부분 공개
- 비밀 유지를 위해 간단한 소개만함
2) 데이터 시트 내용
- 제조사
- 부품번호 : Part Number
- 부품 특징
- 응용 분야
- 핀 설명
- 전체적인 하드웨어 블록 설명
- 각 하드웨어 블록 설명
- 레지스터 설명
- 패키지 설명 : 전자 부품의 외형
- 전기적인 특성 : 부품의 동작
- 전원 관련 해설
- Errata : 전자 부품의 문제
1. 제조사 및 부품 번호
제조사
- 부품 만든 회사 이름
부품 번호
- 제조사에서 관리하는 부품명
- 제조사에서 작성하여 그 이름에 정보들을 담고있음
- 부품 특성을 쉽게 이해할수있게 일정 규칙으로 만듦
ex) 미국 텍사스 인스투러먼트사의 7404 부품 데이터 시트
- 부품번호가 74로 시작 -> 74시리즈. 논리 회로 구성부품으로 널리 사용
- 7404는 인버터를 구현한 유명한 부품
- 첫페이지 오른쪽 상단 : 부품번호
- HEX INVERTERS : 칩의 기능 -> 16진수 인버터
2. Description
- 부품의 개략적인 설명
- TI 74LS04의 Description : 6개의 독립적인 인버터
3. Ordering Information
- 구입/주문시 확인해야하는 사항
- 많은 부품 구입시 혼선을 없애기위해 확인해야할 사항 정리 -> 온도, 패키지, 포장 등
ex) ORDERABLE PART :SN7404N -> 동작온도 : 0 ~70도, PDIP-N 타입 패키지
- TOP-SIDE Marking : 부품 상단에 인쇄되어 있는 글씨. SN7404N이라 찍혀 나옴
4. Logic Diagram
- 기능을 기호로 표시한 그림
- SN7404 : 6개의 인버터로 구성
- 1A라는 입력은 인버터를 거쳐 1Y가 되는것을 기호로 표시
5. Schematic
- 부품 내부 회로도
- 04와 LS04, S04로 끝나는 부품들이 각기 다른 회로를 가지고 있어 이 회로를 해석해 어떤 기능을하는 부품인지 확인 가능
- Each gate : 6개의 게이트가 각각 다음 회로도 처럼 구성됨
6. Absolute Maximum Rating
- 최대 전원 전압, 최대 입력 핀 전압, 보관할때 온도 범위
- 이 부품이 견딜수잇는 전압, 보관 온도 등 정보
7. Recommended Operating Conditions
- 추천 동작 조건
- 최대, 최소, 조건밥
ex) SN7404의 Vcc(전원전압)
- 최대 : 5.25V
- 최소 : 4.75V
- 표준 : 5V
=> 최대 전압을 5.25V 인가시 동작 보장 할수없음
8. Electrical Characteristics
- 전기적 특성
- 일정한 테스트 환경에서 측정되는 전압이나 전류값
- 제조사가 이 값들을 보장한다는걸 의미함
ATmega128 데이터 시트 분석
1) 데이트 시트 구성
1. 개요
데이터 시트
- 총 380페이지 -> 복잡함
- 제조사 : ATMEL
- 부품번호 : ATmega128A
- 설명 : 128K바이트 크기의 프로그래밍이 가능한 플래시 메모리를 가진 AVR 마이크로 컨트롤러
- 특징 Features
-> ATmega 128 성능 특징 정리
-> 총 133개 명령어를 갖는 RISC 구조 프로세서
-> 128KB 플래시메모리, 4KB EEPROM, 4KB SRAM 등 가짐
-> 디버깅할수있는 JTAG 지원, 주변장치 특징, 패키지 설명, 동작 전압과 동작 주파수 등 설명
2. 목차
- 필요한 부분위주로 찾아 쓰기
- CPU core부
- 메모리 부
- 내부 주요 블록 : 메모리, Clock, 파워 관리, 리셋, 인터럽트나 타이머 등
- 주변 장치 : SPI, UART, TWI 같은 직렬통신, ADC와 JTAG 등
- Electrical Characteristic
- Typical Chracteristic
- Register SUmmary
- Ordering Information
- Packagin Information
- Errata
2) 주요 블럭 분석
1. Pin Configuration
- ATmega128 ; 총 64개 핀
- 핀 번호 : 모서리 점 기준으로 반시계 방향
- 핀 이름 : 각 핀 기능 명시
ex) 63번 핀 - 핀 이름 : GND -> 접지 핀
52번 핀 - 핀 이름 : VCC -> 전원 핀
61번 핀 - 핀 이름 : PF0(GPIO핀) -> GPIO 중 F포트의 0번 핀
- 괄호 안 이름은 선택적 가능 기능
ex) PF0(ADC0) - ADC0 : 0번째 Analog To Digital Converter 핀
* 선택할수 있는 Alternative Function
2. Block Diagram
- 칩 내부 구조 설명
- 외부로 나온 핀 종류
- 칩 내부 하드웨어 블록의 구성
- 칩 내부 하드웨어 블록의 연결
- 외부 핀 : PF0 ~ PF7 -> 이 핀들이 어떻게 연결되어있는지 볼 수 있음.
PORTF DRIVER<->DATAREGISTER<->DATA DIR REGISTER
-> PORTF DRIVER : GPIO로 동작하게하는 하드웨어 회로 자체
-> DATA Register, DATA DIR Regiter : GPIO를 제어하는 레지스터
- ADC : 아날로그 - 디지털 변환 회로
AVCC <-> AGND <-> AREF로 연결
- Program Counter, Stack Pointer, SRAM 등 칩 내부 레지스터나 메모리, ALU같은 중요한 하드웨어 블록이 어떻게 연결되어있는지 확인 가능
- 크리스탈 : Clock 공급하는 부품. XTAL1 핀 및 XTAL2핀과 연결
=> 칩의 전체적인 구성 연결에 대한 정보 제공
3. AVR CPU Core
AVR CPU Core Block Diagram
- Data Bus 8-bit와 ALU, General Purpose Register가 연결
- ALU : 산술/논리 연산하는 CPU 핵심적인 부분
- ALU가 8비트 버스로 다른부분이 연결됨 -> CPU가 8비트 CPU
- Program Counter Register : 다음 명령어 주소를 가리킴
4. 각 항목별 구성
I/O Ports(GPIO)
- 다루는 하드웨어 블록 제목
- 소개
- 하드웨어 블록에 대한 설명
- 추가 부분 설명
- 관련 레지스터 설명
5. 레지스터 보는법
CPU 제어 방법
- 레지스터를 통해 CPU 제어 가능
- 레지스터는 일반 메모리 처럼 어드레스 가지며 비트 별로 읽고 쓰기 가능
- 레지스터는 어떤 비트에 일정 값을 씀으로써 CPU 내부 하드웨어를 조정
- CPU 제어 = 레지스터 제어
포트A - 포트 A 데이터 레지스터
Register Summary
- 레지스터의 이름과 주소들을 알려줌
3) 기타 항목
1. Absolute Maximum Rating
- 부품이 견딜수 있는 최대 전압, 보관시 온도, 범위 등 명시
2. Instruction Set Summary
- ATmega 128 명령어 요약본
- 어셈블리 종류 : 산술/논리 연산 명령, 분기 명령, 데이터 전송 명령, 비트 연산 명령, 제어 명령
- nemonics : 명령어 구분하기 위한 짧은 이름
- Operand : 피연산자로 연산에 사용되는 값
- Description : 명령어 해설
- Operation : 명령 동작을 기호화한것
- Flags : 연산에 영향을 미치는 Status 레지스터 비트
- # Clock : 해당 명령에 수행되는 시간. 1이면 1개 클럭만 필요하다는 뜻
3. Ordering Information
ATmega128-16AU
- CPU 동작 주파수 : 16MHz
- 공급 전원 : 4.5 ~ 5.5V
- 패키지 : 64A
- 동작 가능 온도 : -40 ~ 85도
패키지 종류
- 64A : 핀이 밖으로 나옴
- 64M1 : 아래로 패드가 나옴
'컴퓨터과학 > 임베디드' 카테고리의 다른 글
펌웨어구현 환경구축 12 - 메모리 맵의 구성 및 운용 (0) | 2020.05.07 |
---|---|
펌웨어구현 환경구축 10 - 마이크로 프로세서 내부 구조 (0) | 2020.05.07 |
펌웨어구현 환경구축 8 - 회로도 분석 (0) | 2020.05.06 |
펌웨어구현 환경구축 7 - 펌웨어 다운로드 및 인터페이스 (0) | 2020.05.06 |
펌웨어구현 환경구축 6 - JTAG 활용 (0) | 2020.05.06 |