규칙으로 배우는 임베디드 시스템
2023년 08월 28일 출간
국내도서 : 2023년 07월 28일 출간
- eBook 상품 정보
- 파일 정보 pdf (7.39MB)
- ISBN 9791168365612
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
작품소개
이 상품이 속한 분야
CPU(Central Processing Unit)는 목표하는 동작을 수행하기 위해 명령을 읽고 해석하여 처리하는 중앙 처리 장치로 정의된다. 수동 소자, 능동 소자와 반도체 IC. 특히 플립플롭 같은 메모리 소자들을 모두 이용한 회로를 하나의 패키지에 집적하여 만들어진 IC가 CPU이며, 집적회로의 최고봉이라 할 수 있다.
CPU의 사용은 하드웨어만으로 설계된 시스템에 비하여 소프트웨어만 변경함으로써 시스템의 구현 및 수정을 쉽게 할 수 있다는 최대의 장점으로 대부분의 전기/전자 시스템에 사용되므로 구조 및 동작에 대해 알아 두어야 한다.
특정 CPU를 지정하여 자세히 알아보는 것도 충분히 의미가 있겠지만, 여기서는 CPU의 일반적인 구성 요소들과 동작에 대해서 살펴봄으로써, 사용하게 될 CPU의 종류가 바뀌더라도 쉽게 접근할 수 있는 능력 배양을 목표로 한다.
1. CPU 일반
1.1. CPU의 구조 및 동작
1.1.1. CPU의 구조 및 기능
1.1.2. CPU의 동작 단계
1.2. 명령어 구조와 실행 파일
1.2.1. 명령어 구조로 보는 RISC/CISC CPU 구조
1.2.2. CPU의 동작과 실행 바이너리 파일
1.3. CPU동작을 위한 주변 하드웨어
1.3.1 전원 (Power)을 위한 레귤레이터
1.3.2. 클럭 (Clock)
1.3.3. 메모리 (Memory)
1.3.4. CPU 버스 구조
1.3.5. 리셋(Reset)
1.4. 리셋 후 펌웨어 부팅 과정
1.4.1. 리셋 벡터
1.4.2. Reset_Handle
1.5. 인터럽트
1.5.1. 인터럽트의 동작
2. MCU(Micro Controller Unit)
2.1. GPIO
2.1.1. 부가 기능 (Alternate Function)
2.1.2. GPIO 내부 회로
2.2. 직렬 통신 이론 일반
2.2.1. 7 계층(Layer)
2.2.2. 프로토콜(Protocol)
2.2.3. 직렬 (Serial) 통신 방식의 구분
2.2.4. 통신 신호의 SNR(Signal to Noise Ratio) 강화
2.2.5. 통신 오류 검출 방법
2.3. 직렬 통신
2.3.1. UART (Universal Asynchronous Receiver & Transmitter)
2.3.2. I2C
2.3.3. SPI (Seri2.3.3. SPI (Serial Peripheral Interface)
2.4. ADC와 DAC&PWM
2.4.1. ADC(Analog To Digital Converter)
2.4.2. DAC (Digital to Analog Converter)
2.4.3. PWM(Pulse Width Modulation)
2.5. MCU 선택의 고려사항
II. 시스템 개발 프로세스
III. 펌웨어 개발 규칙
1. 펌웨어의 설계 및 구현 규칙
1.1. 펌웨어의 설계
1.1.1. HAL 구조 설계
1.1.2. 데이터 취득 및 제어 방식
1. 1.3. 펌웨어 설계 도구
1.2. 펌웨어의 구현 전략
1.2.1. 시스템에 맞는 컴파일 환경 설정
1.2.2.가독성을 위한 규칙
1.2.3. 하드웨어 접근 코딩
1.3. 펌웨어의 안전성
1.4. 펌웨어의 성능
1.4.1. 알고리즘 구현
1.4.2. 메모리 정렬 (Align)
1.4.3. 매크로와 Inline 함수의 사용
1.4.4. 실수 사용의 고려사항
1.4.5. 테스크의 병렬 처리
1.4.6. 기타 성능 규칙
1.5. 펌웨어의 양산 및 유지보수
2. Low Level 펌웨어
2.1. CPU의 동작과 바이너리 파일 생성 과정
2.1.1. 빌드 (Build) 과정
2.2. Low Level 프로그래밍 실습
2.2.1. 소스 파일 생성
2.2.2. 링커 스크립트 작성 .
2.2.3. Startup 코드 작성
2.2.4. Main() 함수 작성
2.2.5. Makefile 작성
2.2.6. 컴파일로 컴파일로 이진 바이너리 파일 생성
2.2.7. [ 참고 ] ELF 파일에서 정보 얻기
3. 펌웨어 설계 및 구현 실습
3.1. 모드버스(Modbus) RTU 프로토콜
3.1.1. 필드 버스 (Field Bus) 일반
3.1.2. 모드버스(Modbus) RTU
3.2. 펌웨어 설계
3.2.1. 블록 다이어그램
3.2.2. 플로우 차트
3.3. 펌웨어 구현 및 테스트
3.3.1. Modbus_io 모듈 소스 구현
3.3.2. Modbus COM 모듈
3.3.3. Main 함수
3.4. 펌웨어 취약점 보완
4. 기초 알고리즘
4.1. [일반] 채터링 방지 알고리즘
4.1.1. 일정 시간 반복 체크 법
4.1.2. 저주파 필터를 이용한 채터링 방지 방법
4.2. 자료 구조론
4.2.1. 데이터 정렬
4.2.2. 원형 큐(Circular Queue)
4.3. 수치 해석
4.3.1. 테일러 급수 (Taylor Series)
4.3.2. 연립 방정식의 해
4.3.3. 방정식의 근
4.3.4. 보간법 (Interpolation)
4.3.5. 수치 미분
4.3.6. 수치 적분
4.4. 디지털 신호 처리(DSP)
4.4.1. 샘플링 샘플링 주파수
4.4.2. 저주파 통과 필터
4.4.3. 고주파 통과 필터
IV. [참고] 디버깅
1. 디버깅 절차
2. 측정 장비 및 디버깅 예
2.1. 전기 신호 측정 장비
2.2. 디버깅/측정 항목
C 언어, 어셈블리어 등의 프로그래밍 언어를 이용하여 원하는 동작을 구현(코딩, 프로그래밍)한 텍스트 파일(코드 파일)을 컴파일하여 얻어지는 CPU가 해독할 수 있는 이진 기계어 명령의 집합을 펌웨어(Firmware)라 한다.
이 펌웨어를 메모리에 저장하면 CPU는 메모리에서 기계어 명령을 읽어 해석하고 실행한다. 이런 일련의 과정을 이해하기 위하여 CPU가 전원이 들어온 후 펌웨어를 동작시키는 과정에 대해 살펴보도록 할 것이다.
p. I-1
전기/전자 시스템에는 EMI/EMC 와 전기안전 규격이 있어 그에 맞는 회로 설계 및 PCB 설계를 통하여 하드웨어의 안전성을 확보해야 하는 규칙이 있다.
마찬가지로, 펌웨어 측면에도 안전성은 매우 중요한 항목으로, 안전한 펌웨어는 어떠한 경우라도 오동작을 하지 않는 펌웨어를 의미한다.
ESD, EOS 등의 전기적 충격에 의한 레지스터, 메모리의 값의 손상이 제품의 동작의 정지로 이어진다면 오히려 안전하다 할 수 있겠지만, 펌웨어의 오동작, 예를 들면 모터를 멈춰야 하는 시점에 하드웨어 메모리의 손상으로 플래그가 모터를 돌려야 하는 조건에 들어온다면 안전에 문제가 된다.
특히, 화재 및 감전, 인체 손상과 같은 심각한 결과를 유발할 수 있는 가전기기에서의 안전한 펌웨어의 구현은 매우 중요하다 할 수 있다.
소프트웨어 안전 측면에도 국제규격의 안전성(Safety)을 시험하는 항목이 있는데, 가정용 및 이와 유사한 자동제어 장치에 대한 시험 규격인 IEC 60730-1 이 좋은 예이며, 여기에는 노이즈 또는 전기 충격, 환경 변화 등에 의해 발생할 수 있는 하드웨어 손상에 의한 펌웨어 오동작에 대한 시험 항목들이 있다.
이 시험 항목에 대해 간단하게 살펴보면, CPU 의 PC 레지스터 및 기본 레지스터의 훼손에 의한 오동작, 잘못된 인터럽트에 대한 오동작, 비트 단위의 메모리 훼손 시 메모리에 의한 오동작, 통신 데이터 훼손에 의한 오동작, 디지털 IO/ADC/DAC 입력 오류로 인한 오동작 등이 있을 수 있는데, 이때 기기는 이 오류를 검출하여 정지하거나 리셋을 통해 다시 시작하는 방법 등으로 펌웨어가 오동작을 하지 않도록 해야 한다.
FailSafe는 오류에 대한 예외 처리를 의미하는 용어로 이번 장에서 간단하지만 일반적으로 사용되는 FailSafe 기법에 대해서 살펴본다.
p. III-152
만약, 샘플링 주기가 100ms 즉, 10Hz 라면 처리할 수 있는 최대 주파수는 10Hz/2 = 5Hz 의 주파수가 된다. 5Hz 이상의 아날로그 신호가 입력된다면, 디지털 필터에서는 저주파로 잘못 해석되어 처리되기 때문에 오류가 된다.
정리하자면, 처리하고자 하는 신호의 최대 주파수보다 2배 이상 빠른 주기로 샘플링해야 한다는 것을 의미하며, 이를 나이퀴스트 샘플링 이론(Nyquist Sampling Theorem)이라 한다.
나이퀴스트 샘플링 이론은 측정하려는 밴드 제한(Band-Limit)된 연속 신호의 최대 주파수보다 최소 2배 이상의 샘플링 주파수를 가지면, 주파수의 간섭(Aliasing, 에일리아싱) 없이 원본 신호를 완전히 복원 가능하다라고 정의된다.
이런 이유로 ADC에서 잠깐 보았던 안티 에일리아싱 하드웨어 필터가 샘플링 주파수/2 이상의 신호를 하드웨어적으로 미리 제거함으로써, 샘플링 주파수/2 이상의 데이터가 디지털 데이터로 변환되지 못하도록 하는 용도이다.
p. III-279
작가정보
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!