팜테크(FAMTECH)
Classsical CAN과 CAN FD BUS 통신 차이점, 데이터 프레임 분석(Data Frame) 본문
Classsical CAN과 CAN FD BUS 통신 차이점, 데이터 프레임 분석(Data Frame)
FAMTECH 2023. 11. 13. 08:20
목차
"관련제품 문의는 로고 클릭 또는 공지사항의 연락처를 통해 하실 수 있습니다."
Classsical CAN과 CAN FD 비교
Classical CAN과 CAN FD 간의 주요 차이점은 제공하는 데이터 속도에 있습니다.
Classical CAN은 11비트(Standard) 및 29비트(Extended) 데이터 속도를 제공하는 반면, CAN FD는 이름에서 알 수 있듯이 0에서 64바이트 범위의 프레임당 유연한 데이터 속도를 제공합니다. 이 두 기술은 자동차 산업에서 데이터와 기술에 대한 끊임없이 증가하는 요구를 지원하기 위해 보쉬(BOSCH)에 의해 개발되었습니다.
기본적으로, 일반적으로 알려진 Classical CAN은 처음 발명된 것이었습니다. 보쉬는 원래 자동차 애플리케이션을 위한 통신 프로토콜인 제어 영역 네트워크 버스(CAN Bus)를 만들었습니다. 차량이 혁신적이게 되고 여러 ECU가 등장함에 따라 복잡성, 속도 및 대량의 데이터에 대한 요구를 정당화할 수 있는 통신 방법을 도입할 필요가 있었습니다. 시간이 지나면서 발전이 빠르게 이루어졌고, 다양한 모듈 간의 통신을 위해 수킬로미터의 전선을 차량에 설치하는 것은 공정하지 않다고 여겨졌을 때, CAN 버스가 중요한 역할을 했습니다.
반면에, CAN FD는 Classical CAN이 지원해야 할 기술에 비해 부족해질 때 원래 CAN-Bus 프로토콜의 발전된 형태로 출시되었습니다. CAN 유연 데이터 속도(CAN Flexible Data rate, ISO 11898-1:2015에 명시됨)는 상황에 맞춰 Flexible 한 대응이 가능합니다. 이 유연한 신호 전송은 증가된 대역폭을 가진 자동차 전자 통신을 제공하며, 비용 효율적으로 모든 필요한 기능을 제공합니다. 또한, 거의 모든 기능에 대한 업그레이드를 제공하며 더 진보된 데이터와 대역폭 요구 사항에 대한 더 나은 대안입니다.
Classical CAN 2.0 버스는 많은 ECU가 있고 대역폭 활용이 적은 애플리케이션에 이상적인 선택이 됩니다. Classical CAN 버스는 프레임당 최대 8바이트의 최대 메시지 페이로드를 1Mbps의 최대 데이터 속도로 지원합니다. CAN FD는 프레임당 0, 8, 12, 16, 20, 24, 32, 48, 64바이트 범위의 유연한 메시지 페이로드를 2, 5, 8Mbps의 데이터 속도로 지원합니다. 또한, CAN FD 프로토콜은 중재(arbitration) 단계와 데이터 단계에 대해 두 개의 독립적인 비트 속도를 가지고 있습니다. 중재 단계는 Classical CAN과 동일한 비트 타이밍을 사용하지만, 데이터 비트 속도는 중재 비트 속도와 동일하거나 더 높습니다.
요약하자면, CAN FD는 Classical CAN보다 향상된 데이터 처리 능력과 유연성을 제공하여 자동차산업에서 요구하는 높은 데이터 전송 속도와 복잡한 통신 요구 사항을 충족시키는 데 적합합니다. 이러한 기술적 진보는 자동차 산업의 발전에 매우 중요한 역할을 하고 있습니다.
CAN 데이터 프레임 비교
Frame Format for a standard CAN bus (11 bit)
- SOF (Start of Frame): 데이터 프레임의 시작을 표시합니다. 이는 Dominant0으로 표시됩니다.
- 주소 필드 (Address Field): 데이터의 우선 순위를 결정합니다. 주소가 낮을수록 우선 순위가 높습니다. 최대한 많은 지배적인 "0"을 가진 주소가 가장 높은 우선 순위를 갖습니다. 동일한 시간에 두 노드가 같은 메시지 주소를 전송할 수는 없습니다.
- RTR (Remote Transmission Request): 지속적으로 데이터를 보낼 필요가 없는 노드로부터 데이터를 요청하는 데 사용됩니다. 특정 노드와의 통신을 원하는 경우에 사용됩니다. 이는 노드 간 직접 통신이 이루어지기 때문에 버스의 혼잡을 직접적으로 줄입니다.
- 중재 (Arbitration): 어떤 노드가 특정 시점에 마스터가 될지 결정하는 과정입니다. 다른 노드가 논리적 "0"을 전송할 때 논리적 "1"을 전송하는 노드는 중재에서 "탈락"하거나 패배합니다. 첫 번째 "1"을 전송하는 노드가 중재에서 패배한다는 의미이며, 지배적인 "0"이 항상 승리합니다. 중재에서 패배한 노드는 메시지를 재전송 대기열에 다시 넣고, CAN 프레임 비트 스트림은 오류 없이 계속 진행되어 단 하나의 노드만 전송하게 됩니다.
- IDE (Identifier Extension Bit): 미래의 사용/확장을 위한 것입니다. 순응적인 IDE는 주소의 추가 18비트를 결과적으로 가져옵니다.
- RSRV (Reserve Bit): 이름에서 알 수 있듯이, 미래의 업그레이드를 위해 예약되어 있습니다.
- DLC (Data Length Code): 데이터 길이 코드(0-8바이트).
- DATA: 사용자 정의 데이터(0-64비트).
- CRC (Cyclic Redundancy Check): 오류/데이터 손상 감지를 위한 것입니다.
- ACK (Acknowledgement): 수신측에서의 승인.
- EOF (End of Frame): 프레임의 끝을 나타냅니다. 7비트 순응적 "1".
Frame Format for CAN FD
- RRS (Remote Request Substitution): 항상 Dominant 0으로, CAN FD에서는 원격 프레임이 전혀 지원되지 않습니다. (Classical CAN에서는 데이터 프레임과 원격 프레임을 식별하기 위해 RTR (Remote Transmission Request)가 사용됩니다.)
- FDF (Flexible Data Rate Format): 항상 Recessive 1로, 유연한 데이터 프레임 형식 사용을 나타냅니다.
- EDL (Extended Data Length): 항상 Recessive 1로, CAN FD에서 더 큰 페이로드와 더 빠른 비트 전송률을 관리합니다.
- BRS (Bit Rate Switch): 데이터 프레임의 비트 전송률을 결정하는 데 도움을 줍니다. 지배적인 0은 CAN FD 데이터 프레임의 중재 전송률이 최대 1Mbit/초임을 나타내며, 순응적인 1은 최대 5Mbit/초에 이르는 더 높은/빠른 중재 전송률을 나타냅니다.
- ESI (Error State Indicator): 오류 상태를 나타냅니다. 지배적인 0은 오류 활성 모드를, 순응적인 1은 오류 수동 모드를 나타냅니다.
- DLC (Data Length Code): CAN FD에서는 4비트 코드로, 프레임의 데이터 바이트 수를 나타냅니다. DLC 값(1001부터 1111까지)은 12, 16, 20, 24, 32, 48, 64바이트의 데이터 길이를 지정하는 데 사용됩니다.
- CRC (Cyclic Redundancy Check): 데이터의 양에 따라 17비트(16바이트 이하의 데이터에 대해) 또는 21비트(20-64바이트의 데이터에 대해) 길이입니다. 이 길이는 EDL 및 DLC 비트의 길이에 따라 달라집니다. CAN FD는 통신 신뢰성을 높이기 위해 항상 4개의 고정 스터프 비트를 사용합니다.
Classical CAN과 CAN FD 비교 정리
Classical CAN
- 케이블 사용: 트위스트 와이어 케이블 쌍을 사용합니다.
- 간단한 핸들링: 사용 및 관리가 용이합니다.
- 다중 ECU 연결: 같은 CAN 버스에 여러 ECU를 연결할 수 있습니다.
- 자동차 통신 지원: 고속 및 효율적인 자동차 통신을 지원하기 위해 개발되었습니다.
- 경량화 및 비용 절감: 무게 감소와 전선 비용 절감을 제공합니다.
- 오류 감소: 통신 오류가 줄어듭니다.
- 빠른 데이터 교환: 우선 순위가 높은 데이터가 버스에 먼저 액세스할 수 있도록 하는 중재 과정을 사용합니다.
- 업그레이드 가능성: 시스템 업그레이드의 가능성이 있습니다.
- 표준 CAN 2.0A: 11비트 데이터 전송을 허용합니다 (총 2048개의 고유 메시지 가능).
- 확장된 CAN 2.0B: 29비트 데이터 전송을 허용합니다 (총 5억 3600만 개 이상의 메시지 가능).
CAN FD (Flexible Data-rate)
- 속도 유연성: 빠르거나 느린 데이터 속도 간의 전환 가능성.
- 프로토콜 효율성 증가: 프로토콜 효율성이 향상되었습니다.
- 프로토콜 오버헤드 감소: 프로토콜 오버헤드가 줄어들었습니다.
- 더 많은 데이터: 단일 메시지에 더 많은 데이터를 담을 수 있습니다.
- 신뢰성 향상: 전반적인 신뢰성이 향상되었습니다.
- 네트워크 대역폭 개선: 네트워크 대역폭이 개선되었습니다.
- 통신 속도 및 효율성: 여러 ECU 간의 통신이 최대 30배 더 빨라지고 효율적입니다.
- 오류 감지 개선: 고급 CRC를 통한 오류 감지 능력이 향상되었습니다.
Classical CAN은 기본적인 차량 내 네트워킹 요구사항에 적합하며, CAN FD는 데이터 전송 속도와 효율성이 더 중요한 최신 시스템에 적합합니다. CAN FD는 Classical CAN의 기능을 확장하고 향상시킨 버전이라고 할 수 있습니다.
팜테크에서는 Influx사의 CAN 제품을 제공하고 있습니다. 제품에 관심이 있으시다면 아래 연락처 또는 홈페이지에 문의 남기시면 됩니다.