- [ 네트워크/CAN 프로토콜 ]bxCAN 주요기능 소개 - interrupts2024-10-08 07:44:51bxCAN에는 4개의 인터럽트 벡터가 있으며 각 인터럽트 소스는 CAN Interrupt Enable 레지스터(CAN_IER)를 통해 독립적으로 활성화하거나 비활성화할 수 있습니다. 전송 인터럽트는 전송 메일박스가 비었을 때 각각 CAN_TSR 레지스터의 RQCP0, RQCP1, RQCP2 비트가 설정되면서 발생합니다. FIFO 0 인터럽트는 새로운 메시지를 수신할 때 FMP0 비트가 '00'이 아닐 경우 발생하며 FIFO0가 가득 차면 FULL0 비트가 오버런 상태가 되면 FOVR0 비트가 설정됩니다. FIFO 1 인터럽트는 새로운 메시지를 수신할 때 FMP1 비트가 '00'이 아닐 경우 발생하고 FIFO1가 가득 차면 FULL1 비트가 오버런 상태가 되면 FOVR1 비트가 설정됩니다. 마지막으로 오류..
- [ 네트워크/CAN 프로토콜 ]제조사별 CAN 모듈 소개2024-10-04 12:36:38주요 차량용 반도체를 생산하는 제조업체로는 Infineon, NXP, STMicroelectronics, TI, Renesas 등이 있습니다. 따라서 다양한 마이크로컨트롤러가 존재하고 서로 다른 이름으로 참조되는 CAN 컨트롤러가 존재합니다. 모든 CAN 컨트롤러 제조업체는 표준에서 요구하는 동일한 기능을 보장하지만 CAN 주변 장치의 실제 구현은 제조업체에 따라 다릅니다. NXP에서는 생산한 MCU에서는 FlexCAN 컨트롤러라고 하며 Infineon Technologies에서 생산한 MCU에서는 MCMCAN 컨트롤러로 표현됩니다. STMicroelectronics에서 생산한 MCU에서는 bxCAN(Basic Extended CAN) 컨트롤러로 표현됩니다. 각 MCU에는 해당 CAN 컨트롤러에서 여러 ..
- [ 네트워크/CAN 프로토콜 ]CAN 통신을 이루는 하드웨어 (CAN Controller & CAN Transceiver)2024-10-04 12:29:51개요CAN 통신을 이루기 위해서는 크게 Micro Controller, CAN Controller, CAN Transceiver로 구성됩니다. 주로 개발자가 코드를 작성하는 영역은 마이크로컨트롤러로 CAN 통신을 제어하는 역할을 하며 작업을 수행하기 위한 애플리케이션 코드를 작성합니다. 그리고 사용할 CAN 프로토콜의 유형(CAN 2.0A, CAN 2.0B, CAN FD 등)을 결정하고 데이터를 전송하고 수신할지를 설정하며 CAN Controller의 사용 방법(전송 속도, 전송 및 수신 메커니즘 등)을 구성합니다. CAN Controller는 CAN 프로토콜에 따라 데이터의 전송과 수신을 처리하고 CAN 메시지의 전송 또는 수신을 트리거합니다. 또한 Message Filtering, Arbitratio..
- [ 네트워크/CAN 프로토콜 ]CAN 2.0A (Standard Format) VS CAN 2.0B (Extended Format)2024-09-19 16:41:43CAN 2.0A (Standard Format) 및 CAN 2.0B (Extended Format)CAN 2.0A 및 CAN 2.0B는 식별자(ID) 필드의 길이가 주로 다른 두 가지 밀접하게 관련된 프로토콜입니다. 표준 CAN이라고도 불리는 CAN 2.0A는 11비트 식별자를 사용하는 반면 확장 CAN으로 불리는 CAN 2.0B는 29비트 식별자(ID)를 사용합니다. 식별자 길이의 차이는 데이터 전송에 몇 가지 영향을 미치며 사용자가 활용할 수 있는 CAN ID는 CAN 2.0A는 2048 개이고 CAN 2.0B는 5억 개를 초과하여 사용할 수 있습니다. 복잡한 시스템에서 유용: CAN 2.0B의 식별자가 길수록 더 많은 수의 고유 메시지 식별자를 사용할 수 있으며 이는 많은 노드와 데이터 유형이 있..
- [ 네트워크/CAN 프로토콜 ]CAN 프로토콜 개요2024-09-18 04:26:27개요CAN(Controller Area Network)은 1983년 Bosch에 의해 최초로 개발되었고 1986년 공식적으로 소개된 이후 현재 생산되는 대부분의 차량에서 사용되고 있습니다. 과거 차량에서는 UART방식인 일대일(Point to Point) 통신을 사용하였으나 차량 내 통신의 증가와 배선의 증가로 인한 배선 관련 문제점의 증가, 전자 제어 장치(ECU) 증가, 설계상의 한계, 차체 중량 증가와 이에 따른 개발비 증가 등, 이러한 문제점을 해결하기 위해 CAN 프로토콜을 개발하게 되었습니다.현재 CAN 프로토콜의 여러 특징 때문에 현재는 의료장비, 건물 자동화, 산업 자동화, 비행기, 열차, 중장비 차량 등 다양한 산업 분야에서 사용 되고 있습니다. CAN은 기본적으로 1Mbps의 전송 속..