National Instruments는 CAN용 C 시리즈 모듈의 두 가지 등급을 제공합니다. NI-XNET 및 NI 985x.
NI는 NI-XNET 제품군의 일부로 2개의 1포트, 고속/FD 및 저속/무정지형 C 시리즈 CAN 모듈을 제공합니다: NI-9862 및 NI-9861. 다른 NI-XNET 디바이스와 마찬가지로 이 모듈은 다른 NI C 시리즈 CAN 모듈과 다른 주요 기능을 제공합니다.
그림 1: NI 986x NI-XNET 고속/FD 및 저속/무정지형 C 시리즈 CAN 모듈을 NI CompactDAQ 및 NI CompactRIO 모듈러 플랫폼 모두에서 사용할 수 있습니다.
NI는 또한 2포트 저속 C 시리즈 CAN 모듈인 NI-9852와 2포트 고속 C 시리즈 CAN 모듈인 NI-9853을 각각 제공합니다. 이 모듈의 사용자 프로그래밍 경험 및 플랫폼 호환성은 NI-986x 모듈과 다릅니다. 제공되는
그림 2: FPGA 레벨의 유연한 제어 기능을 통해 CompactRIO 플랫폼에서 NI 9852 및 NI 9853 C 시리즈 CAN 모듈을 사용할 수 있습니다.
NI 986x 모듈을 사용하면 네트워크에서 프레임과 신호를 읽고 쓰는 기본 CAN 통신을 구현할 수 있습니다. NI-XNET 모듈은 직관적인 NI-XNET 함수 호출을 통해 개발을 단순화하고 개발 시간을 단축하는 고급 API를 사용합니다. cRIO-911x 또는 cRIO-908x 섀시를 사용하는 CompactRIO 시스템뿐만 아니라 USB, 이더넷, Wi-Fi NI CompactDAQ 시스템에서 이와 같은 API를 사용할 수 있습니다.
그림 3: NI-XNET API는 CAN 프레임과 신호를 직관적으로 읽고 쓸 수 있는 고급 함수 호출을 제공합니다.
NI 986x 모듈은 NI-XNET 모듈이기 때문에 다양한 환경과 설정에 표준화되어야 하는 CAN 어플리케이션 및 프로젝트 개발에 이상적입니다. 두 플랫폼 모두에 동일한 NI-XNET API를 적용하면 NI 986x 모듈을 모바일 USB, 이더넷 및 Wi-Fi 기반 NI CompactDAQ 시스템뿐만 아니라 헤드리스, 임베디드 CompactRIO 시스템에 사용할 수 있습니다. 또한, 동일한 API가 PXI 및 PCI CAN 인터페이스에 사용되기 때문에, 복사 및 붙여넣기를 통해 동일한 코드를 모든 하드웨어 플랫폼에 쉽게 포팅할 수 있습니다. 이는 PXI를 사용하는 실험실 테스트 시스템에서 NI CompactDAQ을 사용하는 모바일 USB CAN 통신 시스템, CompactRIO를 사용하는 헤드리스 CAN 기반 Logger까지 모든 작업에 대해 공통 API를 사용하기 때문에 개발 시간을 크게 줄일 수 있습니다.
리얼타임 테스트는 리얼타임 환경을 사용하여 테스트 어플리케이션을 구현하는 것을 말합니다. 엔지니어는 테스트 시스템의 신뢰성 및/또는 타이밍 결정성을 높이기 위해 주로 리얼타임 테스트 기술을 사용합니다. 또한 이러한 기술은 오늘날의 많은 제품과 시스템의 개발에 매우 중요한 역할을 합니다. 예를 들어, 내구성, 수명 주기 및 리얼타임 실행 플랫폼이 제공하는 우수한 신뢰성을 요구하는 오랜 시간 또는 연장된 운영자 부재에서 작동하는 다른 테스트 시스템이 있습니다. 또한 환경 테스트 셀, 다이너마미터, HIL(Hardware-In-the-Loop) 시뮬레이터 및 닫힌 루프 컨트롤 실행을 사용하는 유사한 테스트 시스템이 우수한 안정성을 필요로 합니다. 이는 리얼타임 실행 플랫폼의 저지터 타이밍 결정성을 갖추어야 합니다.
NI는 리얼타임 테스트 어플리케이션을 보다 효율적으로 구현할 수 있도록 지원하는 소프트웨어 제품을 제공합니다. NI VeriStand은 실시간 테스트 시스템을 생성할 수 있는 사용 가능한 도구를 제공하는 구성 기반 소프트웨어 환경입니다. 많은 리얼타임 테스트 어플리케이션에는 CAN 통신이 포함되며, NI VeriStand는 모든 NI-XNET 제품에 대한 기본 지원을 제공하며, 이는 NI 986x 모듈에 대한 기본 지원을 의미합니다. NI VeriStand는 사용자의 어플리케이션 목표를 충족하기 위해 소프트웨어를 확장하는 데 필요한 유연성을 제공하는 것 외에도 CAN 어플리케이션의 일반적인 기능을 제공합니다.
그림 4: NI VeriStand에서 NI-XNET CAN 인터페이스를 구성하여 일반적인 CAN 통신 작업 및 기능을 수행할 수 있습니다.
NI 986x 인터페이스와 마찬가지로 NI 985x C 시리즈 CAN 모듈은 기본 CAN 통신에 사용할 수 있습니다. 주요한 차이는 각 모듈에서 사용하는 사용자 환경입니다. NI-XNET API를 사용하여 NI 986x 인터페이스와 같은 모듈을 프로그래밍하는 대신, NI 985x 모듈에 하드웨어 프로그래밍을 위한 하위 레벨 소프트웨어 API를 제공하는 LabVIEW FPGA API를 사용합니다. 이 API를 사용하면 CompactRIO용 다른 C 시리즈 모듈과 함께 사용되는 동일한 LabVIEW FPGA API를 적용하면서 CAN 프레임을 읽고 쓰는 시간을 완전히 제어할 수 있습니다.
그림 5: NI 985x CAN 인터페이스는 LabVIEW FPGA API를 사용하여 프레임 전송 및 수신 시간을 포함하여 하드웨어의 낮은 수준의 제어 기능을 제공합니다.
NI 985x C 시리즈 CAN 인터페이스를 LabVIEW FPGA Module로 프로그래밍하므로, 일반 I/O용 다른 C 시리즈 모듈과 동일한 FPGA API를 사용하여 프로그래밍할 수 있으며 CompactRIO 플랫폼의 FPGA 백플레인의 속도와 유연성을 활용할 수 있습니다. 한 FPGA 어플리케이션에서 일반 데이터 수집과 CAN 통신을 결합하면, CAN 하드웨어로 신속한 트리거링과 회전 시간을 얻을 수 있습니다. 예를 들어, CAN 함수를 호출하기 위해 일반 아날로그 입력 모듈의 FPGA 어플리케이션에서 리얼타임 호스트로 데이터를 전달하는 대신, FPGA 어플리케이션에서 직접 NI 985x CAN 인터페이스를 호출할 수 있습니다.
그림 6: FPGA 어플리케이션에서 NI 985x CAN 모듈을 다른 I/O 모듈과 함께 사용하여 빠르고 유연한 CAN 트리거링을 구현할 수 있습니다.
또한 NI 985x CAN 모듈을 위한 LabVIEW FPGA 프로그래밍 API를 사용하여 하드웨어가 전송하고 수신하는 CAN 데이터의 빠른 바이트 레벨 조작을 수행할 수 있습니다. CAN 프레임의 정보는 시스템의 리얼타임 컨트롤러에 데이터를 전송하지 않고도 LabVIEW FPGA 애플리케이션에서 읽고 수정할 수 있으므로 이 모듈은 이러한 유형의 데이터 조작에 효율적이고 신속합니다.
그림 7: NI 985x CAN 인터페이스와 LabVIEW FPGA를 사용하여 CAN 프레임 내의 모든 데이터를 바이트 단위로 신속하게 조작할 수 있습니다.
어플리케이션의 필요에 따라, 특정 환경 및 CAN 관련 프로젝트에 적합한 주요 기능과 장점을 갖춘 다양한 NI 모듈러 플랫폼 및 CAN 인터페이스 중에서 선택할 수 있습니다. 각 CAN 인터페이스와 NI C 시리즈 플랫폼의 장점을 이해하면 어플리케이션에 적합한 CAN 모듈을 선택하고 프로젝트 목표를 성공적으로 충족할 수 있습니다.