ROBOT ENGINEERING NOTES

로봇과 AMR의
전장 설계부터 인증까지

회로 실무, 산업자동화, Functional Safety, ISO 규격과 로봇 인증을 실제 설계 관점에서 정리합니다.

회로 실무 AMR / AGV Functional Safety ISO 13849 EMC / CE
AMR ENGINEERING GUIDE →

【통신 실무】 CAN_H와 CAN_L 전압은 몇 V가 정상일까? | CAN 신호 측정 방법

반응형

 

 

 

【로봇-AMR 실무】 페라이트 코어 선정 방법 | EMC 시험, 주파수, 임피던스, 케이블 직경 비교

로봇의 EMC 시험을 진행하다 보면 특정 주파수에서 Radiated Emission Margin이 부족하게 나오는 경우가 있다. 이때 현장에서 빠르게 적용하는 대책 중 하나가 케이블에 Clamp Type Ferrite Core를 추가하는 방

terrypack.tistory.com

 

【통신 실무】 CAN 통신에서 120Ω 종단저항을 사용하는 이유 | 60Ω이 측정되는 이유

AMR이나 산업용 로봇을 개발하다 보면 Motor Driver, Battery BMS, Lift Controller, Sensor 등 여러 장치를 CAN 통신으로 연결하는 경우가 많다.CAN 배선을 처음 구성할 때 가장 많이 나오는 질문 중 하나가 있다.

terrypack.tistory.com

 

CAN 통신이 되지 않을 때 120Ω 종단저항 다음으로 많이 확인하는 것이 CAN_H와 CAN_L 전압이다.

실제 장비에서 Multimeter를 대보면 CAN_H와 CAN_L 모두 2V대 전압이 나오기도 하고, Oscilloscope로 확인하면 두 신호가 반대 방향으로 움직이는 것을 볼 수 있다.

그렇다면 정상적인 CAN 통신에서는 CAN_H와 CAN_L이 각각 몇 V 정도 나와야 할까?

핵심 일반적인 High-speed CAN에서는 Recessive 상태에서 CAN_H와 CAN_L이 모두 약 2.5V 부근에 위치하고, Dominant 상태에서는 CAN_H가 약 3.5V, CAN_L이 약 1.5V 방향으로 벌어진다.

CAN은 전압 하나가 아니라 두 신호의 차이를 본다

CAN 통신은 CAN_H와 CAN_L이라는 두 개의 신호선을 사용한다.

중요한 것은 각 신호의 절대전압 하나만 보는 것이 아니라 CAN_H와 CAN_L 사이의 전압 차이를 이용해 데이터를 판단한다는 점이다.

CAN_H + CAN_L Differential Voltage Bit 판단

이 때문에 CAN은 Motor Driver, DC/DC Converter, Inverter 등 Noise가 많은 산업용 장비와 로봇에서도 많이 사용된다.

Recessive와 Dominant란?

CAN 신호를 이해하려면 먼저 RecessiveDominant 두 상태를 알아야 한다.

상태 CAN_H CAN_L 전압 차이
Recessive 약 2.5V 약 2.5V 거의 0V
Dominant 약 3.5V 약 1.5V 약 2V

위 전압은 High-speed CAN을 이해하기 위한 대표적인 값이다.

실제 전압은 사용하는 CAN Transceiver, Supply Voltage, Common-mode 조건, Cable과 부하 등에 따라 조금씩 달라질 수 있다.

중요
CAN_H가 반드시 정확히 3.500V, CAN_L이 정확히 1.500V가 되어야 정상이라는 의미는 아니다. 실제 제품에서는 사용하는 Transceiver의 데이터시트와 허용범위를 함께 확인해야 한다.

Recessive 상태에서는 왜 둘 다 약 2.5V일까?

Bus에 Dominant 신호를 출력하는 Node가 없으면 CAN Bus는 Recessive 상태가 된다.

이 상태에서는 CAN_H와 CAN_L의 전압 차이가 매우 작기 때문에 Receiver는 Recessive Bit로 판단한다.

CAN_H ≈ 2.5V CAN_L ≈ 2.5V Differential ≈ 0V Recessive

CAN 통신이 쉬고 있는 Idle 상태에서는 Oscilloscope에서 두 신호가 비슷한 전압에 머무는 모습을 볼 수 있다.

Dominant 상태에서는 어떻게 변할까?

CAN Node가 Dominant Bit를 출력하면 두 신호가 서로 반대 방향으로 움직인다.

대표적으로 CAN_H는 약 3.5V 방향으로 올라가고 CAN_L은 약 1.5V 방향으로 내려간다.

CAN_H ↑ + CAN_L ↓ 약 2V 차이 발생 Dominant

즉 CAN Receiver는 CAN_H가 몇 V인지 하나만 보는 것이 아니라 두 신호가 얼마나 벌어졌는지를 확인한다.

멀티미터로 측정하면 몇 V가 나올까?

현장에서 가장 쉽게 사용하는 장비는 Multimeter다.

하지만 CAN은 빠르게 High와 Low가 반복되는 통신신호이기 때문에 Multimeter에서는 순간적인 파형을 그대로 볼 수 없다.

대신 일정 시간 동안의 평균적인 전압에 가까운 값이 표시된다.

그래서 통신 중에는 다음처럼 보일 수 있다.

측정 대상 관찰 가능한 예
CAN_H → GND 약 2.5V보다 조금 높은 값
CAN_L → GND 약 2.5V보다 조금 낮은 값
통신이 없는 Idle 상태 두 신호 모두 비슷한 전압

실제 값은 Network Traffic에 따라 달라진다.

예를 들어 Dominant Bit의 비율이 많으면 CAN_H의 평균값은 올라가고 CAN_L의 평균값은 내려갈 수 있다.

주의
Multimeter로 CAN_H 2.7V, CAN_L 2.3V가 측정되었다고 해서 파형이 정상이라고 판단할 수는 없다. Multimeter는 빠른 CAN Waveform을 평균값 형태로 보여주기 때문에 정확한 신호품질 확인에는 Oscilloscope가 필요하다.

CAN 신호는 Oscilloscope로 보는 것이 가장 좋다

CAN 통신 문제를 정확하게 확인하려면 Oscilloscope를 사용하는 것이 좋다.

일반적으로 다음과 같이 측정할 수 있다.

CAN Waveform 측정 방법
CH1을 CAN_H에 연결한다.
CH2를 CAN_L에 연결한다.
Probe Ground는 회로의 적절한 Signal Reference에 연결한다.
CAN_H와 CAN_L이 서로 반대 방향으로 변화하는지 확인한다.
필요하면 Math 기능으로 CAN_H - CAN_L을 확인한다.

Oscilloscope의 Math 기능으로 다음을 확인하면 CAN의 Differential Signal을 보기 쉽다.

Vdiff = CAN_H - CAN_L

Recessive 상태에서는 Differential Voltage가 거의 0V에 가깝고 Dominant 상태에서는 대표적으로 약 2V 수준으로 증가한다.

CAN_H와 CAN_L 중 하나가 0V에 붙어 있다면?

정상적인 CAN Bus에서 한쪽 신호가 계속 0V에 고정되어 있다면 문제가 있을 가능성이 높다.

측정 상태 확인할 가능성
CAN_H ≈ 0V CAN_H Short to GND, 배선 이상, Transceiver Fault
CAN_L ≈ 0V CAN_L Short to GND, 배선 이상, Transceiver Fault
CAN_H ≈ Supply Voltage Short to Power 가능성 확인
CAN_L ≈ Supply Voltage Short to Power 가능성 확인
CAN_H = CAN_L 변화 없음 Traffic 없음, Node 미동작, Transceiver 상태 확인

단, Transceiver 내부 Fault Protection 방식이나 Bus 상태에 따라 나타나는 전압은 달라질 수 있으므로 이 표만으로 고장을 확정해서는 안 된다.

CAN_H와 CAN_L이 뒤바뀌면 어떻게 될까?

실제 Harness 제작이나 Connector 작업에서 자주 발생하는 실수다.

CAN_H와 CAN_L을 반대로 연결하면 정상적인 CAN 통신이 되지 않는 경우가 일반적이다.

통신이 안 될 때는 Software 설정부터 의심하기 전에 Connector Pin Map을 확인하는 것이 좋다.

배선 확인 시 볼 것
CAN_H Pin 번호가 양쪽 Connector에서 동일한가
CAN_L Pin 번호가 양쪽 Connector에서 동일한가
Connector 중간 Adapter에서 Pin이 뒤바뀌지 않았는가
Harness 도면과 실제 Cable Color가 일치하는가

60Ω은 정상인데 전압이 이상할 수도 있을까?

가능하다.

CAN_H와 CAN_L 사이의 저항이 약 60Ω이라는 것은 주로 120Ω 종단저항 두 개가 연결되어 있는지 확인하는 것이다.

하지만 Transceiver 자체가 고장났거나 신호선이 Power 또는 GND에 Short되어 있으면 Termination 저항은 정상으로 보여도 통신은 되지 않을 수 있다.

전원 OFF 60Ω 확인 전원 ON CAN_H / CAN_L 전압 확인 Oscilloscope 확인

이 순서로 확인하면 Hardware 문제를 비교적 빠르게 분리할 수 있다.

AMR에서 실제로 CAN을 측정할 때 주의할 점

AMR 내부에는 여러 CAN Node가 동시에 연결되어 있는 경우가 많다.

예를 들어 다음과 같은 구조다.

Main Controller Drive Motor Lift BMS

이때 한 Node의 CAN Transceiver에 Fault가 발생하면 전체 Bus에 영향을 줄 수 있다.

특히 특정 장치를 연결했을 때만 전체 CAN 통신이 죽는다면 그 장치의 Transceiver나 Harness를 분리해서 비교해보는 방법이 유용하다.

실무 팁 CAN 통신 문제가 발생하면 모든 장치를 한꺼번에 보지 말고 Node를 하나씩 분리하거나 추가하면서 Bus 상태가 언제 변하는지 확인하면 Fault Node를 찾기 쉽다.

CAN 통신 불량 시 추천 점검 순서

실제 장비에서는 다음 순서로 확인하면 효율적이다.

1. Node 전원 2. 60Ω 확인 3. CAN_H / CAN_L 배선 4. 전압 측정 5. Baud Rate 6. Waveform
CAN Voltage Troubleshooting Checklist
모든 CAN Node에 정상적으로 전원이 공급되는가
전원 OFF 상태에서 CAN_H-CAN_L 사이가 약 60Ω인가
CAN_H와 CAN_L이 서로 바뀌지 않았는가
신호선이 GND 또는 Power에 Short되어 있지 않은가
CAN_H와 CAN_L이 Recessive 상태에서 유사한 전압을 보이는가
통신 중 두 신호가 서로 반대 방향으로 움직이는가
모든 Node의 Baud Rate가 동일한가
필요하면 Node를 하나씩 분리하여 Fault 장치를 찾았는가

멀티미터와 오실로스코프는 역할이 다르다

측정장비 추천 용도
Multimeter 전원, Short, 대략적인 CAN_H/CAN_L 평균전압 확인
Oscilloscope 실제 CAN Waveform, Noise, Reflection, Signal Quality 확인

Multimeter는 현장에서 빠르게 확인하기에 좋지만 CAN 통신 품질을 최종 판단하는 장비는 아니다.

특히 간헐적으로 통신이 끊기거나 Motor가 동작할 때만 CAN Error가 발생한다면 Oscilloscope로 실제 파형과 Noise를 확인하는 것이 좋다.

마무리

일반적인 High-speed CAN에서는 Recessive 상태에서 CAN_H와 CAN_L이 모두 약 2.5V 부근에 위치하고, Dominant 상태가 되면 CAN_H는 올라가고 CAN_L은 내려가면서 두 신호 사이에 Differential Voltage가 발생한다.

하지만 실제 CAN 통신을 점검할 때는 단순히 CAN_H는 3.5V, CAN_L은 1.5V라는 숫자만 확인해서는 안 된다.

먼저 120Ω Termination과 배선상태를 확인하고, Multimeter로 대략적인 전압을 확인한 뒤 필요하면 Oscilloscope로 CAN_H와 CAN_L의 실제 Waveform을 확인하는 순서가 좋다.

한 문장으로 정리하면
CAN 통신은 CAN_H나 CAN_L 하나의 전압보다 두 신호가 서로 반대 방향으로 움직이며 정상적인 Differential Voltage를 만드는지 확인하는 것이 핵심이다.

참고 규격

ISO 11898-1
CAN Data Link Layer와 Physical Signalling 관련 기본 규격

ISO 11898-2
High-speed CAN Physical Medium Attachment 관련 요구사항

반응형