[임베디드 레시피 요약 및 정리] Chapter 1-1. HW :: 회로이론

Embedded June·2022년 12월 22일
3

임베디드레시피

목록 보기
2/10
post-thumbnail

1. 신호와 주파수 영역 - Spectrum Analysis

  • 주파수란 진동운동에서 단위 시간당 같은것이 일어난 횟수 또는 빈도 - “얼마나 자주?”
  • cos(2πft) = 주파수가 f이고 주기는 1/f인 주기함수.
  • f = 1Hz인 cos(2πt) 주기함수는
    • 시간영역에서는 1초에 1번 구불텅한 모습
    • 주파수영역에서는 1Hz라는 1개 주파수로 일정한 모습
  • 주기를 갖는 신호를 AC라 하고, 주파수가 0으로 주기가 없는 신호를 DC라고 부른다.
  • 푸리에 변환(Fourier Transform): 모든 신호는 무한개의 주기함수(cos 또는 sin)의 합으로 나타낼 수 있다.
    • 즉, 시간영역에서의 신호를 무한개의 주파수 별로 분리해서 합으로 나타낼 수 있다.
    • 어떤 신호 = 주기 T 주파수 성분 + 주기 (T+1) 주파수 성분 + …
  • Rect 함수는 크기가 1이고 -τ/2 부터 τ/2까지를 width로 갖는 사각형 모양의 함수를 말한다. 보통 임베디드 시스템에서의 신호는 rect 함수꼴을 하고 있다. 푸리에 변환을 하면 이러한 rect 함수도 무한개의 주기함수(sinc function)의 합으로 표현할 수 있다.
  • 이 세상 모든 신호는 주기함수의 합으로 나타낼 수 있으며 주기가 한없이 0에 가까운 저주파인 DC신호와 주파수를 가진 AC신호의 합으로 이뤄진다.

2. Analog 신호와 Digital 신호, 그리고 Ground

  • Digital 신호는 analog 신호에 포함되며 임의의 기준값(threshold)을 넘는지 여부로 true/false boolean logic 값으로 나타낸다.
  • 하지만, 현실은 이상과 차이가 있다. Digital 신호는 transient 때 요동치면서(bounce) 변한다. Digital 신호는 DC성분 뿐만 아니라 AC성분까지 포함하고 있기 때문이다. AC성분은 analog system에서는 중요한 정보를 포함하고 있지만, digital system에서는 0과 1을 구분하는 데 방해되는 noise 취급을 받는다.
    • Bounce로 인해 시스템이 필요한 전압/전류보다 많거나 적은 양을 받아 시스템이 멈출 수 있다.
    • Digital 신호의 level 인식 문제가 발생할 수 있다.
  • GND(Ground)는 모든 전위에 대해 기준이 되는 0V를 의미하며 0과 1을 구분하는 기준점이 된다. PCB 뒷면에 전류가 쉽게 몰려들 수 있는 환경을 만든다.
  • Bouncing을 제어하기 위해서 GND 쪽에 캐패시터를 단다. 캐패시터를 마치 건전지처럼 사용해서 서브시스템의 전압, 전류가 순간적으로 낮아질 때 캐패시터 내부의 전하를 방출해 전압을 유지한다. 이런 역할을 하는 캐패시터를 bypass capacitor, decoupling condenser라고 부른다.

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

3.1. 저항

  • R(저항)은 전류에 대한 수도꼭지이며 정해진 전압에 대해 회로의 특정 부분에 흐르는 전류의 양을 우리가 원하는 크기로 제한할 수 있다.
  • 일반적으로 전류는 저항이 낮은 경로(방향)를 찾아가는 성질이 있다.
  • 저항은 단면적에 반비례하고 길이에 비례한다. (R =ρ L /A)
  • 저항을 직렬로 연결하면 그만큼 전류가 통하기 어렵기 때문에 전체 저항은 증가하고, 병렬로 연결하면 전류가 통할 수 있는 길이 많아지고 넓어지는 것이므로 전체 저항은 감소하는 효과를 보인다.

3.2. 캐패시터

  • 캐패시터는 내부의 절연체에 전하를 가두는 성질을 가지는 소자를 말한다.
  • 캐패시터는 높은 주파수를 가진 전압일수록 저항을 못 느낀다. (캐패시터는 전기장에 의한 효과가 크므로 전압과 관련)
  • 캐패시터는 전압의 변화량에 반비례 (dv/dt = I/C)하기 때문에 전류에 대한 저항 역할을 한다. 전압의 변화량이 클수록 저항 역할을 하는 캐패시터의 역할은 축소된다. 따라서 AC성분은 잘 통과하지만, DC성분은 잘 통과 못한다.
  • 정전용량(C)만을 고려하는 학문적인/ 이상적인 소자를 캐패시터, 실생활에서 사용돼 등가저항, 등가인덕턴스까지 고려해줘야 하는 소자를 콘덴서라고 부르는 경향이 있다.

3.3. 인덕터

  • 인덕터는 회로에 흐르는 전류의 변화에 반대되는 방향으로 전압을 유도하는 성질을 가지는 소자를 의미한다.
  • 따라서 인덕터는 전류가 변화하지 못하도록 유지하는 역할로 사용된다.
  • 인덕터는 낮은 주파수를 가진 전류일수록 저항을 못 느낀다. (인덕터는 자기장에 의한 효과가 크므로 전류와 관련)
  • 인덕터는 전류의 변화량에 반비례 (V = L di/dt)하므로 저주파 전류만 통과할 수 있다. 따라서 회로에 고주파 흡수용으로 인덕터가 사용되는데, 이런 인덕터를 bead라고 부른다.

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

  • 앞서 살펴본 캐패시터의 고주파 통과, 인덕터의 저주파 통과 성질을 이용하면 특정 주파수 대역 신호만을 통과시키는 필터를 만들 수 있다.

  • 저주파 신호를 통과시키는 필터를 LPF(Low Pass Filter), 고주파 신호를 통과시키는 필터를 HPF(High Pass Filter)라고 부르며 특정 대역 신호를 통과시키는 필터는 BPF(Band Pass Filter)라고 부른다.

  • LPF를 예로 들어 필터 동작 과정을 알아보자.

    • 우리는 앞서 신호는 AC성분과 DC성분의 합으로 나타낼 수 있다고 배웠다.
    • 저항과 캐패시터를 이용하면 신호에서 DC성분만 추출하는 LPF를 만들 수 있다.
    • DC성분 입장에서 보면 캐패시터는 굉장히 큰 저항이므로 통과하기 어려워 마치 회로가 단락(open)된 것처럼 느껴질 것이다. 따라서 단락된 부분에서 거의 모든 에너지를 소모하게 돼 Vout = Vac + Vdc = Vdc로 DC성분이 거의 그대로 나오게 된다.
    • AC성분 입장에서 보면 캐패시터는 마치 없는거나 마찬가지라 회로가 그냥 연결(short)된 것처럼 느껴질 것이다. 따라서 저항 부분에서 거의 모든 에너지를 소모해 Vout = Vac + Vdc = 0으로 AC성분은 거의 없어진다.

5. 트랜지스터(Transistor)

  • 물리적인 원리까지 알면 좋겠지만, 개발자 입장에서는 거시적으로 트랜지스터의 특성과 사용법 정도만 알아도 좋다.
  • 트랜지스터는 Trans(변하다) + Resistor(저항) 어원 그대로 저항값이 변화하는 소자로 전류량을 맘껏 조절할 수 있다.
  • 트랜지스터는 구조에 따라 BJT(Bipolar Junction Transistor)와 FET(Field Effect Transistor)로 나뉘는데, 일단 본문에서는 BJT를 기준으로 설명하지만, 일반 회로에서는 high input impedance 덕분에 switching 성능이 우수한 FET을 더 많이 쓴다.
  • 트랜지스터는 NPN형과 PNP형 2가지로 나뉘는데, 여기서는 NPN형에 집중해보자.

  • 트랜지스터는 Base, Collector, Emitter 세 가지 부분으로 나뉜다. Base에 트랜지스터를 동작시킬만큼 전압이 인가되면, 마치 스위치가 눌리듯 collector와 emitter 사이에 회로가 연결 돼 collector로부터 emitter로 전류가 흐른다.
  • 이때 B를 얼마나 세게 누르냐, 즉 얼마나 큰 전압을 인가하냐에 따라 C와 E 사이에 흐르는 전류의 세기가 변한다.
    • 인가하는 전압 크기에 따라 활성영역(active region), 차단영역(cut-off region), 포화영역(saturation region)으로 나뉜다.
    • 활성영역은 인가하는 전압 크기의 작은 변화량에 맞춰 전류도 함께 들쭉날쭉 변화하는 영역을 말한다.
    • 차단영역은 인가하는 전압 크기가 너무 작아 전류가 흐르지 못하는 영역을 말한다.
    • 포화영역은 인가하는 전압 크기가 너무 커서 전류 세기가 더 커지지 못하는 영역을 말한다.
  • 트랜지스터의 전압 특성을 이용하면 증폭(amplifier)기능스위칭(switching)기능으로 활용할 수 있다.
    • 증폭기능: 활성영역을 사용하며 B에 인가하는 아주 작은 양의 전압 변화량에 맞춰 C와 E 사이에 흐르는 전류가 큰 폭으로 들쭉날쭉 변화하는 현상을 이용해 구현한다.
    • 스위칭기능: 차단영역을 0, 포화영역을 1이라고 정의하면 회로의 On/Off를 정의할 수 있다.

6. Pull up, Pull down 그리고 Open Collector

  • Chip은 0이 인가됐을 때 동작할수도 있고 1이 인가됐을 때 동작할수도 있다. 이건 설계하는 사람 마음대로다.

    • 0이 인가됐을 때 동작하는 시스템을 low active라고 한다.
    • 1이 인가됐을 때 동작하는 시스템을 high active라고 한다.
  • Low active일 때는 항상 1을 유지해주고 있다가 동작할 때만 0을 인가해야 하고,
    high active일 때는 항상 0을 유지해주고 있다가 동작할 때만 1을 인가해야 한다.

  • 이런 default 상태에서 좀 더 reliable한 값을 보장해주기 위해 앞서 배운 트랜지스터를 활용한 pull up & down 회로가 생겨났다.

    • 왼쪽 그림의 chip은 트랜지스터가 동작하지 않을 때는 항상 high 값을 인지한다. 그리고 트랜지스터가 동작하면 전류는 저항이 낮은 쪽으로 흐르는 성질에 따라 chip 보다는 ground 쪽이 더 저항이 낮기 때문에 전류는 GND로 흘러 chip 쪽에는 전압이 인가되지 않아 low 값을 인지하게 된다. Low active인 시스템이므로 이때 동작을 시작한다.
    • 오른쪽 그림의 chip은 트랜지스터가 동작하지 않을 때는 전압이 인가되지 않아 항상 low 값을 인지한다. 트랜지스터가 동작하기 시작하면 전류는 저항 R보다 낮은 저항을 가진 chip 쪽으로 흐르며 high 값을 인지하게 된다. High active인 시스템이므로 이때 동작을 시작한다.
  • 이런 스위치(트랜지스터)가 chip 내부에 아예 들어가 있는 경우를 ‘open collector’라고 부르는데, collector가 output(외부 pin 형태로)으로 나와 있으며 여러 개의 master가 하나의 slave에 연결될 때 유용하게 사용한다.

    • 위 그림을 보면 두 master의 open collector가 pull up 회로와 연결돼있다.
    • 두 master가 (0, 0)이면 out은 1 / (0, 1)이면 0 / (1, 0)이면 0 / (1, 1)이면 0이 인가돼 low active인 slave가 동작한다.
    • 그런데 이렇게 하면, master 입장에서는 ‘0’을 인가해야 slave가 active 되므로 직관적이지가 않기 때문에 base에 인버터(inverter)를 달아서 ‘1’을 인가해서 slave가 active 되도록 직관적으로 바꿀 수 있다.
  • Open collector 구조는 wired OR 이라고도 불리며 여러 개의 master 출력을 단일 pull up 회로에 한 번에 묶을 수 있어 회로도 간단해지고 정격 규격(전류&전압)도 단일화 할 수 있어 편리하다.

7. 정리 및 예제

지금까지 배운 내용을 토대로 몇 가지 예시를 살펴보자

  1. Bypass capacitor
    • Chip의 1번 pin으로 VCC 3V 전압이 인가되고 있다.
    • 캐패시터는 AC성분은 잘 통과하나 DC성분은 통과하지 못 한다고 배웠다.
    • 잘 통과하는 AC성분은 저항이 더 적은 캐패시터쪽으로 흐르고, DC성분만 1번 pin으로 인가된다.
    • 즉, 인가되는 전압의 AC성분을 없애 ripple 및 bounce를 최소화하려는 bypass 캐패시터 사용 예제다.
  2. Low Pass Filter(LPF)
    • VCC 3V 전압이 인덕터와 캐패시터를 거쳐서 chip에 인가되는 구조다.
    • 인덕터는 AC성분이 통과하지 못하고 DC성분이 잘 통과하며 전류를 안정적으로 유지해주는 역할을 한다.
    • 캐패시터는 AC성분은 잘 통과하나 DC성분은 잘 통과하지 못 한다.
    • 즉, 인가되는 전압의 AC성분을 1번 예제보다 더 확실하게 없애서 ripple을 제거한 안정적인 DC 전압을 공급하기 위한 예제다. 이때 사용한 인덕터를 bead라고 부른다고 배웠다.
    • 물론 인덕터 대신 저항을 사용해도 된다. 인덕터는 AC성분을 전체적으로 줄이면서 특정 주파수는 아예 없애 버리는 장점도 있기 때문에 통신회로에서는 bead를 많이 사용한다.
  3. Chip의 동작
    • Control pin을 통해 chip에 ‘어떤 동작을 하시오’라는 명령이 들어간다. 이때 bypass 캐패시터 덕분에 안정적인 DC 성분이 chip에 들어가게 된다.
    • 5번 pin을 통해 ‘high’신호가 인가돼 트랜지스터가 동작한다.
    • VCC 3V는 USB_CONN1 쪽으로 흐르다가 collector → emitter로 가서 GND로 흐른다.
    • USB_CONN1 핀은 low active로 동작하기 시작한다.
  4. NPN + PNP
    • NPN과 PNP 트랜지스터가 함께 사용된 회로지만, 어렵지 않다.
    • 우선, CONTROL핀이 high인 경우를 생각해보자.
      • CONTROL 신호가 high이므로 T1 트랜지스터가 동작한다.
      • INPUT → R1 → 3번회로 → 5번회로 → 1번회로 → GND로 전류가 흐르며 T2 트랜지스터가 동작한다.
      • INPUT 신호는 저항이 더 적은 R1 → 3번 → 4번 → OUT으로 흐르며 OUT이 INPUT 신호를 가지게 된다.
    • 다음은 CONTROL핀이 low인 경우를 생각해보자.
      • CONTROL 신호가 low이므로 T1 트랜지스터는 동작하지 않는다.
      • INPUT 신호는 전위차가 생기지 않아 전류가 흐르지 않으니 T2 트랜지스터도 동작하지 않는다.
      • 따라서 OUT에는 아무것도 걸리지 않으며 알 수 없는 ‘X’ 값을 가지게 된다.

이번 챕터를 통해 회로도 속 소자들을 최대한 물성이나 물리적 이론을 제외하고 배워봤는데, 아무리 복잡한 회로라도 여기서 배운 원리를 적용하며 해석해보면 이해할 수 있다.


profile
임베디드 시스템 공학자를 지망하는 컴퓨터공학+전자공학 복수전공 학부생입니다. 타인의 피드백을 수용하고 숙고하고 대응하며 자극과 반응 사이의 간격을 늘리며 스스로 반응을 컨트롤 할 수 있는 주도적인 사람이 되는 것이 저의 20대의 목표입니다.

0개의 댓글