[한 권으로 읽는 컴퓨터 구조와 프로그래밍] 2장: 전자 회로의 조합 논리 - 논리게이트

janjanee·2022년 4월 27일
0

CS

목록 보기
1/1

한 권으로 읽는 컴퓨터 구조와 프로그래밍 책 스터디 중 정리 내용입니다.

이력 현상을 활용한 잡음 내성 향상

디지털(이산적인) 장치를 사용하면 판정 기준에 의해 잡음 내성(간섭이 있어도 제대로 작동할 수 있는 능력)을
얻을 수 있다.
그러나 실제 현실에서 사용중인 신호 중에는 천천히 변하는 신호가 많다.


왼쪽 - 조용한 입력 / 오른쪽 - 잡음이 있는 입력

잡음으로 인해 입력 신호가 문턱값을 여러 번 오락가락하기 때문에 출력 신호에 글리치(glitch - 작은 오류, 지지직) 가 발생한다.

위의 글리치를 이력 현상(hysteresis)을 사용해 방지할 수 있다.

💡 이력현상?
이력 현상(履歷現象) 또는 히스테리시스(hysteresis)는 물질이 거쳐 온 과거가 현재 상태에 영향을 주는 현상으로 어떤 물리량이 그 때의 물리조건만으로 결정되지 않고 이전에 그 물질이 경과해 온 과정에 의존(history-dependent)하는 특성을 말한다.

예) 이력현상을 사용한 제어시스템

20도로 적정온도를 유지하려 한다. 극단적 예시로 제어시스템이 19.9도가 되면 히터를 틀고 20.1도가 되면 냉방을 튼다고 해보자. 제어시스템이 수시로 오락가락 하면서 20도를 맞추려 할거고 이 때 잡음이 발생한다.

이력현상을 사용하면 아래와 같이 각기 다른 문턱값이 생긴다.

18도가 되면 히터를 틀고 22도가 됐을때 냉방을 틀어서 20도 적정온도를 유지하게 하면
반대쪽 문턱값을 지나가며 출력이 반전되기까지 값이 많이 변해야 한다. (문턱값 오락가락하지 않음)

따라서 잡음 내성은 더 좋아진다.

슈미트 트리거: 원하지 않는 빈번한 스위칭을 방지하기 위해 의도적으로 이력을 추가한 게이트
일반적인 게이트보다 더 복잡하고 비싸기 때문에 정말 필요한 경우에만 슈미트 트리거를 사용한다.


차동 신호

잡음이 많아서 이력을 도입해도 충분하지 못한 경우 차동 신호를 사용할 수 있다.

💡 차동 신호(differential signaling)
측정하는 값이 서로 반전관계인 신호 쌍의 차이를 측정하여 전송하는 방법

한 쪽 단자에 5V의 신호를 보낸다. 이 때 잡음이 타면 5.5V, 6V, 4.5V ... 이런식으로 전달될 수 있다.
신호를 받는 입장에서는 정확히 해당 V를 보낸건지 잡음이 탄건지 알 수가 없다!

따라서 두 신호의 차이를 측정하여 정확한 신호값을 알아내는 방법이 차동 신호이다.

차동신호 이므로 두 개의 단자를 이용한다. 한 개의 단자로는 차이를 알 수 없다.
차동신호로 5V를 만들려면 두 개의 단자 쌍을 이렇게 만들 수 있다.

예) (10V, 5V) or (7V, 2V)

두 값의 차이가 둘 다 5V이기 때문이다.
차동 신호에 잡음이 섞인 경우를 알아보자.

(10V, 5V) 신호에 잡음이 2V 만큼 섞였을 때
(12V, 7V) 가 되고 이 때 두 신호의 차이를 측정하면 5V이기 때문에 잡음이 생겨도 측정 가능한 상태가 된다.

  • 드라이버(driver) : 입력 신호를 반전관계 출력들(complementary outputs)로 변환
  • 리시버(receiver): 반전관계인 두 입력을 받아서 단일 신호로 생성
  • 공통 모드 판별비(CMRR, common-mode rejection ratio): 부품 정격 중 하나로 처리 가능한
    잡음의 양을 표시

전화선 등 여러곳에서 차동 신호를 사용한다.

  • 연선 케이블링(twisted-pair cabling) → USB, SATA, 이더넷 케이블
  • 리본 케이블(ribbon cable)
  • 인쇄회로기판(PCB)

전파지연

💡 전파지연(propagation delay)
입력의 변화가 출력에 영향을 미칠 때까지 걸리는 시간

정확한 값은 아니고 제조 과정과 온도에 따라 생기는 편차와 게이트 출력에 도달하기까지
연결된 구성 부품의 수에 따라 결정되는 통계적인 측정값이다.

지연 시간을 아래와 같이 표현하기도 한다.

  • tPLH(propagation delay time from low to high)

입력신호에 반응하여 출력이 논리 0에서 논리 1로 변화하는 데 걸리는 시간

  • tPHL(propagation delay time from high to low)

입력신호에 반응하여 출력이 논리 1에서 논리 0으로 변화하는 데 걸리는 시간


오른쪽 그래프는 왼쪽 회로의 타임차트

  • 원래라면 위에서 표시한 빨간색 선대로 오차없는 출력을 기대하겠지만
    현실은 그렇지 않다(제조 과정 온도 편차, 게이트 출력 도달까지의 여러 부품의 수)

  • 회색 영역이 전파 지연 영역이고 가장 왼쪽-최소지연 / 가장 오른쪽-최대지연
    실제 지연이 이 둘 사이의 어떤 값이다. (회색 영역 중 어떤 값)

  • C는 B의 NOT회로의 출력을 통해서 얻는 값이다.
    B를 보면 1에서 값이 시작하고 B가 0이 되는 순간 C는 1이 되어야 하는데
    전파 지연의 이유로 회색영역의 시점 중 한 시점에 1로 바뀌는 지연이 생길 수 있다.
    파랑색 체크 시점에 1로 바뀐것이다.
  • 회색영역을 C가 0 → 1로 변화하는데 걸리는 시간이니까 tPLH(L→H)로 표현한다
  • 출력 오른쪽 영역을 보면 C가 1 → 0으로 변화하는데 걸리는 시간이니까 반대로 tPHL(H→L)로 표현한다.
  • D의 출력도 마찬가지로 보면 된다.
    • D의 전파지연 영역이 긴 이유는 여러 게이트를 엮었기 때문에 더 길어진다.

토템폴 출력

일반적인 게이트 출력을 토템폴이라고 부른다.
토템폴이라는 이름은 트랜지스터가 토템폴처럼 세로로 나란히 늘어서 있어서 붙은 것이다.

  • 하나의 트랜지스터가 ON이 되면 나머지 하나는 OFF가 되는 출력방식이다.
  • 위쪽 트랜지스터는 “H”일 때 전류를 보강
  • 아래쪽 트랜지스터는 “L”일 때 전류를 보강
  • 출력의 논리레벨에 관계없이 큰 전류를 얻고 신호의 상승과 하강을 빠르게 하여 고속동작을 얻기 위함
  • 토템폴 출력을 서로 연결할 수는 없다.
    • 0인 출력을 1인 출력과 연결하면 음극과 양극을 서로 연결하는 것과 같은 일이 벌어지기 때문이다. (아래 영상 참조)

https://www.youtube.com/watch?v=4fj5BLo27yw

플로팅 현상

신호가 0(LOW)과 1(HIGH) 사이에 애매한 위치에 떠 있기 때문에 발생하는 경우
이 현상을 없애기 위해 풀다운 또는 풀업 저항을 사용한다.

  • 풀업저항 저항을 전원쪽에 붙여줘서 플로팅 현상을 해결 (플로팅 상태의 전압을 끌어올림)

  • 풀다운저항 저항을 그라운드쪽에 붙여줘서 플로팅 현상을 해결 (플로팅 상태의 전압을 내림)

일반적으로 풀다운 저항보다 풀업저항이 노이즈에 더 좋기때문에 풀업 저항을 많이 사용한다.

오픈 컬렉터 출력

  • 출력이 0일 때는 문제가 없으나 출력이 1이면 출력은 그냥 떠 있다. 이 경우 출력값은 알 수 없다.
  • 오픈컬렉터나 오픈드레인은 액티브 풀업이 없기 때문에 출력을 아무 문제 없이 서로 연결할 수 있다.
  • 필요하다면 출력을 패시브 풀업에 연결할 수 있다.
    • 단순히 풀업 저항을 논리적인 1 값을 공급해주는 공급 전압에 연결한 것
    • 오픈 컬렉터 BJT → Vcc, 오픈 드레인 MOS(Vdd)

  • 여러 오픈 컬렉터 출력과 패시브 풀업을 사용하면 와이어드 AND를 만들 수 있다.
  • 오픈 컬렉터 출력을 서로 묶으면 개별 소자의 출력 중 단 하나라도 논리 ‘0’을 출력하면 전체 출력은 논리 ‘0’이 되고 개별 소자의 출력이 모두 논리 ‘1’일 때에만 전체 출력이 ‘1’이 됩니다. 이것은 각 개별 소자의 출력을 AND 게이트로 연결한 것과 논리적으로 같은 결과이므로 이렇게 오픈 드레인 출력을 모두 묶은 구조를 선으로 연결한 AND라는 뜻으로 와이어드 AND (wired AND) 연결이라고 부른다.
  • LED 같은 장치를 구동할 때도 오픈 컬렉터나 오픈 드레인을 활용한다.
  • 인코더의 전원전압과 콜렉터의 전원전압이 일치하지 않을 때 사용이 용이하다.
  • 토템폴 출력에 비해 속도는 느리다.
  • 풀업 저항으로 인해 전력 소비가 발생한다.

트라이스테이트 출력

오픈컬렉터를 사용하면 출력을 서로 연결할 수 있지만 액티브 풀업을 사용하는 것 만큼 응답이
빠르지 않은 단점이 존재한다.

따라서 두 가지가 아닌 세 가지인 트라이스테이트 출력을 사용할 수 있다.

  • 출력을 켜고 끄기 위한 활성화가 존재한다.
  • 꺼진 상태를 hi-Z 하이 임피던스라고도 한다.
  • 수많은 장치를 서로 선으로 직접 연결할 수 있다. 단점은 한번에 단 하나의 장치만 활성화해야한다.

References

조너선 스타인하트, 『한 권으로 읽는 컴퓨터 구조와 프로그래밍』, 책만(2021)
이력 현상 - 위키백과, 우리 모두의 백과사전
Hysteresis - Wikipedia
[책][작성중]한 권으로 읽는 컴퓨터 구조와 프로그래밍-2장. 이력현상, 차동신호, 전파지연, 출력유형
차동 신호란? (differential input signal)
논리 게이트의 전기적 특성: 전파 지연 시간(propagation delay time)
[기초] 풀업? 풀다운? 저항
[용어정리] Active High와 Active Low 정의 (+ Floating, Pull-up, Pull-down 저항)
오픈 컬렉터(open collector) 출력의 장단점

profile
얍얍 개발 펀치

0개의 댓글