- [ 네트워크/STMicroelectronics bxCAN ]CAN filter registers2024-10-16 14:15:57CAN filter master register (CAN_FMR) CAN filter master register (CAN_FMR)는 필터의 전반적인 설정을 관리합니다. 예를 들어 필터의 초기화 상태를 설정하고 필터 뱅크가 CAN2에서 사용할 수 있도록 설정하는 등의 기능을 합니다. 주요 필드와 기능은 다음과 같습니다. CAN2SB[5:0]: CAN2 Start Bank이 필드는 CAN2 인터페이스가 필터를 사용할 때 어떤 필터 뱅크부터 시작할지 정의합니다.예를 들어, CAN2SB[5:0] = 28이면 CAN1의 필터도 CAN2에서 사용할 수 있습니다.CAN2SB[5:0] = 0이면 CAN1에는 필터가 할당되지 않습니다.FINIT: Filter Initialization Mode0: 필터가 실제로 동작하..
- [ 네트워크/STMicroelectronics bxCAN ]CAN mailbox registers2024-10-15 07:50:14CAN mailbox registers는 CAN에서 메시지를 송수신하는 데 필요한 정보를 저장하는 레지스터로 송신 메일박스와 수신 메일박스로 나뉘며 각각의 메일박스는 특정한 기능과 구조를 가지고 있습니다.송신 메일박스 (TX Mailbox): 송신할 메시지를 저장하는 공간입니다. 비어 있을 때만 쓰기가 가능하며, 송신 상태를 나타내는 비트(TME)가 설정되어 있어야 합니다.수신 메일박스 (RX Mailbox): 수신한 메시지를 저장하는 공간입니다. 항상 쓰기 보호 상태이며 수신한 메시지는 FIFO 구조로 저장됩니다.CAN TX mailbox identifier register (CAN_TIxR) (x=0..2)CAN TX Mailbox Identifier Register (CAN_TIxR)는 CAN 시스..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN bit timing register (CAN_BTR)2024-10-14 10:05:32CAN bit timing register (CAN_BTR)는 CAN 통신에서 비트 타이밍을 설정하는 데 사용되는 레지스터로 전송 속도, 재동기화 점프 폭, 시간 세그먼트 등을 정의하여 CAN 버스의 정확한 동작을 보장합니다. 주요 필드와 기능은 다음과 같습니다.SILM: Silent Mode (Debug)0: 정상 작동1: Silent 모드 (디버그 용도)LBKM: Loop Back Mode (Debug) 0: 루프 백 모드 비활성화1: 루프 백 모드 활성화SJW[1:0]: Resynchronization Jump Width이 비트는 CAN 하드웨어가 비트를 늘리거나 줄여 재동기화를 수행할 수 있는 최대 시간 쿼터 수를 정의합니다.tRJW=tq×(SJW[1:0]+1)t_{RJW} = tq \times ..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN error status register (CAN_ESR)2024-10-14 10:05:02CAN error status register(CAN_ESR)는 CAN 프로토콜의 결함 제한 메커니즘을 구현하는 레지스터로 CAN 버스에서 발생하는 오류 상태를 모니터링하고 관리하는 역할을 수행합니다. 주요 필드와 기능은 다음과 같습니다. REC[7:0]: Receive error counter이 카운터는 수신 중 오류가 발생할 때 증가하며 오류의 종류에 따라 1 또는 8만큼 증가합니다. 성공적으로 수신된 경우 카운터는 1만큼 감소하거나 128을 초과할 경우 120으로 리셋됩니다. 카운터 값이 127을 초과하면 CAN 컨트롤러는 오류 수동 상태에 진입합니다.TEC[7:0]: Least significant byte of the 9-bit transmit error counter 이 비트는 9비트 전송 ..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN interrupt enable register (CAN_IER)2024-10-14 10:04:44CAN interrupt enable register (CAN_IER)는 다양한 인터럽트를 활성화하거나 비활성화하는 기능을 제공합니다. 이 레지스터의 각 비트는 특정 이벤트에 대한 인터럽트 발생 여부를 제어합니다. 주요 필드와 기능은 다음과 같습니다. SLKIE: SLEEP 인터럽트 활성화0: SLAKI 비트가 설정되어도 인터럽트가 발생하지 않습니다.1: SLAKI 비트가 설정될 때 인터럽트가 발생합니다.WKUIE: WAKEUP 인터럽트 활성화0: WKUI 비트가 설정되어도 인터럽트가 발생하지 않습니다.1: WKUI 비트가 설정될 때 인터럽트가 발생합니다.ERRIE: ERROR 인터럽트 활성화0: CAN_ESR에 오류 조건이 발생해도 인터럽트가 발생하지 않습니다.1: 오류 조건이 발생할 때 인터럽트가 ..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN receive FIFO 0/1 register (CAN_RF0R/CAN_RF1R)2024-10-14 10:04:37CAN receive FIFO 0/1 register(CAN_RF0R/CAN_RF1R)는 수신 FIFO 0, 1의 상태를 관리하는 데 사용됩니다. 이 레지스터를 통해 수신된 메시지와 FIFO의 상태를 모니터링할 수 있으며 메시지 수신 모니터링, 오버런 상태 감지, FIFO 상태 확인 등과 같은 작업을 수행합니다. 주요 필드와 기능은 다음과 같습니다. RFOM0/RFOM1 :소프트웨어에서 설정하여 FIFO의 출력 메일박스를 해제합니다. FIFO에 적어도 하나의 메시지가 대기 중일 때만 해제할 수 있으며 FIFO가 비어 있을 때 설정해도 효과가 없습니다. 두 개 이상의 메시지가 대기 중일 경우 다음 메시지에 접근하기 위해 출력 메일박스를 해제해야 합니다. 출력 메일박스가 해제되면 하드웨어에 의해 이 비트는 ..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN transmit status register (CAN_TSR)2024-10-11 13:11:34CAN Transmit Status Register(CAN_TSR)는 송신 메일박스의 상태를 모니터링하는 데 사용되는 레지스터로 송신 메일박스의 상태 및 오류를 확인하는 데 필요한 다양한 플래그와 정보를 포함하고 있습니다. 주요 필드와 기능은 다음과 같습니다. LOW2, LOW1, LOW0:여러 메일박스가 대기 중일 때 최저 우선 순위 메일박스를 나타내는 비트로 단일 메일박스가 대기 중이면 이 비트들은 0으로 설정됩니다. TME2, TME1, TME0:해당 메일박스가 비어 있음을 나타내는 비트로 각각의 비트는 해당 메일박스(0, 1, 2)가 전송 요청을 대기하고 있지 않음을 나타냅니다. 즉 송신이 비어 있는 경우에 설정됩니다.CODE:비어 있는 메일박스의 번호를 나타내거나 최저 우선 순위 메일박스 번호를..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN master status register (CAN_MSR)2024-10-11 13:11:24CAN Master Status Register (CAN_MSR)는 CAN 모듈의 상태를 모니터링하고 다양한 제어 정보를 제공하는 레지스터로 CAN 모듈의 상태를 실시간으로 파악하는 데 유용하며 슬립 모드 및 초기화 모드의 전환 상태를 관리합니다. 주요 필드와 기능은 다음과 같습니다. RX (Receive Signal):CAN_RX 핀의 실제 수신 신호 값을 모니터링합니다. 비트가 1로 설정되면 CAN 하드웨어가 수신 데이터를 받고 있음을 나타냅니다.SAMP (Last Sample Point):SAMP 비트는 CAN 통신에서 마지막으로 읽은 수신 데이터의 상태를 나타내며 이를 통해 수신된 비트가 정확한지 확인하고 데이터의 신뢰성을 높이는 데 도움을 줍니다.RXM (Receive Mode):CAN 하드웨어..
- [ 네트워크/STMicroelectronics bxCAN ]CAN control and status registers - CAN master control register (CAN_MCR)2024-10-11 13:11:15CAN master control register(CAN_MCR)는 CAN의 작업 모드를 관리하며 다양한 레지스터 비트를 통해 제어 기능을 수행하는 레지스터로 CAN 모듈의 초기화, 동작 모드, 시간 설정 등의 기능을 포함하고 있습니다. 주요 필드와 기능은 다음과 같습니다.DBF (Debug Freeze):디버깅 모드에서 CAN의 송수신을 일시적으로 중지하는 용도로 사용됩니다. 비트가 1로 설정되면 CAN의 송수신은 멈추지만 수신 FIFO의 데이터는 정상적으로 접근하고 제어할 수 있습니다. 비트가 0으로 설정되면 CAN은 디버깅 중에도 정상적으로 작동합니다.TTCM (Time Triggered Communication Mode):CAN의 시간 기반 통신을 설정하는 데 사용됩니다. 이 모드에서는 내부 타이..
- [ 네트워크/STMicroelectronics bxCAN ]bxCAN 주요기능 소개 - Error management2024-10-08 07:44:43Error management는 Transmit Error Counter(TEC)와 Receive Error Counter(REC)를 사용합니다. 해당 값들은 오류 상태에 따라 증가하거나 감소하며 각각 CAN_ESR 레지스터에 저장됩니다. 소프트웨어는 TEC REC 값을 읽어 오류 여부를 판단할 수 있습니다. 그리고 하드웨어는 현재 오류 상태에 대한 자세한 정보를 CAN_ESR 레지스터에 제공합니다.Transmit Error Counter (TEC) : 송신 오류의 수를 나타내며 송신 중 발생한 오류가 증가할 때마다 카운터 값이 증가합니다. 이 카운터는 송신이 성공적으로 이루어지면 감소할 수 있습니다. TEC 값이 특정 임계치를 초과하면 CAN 모듈은 오류 상태로 진입할 수 있으며 이를 통해 소프트웨어..