10BASE-T1S 이더넷 프레임 구조와 활용

10BASE-T1S의 이더넷 프레임은 자동차 네트워크 통신의 기본 단위예요. 표준 이더넷 프레임 구조를 따르면서도 자동차 환경의 특수한 요구사항을 반영하고 있습니다. 이 프레임 구조를 정확히 이해하는 것은 자동차 전자 시스템 개발의 첫 단계입니다.

이 글에서는 10BASE-T1S 이더넷 프레임의 세부 구조와 각 필드의 역할, 그리고 자동차 네트워크에서의 실제 활용 방법을 자세히 설명해드릴 거예요. 엔지니어와 기술자 모두에게 유용한 실무 정보입니다.

이더넷 프레임의 기본 개념

이더넷 프레임은 두 개 이상의 노드 사이에 데이터를 전송하는 기본 단위예요. 10BASE-T1S도 표준 이더넷 프레임 형식을 기반으로 하지만, 자동차의 실시간 요구사항에 맞게 최적화되어 있습니다. 프레임 내의 각 필드는 순서가 정해져 있으며, 이를 엄격히 준수해야 정상 통신이 이루어져요.

프레임의 목적과 의의

이더넷 프레임은 로컬 네트워크에서 정확한 물리적 주소 기반 통신을 제공해요. 자동차 네트워크에서는 ECU(전자제어장치) 간의 빠르고 신뢰할 수 있는 통신을 보장합니다. 프레임 기반의 통신은 패킷 손실, 순서 뒤섞임, 중복 등의 문제를 명확하게 다룰 수 있게 해줘요. 이는 차량의 안전 관련 시스템에 필수적인 특성입니다.

표준 이더넷과의 비교

10BASE-T1S는 IEEE 802.3 표준의 기본 프레임 형식을 따릅니다. 다만 물리 계층에서 한 쌍의 꼬인 케이블만을 사용하고, 자동차 환경의 높은 EMI 노이즈를 견디도록 신호 처리가 강화되어 있어요. 데이터 링크 계층의 프레임 구조 자체는 기존 이더넷과 동일하므로, 상위 계층 프로토콜(TCP/IP)을 그대로 사용할 수 있습니다.

프레임 필드의 순서와 구성

10BASE-T1S 이더넷 프레임은 여러 개의 필드가 정해진 순서로 배열되어 있어요. 각 필드의 크기와 의미를 정확히 알아야 프레임을 올바르게 생성하고 해석할 수 있습니다.

프리앰블과 SFD

프리앰블은 7바이트의 반복 패턴(10101010 반복)으로 수신 장치의 클록을 동기화하는 역할을 해요. SFD(Start Frame Delimiter)는 1바이트(10101011)로, 실제 프레임 데이터의 시작을 알려줍니다. 물리 계층에서 자동으로 생성되고 제거되므로, 데이터 링크 계층에서는 이들을 직접 다루지 않아요. 하지만 프레임 전송 시간 계산 시에는 반드시 포함시켜야 합니다.

MAC 주소 필드

목적지 MAC 주소(DA)와 출발지 MAC 주소(SA)는 각각 6바이트씩 구성돼요. MAC 주소는 로컬 네트워크에서 각 노드를 고유하게 식별합니다. 첫 번째 바이트의 최하위 비트가 0이면 유니캐스트, 1이면 멀티캐스트를 나타냅니다. 자동차 네트워크에서 여러 ECU에 동시 전송이 필요할 때는 멀티캐스트 주소를 사용해요. 제조사별 MAC 주소 범위가 정해져 있으며, 이를 준수하는 것이 중요합니다.

EtherType/길이 필드

2바이트 필드로, 0x0600 이상이면 EtherType(프로토콜 종류), 이하면 페이로드의 길이를 나타내요. 자동차 진단 프로토콜(UDS)이나 원격 진단 프로토콜은 특정 EtherType 값을 할당받습니다. 자동차 제조사의 독점 프로토콜도 이 필드를 통해 구분돼요. IPv4(0x0800), IPv6(0x86DD), VLAN(0x8100) 등의 표준값도 사용 가능합니다.

페이로드와 데이터 필드

페이로드는 프레임의 실질적인 데이터를 담는 부분이에요. 자동차 네트워크의 성능은 이 필드에 어떤 데이터를 담고 얼마나 효율적으로 전송하느냐에 따라 결정됩니다.

페이로드 범위와 제한

페이로드는 최소 46바이트, 최대 1500바이트의 크기를 가져요. 46바이트 미만의 데이터는 자동으로 패딩이 추가됩니다. 자동차의 대부분의 제어 신호는 이보다 훨씬 작은 크기(10-20바이트)이므로, 실제로는 작은 프레임이 자주 사용돼요. 큰 데이터는 여러 프레임으로 분할하여 전송하게 됩니다. 이때 순서 보장과 손실 감지가 중요한데, 상위 계층 프로토콜(TCP 등)이 이를 처리합니다.

자동차 데이터 타입

자동차 네트워크에서 전송되는 데이터는 여러 종류가 있어요. 실시간 제어 신호(브레이크, 스티어링), 센서 데이터(온도, 압력, 속도), 진단 정보(오류 코드, 상태), 멀티미디어 데이터(음악, 네비게이션) 등입니다. 각 데이터 타입은 서로 다른 전송 주기와 지연 요구사항을 가지고 있어요. 이를 고려하여 프레임 크기와 전송 빈도를 조정해야 합니다.

시리얼화 방식

다양한 데이터 타입을 프레임 페이로드에 효율적으로 담기 위해 시리얼화(serialization) 방식을 사용해요. 구조화된 데이터를 바이트 시퀀스로 변환하는 과정입니다. 자동차 업계에서는 CAN의 영향을 받아 특정 바이트 순서(엔디안)와 비트 필드 배열을 표준화하고 있습니다. 이를 준수하지 않으면 수신 장치가 데이터를 잘못 해석하게 돼요.

FCS와 오류 검출

FCS(Frame Check Sequence)는 프레임의 무결성을 보장하는 핵심 메커니즘이에요. 자동차의 안전성을 위해 매우 중요한 필드입니다.

CRC 계산 방식

FCS는 32비트 CRC 값으로, 프레임의 MAC 주소부터 페이로드까지 계산됩니다. 특정 다항식(polynomial)을 사용하여 계산되며, 이는 IEEE 802.3에서 정의되어 있어요. 송신 측에서는 프레임 생성 시 CRC를 계산하여 추가하고, 수신 측에서는 동일한 방식으로 재계산하여 비교합니다. 값이 일치하면 오류가 없는 것이고, 불일치하면 손상된 프레임으로 판단해요.

오류 감지의 한계

CRC는 오류를 감지할 수 있지만 정정할 수는 없어요. 손상된 프레임은 버려지고, 상위 계층이 재전송을 요청해야 합니다. 따라서 높은 신뢰성이 필요한 시스템에서는 단순 CRC보다 더 강력한 오류 정정 코드를 사용하기도 합니다. 자동차의 안전 관련 시스템(SOTIF)에서는 이중 검증 방식을 사용하기도 해요.

프레임 전송 과정과 시연

실제로 10BASE-T1S 이더넷 프레임이 어떻게 전송되는지 이해하는 것이 중요해요. 전송 과정의 각 단계에서 프레임이 변형되고 처리됩니다.

프레임 생성과 송신

애플리케이션 데이터가 프레임으로 변환되는 과정을 살펴봅시다. 먼저 상위 계층에서 데이터가 내려오면, 데이터 링크 계층이 MAC 헤더와 FCS를 추가합니다. 물리 계층은 프리앰블과 SFD를 앞에 붙이고, manchester 부호화를 하여 신호로 변환해요. 이 신호가 실제 케이블을 통해 전송됩니다.

프레임 수신과 해석

수신 측에서는 신호를 디코딩하여 프레임을 복원합니다. 프리앰블과 SFD를 확인하면 프레임의 시작을 인식해요. 이후 각 필드를 해석하고 FCS로 무결성을 검증합니다. MAC 주소가 자신의 주소이거나 브로드캐스트 주소면 상위 계층으로 전달하고, 아니면 프레임을 버립니다. EtherType에 따라 올바른 프로토콜 핸들러로 페이로드를 전달해요.

실제 통신 시나리오

자동차에서 속도 센서(ECU A)가 읽은 차속 정보를 제동 제어기(ECU B)에 전송하는 상황을 생각해봅시다. ECU A는 센서 데이터(예: 속도 60km/h)를 프레임으로 감싸고, ECU B의 MAC 주소를 목적지로 설정합니다. 1-2밀리초 주기로 이런 프레임을 반복 전송하면, ECU B는 최신의 속도 정보를 계속 받아 제동력을 조절할 수 있습니다. 이러한 실시간 통신 방식이 자동차 네트워크의 특징입니다.

결론

10BASE-T1S 이더넷 프레임은 자동차 네트워크의 기본 통신 단위예요. 표준 이더넷 구조를 따르면서도 자동차의 실시간 요구사항과 안전성을 고려하여 설계되었습니다. 각 필드의 역할을 정확히 이해하면, 자동차 네트워크 시스템을 효과적으로 개발할 수 있습니다.

자동차의 전자화가 진행되면서 10BASE-T1S 프레임에 대한 이해가 더욱 중요해질 것으로 예상돼요. 이 기본을 잘 이해하고 있으면, 향후 더 복잡한 자동차 통신 기술도 쉽게 학습할 수 있을 거라고 생각합니다. 지금이 바로 이 중요한 기술을 배우기에 최적의 시점입니다.