티스토리 뷰
NI-CAN 드라이버를 사용하는 Legacy CAN 보드를 이용할 때 하나의 보드에 있는 2개의 포트를 동시에 이용하게 되면 송수신 Rate가 Drop되는 경우를 보게 됩니다.
PCI-CAN/XS Series 2를 통해서 하나의 Port를 통해서 메시지를 송수신 하면 아래와 같은 결과를 얻을 수 있습니다. 544, 688과 같은 메시지는 10초에 Periodical 하게 전송이 되고 있습니다. 이를 통해서 메시지 송수신이 문제가 없다고 파악할 수 있죠.
하지만 두개의 Port를 동시에 써서 측정을 하게 되면 아래와 같은 결과를 가집니다. 속도가 1/2로 줄어버리는 현상입니다.
과연 무엇이 잘못된것 일까요? 보드의 잘못일까요? 프로그램이 잘못된 것일까요? 이는 정상적인 현상입니다. 그 이유는 NI-CAN 보드의 특성 때문입니다.
NI-CAN의 경우 2개의 Port를 같이 쓰면 Port간의 분리가 되어 있지 않기 때문에 Resource를 공유하게 되고, 이로 인해 Rate Drop이 발생할 수 있다고 합니다. 하지만 NI-XNET은 2개의 Port가 분리되어 있어 이러한 현상이 발생하지 않는다고 합니다.
기술적으로 설명을 드리면 NI-CAN 하드웨어는 Intel 386EX 임베디드 프로세서를 사용하고 있는데, 이 프로세서가 2개의 포트에서 공통적으로 공유하여 사용하고 있게 때문에 두개의 Port를 동시에 사용하게 되면 Timing 부분에 대한 제한이 발생할 수 있다고 합니다. 하지만 NI-XNET의 경우 FPGA를 이용하기 때문에 디바이스 내부에 완벽히 구분된 2개의 프로세서로 구현되어 있고, 이로 인해 Resource 공유의 문제 없이 Timing에 대한 제한없이 사용할 수 있다고 합니다.
타이밍에 대한 문제가 발생한다면, Legacy 보드는 NI-CAN 보드가 아닌 NI-XNET 기반의 최신 보드를 사용하시기 바랍니다.
이 글이 도움이 되셨나요?
그렇다면 아래의 그림을 클릭해주세요.
'National Instruments > 통신' 카테고리의 다른 글
LabVIEW에서 RS-485 프로그래밍 적으로 연결 방식 설정하기 (0) | 2015.06.19 |
---|---|
EPICS 통신이란? (Introduction to EPICS) (0) | 2015.06.09 |
[NI-CAN] NI-CAN을 이용한 NI CAN Demobox와 통신하기 (0) | 2015.02.17 |
NI-CAN과 NI-XNET의 차이 (2) | 2015.02.16 |
NI-VISA 잠금 방식에 대해서(Exclusive, Shared Lock) (0) | 2015.02.16 |