티스토리 뷰



NI-CAN과 NI-XNET의 차이


National Instruments 제품군을 통해서 CAN 통신을 사용하고자 할 때 사용할 수 있는 드라이버는 NI-CAN과 NI-XNET이 있습니다. NI-CAN은 Series 2 CAN 인터페이스를 포함하는 레거시 CAN 드라이버라 생각을 하면되고, NI-XNET은 NI-CAN 이후에 나온 차세대 드라이버라고 보시면 됩니다.


NI-CAN과 NI-XNET 모두 CAN 장비를 이용하기 위한 드라이버입니다. 하지만 NI-CAN에서 NI-XNET으로 옮기는 과정에서 CAN에 대한 정의가 조금은 달라졌습니다. 내용은 같지만, 이름이 살짝 변경되었다고 생각을 하시면 됩니다.



결론은 둘다 데이터베이스 파일을 사용하며, 이에 대해서 메시지를 받을 때 메시지 기반이냐, 프레임 기반이냐의 차이와 단일 데이터를 받을 때 채널이냐 신호냐의 차이가 있다고 생각을 하면 될것 같습니다.


하지만 MAX에서 장비를 인식하여 CAN을 사용하고자 할 때, 각 드라이버에서 NI-CAN 혹은 NI-XNET에 대한 포트를 둘다 잡아버립니다. 아래의 그림은 동일한 장비인 8513에 대해서 2개의 포트가 NI-CAN과 NI-XNET 모두 잡혀있는것을 확인할 수 있습니다.



NI는 기존의 NI-CAN으로 구현된 소스코드를 NI-XNET으로 변경할 수 있게끔 호환 기능을 제공하고 있습니다. 호환에 필요한 사람이라면 이 기능을 사용할 수 있습니다. 하지만 모든 기능에 대해서 호환을 제공하지는 않습니다. 다음은 호환되지 않는 몇 가지 함수 목록입니다. 전체 표를 확인하려면 2.7 버전 (또는 상위 버전)에 대한 NI-CAN 하드웨어 및 소프트웨어 매뉴얼을 확인하십시오.


  • 하드웨어 필터
  • 원격 프레임에 대한 자동 응답
  • 외부 트랜시버
  • 마스터 타임베이스 속도 변경
  • 통신 에러 및 경고 로깅
  • 타임스탬프 전송 및 타임라인 복구
  • RTSI 이벤트


NI-XNET 소프트웨어 드라이버


PCI/PXI-851x 시리즈 하드웨어에 포함된 NI-XNET 소프트웨어는 Windows와 LabVIEW RT OS에서 NI LabVIEW, NI LabWindows/CVI, C/C++을 이용하여 어플리케이션 개발이 가능합니다. NI-XNET 플랫폼의 일부인 PCI/PXI-851x 시리즈는 수 백가지의 프레임과 신호에 대한 리얼타임의 고속 조작이 요구되는 어플리케이션 (hardware-in-the-loop 시뮬레이션등)에 적합합니다.


NI-XNET 디바이스 구동 DMA 엔진은 PC 기반 CAN 인터페이스의 공통적인 문제점인 시스템 지연을 밀리초에서 마이크로초로 줄입니다. 엔진은 온보드 포트별 프로세서와 작동하여 CAN 프레임 및 인터페이스와 사용자 프로그램간의 신호를 CPU 인터럽트 없이 이동할 수 있습니다. 


NI-CAN 소프트웨어 드라이버


내쇼날인스트루먼트는 모든 레거시 NI CAN 인터페이스에 NI-CAN 드라이버 소프트웨어이며, 다른 CAN 인터페이스의 경우, 함께 제공되는 소프트웨어 툴을 구입하지 않았다면 보드 기능 일부만 사용할 수 있습니다. NI-CAN 드라이버는 하이 레벨의 사용하기 쉬운 함수를 제공합니다. 


NI-CAN 드라이버 소프트웨어는 두 가지의 API (application programming interfaces)를 지원합니다. Frame API는 CAN 프로그래밍을 위한 최초의 API입니다. Frame API에서, 원시 데이터 바이트를 보유하는 CAN 프레임을 송수신할 수 있습니다. NI-CAN 2.0 드라이버 소프트웨어는 Channel API를 도입하였습니다. 데이터베이스 파일 (.dbc or .ncd)로 정의된 채널 명을 사용하여 CAN 채널로부터 읽고 쓸 수 있습니다. Channel API는 다음과 같은 장점을 제공합니다.


  • 하이 레벨 프로그래밍
  • 사용하기 쉬운 물리 유닛
  • 간편한 CAN/데이터 수집 동기화에 주된 사용
  • 벡터 데이터베이스 파일 통합 기능

이 글에서는 NI-XNET과 CAN의 차이에 대해서 간략히 살펴보았습니다.

이 글이 도움이 되셨나요?
그렇다면 아래의 그림을 클릭해주세요.



댓글