Flexible Data Rate를 사용한 CAN (CAN FD) 이해하기

개요

현대 차량에서 전자 장비와 데이터의 양이 지속적으로 증가함에 따라 CAN FD (Flexible Data-Rate) 프로토콜은 업계 및 소비자 요구를 충족하기 위해 만들어졌습니다. 따라서 자동차 산업의 엔지니어들은 프로토콜의 기능을 활용하기 위해 이를 더 깊이 이해해야 합니다. 이 백서에서는 새로운 프로토콜의 도입 배경, 기존 CAN과 차별화되는 주요 기술 스펙, 그리고 CAN FD 디바이스의 테스트 및 시뮬레이션에 사용할 수 있는 NI 도구를 소개합니다.

내용

CAN FD와 CAN의 비교가 필요한 이유

CAN (Controller Area Network) 프로토콜은 1980년대부터 사용되어 왔으며, ECU와 센서 통신에 가장 널리 사용되는 차량 내 네트워크가 되었습니다.   그러나 기존 CAN의 대역폭은 1 Mbit/s 이하로 제한되며, 프레임당 최대 페이로드 크기는 8 바이트입니다. CAN FD는 더 높은 대역폭(일반적으로 2 또는 5 Mbit/s)과 프레임당 최대 64 바이트의 페이로드 크기로 두 가지 사양 모두를 개선합니다. 자동차에 대한 소비자, 안전, 법적 요구가 증가함에 따라 데이터를 전송하는 임베디드 전자 장치의 수가 지속적으로 증가하고 있으며, 제어 및 진단 데이터에 사용되는 데이터의 양은 더욱 빠르게 증가하고 있습니다.  이로 인해 오늘날 차량에 필요한 기능을 구현하기 위해 차량 내부에서 더 많은 데이터를 전송할 필요가 생겼습니다.  하지만 자동차 내의 모든 작업과 마찬가지로 이를 수행하는 비용은 매우 중요하며, 업계가 이를 대규모로 도입하려면 비용을 최소화해야 합니다.  CAN FD 프로토콜은 두 가지 주요 업계 요구사항을 충족함으로써 이를 달성합니다.

자동차 전자 통신 대역폭 증가

ISO 11898 표준에 정의된 원래 CAN 스펙은 네트워크 통신을 최대 1 Mbit/s의 대역폭으로 제한합니다.  이 제한으로 인해 자동차 공급업체와 제조업체는 필요한 데이터를 전송하기 위해 차량에 추가적인 CAN 네트워크를 설계해야 합니다.  그러나 자동차 내 네트워크가 늘어나면 상당한 추가 배선이 필요하며, 이는 차량의 무게를 증가시키고 성능과 연비를 저하시킵니다. 

CAN FD는 1 Mbit/s 이상의 비트레이트를 허용하고, CAN FD 메시지의 페이로드를 기존 최대치인 8바이트 이상으로 늘림으로써 대역폭 제한 문제를 해결합니다.  많은 자동차 업체들은 아직 차량에서 사용할 비트레이트를 검토 중이지만, 가장 흔히 쓰이는 것은 2 Mbit/s와 5 Mbit/s이며, 일부는 ECU 플래싱이나 긴 메시지 전송 같은 주요 어플리케이션에 최대 8 Mbit/s를 사용하는 방안을 고려하고 있습니다.  CAN FD 포맷 프레임은 단일 메시지에 최대 64 바이트를 허용하여 페이로드 지원을 크게 증가시킵니다.

 

그림 1. CAN FD 페이로드의 더 빠른 비트 속도는 단일 메시지에 더 많은 데이터를 담을 수 있게 해줍니다.

업그레이드 및 마이그레이션 비용 최소화

CAN 이외에도 1 Mbit/s보다 높은 통신 대역폭을 가진 차량 내 네트워크가 있습니다.  그러나 FlexRay, 자동차 이더넷과 같은 네트워크는 CAN 물리 계층과 크게 다르기 때문에, 공급업체와 OEM이 CAN 대신 이 네트워크를 지원하도록 전환하려면 막대한 비용이 발생합니다. 

CAN FD는 고속 CAN과 물리 계층이 동일하기 때문에 이러한 문제에도 이상적인 해결책이 됩니다.  하드웨어의 유일한 차이점은 더 빠른 속도를 허용하는 인증된 트랜시버와 함께 새로운 프로토콜 컨트롤러를 사용하는 것입니다.  또한 메시지 포맷이 매우 유사하기 때문에 소프트웨어 변경은 최소화됩니다.  실제로 최대 1 Mbit/s 및 8 바이트 페이로드로 CAN FD 메시지를 사용할 때는 소프트웨어 변경이 필요 없습니다.

CAN FD 메시지 포맷

일반적인 CAN 메시지 포맷과 CAN FD 메시지 포맷은 유사하지만, 고려해야 할 몇 가지 중요한 차이점이 있습니다.  중요한 추가 사항과 CAN FD 메시지 포맷 스펙은 다음과 같습니다.

 

그림 2. CAN FD 메시지 포맷에는 더 큰 페이로드와 더 빠른 비트 속도를 위한 특정 필드가 있습니다.

  • 확장 데이터 길이 (EDL): 표준 CAN 프레임에서 IDE 비트 또는 RTR 비트 뒤에 위치하며, 열성으로 전송되는 예약 비트입니다.
  • r1, r0: r1은 향후 프로토콜 확장용으로 예약되며, r0은 옵션 비트 속도 스위치 전에 재동기화에 사용됩니다.  두 비트 모두 도미넌트로 전송됩니다.
  • 비트 속도 스위치 (BRS): 도미넌트 전송은 데이터 페이즈의 비트레이트가 아비트레이션 페이즈와 동일함을 의미하며, 열성 전송은 데이터 페이즈에서 더 빠른 비트레이트를 의미합니다.
  • 에러 상태 표시자 (ESI): 에러 액티브에서는 도미넌트 전송, 에러 패시브에서는 열성 전송을 의미합니다.
  • 데이터 길이 코드(DLC): 1001부터 1111까지의 DLC 값은 12, 16, 20, 24, 32, 48, 64 바이트의 데이터 길이를 지정하는 데 사용됩니다.
  • 주기적 이중화 검사(CRC): CRC의 길이는 DLC와 EDL의 길이에 따라 달라집니다. CRC는 CAN 메시지의 경우 15비트, CAN FD의 경우 17비트 또는 21비트입니다.

 

CAN FD 통신을 위한 NI 도구

NI-XNET 제품군의 CAN 인터페이스는 새로운 표준 및 프로토콜에 쉽게 적응할 수 있도록 설계된 고성능 모듈입니다.  CAN FD 물리 계층은 고속 CAN과 매우 유사하기 때문에, 고속 CAN 통신을 지원하는 모든 NI-XNET CAN 인터페이스는 최대 8 Mbit/s의 비트 속도로 CAN FD를 지원합니다. 

CAN FD 통신을 지원하는 현재 제공되는 인터페이스 목록은 다음과 같습니다:

  • NI-9862
  • USB-8502
  • NI PXI-8513/2
  • NI PXI-8513
  • NI PXI-8512/2
  • NI PXI-8512
  • NI PCI-8513/2
  • NI PCI-8513
  • NI PCI-8512/2
  • NI PCI-8512
  • PCIe-8510 (TRC-8542 또는 TRC-8543 포함)
  • PXIe-8510 (TRC-8542 또는 TRC-8543 포함)
  • NI-9860 (TRC-8542 또는 TRC-8543 포함)

이 인터페이스는 강력하고 직관적인 NI-XNET API와 결합하여 전체 개발 주기 동안 CAN FD 테스트 및 시뮬레이션을 위한 유연한 도구를 제공합니다.