CAN에는 사용할 수 있는 여러 다른 물리 계층이 있습니다. 이러한 물리 계층은 전기적 레벨, 신호 체계, 케이블 임피던스, 최대 보 전송속도 등과 같은 CAN 네트워크의 특정 측면을 분류합니다. 가장 일반적이고 널리 사용되는 물리 계층은 다음과 같습니다.
고속/FD CAN
고속 CAN은 가장 일반적인 물리 계층입니다. 고속 CAN 네트워크는 2개의 선으로 구현되며 최대 1Mbit/s의 전송 속도 통신을 허용합니다. 고속 CAN의 다른 이름은 CAN C 및 ISO 11898-2가 있습니다. 일반적인 고속 CAN 디바이스에는 잠금 방지 브레이크 시스템, 엔진 제어 모듈 및 배출 가스 시스템이 포함됩니다. 유연한 데이터 속도를 갖춘 CAN(CAN FD)는 더 높은 데이터 속도를 위한 발전하는 표준이 있는 차세대 고속 CAN 통신입니다. NI는 NI-XNET 드라이버를 통해 TJA1041 및 TJA1043 트랜시버를 사용하여 최대 8Mbit/s의 속도를 지원합니다. 트랜시버 공급업체가 CAN FD 속도에 대한 자격을 충족하게 되면서 NI는 필요에 따라 문서를 업데이트할 것입니다.
저속/내결함성 CAN 하드웨어
저속/내결함성 CAN 네트워크는 또한 2개의 선으로도 구현되고, 최대 125kbit/s의 속도로 디바이스들과 통신할 수 있으며, 내결함성을 트랜시버에 제공합니다. 저속/내결함성 CAN의 다른 이름으로는 CAN B 및 ISO 11898-3이 있습니다. 자동차의 일반적인 저속/내결함성 디바이스로는 편의 장치들이 포함됩니다. 차량의 문을 통과해야 하는 선은 문을 여닫을 때 발생하는 부하를 고려하여 저속/내결함성을 요구합니다. 또한 제동 등과 같이 높은 수준의 보안이 필요한 상황에서는 저속/내결함성 CAN이 해결책이 됩니다.
단선 CAN 하드웨어
단선 CAN 인터페이스는 최대 33.3kbit/s(고속 모드에서는 88.3kbit/s)의 속도로 디바이스와 통신할 수 있습니다. 단선 CAN의 다른 이름으로는 SAE-J2411, CAN A 및 GMLAN이 있습니다. 자동차의 일반적인 단선 디바이스에는 고성능이 필요하지 않습니다. 일반적인 어플리케이션에는 좌석 및 거울 조절 장치와 같은 편의성 장치가 포함됩니다.
소프트웨어 선택 가능 CAN 하드웨어
NI의 CAN 하드웨어 제품을 사용하면 어떤 온보드 트랜시버(고속, 저속/내결함성 또는 단선 CAN)라도 사용할 수 있게 소프트웨어 선택 가능 CAN 인터페이스를 구성할 수 있습니다. 다중 트랜시버 하드웨어는 여러 통신 표준의 조합이 필요한 어플리케이션을 위한 완벽한 솔루션을 제공합니다. 소프트웨어 선택 가능 CAN 하드웨어를 사용하면 맞춤 외부 CAN 트랜시버를 선택할 수도 있습니다.
LabVIEW 및 기타 언어에서의 CAN 프로그래밍
NI-XNET 소프트웨어 드라이버
NI-XNET 소프트웨어는 PCI/PXI-851x 및 NI 986x 디바이스에 포함되어 있으며 ni.com에서 무료로 다운로드할 수 있습니다. 이 새 드라이버는 Windows 및 LabVIEW Real-Time OS에서 NI LabVIEW, NI LabWindows/CVI 및 C/C++로 CAN, 로컬 상호 연결 네트워크(LIN) 및 FlexRay 어플리케이션을 개발하는 데 사용됩니다. NI-XNET 플랫폼의 일부로서 NI 851x 및 NI 986x 디바이스는 HIL(Hardware-In-the-Loop) 시뮬레이션, 고속 제어 프로토타이핑, 버스 모니터링, 자동화 컨트롤 등 수 백 프레임 및 신호를 리얼타임으로 고속 조작해야 어플리케이션에 적합합니다.
NI-XNET: 하나의 API, 많은 임베디드 네트워크
NI-XNET 플랫폼은 일련의 고성능 CAN, LIN, FlexRay 인터페이스를 CAN, LIN, FlexRay 프레임 및 신호를 쉽게 읽고 쓸 수 있도록 하는 NI-XNET API와 결합합니다.
프로그래밍은 적게, 성능은 최고로
NI-XNET 인터페이스는 하위 레벨 마이크로컨트롤러 프로그래밍의 성능과 Windows 및 LabVIEW Real-Time OS 개발의 속도 및 성능을 결합합니다. 특허 출원된 NI-XNET 디바이스 중심 DMA 엔진을 사용하면, PC 기반 CAN 인터페이스의 공통적인 문제인 시스템 지연을 밀리초에서 마이크로초 단위로 줄일 수 있습니다. 이 엔진은 온보드 프로세서를 구동하여 CPU 인터럽트 없이 인터페이스와 사용자 프로그램간 CAN 프레임과 신호를 이동하도록 하므로, 호스트 프로세서가 복잡한 모델 및 어플리케이션을 처리하는 데 시간을 더 할애할 수 있습니다.
NI-XNET의 이점과 어플리케이션에 대한 더 자세한 정보는NI-XNET CAN, LIN 및 FlexRay 플랫폼 개요를 참조하십시오.
NI-CAN 소프트웨어 드라이버
NI에는 모든 NI 레거시 CAN 인터페이스를 다루는 NI-CAN 드라이버 소프트웨어가 포함되어 있으며 이는 ni.com에서 무료로 다운로드할 수 있습니다. 다른 CAN 인터페이스를 사용하면 턴키 소프트웨어 도구를 구입하지 않으면 보드 기능의 일부만 활용할 수 있습니다. 그러나 모든 NI CAN 보드 기능은 완전히 노출되어 있으므로 선택한 프로그래밍 언어로 사용자 정의 어플리케이션을 개발할 수 있습니다. NI-CAN 드라이버는 높은 레벨의 사용하기 쉬운 기능을 제공하여 전체 CAN 어플리케이션을 신속하게 개발하여 시간과 비용을 절약할 수 있도록 합니다.
NI-CAN 드라이버 소프트웨어는 두 가지 API를 제공합니다. 프레임 API는 CAN 프로그래밍을 위한 기존 API입니다. 프레임 API에서는 원시 데이터 바이트를 포함하는 CAN 프레임을 송수신할 수 있습니다. 사용자 프로그램은 확장된 엔지니어링 단위를 제공할 수 있도록 이러한 바이트를 구문 분석하고 확장해야 합니다. 프레임 API를 사용한 프로그래밍에 대한 더 자세한 정보는 NI CAN 하드웨어 및 소프트웨어 매뉴얼의 "프레임 API 사용" 섹션을 참조하십시오.
NI는 NI-CAN 2.0 드라이버 소프트웨어에서 채널 API를 처음 도입했습니다. 데이터베이스 파일(.dbc 또는 .ncd)에 정의된 채널 이름을 사용하면 CAN 채널을 읽고 쓸 수 있습니다. 채널 API는 다음과 같은 장점을 제공합니다:
- 상위 레벨 프로그래밍
- 사용하기 쉬운 물리 단위
- 손쉬운 CAN/데이터 수집 동기화가 주 용도
- 벡터 데이터베이스 파일 통합 기능
채널 API를 사용한 프로그래밍에 대한 더 자세한 정보는 NI-CAN 채널 API 문서를 참조하십시오.