CAN 버스 노드에는 세 가지 주요 구성 요소가 있습니다:
CAN 버스 컨트롤러는 네트워크 프로토콜, ISO 11898-1의 모든 저수준 기능을 구현하는 반면, 트랜시버는 물리 계층과 통신합니다. 다양한 물리 계층에는 고속 can, 저속 내고장성 can, 또는 가변 데이터 속도를 가진 고속 can과 같은 다른 트랜시버가 필요합니다.
전형적인 구현에서는 CAN 버스 컨트롤러와 마이크로프로세서가 CAN 지원 마이크로컨트롤러로 통합됩니다. 시장에는 주로 Microchip에서 제조한 SPI 인터페이스를 가진 외부 CAN 버스 컨트롤러가 있지만, 종종 불필요한 비용과 복잡성을 추가할 수 있습니다.
이 글에서는 트랜시버부터 CAN 버스 커넥터까지의 회로 설계를 살펴볼 것입니다. 이제 우리의 CAN 버스 회로를 설계하기 위해 손을 더럽힐 시간입니다!
모든 CAN 버스 트랜시버는 마이크로컨트롤러(또는 FPGA)가 CAN 버스 컨트롤러를 구현하고 CAN 버스 자체와 연결되는 위치에서 유사하게 작동합니다. 그럼에도 불구하고, 신중하게 고려해야 할 몇 가지 차이점이 있습니다.
적절한 Octopart 카테고리에서 빠른 검색을 하면, CAN-버스 트랜시버의 주요 제조업체는 제공하는 IC의 양에 따라 내림차순으로 NXP Semiconductors, Microchip, Texas Instruments, Maxim Integrated, Analog Devices 및 ST Microelectronics입니다.
이 모든 트랜시버는 비슷해 보이지만, 기능과 성능에서 모두 다릅니다.
시장에 처음 나온 CAN-버스 트랜시버는 ESD(정전기 방전) 이벤트로부터 거의 보호되지 않았습니다. 모든 I/O 보호를 외부 구성요소로 구현해야 했습니다.
다행히 이제는 그렇지 않습니다. 여기 임의의 IC들과 그들의 HBM (Human Body Model) ESD 내성이 버스 핀에 대해 나와 있습니다:
부품 번호 |
제조업체 |
ESD HBM 내성 |
ST Microelectronics |
6kV |
|
Infineon |
6kV |
|
NXP Semiconductor |
8kV |
|
Linear Technology |
25kV |
|
Maxim Integrated |
22kV |
ESD 내성이 높으면 외부 보호 장치에 들어가는 비용을 절약할 수 있지만, 고품질의 TVS 다이오드에 몇 센트를 더 투자하는 것이 신뢰성을 크게 향상시킬 수 있다는 점을 알고 있어야 합니다.
만약 여러분의 어플리케이션이 공간 제약이 있고 ESD를 많이 다룰 필요가 없다면, 올인원이 가는 길입니다. 저의 경우, 외부 TVS와 더 저렴한 트랜시버를 선택했습니다.
시장에 나와 있는 대부분의 트랜시버는 5V에서 작동하지만, 3.3V용으로 설계된 IC도 매우 인기가 있습니다. 낮은 공급 전압은 dc-dc 컨버터의 사용 없이는 불가능합니다. Maxim Integrated의 MAX14883E와 같은 일부 IC는 트랜시버의 공급 전압에 관계없이 1.8V 장치와의 상호 운용성을 가능하게 하는 로직 레벨 공급 입력을 포함합니다.
저의 경우, 제 MCU는 3.3V에서 작동하므로 CAN-버스 트랜시버에도 3.3V를 선택할 것입니다.
모든 고속 CAN-버스 트랜시버는 작은 네트워크에서 최대 1Mbps까지 작동할 수 있습니다. CAN-FD 트랜시버는 최대 5Mbps까지 작동할 수 있지만, 많은 경우 2Mbps와 같은 낮은 속도로 제한됩니다.
최종 시스템 데이터 전송률은 버스 용량, CAN-버스 식별자의 할당, 그리고 전송되는 CAN 프레임의 유형에 의해 제한될 것입니다. 최악의 경우 보통 최대치의 1/3에 해당하는 효과적인 보드 레이트입니다.
안전 요구 사항으로 인해 격리된 CAN-버스 트랜시버가 필요할 수 있습니다. 예를 들어, 갈바닉 격리를 도입하면 버스가 위험한 전압과 접촉하는 경우 저전압 부분의 회로를 보호할 수 있습니다. 동일한 격리는 접지 루프를 차단하고 노드 간의 접지 전위 차이를 더 크게 허용함으로써 통신을 개선할 수도 있습니다.
물론, 격리된 CAN-버스 트랜시버는 마찬가지로 격리된 전원 공급 장치를 요구할 것입니다.
많은 트랜시버는 IC의 저전력 소비로 전환하고 송신기를 끄는 데 사용할 수 있는 모드 선택 입력을 포함합니다. 일반적으로 수신기는 활성 상태를 유지하며, RXD 핀은 마이크로컨트롤러에서 깨우기 인터럽트를 트리거하는 데 사용될 수 있습니다.
모드 선택 입력은 때때로 몇 kOhm 이상의 저항을 통해 높거나 낮게 당겨질 때 경사 제어로도 이중으로 사용됩니다. 신호 경사를 줄이는 것은 대역폭을 제한할 수 있지만, 트랜시버가 생성하는 전자기 간섭의 양을 제한할 수 있게 합니다.
모든 ISO 11898-2 호환 트랜시버는 CANH 및 CANL에서 지상까지 -3V부터 +32V까지의 직류 전압을 견디고, -150V에서 100V까지의 과도 전압을 견뎌내며, -2V에서 +7V 사이의 공통 모드 버스 전압으로 작동할 수 있어야 합니다.
시장에 나와 있는 거의 모든 IC는 이러한 요구 사항을 초과하며, 누가 가장 높은 숫자를 자랑할 수 있는지에 대한 비공식 경쟁이 배경에서 진행되고 있습니다.
여기 몇 가지 예시가 있습니다:
부품 번호 |
제조사 |
CANH 및 CANL의 직류 전압 |
ST 마이크로일렉트로닉스 |
-5V에서 +36V |
|
인피니언 |
-40V에서 +40V |
|
NXP 세미컨덕터 |
-58V에서 +58V |
|
리니어 테크놀로지 |
+60V에서 +60V |
|
맥심 인티그레이티드 |
+63V에서 +63V |
50V 이상의 전압은 이제 표준이 되었습니다. 많은 차량이 48V에서 작동하는 하이브리드 파워트레인을 특징으로 하며, 트랜시버는 시스템의 더 높은 전압 공급 레일에 대한 버스 단락을 견딜 수 있어야 합니다.
네트워크에 얼마나 많은 노드를 배치할 수 있는지에 대한 확고한 규칙은 없지만, 가장 중요한 매개변수 중 하나는 트랜시버의 CANH와 CANL 사이의 입력 임피던스일 것입니다.
높은 입력 임피던스는 버스에 미미한 영향을 미치고 더 많은 노드를 가능하게 합니다.
일부 트랜시버는 다음과 같은 광범위한 보호 기능을 구현합니다:
대부분의 CAN 버스 트랜시버는 버스를 실제로 구동하지 않고 TXD를 RXD로 되돌리는 청취 전용 모드를 포함합니다. 이 기능은 종종 버스 보드레이트를 자동으로 결정하는 데 사용됩니다.
제 설계에서 저는 TJA1051을 선택했습니다. 주로 가격이 저렴해서이며, 시장에서 가장 저렴한 IC 중 하나입니다. 제품 페이지는 여기에서 찾을 수 있습니다.
“제조업체 부품 검색” 패널을 사용하면, 즉시 부품 모델을 찾아 발자국과 3D와 함께 스키마틱에 배치할 수 있었습니다. 모델은 Altium 365™의 클라우드 라이브러리에서 자동으로 다운로드되었습니다.
로컬 바이패스 캐패시터가 필요하다는 것을 언급할 필요가 없겠죠?
또한, CANH와 CANL 라인에 일반적으로 40에서 100pF의 추가적인 소량 캐패시터를 접지에 연결하면 ESD 에너지를 흡수하고 EMI 회복력을 향상시킬 수 있습니다. 항상 그렇듯이, 버스 용량이 증가하면 버스 속도가 감소하고, 송신기 출력 단계의 부하가 증가하며, 전력 소비가 증가합니다.
CAN 버스는 양 끝에서 120옴 저항으로 종단되어야 합니다. 물론, 우리는 와트수를 제대로 계산할 수 있습니다(표준은 1/4W, 우리가 조심한다면 1/2W), 우리의 귀여운 작은 저항을 배치하고 하루를 마칠 수 있습니다. 하지만 왜 일을 간단하게 만들까요?
산업에서 입증된 거의 모든 CAN-bus 보드에서 채택된 더 정교한 기술은 분할 종단입니다.
분할 종단에서는 두 개의 60 옴 저항이 직렬로 사용되어 총 120 옴이 됩니다. 두 저항 사이의 전기 노드는 보통 4.7nF의 커패시터를 통해 접지에 연결됩니다.
커패시터의 값은 네트워크의 기본 주파수에서 -3db 절단 주파수를 얻기 위해 계산되었습니다.
제 경우, 네트워크는 1mbit/s의 전송 속도를 가져야 합니다. 최악의 시나리오를 가정할 때, 네트워크가 번갈아 가며 비트(01010101)의 시퀀스를 전송하면 신호는 500kHz의 주파수를 가진 사각파가 되거나 전송 속도의 절반과 같게 됩니다.
저항이 60 옴임을 알고 있으므로, 우리는 커패시터를 계산할 수 있습니다.
커패시터의 값을 근사해야 한다면, 약간 작은 값이 우리의 소중한 신호와 덜 간섭합니다. 따라서, 가장 널리 채택된 값인 4.7nF입니다.
수동 부품의 라이브러리가 필요하다면, Mark Harris의 Celestial Library를 전심으로 추천합니다. 무료이며, 광범위하고 세심하게 큐레이션되었습니다.
시스템이 강한 ESD에 노출되지 않는 경우, 트랜시버 IC에 포함된 보호 기능만으로 충분할 수 있습니다.
TVS(Transient Voltage Suppressor) 다이오드는 낮은 등가 병렬 용량 때문에 일반적인 선택입니다.
MOV와 같은 다른 과전압 보호 장치는 종종 높은 기생 용량을 가지고 있어, 특히 많은 노드를 가진 버스의 경우 데이터 전송 속도를 제한할 수 있습니다.
CAN-버스용으로 특별히 설계된 여러 TVS 다이오드가 시장에 있으며, 예를 들어, ON Semiconductor의 NUP2105L을 이 설계에 사용하기로 결정했습니다.
트랜시버의 경우, Altium 365 라이브러리에서 제조업체 부품 검색 패널을 사용하여 한 번의 클릭으로 모델을 배치했으며, 스키매틱 심볼과 풋프린트를 그릴 필요가 없었습니다.
회로에 보호 장치가 없다면, 모든 EMI 전류가 커넥터에서 트랜시버로 직접 들어가고, 그 다음 지면 평면을 통해 다시 나갈 것입니다. 전류가 가장 낮은 임피던스의 경로를 따르려고 하기 때문입니다.
보호 구성 요소는 루프 영역을 증가시키지 않기 위해 가능한 한 그 경로에 가깝게 배치해야 합니다. 또한, 모든 보호 장치는 커넥터와 보드의 가장자리에 가능한 한 가까이 배치하여 회로의 나머지 부분으로의 노이즈 커플링을 방지해야 합니다.
물론, 커넥터와 직접 인접한 곳에 모든 것을 밀집시킬 수는 없으므로 우선 순위를 정해야 합니다. 일반적인 규칙은 “가장 나쁜” EMI 영향을 받는 구성 요소를 먼저 배치하는 것입니다.
우리의 경우, TVS 다이오드는 고속 고전류 이벤트를 처리해야 합니다. 빠른 충격은 고주파 성분이 풍부하기 때문에, 이를 방치하면 우리의 보드로 유입되어 사용 가능한 모든 트레이스와 결합하여 작동을 방해하게 됩니다.
그래서 TVS가 먼저 옵니다.
중간에 종단 저항이 없다면, 공통 모드 초크가 두 번째로 올 것입니다.
우리의 예제 PCB에서는 여전히 개선의 여지가 있습니다. TVS 다이오드를 180도 회전시켜 ESD 루프 영역을 더욱 줄일 수 있습니다. 캐패시터 C5와 C6도 180도 회전시키고 조금 오른쪽으로 이동시킬 수 있습니다.
모든 PCB 레이아웃 가이드에는 "그라운드 평면 이것" 또는 "그라운드 평면 저것"이라고 쓰여 있으며, 보드의 부드러운 배를 EMI로부터 멀리 유지하고 싶다면 이를 피할 수 없습니다.
어떤 신호를 그라운드에 클램핑하든 그 바로 아래에는 그라운드 평면이 있어야 하며, 가능한 한 임피던스의 경로를 최단으로 유지해야 합니다. TVS 다이오드는 낮은 인덕턴스 연결을 통해 케이블 쉴드(가능한 경우)에 직접 연결된 그라운드 평면으로 충격을 방전해야 합니다.
커패시터에 모든 어렵게 번 돈을 쓰는 것이 그라운드 트레이스의 인덕턴스로 인해 효과가 무효화될 것이라면 별로 의미가 없습니다.
이 설계에서는 패드의 외곽에 비아를 사용했습니다. 비아 인 패드 기술과 달리, PCB의 제조에 추가 단계가 필요하지 않으므로 비용이 증가하지 않습니다. 비아는 텐트 처리되어야 합니다. 그렇지 않으면 솔더 페이스트가 내부로 흘러 들어가고 패드가 적절히 습윤되지 않습니다.
Altium Designer 비아 속성에 대한 문서는 여기에서 찾을 수 있습니다.
이제 몇 시간 동안 의심스러운 인물들이 쓴 글을 읽고, 트랜시버를 연구하며, 완벽한 CAN-bus 부회로를 테스트하고 검증했다고 가정해 봅시다. 이제 어떻게 해야 할까요?
첫 번째 단계는 단일 스키마틱 문서에서 회로를 설계하는 것으로, 계층적 설계를 할 때처럼 입력 및 출력을 위해 포트를 사용합니다.
탐색기 패널을 사용하여 새로운 "관리 스키마틱 시트" 폴더를 생성합니다.
폴더가 생성되면, 귀하의 조직 내 모든 사용자가 이에 접근할 수 있게 되며, 스키마틱 시트를 업로드할 수 있습니다.
이제 관리 스키마틱 시트를 어떤 프로젝트에도 배치할 수 있습니다.
새로운 관리 스키마틱 시트는 "재사용" 녹색 심볼로 구별됩니다.
모든 것이 노란색과 빨간색 대신 파란색인 이유를 알고 싶다면, 디자인 스타일링에 관한 제 이전 글을 확인하세요.
옵션으로 "약한" 종단 저항, 예를 들어 1.3 kOhm,은 긴 스터브 거리를 가진 노드의 EMI 회복력을 향상시킬 수 있습니다. 그러나 동일한 저항은 네트워크에 부하를 주어 노드 수를 줄이고, 버스의 최종 명목 임피던스를 감소시키며, 최대 속도를 줄입니다.
비용 제약이 없고 입력 보호가 가장 중요하다면, 두 번째 보호 단계를 추가하는 것을 고려해야 합니다:
TVS가 처리할 수 있는 것보다 더 높은 에너지를 "흡수"하기 위한 MOV (Metal Oxide Varistor) 또는 GDT (Gas Discharge Tube).
MOV/GDT와 송수신기 사이에 일부 전류 제한 장치를 추가하는 것이 좋습니다. 예를 들어, 고충격 저항기, 바리스터 또는 TBU®(Bourns에서 판매하는 고급 반도체 바리스터) 같은 것입니다.
하지만, 이러한 장치들이 등가 버스 용량을 증가시키고 데이터 전송 속도를 낮추며 전류 소비를 증가시킬 수 있다는 점을 항상 염두에 두어야 합니다.
표준 모드 초크는 CAN-Bus에 사용되는 가장 일반적인 필터 유형이며 훌륭하게 작동하지만, 고려해야 할 몇 가지 단점이 있습니다.
공통 모드 초크는 CAN 버스의 기생 용량과 공진을 일으켜 특정 주파수 대역에서 노이즈가 증가할 수 있습니다. 이 효과는 공통 모드 초크의 인덕턴스가 거의 정확하게 지정되지 않고, 기생 용량이 케이블 길이에 따라 크게 달라질 수 있기 때문에 CAN 버스 장치의 EMI 특성을 예측하기 어렵게 만들 수 있습니다. 차폐되지 않은 케이블을 사용하는 경우, 케이블이 접지된 금속 표면에 가까울수록 용량이 달라질 수 있습니다.
우리 모두 알다시피, 공통 모드 인덕터는 공통 모드에서 인덕터로 작동합니다. 당연하죠. 전원이나 접지로의 단락과 같은 일부 고장 조건은 높은 순간 공통 모드 전류를 유발할 수 있습니다. 경우에 따라 공통 모드 초크의 인덕턴스에 의해 생성된 과전압은 CAN 버스 트랜시버를 손상시킬 수 있습니다. 이러한 과전압은 일반적으로 보드 가장자리에 배치된 과전압 보호 장치 이후에 생성되므로 디버깅하기가 상당히 까다로울 수 있습니다.
초크의 세 번째 단점... 비쌀 수 있습니다. 고속 차동 신호는 매우 낮은 전류 누설을 요구합니다.
일부 IC 제조업체, 특히 Texas Instruments는 "초크 없는" CAN 버스 네트워크를 위한 고립되고 EMI에 대한 내성이 높은 장치를 적극적으로 홍보하고 있습니다.
저는 그것들을 상당히 좋아해서, CAN-bus 애플리케이션을 위해 특별히 설계된 공통 모드 초크를 선택하기로 했습니다.
CAN-bus를 정말 사랑하는 것 같습니다. 끝없는 유연성과 극도의 EMI 저항성 사이에서, 이것은 의심할 여지 없이 세계에서 가장 흥미로운 표준 중 하나입니다.
Altium Concord Pro를 사용하면 조직 내에서 회로도를 원활하게 공유하여 설계 재사용을 가능하게 하고 새로운 제품을 출시하기 위한 엔지니어링 노력을 최소화할 수 있습니다.
더 궁금한 점이 있으신가요? Altium의 전문가에게 전화하세요.