1. Hardware 꼴라쥬(Collage) - 회로도 읽기
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에 흘러가게 만들 수 있음
- 전류에 대해 수도꼭지인 셈
- 길이가 길어질수록, 단면적이 좁을수록 저항의 크기가 정해짐
- 저항의 양 단에 전압이 V로 걸렸을 때, 저항 R에 흐르는 전류 I의 양은
- 캐패시터
- 교류 성분은 통과, 직류 성분은 통과 불가
- 전압의 시간에 따른 변화율이 클수록 전류를 더 잘 통과시키며 저항이 작음
- 캐패시터의 단위는 C (커패시턴스)
- 커패시턴스에 비례하는 에너지를 저장
- DC 성분과 AC 성분을 분리해내는 기능을 가짐
- 급격간 전압의 변화를 막음
- 물탱크같은 기능
- 인덕터
- 전류의 변화를 방해하여, 일정하게 유지하려는 성질
- 저주파의 전류만 통과 가능하게함
- 기호는 L(인덕턴스) ![[Pasted image 20240416174745.png]]
1.5 초간단 회로이론 응용 - 필터(Filter)
- 필터 : 원하는 성분만 통과시킴
- LPF : Low Pass Filter 저주파 성분만 통과 시킴
- 고주파 성분은 Noise 역할을 하기때문에, 걸러내기 위해 LPF 사용
- HPF, BPF도 있음
- LPF : Low Pass Filter 저주파 성분만 통과 시킴
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은 이 요건을 충족함
- RAM : 휘발성
- MCP(Multi Chip Package) : 플래시 메모리와 RAM을 한꺼번에 한 칩에 직접한 칩
- XIP가 가능한 형태이여야 하므로, NOR + PSRAM 구성이 유행했었음
- NAND + SDRAM이 현재 유행중
1.16 RAM Memory의 물리적 동작
- 모든 주변 Device들은 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에 나와있는 pin들에게 약속된 신호를 주면, 해당 작업을 수행함
- 일반적인 CPU 구성. 제어장치 CU, 연산장치 ALU, 레지스터 집합으로 구성됨
- CU에서 명령어를 해석하여, 다른 Unit에 동작을 지시함
- ALU는 산술 연산을 수행함
1.18 일반적인 CPU의 동작 예(CORE)와 Pipe line
- 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 : 산술 연산을 담당하는 유닛
- Fetch/Decode/Execute 3 stage pipeline
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.