- [ 네트워크/STMicroelectronics bxCAN ]bxCAN 주요기능 소개 - Message storage2024-10-07 13:33:37CAN 메시지와 소프트웨어 간의 인터페이스는 mailbox라는 개념을 통해 구현됩니다. CAN mailbox는 메시지를 저장하고 관리하는 데이터 구조로 각 mailbox는 메시지와 관련된 모든 정보를 포함하며 identifier, data, control, status and time stamp information 등과 같은 정보들이 포함됩니다. 우리가 일반적으로 사용하는 Gmail과 같은 이메일과 비슷한 개념이라고 생각하면 이해하기 쉽습니다.Transmit mailbox소프트웨어는 전송할 메시지를 비어있는 transmit mailbox에 설정을 진행하는 데 이때 identifier, data, control, status and time stamp information 등과 같은 제어 정보가 포함됩..
- [ 네트워크/STMicroelectronics bxCAN ]bxCAN 주요기능 소개 - Identifier filtering2024-10-07 13:33:31CAN 프로토콜에서 메시지의 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는 노드의 주소와는 ..
- [ 네트워크/STMicroelectronics bxCAN ]bxCAN 주요기능 소개 - Transmission handling, Time triggered communication mode, Reception handling2024-10-07 13:33:21Transmission handlingCAN 메시지를 전송하려면 애플리케이션이 빈 전송 메일박스를 선택하고 식별자, 데이터 길이 코드(DLC), 데이터를 설정한 후 CAN_TIxR 레지스터의 TXRQ 비트를 설정해야 합니다. TXRQ 비트 설정 후 메일박스는 대기 상태로 들어가고 가장 높은 우선 순위를 갖게 되면 전송이 시작됩니다. 전송이 완료되면 메일박스는 다시 빈 상태가 되며 성공적인 전송은 CAN_TSR 레지스터의 RQCP 및 TXOK 비트로 표시됩니다. 전송 실패 시 원인은 ALST 비트(중재 손실) 또는 TERR 비트(전송 오류 감지)로 나타납니다. Transmit prioritydescription By identifier여러 개의 전송 메일박스가 대기 중일 때 전송 순서는 메일박스에 저장된 ..
- [ 네트워크/STMicroelectronics bxCAN ]STMicroelectronics bxCAN 소개2024-10-06 18:29:09bxCAN이란?다양한 제조사에서 만들고 있는 다양한 CAN 모듈이 존재하지만 저비용, 일반 유저가 접근하기 쉬운 STM32 bxCAN 모듈을 대상으로 주요 기능을 다루도록 하겠습니다. 다른 제조사에서 만든 모듈의 경우에도 유사한 구조를 나타내고 있어 하나의 모듈만 잘 이해하여도 다른 제조사에서 만든 CAN 모듈을 이해할 수 있습니다. STM32 칩에서 CAN 통신을 지원하는 칩의 경우 bxCAN 컨트롤러가 마이크로컨트롤러에 내장되어 있으며 CAN 프로토콜 2.0A와 2.0B 표준을 지원합니다. 최대 통신 속도 1 Mb/s를 지원하며 표준 ID와 확장 ID를 사용하는 메시지를 모두 지원하며 3개의 전송 메일박스를 갖추고 있어 전송 메시지의 우선 순위를 소프트웨어로 제어할 수 있습니다. 수신 측면에서는 수신..