NI-CAN 드라이버를 사용하는 Legacy CAN 보드를 이용할 때 하나의 보드에 있는 2개의 포트를 동시에 이용하게 되면 송수신 Rate가 Drop되는 경우를 보게 됩니다. PCI-CAN/XS Series 2를 통해서 하나의 Port를 통해서 메시지를 송수신 하면 아래와 같은 결과를 얻을 수 있습니다. 544, 688과 같은 메시지는 10초에 Periodical 하게 전송이 되고 있습니다. 이를 통해서 메시지 송수신이 문제가 없다고 파악할 수 있죠. 하지만 두개의 Port를 동시에 써서 측정을 하게 되면 아래와 같은 결과를 가집니다. 속도가 1/2로 줄어버리는 현상입니다. 과연 무엇이 잘못된것 일까요? 보드의 잘못일까요? 프로그램이 잘못된 것일까요? 이는 정상적인 현상입니다. 그 이유는 NI-CAN ..
NI-CAN을 이용한 NI CAN Demobox와 통신하기 NI-CAN을 이용하기 위해서는 DATABASE 파일을 MAX에서 설정하거나, 파일에 대한 경로를 Init 함수에 넣어줘야 합니다. 이 글에서는 MAX에서 설정하는 방법을 알아보도록 하겠습니다. MAX를 켜고 내 시스템 – 채널 및 태스크 관리 – CAN Channels을 선택합니다. 거기에서 Load Channel Configuration을 선택하면 아래와 같은 파일 선택 화면이 뜹니다. 사용할 Database에 대한 파일을 선택합니다. 사용할 Message를 선택하고, All channels in selected messages를 선택하면 선택된 채널이 MAX에 올라오게 됩니다. 관련 기능 구현 준비하기 CAN 기능을 구현하기 위해서는 CAN..
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에 대한 정의가 조금은 달라졌습니다. 내용은 같지만, 이름이 살짝 변경되었다고 생각을 하시면 됩니다. 결론은 둘다 데이터베이스 파일을 사용하며, 이에 대해서 메시지를 받을 때 메시지 기반이냐, 프레임 기..
CAN 통신 사용시 종단 저항 설정 방법 CAN 통신은 속도에 따라서 사용하는 트랜시버의 종류가 달라지게 되고, 이로 인해 통신 방식 및 속도에 따라 종단 저항을 설정을 해줘야 합니다. 종단 저항을 설정하는 이유는 임피던스 매칭을 위해서 사용이 됩니다. 물론 NI에서 판매하는 종단 저항이 달린 케이블을 이용하게 되면 종단 저항을 설정할 필요는 없습니다. 관련 제품의 내용은 아래와 같습니다. 종단 저항 달린 케이블 확인하기 : http://sine.ni.com/nips/cds/view/p/lang/ko/nid/206738 그럼 High Speed와 Low Speed의 CAN 통신시 필요한 종단 저항에 대해서 알아보도록 하겠습니다. 1) High-Speed CAN High-Speed CAN 은, 신호선의(C..