전자회로 실무 / 통신 인터페이스·보호 회로

CAN 버스 종단 위치를 정하고 보호 부품은 조건에 맞춰 배치합니다 (CAN Bus Termination and Protection)

회로도에 CAN 트랜시버와 120 Ω 저항을 그려 놓았는데, 제작한 기판에서는 통신 오류가 나거나 전자파 시험 결과가 불안정할 때가 있습니다. CAN(Controller Area Network)은 두 선의 전압 차이로 데이터를 주고받지만, 어느 기판이 버스의 물리적 끝인지, 케이블에서 들어온 방전 전류가 어디로 빠지는지는 회로도만으로 정해지지 않습니다. 이 글에서는 종단 위치를 먼저 정하고, 보호·필터 부품이 필요한 조건을 가린 다음, 실제 배선과 실장 옵션을 확인하는 순서를 설명합니다.

버스의 끝을 확인한 뒤 종단을 정합니다

CAN 트랜시버(transceiver)는 제어기의 송신·수신 논리 신호를 버스의 두 선 CAN_H와 CAN_L에 연결하는 소자입니다. 두 선 사이의 전압 차이로 정보를 구분하는 방식을 차동 신호(differential signal)라고 합니다. 종단(termination)은 케이블 끝에서 신호가 되돌아오는 반사를 줄이기 위해 두 선 사이에 연결하는 저항입니다. 여러 노드를 하나의 케이블 줄기에 연결했다면, 종단은 통신을 시작한 장치가 아니라 케이블의 양 끝 노드에 놓습니다.

일반적인 고속 CAN 버스에서 양 끝에 각각 120 Ω을 두는 구성을 예로 들 수 있습니다. 기판이 끝 노드일 때에는 CAN_H와 CAN_L 사이의 종단을 실장하고, 중간 노드라면 같은 풋프린트를 비워 둡니다. 풋프린트(footprint)는 부품을 납땜할 패드와 실장 영역입니다. 연결된 버스의 양 끝에 120 Ω씩 두 개가 병렬로 보인다면, 전원을 끈 상태에서 선 사이의 저항은 이상적으로 120 Ω ∥ 120 Ω = 60 Ω입니다. 기호 ∥는 병렬 연결을 뜻합니다. 이는 배선 확인에 쓸 수 있는 간단한 점검값이지, 다른 바이어스·보호 회로가 있는 모든 제품에서 반드시 정확히 60 Ω이 측정된다는 보증은 아닙니다.

종단에는 두 형태가 있습니다.

형태끝 노드의 연결확인할 점
단일 종단(single termination)CAN_H와 CAN_L 사이에 120 Ω 저항 하나를 둡니다.부품표에서 끝 노드만 실장하도록 정합니다.
분할 종단(split termination)예를 들어 60 Ω 저항 두 개를 직렬로 이어 합계 약 120 Ω을 만들고, 두 저항의 중점에서 커패시터를 설계에서 정한 접지점으로 연결합니다.그림에 ‘120 Ω 종단’이라고 쓰였다고 두 저항을 각각 120 Ω으로 고르지 않습니다. 중점 커패시터의 값과 접지 연결은 사용 트랜시버·시스템의 권고 회로와 잡음 목표로 정합니다.

분할 종단의 커패시터는 두 선에 공통으로 실리는 잡음 성분에 귀환 경로를 마련할 수 있습니다. 그러나 임의의 접지점에 연결하면 그 경로가 다른 회로를 통과할 수도 있습니다. 절연형 포트인지, 외함과 신호 접지를 어떻게 나누는지 먼저 정하고 실제 부품의 권고 배치를 확인합니다. 특수한 다중 노드 버스에서 쓰는 고저항 보정 회로와 표준적인 양 끝 120 Ω 종단도 구별해야 합니다.

양 끝 종단과 중간 노드, 선택형 보호 부품의 배치 관계를 나타낸 설명용 도해입니다. 실제 부품값·절연 정격·배선 길이를 지정하지 않습니다.
양 끝 종단과 중간 노드, 선택형 보호 부품의 배치 관계를 나타낸 설명용 도해입니다. 실제 부품값·절연 정격·배선 길이를 지정하지 않습니다. · 클릭하면 확대됩니다.

초크와 보호 다이오드는 필요한 환경에 맞춥니다

공통 모드 초크(common-mode choke)는 두 선에 같은 방향으로 흐르는 고주파 잡음에 임피던스를 더하는 자성 부품입니다. 초크가 없으면 CAN 통신을 할 수 없다는 뜻은 아닙니다. 해당 트랜시버, 케이블, 외함과 요구되는 전자파 적합성(EMC, Electromagnetic Compatibility)·정전기 방전(ESD, Electrostatic Discharge) 조건을 보고 사용 여부를 정합니다. 초크의 누설 인덕턴스와 버스 핀·필터 커패시턴스가 공진하면 파형이 오히려 나빠질 수도 있습니다.

초크 사용 여부를 제작 뒤 시험으로 비교하려면 두 선 각각에 직렬로 들어가는 0 Ω 우회 저항의 대체 풋프린트를 설계할 수 있습니다. 초크와 우회 저항을 동시에 실장해 같은 선을 우회하지 않도록 부품표(BOM, Bill of Materials)에 옵션을 명시합니다. CAN_H와 CAN_L을 서로 0 Ω으로 연결하라는 뜻은 아닙니다.

커넥터를 통해 방전이 유입될 조건이라면 과도 전압 억제 다이오드(TVS, Transient Voltage Suppressor)도 검토합니다. 필요한 경우 커넥터 가까이에 두고, 방전 전류가 TVS에서 정해진 섀시 또는 귀환 경로로 짧게 빠지도록 배치합니다. TVS의 정상 동작 전압·클램프 전압·정전용량·펄스 정격은 실제 CAN 트랜시버의 버스 핀 허용 범위와 요구 시험에 맞춰 고릅니다. 보호 부품을 그려 넣었다고 해서 ESD 시험 통과가 보장되지는 않습니다. 버스 선에 더하는 필터 커패시터도 선택 사항이며, 값을 과하게 키우면 신호 전이가 느려질 수 있으므로 속도와 파형을 함께 확인합니다.

트랜시버에서 커넥터까지의 실제 경로를 따라갑니다

  1. 전원 핀부터 확인합니다. 트랜시버의 전원 핀과 접지 핀 사이에 바이패스 커패시터(bypass capacitor)를 가까이 두고, 전류가 돌아오는 배선을 짧게 만듭니다. 값과 개수는 선택한 소자의 데이터시트를 기준으로 합니다.
  2. 두 버스 선을 함께 추적합니다. CAN_H와 CAN_L이 트랜시버, 선택한 초크·우회 부품, 보호 소자, 커넥터로 이어지는 순서를 회로도와 모든 구리층에서 대조합니다. 두 선의 선폭·간격이 갑자기 달라지거나 한쪽에만 비아(via, 층을 잇는 도금 구멍)·불필요한 우회가 생기지 않도록 봅니다. 가지선인 스텁(stub)도 길어질수록 반사가 문제 될 수 있습니다. 다만 짧은 기판 배선에 어떤 임피던스 숫자를 무조건 강제하지 말고, 버스 속도·케이블·트랜시버 권고 조건에 맞춰 판단합니다.
  3. 방전과 귀환 경로를 나누어 봅니다. TVS 접지 패드에서 외함이나 지정 귀환점까지의 길이와 아래층 연결을 확인합니다. 두 선 아래의 기준면이 분할되어 신호 전류가 큰 우회로를 돌지 않는지도 살펴봅니다. 절연 경계가 있다면 임의의 동박·비아로 다시 연결하지 않습니다.
  4. 제작과 실장 옵션을 검토합니다. 선택한 초크·TVS·종단의 패드 간격, 두 선의 완성 선폭·선간 간격, 비아와 보호 동박의 간격을 실제 적층 및 제작사의 공차에 맞춰 확인합니다. 끝 노드용 종단, 중간 노드용 미실장, 초크/우회 저항 선택을 회로도·부품표·실장 도면에 같은 뜻으로 표시합니다.

전원을 끄고 종단을 측정한 뒤 통신을 시험합니다

버스에 연결된 장치의 전원을 모두 끄고 케이블과 종단 구성을 확인한 뒤, CAN_H–CAN_L 사이 저항을 재서 끝 노드 종단 누락이나 중복을 찾습니다. 60 Ω에 가깝지 않다면 무조건 저항만 바꾸기보다 실제 케이블 끝, 아직 켜져 있는 장비, 내부 바이어스·보호 경로를 먼저 확인합니다. 전원이 켜진 버스에 저항계를 대지 않습니다.

그다음 실제 케이블과 노드 수, 예정 속도에서 송·수신 오류와 CAN 두 선의 파형을 봅니다. 초크·필터·TVS 옵션을 바꾸었다면 같은 조건에서 파형과 오류를 비교합니다. 정해진 ESD/EMC 목표가 있는 제품은 해당 시험 절차로 검증하고, 시험 전후의 통신 상태까지 기록합니다. 책상에서 한 번 프레임을 주고받은 결과만으로 보호 성능이나 제조 양품을 판정하지 않습니다.

프레임 중재·오류 검사로 물리 배선까지 검사되지는 않습니다

클래식 CAN 데이터 프레임의 식별자는 메시지와 접근 우선순위를 구분합니다. CiA의 CAN CC 설명처럼 여러 송신자가 동시에 시작하면 중재 필드에서 자신이 보낸 recessive 비트와 관측한 dominant 비트를 비교합니다. 중재에서 진 노드는 송신을 멈추고 수신으로 전환하므로 승자의 프레임을 충돌로 파괴하지 않습니다. 같은 형식의 식별자를 비교할 때 작은 값이 우선하며, 표준·확장 프레임의 전체 중재 필드 차이를 생략해 모든 경우를 숫자 하나로 비교하지 않습니다.

CRC는 프레임 오류를 검출하는 수단일 뿐, 메시지를 인증하거나 오류가 전혀 없음을 증명하지는 않습니다. Bosch M_TTCAN 3.3.0 §3.1.7은 중재 상실·전송 오류 후 자동 재전송과 이를 끄는 DAR 설정을 구분합니다. 실제 컨트롤러의 모드, 오류 상태와 bus-off 복구 정책을 확인합니다. 재전송이 있다는 이유로 접지·종단·배선 불량을 해결됐다고 판단하지 않습니다.

저항망의 공통핀과 버스별 연결 목적을 먼저 구별합니다

저항 네트워크의 외형이 같아도 내부 연결이 다를 수 있습니다. 예를 들어 Bourns 4600X 자료, 2쪽는 각 저항이 독립된 두 핀 사이에 놓이는 102 회로와, 저항들이 공통 버스 핀을 공유하는 101 회로를 구별합니다. 먼저 정확한 품번의 내부 회로와 핀 번호를 확인하고, 소자당 전력뿐 아니라 패키지 전체의 열 조건도 검토합니다. 이 예로 출처 사진 속 저항망의 핀 배열을 확정할 수는 없습니다.

  • I²C 풀업: 각 신호선과 해당 전원 사이의 연결입니다. LOW 전류와 상승시간을 함께 만족해야 하며, 반사 방지용 CAN 종단과 같은 연결이 아닙니다. 풀업 합산과 동작 범위, NXP UM10204.
  • 고속 CAN 종단: 버스의 물리적 끝에서 CAN_H와 CAN_L 사이에 놓이며 케이블 특성·트랜시버 조건에 맞춥니다. 일반적인 양끝 120 Ω 방식과 분할 종단은 TI SLLA270, 4.5절의 별도 구성입니다. 모든 노드의 신호선을 같은 공통핀에 묶는 뜻이 아닙니다.
  • LED 전류 제한: 개별 제어하는 LED는 각 가지 전류 경로에 저항을 둡니다. 공급전압·LED의 전류별 순방향 전압·드라이버 출력과 허용 전력을 대조합니다. 여러 LED를 한 저항 뒤에 병렬로 묶으면 전류가 균등하다고 보장할 수 없습니다. Vishay LED 전기·열 특성 예.

공통형 저항망을 쓸 수 있는지는 실제로 공통이어야 하는 노드가 있는지로 판단합니다. “통신용 저항 네트워크”라는 용도명만으로 I²C 풀업·CAN 종단·LED 가지 저항을 서로 바꾸지 않습니다.