개요
최근의 차량들은 Zonal Arhitecture를 채택하여 개발되는 추세이다. Zonal Architecture는 차량 내부의 위치에 따라 각 Zone으로 나눈다. 그리고 각 Zone의 제어를 담당하기 위해 Zone Controller를 사용한다. 여기서 Zone Controller는 Ethernet을 통해서 HPVC(High Performance Vehicle Controller, 그림의 Central Computer)와 백본망을 구성하며, 이 백본망은 1Gbps 이상의 고속의 통신을 사용한다.

여기서 각 Zone을 담당하는 Zone Controller 하위에는 Sensor와 Actuator라 불리우는 디바이스들이 존재한다. 이 하위 네트워크에 존재하는 디바이스들은 기존에 CAN, FlexRay 등의 통신을 사용하여 제어되었으나, 최근에는 10Base-T1S로 넘어가는 추세이다.
10Base-T1S는 CAN 등의 통신에서 사용하는 버스 형태의 네트워크 구조와 Multi-Drop(브로드캐스트로 간단히 이해)을 지원한다. 그리고 CAN 통신보다 높은 전송 속도를 가지며, 또한 Ethernet 규격을 따르므로 차량 내부 네트워크에서 더 높은 유연성을 가질 수 있다.
CAN은 최대 1Mbps이며, 10Base-T1S는 최대 10Mbps로 알고있다. 업그레이드된 CAN 통신은 조금 더 높은 속도를 낼 수 있지 않을까 싶다. 그리고 CAN 뿐만 아니라 다양한 이종 네트워크가 차량 제어를 위해 사용되는 것으로 알고있으나 필자는 현재 10Base-T1S 부터 시작을 한 지라 아직 다른 이종 네트워크에 대해선 설명할 수 없다. 따라서, 본 페이지는 10Base-T1S만 중점적으로 설명한다.
10Base-T1S의 더 높은 유연성은 Zonal Architecture의 내부 백본망이 Ethernet 기반으로 되어 있어, 하위 디바이스에서 Zone Controller를 통해 HPVC로 전달되거나 혹은 명령을 받을 때 중간에 패킷 포맷의 변환 없이 사용할 수 있다는 점에서 높은 유연성을 가질 수 있다고 생각한다.
본 페이지에서는 이러한 10Base-T1S에 대해서 필자가 알아본 내용을 간략히 서술한다.
10Base-T1S 네트워크 구조


10Base-T1S는 앞서 개요에서 설명하였다시피 CAN 통신과 동일한 버스 형태의 연결 구조를 가진다. 또한, 특정 노드에서 다른 노드로 데이터를 전달할 때 Multi-Drop을 지원함으로 하나의 패킷이 Unicast 형태가 아닌 Broadcast 형태로 전달될 수 있다.
여기서 한가지 짚고넘어가야할 점은 10Base-T1S가 Multi-drop으로 패킷을 송신하기 때문에 특정 노드가 10Base-T1S 버스를 사용 중이라면 다른 노드가 패킷 송신을 할 수 없도록 해야한다. 만약, 특정 노드가 버스를 사용 중일 때 다른 노드가 버스에 참여하게 되면은 충돌이 발생되어 많은 지연이 발생해 결국 대역폭을 잃어버리는 문제가 발생한다.
이러한 문제를 해결하기 위해 10Base-T1S의 표준인 IEEE 802.3cg에서는 기존 Ethernet의 CSMA/CD가 아닌 PLCA 방식을 채택하였다.
CSMA/CD를 사용하게 되면은 Backoff를 통해 자신의 전송 시간을 일정시간 지연시킴으로 상황에 따라 긴 지연이 발생할 수 있다.
10Base-T1S에서 채택한 PLCA를 통한 충돌을 해결하는 방법은 다음 섹션에서 설명한다.
PLCA(Physical Layer Collision Avoidance)
PCLA는 각 노드에 Time Slot을 부여하여서 각 노드가 자신의 Time Slot 때만 버스를 점유할 수 있도록 하는 방식이다. 이때, 각 노드가 Time Slot 때 패킷을 전송할 수 있도록 PLCA Coordinator(Master 혹은 Head Node라고도 불림)노드가 존재한다.
많은 차이점이 있지만, TDMA와 Round-Robin을 이해하고 있다면 도움이 된다.
10Base-T1S는 네트워크 내의 모든 노드는 고유한 ID를 갖는다. 여기서 ID가 0에 해당하는 노드가 Coordinator 역할을 한다. Coordinator는 모든 노드로 Beacon을 전송하며, 이 Beacon이 전송되었을 때 한 Cycle이 시작된다. 한 Cycle은 Time Slot으로 나뉘어지며, 각 Time Slot은 고유한 ID와 매핑된다. 다시 말해, 고유한 ID를 갖는 디바이스는 자신의 Time Slot에서만 데이터를 전송할 수 있는 것이다.
모든 노드는 Beacon 신호를 지연 없이 수신한다.

위 그림에서 볼 수 있듯이 Coordinator가 Beacon을 전송하면 그때부터 10Base-T1S 네트워크에 존재하는 모든 노드들의 ID 순서대로 전송을 시작한다. 전송을 시작하려는 노드는 Commit 신호를 다른 모든 노드로 전송한 뒤 자신이 버스를 점유한다는 것을 공지하고 Data 전송을 시작한다[9][10].
전송할 Data가 없는 노드의 Time Slot은 빠르게 끝날 수 있도록 해서 다음 노드로 기회를 빠르게 넘긴다. 이때는 to_timer를 사용한다. to_timer는 1에서 255 사이의 정수 값과 비트 타임으로 표현되며, 기본 값은 32비트 타임이다. 즉, to_timer 동안 Commit을 받지 못한 다음 ID에 해당하는 노드는 자신에게 기회가 왔음을 인지하고 이후에 Commit을 전송한 뒤 Data를 전송할 기회를 갖는다 [9][10] .

또한, 특정 노드가 Data를 전송할 때 Data의 크기가 Ethernet Frame의 Max Size(1538 Bytes)라면 Time Slot안에 Data를 전송하기 힘들다. 이때에는 Data를 전송하는 노드가 Time Slot을 넘겨서 전송할 수 있도록 한다. PLCA에서는 Max Size의 Data를 전송하는 노드가 Time Slot을 넘겨서 전송할 수 있도록하기 위해 다른 노드들이 전송에 참여하지 않는 방식을 사용한다. 이 방식을 지원하기 위해 다른 노드가 버스가 사용 중(Busy)인지 지속적으로 확인한다. PLCA에서는 MAC과 MII 사이에 Reconciliation Sublayer(RS 부계층)을 두어서 캐리어 감지(Carrier Sense)를 통해 버스의 Busy 상태를 확인한다[10].
References
[1] https://www.microcontrollertips.com/zonal-e-e-will-transform-automotive-architectures/
[2] https://journal-home.s3.ap-northeast-2.amazonaws.com/site/2020kics/presentation/0163.pdf
[3] https://ironbell.tistory.com/entry/can01
[4] https://www.graniteriverlabs.com/ko-kr/technical-blog/automotive-ethernet-10-base-t1s
[6] https://www.youtube.com/watch?v=IE74sWRkGqA
[7] https://www.youtube.com/watch?v=_JNemJf65q8
[8] https://www.ieee802.org/3/cg/public/July2018/PLCA%20FAQ.pdf
[9] https://www.teledynelecroy.com/doc/10base-t1s-auto-ethernet-tech-brief
[10] https://journal.kics.or.kr/digital-library/manuscript/file/37503/NODE10605141.pdf
'Network > TSN' 카테고리의 다른 글
| On the Reliability of IEEE 802.1CB FRER 간략히 정리 (2) | 2025.01.12 |
|---|---|
| gPTP(Generalized Precision Time Protocol)란? (1) | 2024.12.06 |



