포스트

[데이터통신] 라인코딩, 블록코딩, 데이터 전송 모드

서론

1비트를 어떤 신호로 바꿀까요? 이러한 방법들을 라인코딩이라 합니다.

라인코딩에 대해 알아봅시다.

라인코딩

목표

우선 전기적 신호로 바꿀 때, 가장 문제가 되는 것은 DC(Direct Current)성분입니다.

전이가 없으면, 수신기 입장에서는 0과 1의 연속된 데이터를 받습니다.

0일때는 큰 문제가 없지만 1이 연속될 때 큰 문제를 가지는데, 4가지 정도의 문제점이 있습니다.

  1. 클럭 복구 어려움
  2. 동기화 실패
  3. DC 성분 증가(전압 평균값이 0이 아님..)
  4. 신호 왜곡(내부 커퍼시티 전하 누적 오차)

종류

라인 코딩의 종류에 대해 알아봅시다. 5가지로 나눌 수 있습니다.

  1. Unipolar(단극)
  2. Polar(양극)
  3. Bipolar(양극인데 1일때 + -를 번갈아가면서 씀)
  4. Multilevel(여러 개의 전압 레벨)
  5. Multitransition(심볼 하나에 2번 이상의 전이)

NRZ (Non-Return-to-Zero)

단순히 1과 0의 높고 낮은 신호를 이용합니다.

클럭 정보가 없어서, 동기 문제가 생길 수 있습니다.

NRZ-L: 1/0일때 신호 있음/없음을 판단합니다.

NRZ-R: 1일때 신호를 반전시킵니다.

Manchester

각 비트마다 중간에 전이가 있어, 클럭 정보가 포함된다.

대역폭이 N이여서,

2B1Q (2 Binary 1 Quaternary)

2비트를 1심볼로 표현 (4개 레벨 전압 사용)

“00” → -3V, “01” → -1V, “10” → +1V, “11” → +3V 등

고속 전송 가능하지만, 전압 레벨 구분이 필요함

비교

윗 내용을 다음과 같은 표로 정리할 수 있습니다.

항목NRZ (Polar)Polar RZManchesterBipolar (AMI)2B1Q
전압 수준+V / -V+V / 0 / -V+V ↔ -V (중앙 전이)0, +V, -V-3V, -1V, +1V, +3V
전이(Transition)없음 가능매 비트 전이 발생매 비트 중간 전이 발생1마다 전이, 0은 없음전이 없음 가능, 심볼만 전송
DC 성분있음거의 없음없음없음설계에 따라 감소 가능
클럭 복구어려움쉬움매우 쉬움중간어렵거나 별도 동기 필요
대역폭N/2NNN/2 이하 가능N/2 이하 가능 (2비트/심볼)
r값 (비트/심볼)11/2112
전송 효율좋음중간낮음좋음매우 좋음
노이즈 내성낮음중간높음높음낮음 (전압 구분 어려움)
사용 예제UART, RS-232일부 클럭 신호Ethernet (10BASE-T 등)T1 회선, 전화 시스템ISDN, DSL 등 고속 전화 회선

블록 코딩

정의

클럭 복구와 DC 성분 문제를 해결하기 위해, 송신 데이터의 비트 패턴을 변환하는 방식

4B5B

4비트 데이터를 5비트 코드로 전이가 일어나게 설계된 것 입니다.

16개는 데이터용, 16개는 명령용 제어 코드로 사용하며

라인 코딩(NRZ-I)과 조합하면, 전이, DC 성분 최소화 되서 이상적인 신호를 전송 가능합니다.

과정

위 과정을 다음과 같이 보일 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
송신자
 ↓
m비트 데이터 그룹
 ↓ (블록 코딩: m → n)
n비트 블록 코드 그룹
 ↓ (라인코딩: NRZ-I 등)
전기적 신호로 전송
 ↓ (라인 디코딩)
n비트 블록 코드 그룹
 ↓ (블록 디코딩: n → m)
m비트 데이터 그룹
 ↓
수신자

데이터 전송 모드

크게 병렬과 직렬로 나뉩니다.

직렬에서도 크게 3가지로 나뉩니다.

  1. 비동기(asynchronous): 데이터 + 클럭
  2. 동기(synchronous): 데이터 + 별도 클럭 신호 (맨체스터 인코딩)
  3. 등시(isochronous): 일정시간간격 전송

표로 정리해봅시다.

항목비동기 (Asynchronous)동기 (Synchronous)등시 (Isochronous)
전송 단위문자 (byte) 단위블록 단위고정 시간 간격의 스트림
클럭 방식클럭 포함 (start/stop 비트로 동기화)별도 클럭 신호 사용시간 기준 동기화 + 예약된 대역폭
오버헤드큼 (start/stop bit 필요)작음 (블록만 전송)작음 (start/stop 없음)
실시간성낮음중간매우 높음
신뢰성중간높음낮음 (오류 정정 없음)
장점구조 간단, 클럭선 불필요전송 효율 좋음, 고속 전송 가능지연 적음, 실시간 오디오/영상 전송에 적합
단점오버헤드 큼, 느림회로 복잡, 초기 동기화 필요오류 정정 어려움, 일정 대역폭 필요
주요 예시RS-232, UART, PS/2 키보드/마우스Ethernet, 광통신, HDLC, 전화망USB 오디오/비디오, VoIP, IEEE 1394 (FireWire)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.