차량용 통신 시스템

Eugene CHOI·2022년 10월 24일

데이터 전송/교환 기술의 분류 방식

  • Point-to-Point 방식: 호스트가 중개 호스트와 일대일로 연결
    • Fully-Connected 연결을 위해서는 N(N-1)/2개의 전송 링크가 필요.
    • 비용이 크고 네트워크 혼잡도가 증가
    • 원거리 시스템에 주로 사용(WAN)
    • 권장하지 않지만 트리형으로 구현되는 경우가 많음
  • Multi-point 통신: 1:N, N:N 사이의 송수신 호스트 사이의 데이터 전송 방식
    • Unicasting: 특정 대상 하나에 전송
    • Anycasting: 불특정 대상 하나에 전송
    • Multicasting: 동시에 대상 지정하여 전송
    • Broadcasting: 모든 호스트에 전송
      • 교환 호스트가 필요하지 않기 때문에 LAN 환경에서 주로 사용

Topology

  • Ring형: 호스트를 순환 구조로 연결
    • 송신 호스트가 전송한 데이터는 링을 순환한 후 송신 호스트에 되돌아옴
    • 수신 호스트로 지정된 호스트만 데이터를 내부에 저장
    • 데이터 전송을 위해 토큰 확보가 필수
  • Bus형:
    • 충돌: 둘 이상의 호스트에서 데이터를 동시에 전송할 때 충돌 발생
      1. 호스트의 전송 권한 제한 (Flex-Lay)
      2. 충돌 허용: 충돌 발생시 해결 과정 추가 (Ethernet)

전송 매체

  • 유선 매체 (유도 매체)
    • 트위스티드 페어 (Twisted Pair): 신호 간의 간섭 효과를 최소화, 두 선이 같은 수준의 노이즈를 받을 수 있도록 하여 노이즈 제거를 통한 통신 데이터 복원이 가능하도록 함
      1. UTP: Unshielded Twisted-Pair (8 string)
        • RJ-45커넥터를 주로 사용
        • 최대 전송 거리 100m, 155MHz 대역폭 제공
      2. FTP: Foiled Twisted pair (9 string)
        • 접지선과 4쌍의 선을 포일로 감싼 구조
      3. STP: Shielded Twisted-Pair
        • UTP 케이블의 각 쌍들을 얇은 금속 박막으로 둘러싼 구조
        • 가격 상승 대비 성능 향상이 떨어져 UTP로 대체됨
    • 동축 케이블 (Coaxial)
      • 차폐성이 좋아 간섭이 적음
      • BNC 커넥터 사용하여 노드 연결
      • 고속 데이터 전송(수백 Mbps)이 가능하고 전력 손실이 적다
    • 광 케이블 (Optical)
      • 전기적인 간섭을 받지 않고 대역폭이 넓고 전송 속도가 빠름
  • 무선 매체 (비유도 매체)
    • 라디오파
    • 마이크로파
    • 적외선파

데이터 전송 방식

  • 직렬 전송: 한 번에 한 비트씩, 기준 시간은 클록 펄스를 이용
    • 직렬-병렬 변환은 Shift Register를 이용.
    • 회선 비용이 경제적이나 직병렬 변환기가 필요하므로 시스템이 복잡하다.
    • ex) RS-232C, USB(Universal Serial Bus)
  • 병렬 전송: 각 클록 펄스마다 여러 비트를 동시에 보냄
    • 선이 많기 때문에 거리당 전송 비용이 높다.
  • 동기 (Synchronous transmission): 전송장치와 수신장치 사이의 전송률, 전송시간, 간격 등 비트 타이밍 정보를 일치시킴.
  • 비동기식 전송 (Asynchronous transmission): 동기 작업을 하지 않음.
    • 시작 비트와 종료 비트가 존재한다.
    • 전송지에서 한 번에 하나씩 문자를 전송, 수신지에서 각 문자의 시작점에서 동기화를 수행.
    • 간단하고 저렴하지만 문자당 2~3비트의 오버헤드가 필요해 전송효율이 떨어진다.
    • ex) RS-232C

부호화 방식

부호화: 심볼화된 비트 정보를 전기 신호로 변환하는 과정

  • 신호가 자주 바뀌게 되면 노이즈가 많아진다.
  • 전압 레벨이 높을수록 에너지 소모가 많다.

  • Bipolar
  • Manchester
  • Differential Manchester
  • RZ (Return to Zero): unipolar (+V, 0), bipolar (+V, -V)
    • 반 주기 동안 0으로 복귀 함
  • NRZ (Non Return to Zero)
    • 0으로 복귀 하지 않고 하나의 디지털 비트 구간 내에서 전압이 일정한 방식
  • NRZI (Non Return to Zero Invert)
  • Duo Binary

DTE-DCE 인터페이스

  • DTE (Data Terminal Equipment): 정보 처리 장치 또는 데이터 터미널 장비
  • DCE (Data Circuit-terminating Equipment): DTE와 전송 매체 사이에 데이터 전송을 담담

UART(Universal Asynchronous Receiver and Transmitter)

  • UART는 EIA-232와 논리 규격에서 호환. 물리적인 규격은 다르다.
  • UART 전압 레벨:TTL(0~5V), EIA의 전압 레벨: -12V ~ +12V
  • RS-232 Transceiver: MAX232

Protocol

프로토콜의 주요 요소

  1. 구문(Syntax): 문법, 데이터의 구조나 형식
  2. 의미(Semantics): 데이터의 의미
  3. 타이밍(Timing): 언제 어떤 속도로 데이터를 전송할 것인가.

프로토콜의 주요 기능

  1. 주소지정(Addressing): 목적지 주소, 경로 부여
  2. 순서제어(Sequencing): 전송 패킷에 순서를 부여함. 먼저 온 데이터가 무조건 앞단의 데이터가 아닐 수 있다.(게이트웨이 때문)
  3. 데이터의 단편화(Fragmentation) 및 재조립(Reassembly)
    • 지연시간과 오류를 줄이기 위해 송신 측은 데이터를 작은 패킷으로 나누어(단편화) 전송하고, 수신 측에서는 수신한 패킷들을 원래의 데이터로 다시 조립(재조립)
  4. 캡슐화(Encalsulation): 주소나 오류검출 부호와 같은 프로토콜 제어 정보를 부가하는 것(헤더, 트레일러)
  5. 연결 제어(Connection Control): 비연결 지향형은 수신 허락 여부와 관계 없이 데이터를 보낸다. 연결 지향형은 수신 허락이 되어야만 데이터를 보낼 수 있기 때문에 보안성이 좋다.
  6. 흐름 제어(Flow Control): 수신 측의 처리 능력에 따라 송신 측에서 송신 데이터의 양을 조절하는 기능. 수신 호스트가 송신 호스트의 전송 시점을 제어.
  7. 오류 제어(Error Control): 전송 도중에 발생하는 오류를 검출하고 정정하는 기능.
  8. 동기화(Synchronization): 송수신 타이밍을 맞추는 기능.
  9. 다중화(Multiplexing): 하나의 회선을 여러 가입자가 동시에 사용하도록 함.

전송 오류의 유형

  1. 수신 호스트의 응답 프레임: 송신 호스트에 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구 (긍정/부정)
  2. 송신 호스트의 타이머 기능
    • 타임아웃(Timeout): 데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답을 받아야 한다. 회신이 없으면 데이터 프레임을 재전송함.
  3. 순서 번호 기능: 수신 호스트가 중복 프레임을 구분할 수 있도록 지원, 데이터 프레임 내에 프레임 구분을 위한 일련 번호 부여.

프레임

전송 데이터를 프레임이라는 단위로 나누어 처리한다.
표현 방식에 따라 문자 프레임과 비트 프레임으로 구분

  1. Character Frame
    • Charater Stuffing: 전송 데이터가 DLE 문자를 포함하면 뒤에 DLE 문자 하나를 강제 추가.
  2. Bit Frame: 시작과 끝에 플래그라는 특수하게 정의된 비트 패턴(01111110)을 사용해 프레임 단위를 구분.
    • Bit Stuffing: 전송 데이터에 1이 연속해서 5번 발생하면 강제로 0을 추가.

스터핑 과정에서 추가된 데이터는 수신 호스트가 제거하고 원래의 데이터를 상위 계층으로 전달하여야 한다.

오류의 복구

  • 순방향 오류 복구(FEC, Forwawrd Error Correction): 수신 호스트가 복구
  • 역방향 오류 복구(BEC, Backward Error Correction): ARQ(Automatic Repeat reQuest) 방식으로 송신 호스트가 재전송 방식을 이용해 오류 복구(네트워크에서 일반적으로 사용)

Parity bit

  • 1바이트 = 7bit ASCII code + 1 Parity bit
    • 짝수 패리티: 패리티 비트 포함 전체 1의 개수를 짝수로
    • 홀수 패리티: 패리티 비트 포함 전체 1의 개수를 홀수로

블록 검사

수직, 수평 방향 모두에 짝수 패리티 비트를 적용

Polynomial Code

  1. CRC(Cyclic Redundancy Code)
    • 미리 약속된 다항식 G(x)G(x)으로 전송 데이터 M(x)M(x)를 나누어 체크섬 정보를 얻는다.
      ex)
      100101b=1x5+0x4+0x3+1x2+0x+1=x5+x2+1\begin{aligned}100101_b &= 1x^5+0x^4+0x^3+1x^2+0x+1\\&= x^5+x^2+1\end{aligned}

데이터 전달 방식

  • Single: 한쪽 방향으로만 전달 가능.
  • Half-Duflex: 양쪽 방향으로 전달 가능하지만 동시에 전달 불가능.
  • Full-Duflex: 양쪽 방향으로 동시에 전달 가능.

서비스 프리미티브

하위 계층이 상위 계층에 제공하는 서비스의 종류는 연결형과 비연결형으로 나뉘며 프리미티브 형태로 구현됨

서비스 프리미티브란 인터페이스를 통해 이루어지는 계층 간 상호 작용을 추상화하여 단순한 모습으로 제공하기 위한 서비스 단위

  • 연결형 서비스
    • CONNECT
    • DATA
    • DISCONNECT
  • 비연결형 서비스
    • Request
    • Indication
    • Response
    • Confirm

OSI 7 Layer

Data Unit

  • SDU (Service Data Unit): 실제 정보
  • PDU (Protocol Data Unit) = Header + SDU
계층PDU
7. 응용 계층Message
6. 표현 계층Message
5. 세션 계층Message
4. 전송 계층Segment
3. 네트워크 계층Packet/Datagram
2. 데이터링크 계층Frame
1. 물리 계층Bit
profile
Hi, my name is Eugene CHOI the Automotive MCU FW developer.

0개의 댓글