상세 컨텐츠

본문 제목

로이엔텍 - 오실로스코프 Fundamentals - Part5. 직렬 프로토콜 이해하기 / 로데슈바르즈

로데슈바르즈_ROHDE_SCHWARZ

by 홍스블루스 2024. 1. 26. 09:09

본문

디지털 데이터 전송: 병렬 vs. 직렬 전송

디지털 시스템은 컴포넌트 또는 디바이스 간에 전송해야 하는 비트의 개념을 기반으로 합니다.

비트 전송 방식에는 많은 방식이 있지만 2개의 주요 카테고리로 ‘병렬’과 ‘직렬’ 전송으로 분류할 수 있습니다.

 

병렬 전송

병렬 전송은 송신기와 수신기 간에 여러 비트를 동시에 이동시키며, 각각의 비트에는 별도의 전도체(conductor)가 있습니다.

병렬 전송은 단거리 및/또는 점 대 점 연결에 적합하며 단순한 타이밍을 가지고 있어 상대적으로 분석이 쉽습니다. 예전에는 병렬 전송이 주로 사용되었지만, 현재는 시리얼 전송으로 대체되고 있습니다.

직렬 전송

이름에서 알 수 있듯이, 직렬 전송은 한 번에 하나의 비트를 전송하며 모든 비트는 동일한 전도체를 통해 전송됩니다.

직렬 전송은 장거리 응용 프로그램, 높은 처리량이 요구되는 응용 프로그램 및 다중 노드가 있는 응용 프로그램에 적합하며, 이 모든 것은 직렬 전송이 더 복잡하고 분석이 어렵기 때문에 비용이 발생합니다.

데이터 비트가 단일 전도체 또는 "와이어"를 통해 전송되고 있지만 대부분의 직렬 프로토콜은 여러 개의 전도체를 사용합니다.

데이터 비트를 위한 와이어 뿐만 아니라, 많은 프로그램들은 클럭 신호, 다중 노드에 대한 제어 또는 주소 지정과 같은 것을 추가합니다.

직렬 프로토콜 예제

직렬 프로토콜은 매우 다양한 응용 분야에서 사용됩니다. 일반적으로 사용되는 주요 직렬 프로토콜은 UART/RS232, I²C/SPI입니다.

직렬 프로토콜의 특별 카테고리에는 자동차 산업에서 사용되는 CAN/LINFlexRay™가 있으며, 이러한 프로토콜들은 저속과 고속이 혼합되어 있고 소음이 심한 환경에서도 안정적인 작동을 제공하는 것과 같이, 자동차의 까다로운 요구사항을 충족하도록 설계되어 있습니다.

범용 어플리케이션

UART (Universal Asynchronous Receiver/Transmitter, 범용 비동기 송수신기)

- Classic serial protocol

- 구현이 쉬움

- 수십 년 동안 PC 직렬 및 COM Port에서 사용

I2C (Inter-Integrated Circuit)

- 직접 회로(및 그 이상) 간의 통신

SPI (Serial Peripheral Interface, 직렬 주변기기 인터페이스)

- I2C 보다 빠른 속도

- 더 많은 와이어를 사용하며 일반적으로 좀 더 복잡함.

오토모티브 어플리케이션

CAN (Controller Area Network, 컨트롤러 영역 네트워크)

- 고속

- 주로 센서와 함께 사용

LIN (Local Interconnect Network, 로컬 상호 연결 네트워크)

- 저속

- 주로 액세서리와 함께 사용 (창문, 거울 등)

FlexRay

- 이중화를 통한 더 빠른 속도

직렬 프로토콜 특징

프로토콜마다 구현 세부 사항은 다르지만 모든 직렬 프로토콜에는 4가지 기본 특징이 있으며, 이는 직렬 데이터의 분석과 디코딩을 위해 중요합니다.

- Level: 0과 1을 나타내는데 전압이 사용되는 방법

- Timing: 비트가 전송되는 빈도 (bit time)

- Framing: 비트가 그룹으로 구성되는 방식과 각 비트 또는 비트 그룹의 역할

- Protocol: 어떤 메시지가 어떤 상황에서 교환되는지

Levels (레벨)

어떤 종류의 디지털 디코딩을 진행하기에 앞서, 우리는 1과 0을 구분할 수 있어야 합니다. 즉, 전압 레벨에서 비트 값을 어떻게 결정할 수 있을까요? 간단하게 접근하면 “낮은” 전압은 0, “높은” 전압은 1로 정의하는 것입니다. 사실 이것은 일부 직렬 프로토콜에서 작동하는 방식입니다.

자동차와 같이 까다로운 환경에서 사용되는 직렬 프로토콜은 차동 신호가 노이즈에 더 강한 경향이 있기 때문에 주로 차동 전압을 사용합니다. 차동은 접지가 아닌 두 전압 사이의 차이를 기준으로 0 또는 1로 정의하는 것을 의미합니다.

Note: 차동 프로브는 차동 증폭 원리로 설계된 오실로스코프 프로브로, 이러한 측정에 매우 유용합니다.

Timing (타이밍)

전압 레벨을 “0”과 “1”로 정의하는 것은 어떤 비트를 수신하는지 결정하기에 충분하지 않습니다. 또한 얼마나 비트가 빨리 생성되는지, 즉 “비트 타임” 또는 “비트 전송률”이 무엇인지 이해하는 것이 중요합니다. 직렬 데이터를 디코딩하기 위해서는 수신기 또는 계측기가 송신기와 동일한 비트 전송률을 사용해야 합니다.

Framing (프레임)

직렬 프로토콜은 일반적으로 소위 프레임으로 불리는 비트로 구성합니다. 프레임에서의 개별 비트, 또는 비트 그룹에는 정의된 의미가 있습니다. 프레임을 정확하게 디코딩하려면 이러한 구조에 대한 약간의 지식이 필요합니다.

예를 들어, UART 직렬 프로토콜을 디코딩할 때 회선의 Idle 상태가 고전압 수준인지 아는 것이 중요합니다.

높은 레벨에서 낮은 레벨로의 전환은 프레임의 시작을 나타내는 “시작 비트”입니다. 게다가 이것은 얼마나 많은 데이터 비트를 읽어야 하는지, 뿐만 아니라 프레임을 종료하고 Idle 상태로 돌아가는 고전압 정지 비트도 있다는 사실을 이해해야 합니다. 프레임 구조를 알면, 사용자 데이터를 직렬 비트 스트림에서 추출할 수 있을 뿐만 아니라 전송에 대한 다른 정보도 도출할 수 있습니다.

비트는 보통 “프레임”으로 구성되며, 프레임의 개별 비트 또는 비트 그룹들은 정의된 의미가 있습니다.

 

 

프로토콜

마지막으로 고려해야 할 측면은 “프로토콜”이라고 할 수 있습니다. 프로토콜의 일반적인 정의는 정보를 교환하고 인코딩을 위한 일련의 규칙입니다. 데이터 전송 방법과 시점, 그리고 종단 간의 교환되는 메시지들의 유형과 의미에 대한 규칙이 있을 수 있습니다.

간단한 프로토콜은 수신자가 데이터를 받을 준비가 되었는지 여부와 관계없이 데이터를 즉시 보내는 것입니다. 보다 정교한 프로토콜은 데이터를 전송하기 전에 권한을 요청하는 일부 메커니즘을 사용하며, 훨씬 더 정교한 프로토콜은 추가 데이터를 전송하거나 또는 누락되거나 오류가 있는 데이터를 다시 보내기 전에 데이터가 올바르게 수신되었는지 명시적인 승인을 기다리는 발신자를 포함합니다.

직렬 프로토콜 디코딩

과거에는 일반적으로 특수 전용 프로토콜 테스터를 사용하여 직렬 프로토콜을 디코딩하였지만, 오늘날 가장 일반적인 방법은 한 개 이상의 채널을 가진 최신 디지털 스토리지 오실로스코프를 사용하는 것입니다.

관심이 있는 직렬 프로토콜을 선택한 후 분석된 직렬 신호와 일치하도록 레벨, 타이밍 그리고 프레임을 구성해야 합니다. 이 정보를 사용하여 오실로스코프는 원시 전압 레벨, 감지된 비트, 그리고 2진수, 16진수 또는 ASCII로 표시 가능한 프레임의 형태로 결과를 생성합니다. 오실로스코프에서의 직렬 디코딩은 프레임 내 특정 기호에 대한 트리거, 사람이 읽을 수 있는 라벨들을 사용자 정의 패턴에 할당, 데이터 추출과 같은 추가 기능들을 포함합니다.

요약

직렬 프로토콜은 컴포넌트 간에 또는 개별 디바이스 간에 순차적으로 또는 한 번에 하나씩 비트를 이동하는 데 사용합니다.

직렬 통신은 거의 모든 디지털 디바이스에서 사용되며, 직렬 통신은 다음과 같이 나눌 수 있습니다.

- UART, I2C 및 SPI와 같은 일반 표준

- CAN, LIN 및 FlexRay(주로 자동차에 사용됨)와 같이 특정 응용 프로그램에서 사용되는 프로토콜

모든 직렬 프로토콜은 다음과 같은 특징을 가지고 있습니다.

- 전압이 비트로 맵핑되는 방식

- 타이밍 또는 비트 전송률

- 비트가 메시지 단위 또는 프레임으로 구성되는 방식

- 교환되는 프레임의 유형과 각 유형의 프레임이 전송되는 시점에 대한 규칙

직렬 데이터를 분석하고 디코딩하기 위한 최상의 도구는 최신 디지털 오실로스코프입니다.

MXO 4 오실로스코프 : I2C 프로토콜 디코딩

 

직렬 프로토콜 또는 직렬 프로토콜 디코딩에 질문이 있으시다면, 우리 전문가들이 여러분을 도와드릴 것입니다.​

작성자 : 로데슈바르즈코리아 기술지원팀

이메일 : sales.korea@rohde-schwarz.com

추가 문의사항은 아래 연락처로 문의주시면 신속하게 답변드리겠습니다.

T. 031-348-3953

Mail. ds3@roientec.co.kr

관련글 더보기