방명록
- bxCAN 주요기능 소개 - Identifier filtering2024년 10월 07일 13시 33분 31초에 업로드 된 글입니다.작성자: IIIIIIIIIIIIIIIIIIIIl
CAN 프로토콜에서 메시지의 identifier는 내용에 따라 결정되며 송신자는 메시지를 모든 수신자에게 broadcasts됩니다.. 수신자는 identifier에 따라 메시지를 필요로 하는지 판단하고 필요하면 SRAM에 저장합니다. bxCAN Controller는 28개의 filter banks를 제공하여 hardware filtering을 통해 CPU 자원을 절약합니다. 각 filter bank는 두 개의 32-bit registers로 구성됩니다. filter banks에 저장된 값은 작동 비트 폭을 설정할 수 있습니다. 32비트 필터 또는 16비트 필터를 사용할 수 있으며 이는 각 filter banks마다 독립적으로 설정할 수 있습니다. 따라서 CAN 프로토콜에서 메시지 ID는 노드의 주소와는 관련이 없으며 메시지의 내용과 관련이 있습니다. 데이터를 송신하는 노드는 모든 수신자에게 메시지를 방송하고 수신자는 ID 값에 따라 소프트웨어에서 필요한 메시지인지 판단해야 합니다. 필요하다고 판단되면 SRAM에 복사하고 그렇지 않으면 메시지를 폐기합니다. 이 과정은 소프트웨어에 영향을 주지 않으면서 하드웨어 내에서 독립적으로 이루어집니다.
Mask mode와 Identifier list mode
필터는 두 개의 29비트 숫자를 사용하며 Identifier list mode와 Mask Mode 두 가지 모드를 제공합니다. Identifier list mode는 필터가 포착해야 할 ID를 나타내고 Mask Mode는 비교할 비트를 지정합니다. 필터는 단일 ID 또는 범위를 필터링할 수 있으며 홀수 ID만 수용하는 조합도 가능합니다. 각 필터는 번호가 낮을수록 우선 순위가 높지만 Mask Mode에서는 모든 ID를 통과시키는 마스크가 적용되면 필터 번호는 중요하지 않습니다.- Mask Mode : 특정 비트가 반드시 일치해야 하는지 또는 무시할 수 있는지를 설정합니다. 이 모드에서는 두 개의 레지스터 중 일부는 ID로 일부는 마스크로 작동합니다. 예를 들어 32비트로 동작할 경우 FxR1은 ID로, FxR2는 마스크로 작동하게 됩니다. 마스크의 0은 ID 값에 상관없이 통과되고 1은 반드시 일치해야 하는 부분으로 인식됩니다
- Identifier list mode : 수신된 식별자의 모든 비트는 필터 레지스터에 지정된 비트와 일치해야 합니다. 이 모드에서는 두 개의 레지스터가 모두 ID 값으로 작동합니다. 따라서 32비트 모드에서는 두 개의 ID 값을 가지며 16비트 모드에서는 네 개의 ID 값을 가지게 됩니다. 입력된 메시지의 ID는 명시된 ID 값과 정확히 일치해야 합니다.
참고자료
'네트워크 > STMicroelectronics bxCAN' 카테고리의 다른 글
CAN control and status registers - CAN master control register (CAN_MCR) (0) 2024.10.11 bxCAN 주요기능 소개 - Error management (0) 2024.10.08 bxCAN 주요기능 소개 - Message storage (0) 2024.10.07 bxCAN 주요기능 소개 - Transmission handling, Time triggered communication mode, Reception handling (0) 2024.10.07 STMicroelectronics bxCAN 소개 (0) 2024.10.06 다음글이 없습니다.이전글이 없습니다.댓글