새로운 CAN FD 프로토콜은 프레임당 최대 64데이터 바이트를 지원하며, 중재 필드가 완료된 후에는 프레임 전송 중에도 비트율을 증가시킬 수 있다. 이러한 특성은 물리계층에 어떤 영향을 미칠까? CAN FD 프로토콜과 물리계층 간의 상호작용에 관한 몇 가지 흥미로운 사실에 대해 다룬다.
CAN FD와 루프 지연 대칭
과거에는 트랜시버의 루프 지연이 가장 중요한 타이밍 파라미터였다. 이 파라미터는 TXD 입력과 RXD 출력 간의 상승/하강 구간에서 측정되는데, 두 구간의 측정값이 모두 255 ns 미만이어야 한다. 이 두 파라미터를 일치시키는 것이 지금까지는 별로 중요하게 여겨지지 않았지만 지금은 그렇지 않다. CAN FD에서는 고속 위상에서의 비트 타임이 아주 짧아질 수 있다. 리세시브 레벨이 적극 구동되지 않는 도미넌트/리세시브(dominant/ recessive) 버스 레벨 구조에서는 물리계층이 리세시브 비트를 짧게 줄이는 경향이 있다. 이미 짧아진 비트를 더 짧게 줄이면 디코딩 오류가 발생할 수 있기 때문에 이를 제한할 필요가 있는데, 곧 출시될 ISO118989-2의 개정안 초안에 이러한 내용에 대한 첫 제안이 포함됐다.
지연시간이 500 ns(2 Mbps의 비트율에 해당)로 전송된 리세시브 비트는 최소 지연시간 400 ns로 수신되고, 비트율이 5 Mbps인 경우에는 지연시간 200 ns로 전송돼 최소 지연시간 120 ns로 수신된다.
이러한 조건은 트랜시버 레벨에 정의되는데, 이런 경우 큰 전기배선(wire harness)이 사용되는 실제 시스템에서는 수신 비트가 훨씬 더 짧아질 수도 있다는 의미이다.
데이터 필드의 비트율이 1 Mbps를 초과하는 CAN FD를 적용할 경우, 이 파라미터는 새로운 중요한 역할을 하게 된다. 기존 트랜시버는 대부분 최대 2 Mbps의 비트율을 요구하는 이 새로운 파라미터의 조건을 충족시킨다. 잘 알려진 몇몇 CAN 트랜시버의 최근 데이터시트가 곧 공개될 예정이다. NXP의 맨티스 제품군에 속하는 “GT” 제품인 TJA1044GT와 TJA1057GT도 최대 5 Mbps를 지원함으로써 이 새로운 조건을 충족하고 있다.
CAN FD와 케이블 길이
중재(arbitration)를 위해 비트율을 낮추면, CAN 시스템 내에서 거리가 가장 멀리 떨어진 노드 간의 케이블 길이를 더 연장할 수 있다. 이 경우 클래식 CAN에서는 대역폭이 줄어들지만, CAN FD에서는 데이터 필드의 비트율이 높아져 중재 시의 대역폭 손실이 보상돼 대역폭이 그대로 유지되거나 더 증가하기도 한다. 그림 1은 500 kbps의 클래식 CAN 프레임과 중재 시 비트율 400 kbps, 데이터 필드에서 비트율이 800 kbps인 CAN FD를 나타낸다.
여기서 11비트 식별자(ID)를 사용하고 8바이트 데이터를 보유하는 클래식 CAN 프레임은 500 kbps의 속도에서 200 μs가 걸리고, 11비트 식별자를 사용하고 8바이트 데이터를 보유하는 CAN FD 프레임은 약 160 μs가 걸린다(두 경우 모두 stuff bits, ACK, EOF 필드 포함).
이 예에서는 대역폭이 약 25% 증가되고 케이블 길이가 약 10 m 추가됐다.
CAN FD와 ACK
전체 케이블 길이가 긴 클래식 CAN 네트워크에서는 때때로 도미넌트 ACK 비트의 끝부분에서 도미넌트 레벨에서 리세시브 레벨로의 전환이 늦게 발생해 속도가 매우 느려지는 경우가 있다. 이는 단 하나의 노드(트랜스미터)를 제외한 모든 노드가 동시에 도미넌트 ACK 비트를 전송해 버스에서 최고의 차동 전압이 발생하게 되는데, 그림 2에서 보는 바와 같이 전기적인 거리가 가장 큰 노드도 여기에 영향을 미치게 된다.
이러한 효과로 인해, 어떤 노드들은 ACK delimiter를 도미넌트 레벨로 샘플링하는데, 이것은 클래식 CAN에서 폼 오류(form error)로 인식된다. 그 결과 오류 플래그가 전송되고 해당 프레임은 거부돼 프로세스를 다시 반복해야 한다. CAN FD에서는 CAN FD 프레임 후에 도미넌트 ACK delimiter의 수신이 허용돼 오류로 인식되지 않기 때문에 이러한 현상이 발행하지 않는다.
CAN FD와 EMC
데이터 필드의 비트율을 증가시키면 시스템 전체의 EMC 성능에 영향을 미친다. 전자파는 신호의 모양과 시간당 신호 에지의 수로 결정된다. 따라서 시간당 에지의 수가 2배로 증가하면 전자파의 포락선(envelope)도 증가한다. 이것은 물리학 법칙이므로 트랜시버나 측정 방법(전도 측정이나 방사 측정)과는 무관하다. 그림 3은 500, 2000, 4000, 5000 kbps에서 공통 모드 인덕터(common mode choke) 없이 TJA1044GT(NXP의 맨티스 제품군)을 사용한 전도 방사 측정을 나타낸다.
CAN FD 프로토콜은 물론, 클래식 CAN 프로토콜도 수신 신호 에지의 지터 성능이 우수하다. 최신형 트랜시버를 사용해 보면 비트율을 증가시켰을 때 RF 내성(immunity)에 약간의 영향이 있음을 알 수 있다. 그림 4는 고속 위상 비트율을 기반으로 EMC 테스트 보드에서 CAN 통신을 저지하는데 필요한 RF 인젝션(DPI) 레벨을 나타낸다. 중재 비트율은 각각 500 kbps로 맞췄다. 테스트 중에 적용된 최대 순방향 전원은 40 dBm(10 W)이다. 그림 4와 같은 결과를 얻기 위해 공통 모드 인덕터 없이 맨티스 TJA1044GT 트랜시버가 사용됐다.
CAN FD와 부분 네트워킹
부분 네트워킹(partial networking)은 ISO11898-6로 표준화돼 있다. ISO11898에서 이 부분이 개발될 때만 해도 CAN FD는 태동기였기 때문에 고려되지 않았다. ISO11898-6의 개발이 지체되지 않도록 NXP는 CAN FD 시스템에서 발생하는 선별적인 웨이크업 문제의 해결 방법에 대한 제안서를 발표했다. 이 간행물(http://ip.com/IPCOM/000213467)은 이러한 호환성 모드에 대한 특허 시도를 사전에 저지하기 위한 소위 “방어적 간행물”이었다.
이 간행물의 배경이 되는 기술적 아이디어는 간단하다. CAN FD 프레임은 리세시브 FDF 비트에 의해 인식되고 무시된다는 것이다. 그 결과 물리계층 칩의 CAN 디코더는 부분 네트워킹 기능에 의해 CAN FD 프레임을 디코딩할 필요가 없게 된다. 그래도 웨이크업 프레임은 반드시 클래식 CAN 프레임이어야 한다.
FDF 비트는 프레임 포맷과 비트율이 바뀌기 전에 전송되기 때문에, CAN FD 프레임을 수신해도 FDF 비트에 앞서 디코딩 오류 감지를 위해 클래식 CAN 디코더가 부분 네트워킹 트랜시버에 삽입되지 않는다. 리세시브 FDF(또는 ‘구식’ 정의에 따라 r0) 비트를 수신한 후 물리계층의 클래식 CAN 디코더는 디코딩을 중단하고 버스의 아이들(idle)을 기다린다. 이러한 새로운 동작은 파트 2, 5, 6에 대해 현재 진행 중인 검토(및 통합) 과정에서 새로운 ISO11898-2에 추가될 것이다. TJA1145FD와 시스템 기본 칩인 UJA1168FD이 장착되고 “CAN FD Passive” 부분 네트워킹이 지원되는 제품이 현재 대량 생산되고 있다.
여기서 “passive”란 말은 “active”의 반대말이 아니다. “CAN FD Active”란 고속 위상에서 1 Mbps의 속도로 송수신할 수 있다는 의미이다. 불행히도, 지난 몇 달 동안 이 이상한 단어가 보편화돼 버렸다. “조용한(silent)”이나 “허용하는(tolerant)” 같은 속성들도 “CAN FD”와 관련해 사용되고 있다. 속성을 나타내는 이러한 표현들은 현재 일관성 없이 사용되고 있다.
CAN과 CAN FD의 호환성
클래식 CAN 컨트롤러는 CAN FD 프레임을 허용할 수 없기 때문에, 클래식 CAN 컨트롤러와 CAN FD 컨트롤러를 하나의 네트워크에 동시에 연결해야 할 때는 “CAN FD Passive” 부분 네트워킹이 유일한 해결책이다. 하나 이상의 클래식 CAN 컨트롤러가 동작 중일 때 CAN FD 컨트롤러는 CAN FD 프레임을 중단하고 클래식 CAN 프레임만 전송해야 한다. 모든 클래식 CAN 노드들의 물리계층을 CAN FD Passive 부분 네트워킹 슬립 모드나 대기 모드로 명령한 후에는 버스 라인을 통해 CAN FD 프레임을 전송할 수 있다. 전용 모듈에 SW 다운로드 등 특수한 상황에 이런 방식이 편리하다. 이러한 CAN FD 통신 위상은 클래식 CAN 포맷의 웨이크업 프레임(WUF)으로 종료된다.
이미 대량 생산에 사용되고 있는 이 솔루션 외에, NXP는 “FD shield”라는 새로운 개념을 내놓았다. FD shield 기능은 트랜시버에 구현할 수 있는데, 전송 측에서 중재 필드 이후에 CAN FD로 전환했을 때 트랜시버가 적절히 수신을 중단하도록 해준다. 게다가 CAN FD 프레임이 전송되는 동안에는 클래식 CAN 컨트롤러가 전송을 중단하게 된다.
클래식 CAN 컨트롤러를 때맞춰 해제하게 되면 클래식 CAN 프레임과 CAN FD 프레임들이 상호 중재해 마치 FD 실드 트랜시버를 제어하는 클래식 CAN 컨트롤러가 CAN FD 컨트롤러인 것처럼 동작하게 된다. 부분 네트워크 솔루션에서 언급한 대로, 이러한 구성에서 클래식 CAN 컨트롤러는 대기 모드나 슬립 모드가 아니다. CAN FD 프레임을 수신하지 않을 뿐, 진행 중인 통신에 항상 적극적으로 참여한다. FD shield는 Normal 모드와 Shield 모드 간에 역동적으로 전환된다. Shield 모드에서는 클래식 CAN 컨트롤러의 버스 연결이 끊어진다. FD 실드 트랜시버에 대한 TXD 입력은 무시되고 RXD 출력은 그림 5에서 보는 바와 같이 항상 도미넌트 상태를 유지한다.
CAN FD와 FT-CAN 물리계층
프레임당 데이터 속도를 최대 64바이트까지 증가시켜야 하는 등의 경우에 느린 비트율을 위해 클래식 CAN에서 CAN FD로 전환하는 것도 한 가지 방법일 수 있다. 물리계층에서는 프로토콜에 관여하지 않기 때문에 FT(fault tolerant)-CAN 물리계층과 연계해 CAN FD을 사용할 수 있다.
물론, CAN FD(부분 네트워킹이나 FD shield를 통한 클래식 CAN과의 혼용 여부에 관계없이)를 활용할 방법이 이것만 있는 것은 아니다. CAN FD 네트워크가 실제로 구현된 후에는 더 많은 아이디어들이 넘쳐날 것이다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>