CAN FD & BRS 모드로 NI-XNET을 사용할 때 프레임 에러 발생

업데이트 됨 Feb 11, 2019

해당 제품

Hardware

  • NI-9862
  • PXI-8512
  • PXI-8513/2
  • PXI-8512/2
  • PXI-8513
  • PCI-8513/2
  • PCI-8513
  • PCI-8512/2
  • PCI-8512

Driver

  • NI-XNET

다른

이는 CAN Flexible Data-rate(CAN FD) 및 비트 전송률 스위칭(Bit Rate Switching, BRS) 클러스터가 구현 된 CAN 네트워크에서 보고됩니다.

문의사항

CAN-FD와 BRS 클러스터가 NI-XNET 디바이스를 포함하는 버스에 있습니다. 다른 모든 장치는 정상적으로 작동하는 것 같지만 기본 NI-XNET 비트 전송률 타이밍 설정으로 에러 프레임이나 잘못된 동작이 나타납니다.

해결책

이 동작은 일반적으로 장치간의 샘플 포인트 불일치로 인해 발생합니다.
  • 이것은 XNET Interface: Baud Rate, XNET Interface: 64bit FD Baud Rate 프로퍼티 노드를 사용하여 노드의 다른 장치의 비트 타이밍과 일치시킴으로 수정할 수 있습니다. 다음 메뉴얼에서 더 많은 정보를 찾을 수 있습니다. NI-XNET Hardware and Software Manual 
  • NI-XNET 16.1 및 이후 버전에서는 간단한 그래픽 유틸리티를 사용하여 특정 샘플 포인트에 필요한 16 진수 값을 결정합니다. 이에 대해서는 아래에서 더 자세히 설명합니다.

추가 정보

BRS는 CAN 프레임에서 비트 전송률이 컨트롤 필드(중재 ID 및 헤더에 사용) 비트 전송률에서 데이터 필드 비트 전송률로 전환되는 지점을 나타냅니다. 데이터 전송률을 전환할 때, 송신기는 샘플 포인트까지 BRS를 열성 비트로 보냅니다.

데이터 필드 비트 전송률은 일반적으로 컨트롤 필드 비트 전송률보다 훨씬 높으므로 모든 노드의 샘플 포인트가 일치해야 합니다. 컨트롤 필드 비트 전송률의 샘플 포인트가 다른 노드와 일치하지 않으면, 많은 데이터 비트가 송신기와 수신기의 샘플 포인트가 중첩 되면서 빨리 전송되거나 잘못 수신될 수 있습니다.

예를 들면, 컨트롤 필드 비트 전송률의 4배인 데이터 비트 전송률로 설정한 수신기와 송신기가 있습니다. 컨트롤 필드 비트 전송률의 샘플 포인트가 60%로 설정된 송신기는 프레임을 샘플 포인트가 80%인 수신기로 보냅니다. 스위치 비트에서 수신기가 여전히 신호 샘플링을 하기 위해 기다리는 동안 송신기는 빠른 데이터 비트 전송률로 전환합니다. 그 다음 송신기는 프레임의 나머지 부분을 계속 진행하고 수신기는 불확실한 값 또는 잘못된 값(A)을 읽을 수 있습니다. 나머지 데이터에 대한 샘플 포인트는 계속해서 오프셋이 생기고 에러가 발생합니다.

CAN in Automation (CiA)은 CAN FD에 대한 권장 사항을 개발 및 게시하는 국제 사용자 및 제조업체 그룹입니다. 기본 XNET 보 전송속도에 사용되는 비트 전송률 타이밍 값은 CiA 권장 사항, 안정성 테스트 및 플러그 테스트 참여 결과에 따라 선택되었습니다. 일부 장치 제조업체는 XNET 기본값과 다른 설정으로 작동하도록 선택할 수 있습니다. 다른 장치와의 BRS 불일치를 피하려면 클러스터의 모든 장치가 동일한 비트 타이밍 설정으로 작동하는지 확인해야합니다.

NI-XNET 16.1 및 이후 버전은 특정 샘플 포인트에 필요한 16 진수 값을 결정하는데 도움이 되는 버스 모니터에 간단한 그래픽 유틸리티를 포함합니다. 이 유틸리티는 NI-XNET Bus Monitor를 열고 Setting » Interface and Database... 로 이동하여 인터페이스 및 데이터베이스 설정을 열어 접근 할 수 있습니다. 그런 다음 Baud Rate 드롭 다운에서 <Custom> 옵션을 선택하십시오. 그러면 Sample Point Slider를 사용하여 선택된 보 전송속도를 유지하면서 샘플 지점을 조정하는 데 사용할 수있는 대화 상자가 나타납니다. 적절한 샘플 포인트가 선택되면 16진수 Custom Baudrate를 복사 할 수 있습니다. 이는 위에서 언급된 프로퍼티에 동일하게 사용되는 값입니다.
 

이 글이 도움이 되셨습니까?

도움 안됨