본문 바로가기
CAN통신

[CAN통신] 1강. CAN 구성 - Hardware, Network And Wiring (하드웨어, 네트워크 그리고 결선)

by 아이언벨 2022. 9. 14.
반응형

안녕하세요. 아이언벨입니다.

 

현재 CAN통신은 자동차 통신에 주로 사용되며 무결성을 인정받아 독일, 미국, 일본, 한국의 자동차 메이커들이 모두 사용하고 있습니다. 

 

첫 번째 글은 하드웨어와 네트워크 그리고 결선에 대해 이야기해보겠습니다.

 

1. CAN Device

 

다양한 CAN Device가 있지만 가장 편하게 접근 가능한 Device는 USB to CAN일 듯합니다.

여러 제조사에서 USB to CAN을 출시했습니다. 대표적으로 Vector, NI, Peak, Kvaser 등의 회사들입니다. 미국 또는 독일의 회사들이면 안타깝게도 한국의 회사는 보지 못했습니다.

 

두 번째로 많이 사용하는 CAN Device는 일반적인 PC에 사용하는 PCI CAN입니다.

요즘 일반 PC는 PCI 슬롯이 없는 경우가 대부분이어서 산업용 PC를 사용할 때만 사용하게 됩니다.

 

NI사의 PCI CAN(좌) 과 USB to CAN(우)

두 가지 제품 모두 RS-232C와 동일하게  D-SUB9 커넥터를 사용하고 있습니다. 

 

비교적 USB to CAN이 저렴합니다. 사무실에서나 연구소에서는 USB to CAN을 많이 사용하지만, 생산라인이나 공장과 같은 곳에서는 PCI CAN을 주로 사용합니다. 더 안정적으로 운영이 가능하기 때문입니다. USB Interface 자체가 워낙 노이즈에 취약하여 저의 경우 생산라인에서는 절대로 USB to CAN을 사용하지 않습니다. 그리고 장시간 운영해야 하는(1일 이상) 프로그램의 경우에도 USB CAN은 추천드리지 않습니다.

 

그 밖에 PXI CAN도 많이 사용합니다. 별도의 PXI 새시가 있어야 하기 때문에 부가적인 비용이 많이 발생하여 PXI 새시가 들어간 시스템이 아니라면 PCI 또는 USB를 사용하게 됩니다.

 

2. CAN PINMAP(D-Sub9)

 

D-SUB9 PINMAP

일반적으로 사용하는 D-SUB9에서의 PINMAP입니다.

CAN_L(PIN2)와 CAN_H(PIN7)은 CAN 네트워크에서 데이터를 전달하는 신호 라인입니다.

이 두 개의 핀만 연결하면 정상적으로 CAN 통신이 가능하며 노이즈가 많은 환경에서는 Shield(PIN5)을 사용하여 신호의 무결성을 높일 수 있습니다.

나머지 PIN은 잊으셔도 됩니다. 제가 산업현장에서 10년 동안 CAN을 자주 사용했지만 한 번도 사용해본 적 없습니다. 

 

 

3. CAN 네트워크와 결선(Wiring)

 

기본적으로 CAN 결선은 2개의 신호 라인을 트위스트 페어로 사용합니다. 말 그대로 두 가닥을 꼬여있습니다.
두 신호의 전압 차이(Differentail)로 데이터를 측정하기에 트위스트 페이로 만들어야 노이즈에 강한 특성을 유지합니다.

노이즈가 거의 없는 환경에서는 트위스트 되어있지 않아도 문제없이 동작하지만 트위스트 하여 CAN 네트워크 구성하는 걸 추천드립니다.

HS CAN Network

HighSpeed CAN과 CAN FD의 경우 위 사진처럼 양 끝단에 120Ω 저항을 붙여야 합니다. 2개의 120Ω 저항이 병렬로 연결되어있기 때문에 CAN Low와 CAN High의 저항값은 60Ω이 됩니다. CAN 네트워크에 의심이 된다면 꼭 두 신호 라인의 저항값을 측정하여 60Ω 인지 확인하셔야 합니다.

 

Main Network Line의 길이는 전송 속도에 따라 길이가 제한됩니다.

이론상 40kbit/s에서 약 1km에서 1Mbit/s에서 40m로 정해져 있지만 짧을수록 좋습니다.

 

추가적으로 Node로 뽑히는 가지 줄은 짧을수록 좋습니다. 
ISO11898-2에서는 가지 줄을 Stub(스텁) length라고 정의했고 1m 미만으로 정했습니다. 역시 짧을수록 좋습니다.

 

LS CAN Network

LowSpeed CAN의 경우 

각 노드에 종단 저항이 있으며 Device에 저항이 포함되어있기 때문에 따로 외부에 저항을 연결할 필요는 없습니다.

특이사항으로는 CAN 데이터 라인 중 하나가 단락 되거나 잘못된 저항에 문제없게 설계되어 결함이 발생하면 단일 데이터 인으로 커버됩니다.

참고로 최근 현장에서 LS CAN는 거의 사용하지 않고 있습니다.

 

단일 와이어 CAN Network

Single-Wire CAN 은 이름에 나와있듯이 버스의 모든 노드 간에 연결된 단일 와이어만 필요합니다.

다른 CAN과 다른 요서는 모든 노드가 동일한 GND와 전원이 공급되어야 합니다.

하지만 트위스트 페어 케이블을 사용하지 않아 안정적으로 사용하기 위해 전송 속도가 느립니다.

33.3K 또는 83.8K에서 동작합니다.

 

Single-wire CAN은 10년간 자동차 관련 SI를 진행하면서 한 번도 사용해본 적 없습니다.

그만큼 사용빈도가 낮은 통신이기에 참고만 하시면 될 것 같습니다.

 

 

4. CAN 액세서리(Accessories)

 

CAN Network Cable

CAN관련 프로젝트 진행 시 항상 사용하는 CAN Cable입니다.

D-Sub9(암) * 2ea, D-Sub(수) * 2ea, 바나나 커넥터로 되어있습니다.

CAN관련 프로젝트를 진행하시는 분이라면 꼭 만들어 두세요. 강력 추천합니다.

 

D-SUB9 120Ω 종단저항

기성품으로 나와있는 종단 저항입니다.

HS-CAN, CAN FD 관련 프로젝트 진행한다면 필수품입니다.

위 만들어놓은 케이블에 간단하게 꼽았다가 뺄 수 있어서 편리하게 저항을 추가하거나 위치를 변경할 때 아주 유용합니다.

 

 

5. 마치며..

 

Software 엔지니어도 CAN통신 다른 통신 보다도 Network의 이해가 있어야 합니다.

현장에서 다양한 변수를 싸우며 셋업을 진행할 때 위 Network의 이해가 낮으면 고생하며 디버깅해야 할 것입니다.

최근에는 HS-CAN과 CAN FD의 점유율이 매우 높고, 앞으로도 계속 늘어날 것으로 예상되니 CAN통신을 하시는 분이라면 최소한 HS-CAN과 CAN FD의 Network 구성은 하실 줄 아셨으면 합니다.

 

최근 제가 체감하는 CAN 종류별 점유율은

LS-CAN 5%

HS-CAN 35%

CAN FD 60%

되는 것 같습니다.

 

CAN통신 관련 글은 6~7개 정도로 예상되며 NI 제품과 LabVIEW를 가지고 CAN 애플리케이션 만드는 것까지 진행할 예정입니다. 다음 글에 뵙겠습니다.

 

반응형

'CAN통신' 카테고리의 다른 글

[CAN통신] 2강. CAN(Controller Area Network) 통신 개요  (2) 2022.09.21

댓글