본문 바로가기

전체 글

(138)
2. CAN 통신 흐름 (1) CAN 컨트롤러 - CAN 트랜시버 - 버스 CAN 통신에서 어플리케이션의 구성과 신호의 흐름을 간단하게 설명하겠습니다.CAN 통신의 회로 구성입니다. STM32F091RC는 MCU 내부에 CAN 컨트롤러는 포함하고 있지만, CAN 트랜시버는 따로 구성해야 하고 대부분의 MCU가 그런 것으로 알고 있습니다. 먼저 CAN 통신은 Logic Low(0V)와 Logic High(3.3V) 신호를 사용하는 UART나 SPI와는 다릅니다. CAN RX는 송신에 전혀 관여하지 않으며, CAN 컨트롤러가 CAN 트랜시버에 Logic Low 신호와 Logic High 신호를 전송할 때는 UART, SPI와 동일하게 0V, 3.3V를 사용하지만, CAN 트랜시버가 버스에 데이터를 보낼 때, CAN Low와 CAN High 신호선은 다음과 같은 상태가 됩니다. CA..
1. 개발환경 및 설명 방식 STM32F091RC MCU를 사용하여 실제 CAN 통신을 하는 방법을 위주로 설명을 하였고, 프로토콜의 내용은 설명 중간 중간에 삽입해 두었습니다. 이렇게 하는 이유는 CAN 프로토콜에 관해 자세히 설명되어 있는 책들이 이미 시중에 많이 나와있는 반면에, 실제로 구동해보는 내용은 찾기 어려웠기 때문입니다. CAN 프로토콜에 관해서는 특히, ‘자동차 네트워크 시스템’이라는 책을 추천드립니다. 사토 미치오라는 일본인이 쓴 책인데 CAN 프로토콜에 관해서 정말 쉽고 자세하게 설명하고 있습니다. 또 LIN과 FlexRay 통신에 대한 내용도 수록되어 있습니다. 회로에 대해 몇 개 알아볼게 있어서 관련 책을 찾다가 느낀건데 일반적으로 일본책 번역본들이 한국책보다 쉽고 자세하더라구요. 아무튼 이 글을 읽기 전에 ..