포스트

1. Hardware 꼴라쥬(Collage) - 회로도 읽기

Embedded Recipes

1장. Hardware 꼴라쥬(Collage) - 회로도 읽기


ⓐ Hardware 꼴라쥬
ⓑ 신호와 주파수 영역 - Spectrum Analysis
ⓒ Analog 신호와 Digital 신호, 그리고 Ground
ⓓ 초간단 회로이론 R(저항), L(인덕터), C(캐패시터)
ⓔ 초간단 회로이론 응용 - 필터 (Filter)
ⓕ 트랜지스터 1%를
ⓖ Pull up, Pull down 그리고 Open Collector
ⓗ RLC와 Transistor 感
ⓘ 논리회로로의 확장
ⓙ IC 기본
ⓚ Register 넌 누구냐
ⓛ Clock 이란
ⓜ Bus Transfer Mechanism
ⓝ Timing 그리고 Spec 읽기
ⓞ Memory의 선정과 XIP
ⓟ RAM Memory의 물리적 동작
ⓠ 확장 to the CPU - How CPU works
ⓡ CPU의 동작 예와 Pipe line

1.1 Hardware 꼴라쥬


  • 꼴라쥬 : 여러가지 잡동사니들을 혼합하여 표현한 것을 촬영을 통해 새로운 형태로 재창조해 낸 것
    • 하드웨어 회로도 등을 이해하기 위해 기초지식들을 덕지덕지 학습해보자
  • 하드웨어 신호 읽기, 하드웨어 구성을 위해 여러가지 의미와 원리를 이해

1.2 신호와 주파수 영역 - Spectrum Analysis


  • 임베디드 시스템을 이해하기 위해선 신호와 주파수를 이해해야함
  • 주파수 : 진동운동에서 단위 시간당 같은 것이 일어난 회수 또는 자주 일어남, 빈번, 빈도
    • 얼마나 자주?
  • 퓨리에 변환(Fourier Transform) : 모든 신호는 cos 또는 sin의 합으로 나타낼 수 있음
    • 시간축에서의 신호를 주파수별로 분리할 수 있음
  • 임베디드 시스템에서는 디지털 신호는 대부분 Rectangular 함수로 표현함
  • Spectrum Analyzer라는 계측기를 통해 어떤 주파수 성분들로 이뤄져있는지 확인할 수 있음

1.3 Analog 신호와 Digital 신호, 그리고 Ground


  • Digital 신호도 Analog 신호의 일종
    • 디지털 신호는 대부분 DC 성분으로 이루어진 “있다/없다”의 boolean 값
    • 아날로그 신호는 보통 AC와 DC성분으로 이루어짐
      • 극성이 바뀌는 신호를 교류 신호(AC)
      • 극성이 바뀌지 않고 Steady 한 상태의 직류 신호(DC)
    • 교류 신호를 가지기만 하면 교류 신호가 됨
  • 디지털 신호는 High Low 두개의 Logical value만을 가질 수 있으며, 그 크기(Level)은 정하기 나름
    • 임계 값(Threshold)이라는 특정 값 이상이면 High, 그 값 이하라면 Low로 판단
    • 이상적인 신호는 0→1, 1→0 변환 할 때 그냥 변해야하지만, 실제로는 요동치면서 변하게 됨(Bounce)
      • 이런 요동이 얼마나 크냐에 따라 시스템에 영향을 줄 수도 있음
      • 시스템 칩이 동작을 시작하는 시점에 갑자기 전류를 더 끌어쓸수도 있어 Bounce하는 것처럼 보일 때도 있음
      • 혹은 첫 시작시 원하는 전압이나 전류보다 더 적게 흐르기도 함
    • 즉, 0을 1로, 1을 0으로 인식하는 경우도 생길 수 있다
  • GND(Ground) : 모든 전위에 대해 기준이 되는 0V
    • 시스템 내부에서 모든 Current가 몰려드는 곳
    • Earth와 Signal Ground로 나뉨

1.4 초간단 회로 이론 R(저항), L(인덕터), C(캐패시터)


  • 저항
    • 저항의 양 단에 전압이 V로 걸렸을 때, 저항 R에 흐르는 전류 I의 양은 V=IR
    • 저항의 단위는 옴 Ω
    • 정해진 전압의 크기에 대해, R의 크기를 바꾸면 원하는 전류의 크기를 R에 흘러가게 만들 수 있음
    • 전류에 대해 수도꼭지인 셈
    • 길이가 길어질수록, 단면적이 좁을수록 저항의 크기가 정해짐
  • 캐패시터
    • 교류 성분은 통과, 직류 성분은 통과 불가
    • 전압의 시간에 따른 변화율이 클수록 전류를 더 잘 통과시키며 저항이 작음
    • 캐패시터의 단위는 C (커패시턴스)
    • 커패시턴스에 비례하는 에너지를 저장
    • DC 성분과 AC 성분을 분리해내는 기능을 가짐
    • 급격간 전압의 변화를 막음
    • 물탱크같은 기능
  • 인덕터
    • 전류의 변화를 방해하여, 일정하게 유지하려는 성질
    • 저주파의 전류만 통과 가능하게함
    • 기호는 L(인덕턴스) ![[Pasted image 20240416174745.png]]

1.5 초간단 회로이론 응용 - 필터(Filter)


  • 필터 : 원하는 성분만 통과시킴
    • LPF : Low Pass Filter 저주파 성분만 통과 시킴
      • 고주파 성분은 Noise 역할을 하기때문에, 걸러내기 위해 LPF 사용
    • HPF, BPF도 있음

1.6 Transistor 1%


  • 트랜지스터
    • Trans-Resistor. Resistor 값을 변화시킬 수 있음
    • npn 형태와 pnp 형태가 있음
    • npn을 예시로 들면, B에 얼마나 전류를 흐르게 하느냐에 따라 C와 E 사이에 흐르는 전류가 결정됨

1.7 Pull up, Pull down 그리고 Open Collector


  • Active 가 0인 핀을 Low Active, 반대로 Active가 1인 핀을 High Active라고 부름
  • Pull up, Pull down은 Digital 신호의 기본적인 Default Level 을 무엇으로 둘 것인지
  • 플로팅 현상 : 스위치가 연결되지 않은 상태에서 전류가 흐르는지 흐르지 않는지 알 수 없는 현상
  • 풀업 저항 : 저항을 VCC쪽에 붙여, 1로 끌어올림
  • 풀다운 저항 : 저항을 GND쪽에 붙여, 0으로 끌어내림

1.8 RLC와 Transistor 感


  • 회로도 예시, 읽는법

1.9 논리회로로의 확장


  • AND : 트랜지스터 2개를 직렬로 연결하여 구현
  • OR : 트랜지스터 2개를 병렬로 연결하여 구현
  • NAND
  • NOR
  • XOR

1.10 IC 기본


  • Intergarted Circuit. 직접회로
  • 핀 번호는 보통 자리 표시 마크를 기준으로 반시계 방향으로 읽음
  • NC : No connection. 연결 없음. 기능 없음 등
  • CLK : clock.
  • GND
  • VCC
  • Data in/out

1.11 Register 넌 누구냐


  • Flip Flop의 집합. n-bit의 정보를 저장할 수 있음
  • Latch : 1인지 0인지 기억할 수 있는 소자를 통칭
    • 그 중 대표적인게 플립플롭임
  • NOR 게이트 두개의 출력을 서로의 인풋으로 다시 피드백 하는 형태
  • General Purpose Register
    • Address register : 외부 메모리를 쓰거나 읽을때, data가 들어있는 주소를 가리키는 값을 넣어두는 register
    • Data Register : 외부 메모리에서 읽어온 값을 임시 저장하는 Register, Data input/output Register로 구성
    • Instruction Pipeline Register : 외부 메모리에서 읽어온 명령어를 저장하는 Register
  • Special Purpose Register
    • Program Counter : 현재 실행되고 있는 주소를 가리키는 Register
    • Stack Pointer : 현재 사용하고 있는 Stack 영역에서 마지막에 데이터가 Push된 곳의 주소를 가리키는 Register
    • Linked Register : 방금까지 수행하다가 Jump했을 경우, 돌아갈 곳의 주소를 가리키는 레지스터
    • Status Register : MCU의 현재 상태를 나타내는 Register
  • I/O Register

1.12 Clock이란?


  • 디지털 회로의 심장박동
  • 주기적인 전자기 펄스

1.13 Bus Transfer Mechanism


  • 장치들이 정보 공유를 위해 공유하는 선들의 집합
  • 버스의 사용권들을 각 레지스터가 받아 사용함

1.14 Timing 그리고 Spec 읽기


  • 타이밍을 제대로 이해하기 위해선 스위칭 특성을 이해해야함
  • 전달 지연 시간 : 게이트에 입력 신호가 들어온 후, 출력 신호가 나오기 까지의 약간의 시간
    • 전달 지연 시간에 관한 전기적 특성을 스위칭 특성이라고 함
  • tTLH, tr : 전압을 10%에서 90%까지 올리는데 필요한 시간. Time Low To High, Rising Time
  • tTHL,. tf : 반대로 전압을 내리는데 필요한 하강시간. Tim High To Low, fallig time
  • 타이밍 다이어그램을 이해해야 제대로 된 결과값을 얻을 수 있음

1.15 Memory 선정과 XIP


  • 임베디드 시스템에서 메모리 선정은 시스템 구성과 성능, 가격에 가장 큰 영향
  • 메모리 종류
    • RAM : 휘발성
      • SRAM(Static RAM) : 전기적 제어 없이 임의 접근 가능. 가장 비쌈
      • DRAM(Dynamic RAM) : 시간이 지나면 데이터 유실 가능. 일정 시간마다 충전해줘야함. 램중에 가장 쌈.
      • PSRAM : Pseudo SRAM. 하드웨어적으로 알아서 충전해줘서, 사용자는 SRAM처럼 사용가능한 램
    • ROM : 비휘발성
      • Flash Memory.
      • NOR : Cell이 병렬로 연결되어 있어, RAM처럼 바이트 단위로임의 접근 가능. XIP 지원. 쓰기와 지우기는 느리지만, 읽기가 빠름.
      • NAND : 직렬로 연결되어있음. 읽기는 느리지만, 쓰기와 지우기가 빠름. 대용량 저장 가능
    • XIP(Execute In Place) : 메모리 상에서 직접 프로그램, 코드를 실행할 수 있는 기술. Random Access 가능해야 함. RAM은 이 요건을 충족함
  • MCP(Multi Chip Package) : 플래시 메모리와 RAM을 한꺼번에 한 칩에 직접한 칩
    • XIP가 가능한 형태이여야 하므로, NOR + PSRAM 구성이 유행했었음
    • NAND + SDRAM이 현재 유행중

1.16 RAM Memory의 물리적 동작


  • 모든 주변 Device들은 Memory와 똑같이 제어 가능하므로, 메모리의 동작 방식을 알아두면 좋음 memory
  • Address pin, Data pin, RD, WR 핀으로 구성됨
    • RD는 메모리로부터 데이터를 읽어올때, WR은 메모리에 데이터를 쓸 때 사용하는 핀
    • A0~A7은 주소를 가리키는 핀. 8개이므로, 최대 0~ 2^8-1 만큼 가리킬 수 있음(256Byte)
    • D0~D7은 해당 주소의 데이터. 한번에 담을 수 있는 데이터 양. 8bit 처리 가능

1.17 확장 to the CPU - How CPU works


  • 컴퓨터 프로그램의 명령어를 처리하기 위한 논리회로의 집합
  • CPU
  • CPU에 나와있는 pin들에게 약속된 신호를 주면, 해당 작업을 수행함
  • cpu-armcore
  • 일반적인 CPU 구성. 제어장치 CU, 연산장치 ALU, 레지스터 집합으로 구성됨
  • CU에서 명령어를 해석하여, 다른 Unit에 동작을 지시함
  • ALU는 산술 연산을 수행함

1.18 일반적인 CPU의 동작 예(CORE)와 Pipe line


  • cpu
  • CU, ALU, PC, Decoder, IR, Address Register, Data Register, ACC 등을 포함한 일반적인 CPU 구조
  • PC : Program COunter : CPU가 현재 실행하고 있는 명령어의 주소를 담아둠
  • IR : PC가 가리키는 명령어의 주소에서 읽어온 명령어를 담아두는 기억 장소
  • Address Register : 현재 사용하는 데이터를 접근하기 위한 데이터의 주소를 담아주는 기억 장소
  • Data Register : Address Register가 가리키는 주소의 실제 값
  • ACC : CPU가 연산에 사용하기 위해 사용하는 레지스터. 외부 사용자가 사용할 수 없으며, CPU가 연산의 결과 값을 잠시 저장하는 등 효율을 위해 사용함
  • Decoder : IR에서 가져온 명령어를 해석하여 CU에 전달
  • CU : Central Unit, Decoder에서 받아온 것을 각종 제어 신호로 변환하여 제어 신호를 발생시킴
  • ALU : 산술 연산을 담당하는 유닛

pipeline

  • Fetch/Decode/Execute 3 stage pipeline
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.