본문 바로가기

자동차 임베디드 SW/CAN통신 & LIN통신23

CAN 통신 BaudRate과 Bus Load BaudRate는 통신속도를 의미한다. 1초에 몇 bit의 데이터를 전송하는지를 의미하는 단위가 bps 이다. 1초에 1000bit면 1kbps 1초에 1,000,000 bit면 1Mbps 이다. 가장 중요한 사실은 같은 CAN BUS에 통신을 참여하고 있는 대상은 모두 BaudRate을 통일해서 사용해야한다는 것이다. 앞서 말했듯이 CAN 통신은 BUS에 연결된 모든 제어기들이 BroadCast로 동작하기 때문에 모든제어기들의 BaudRate을 통일해서 사용해야한다. ㅡㅡㅡ 그리고 CAN 통신에서 사용가능한 최대 속도는 통신에 사용되는 실제 전선의 물리적인 길이에 따라 달라지게 되는데.. 암튼 일반적으로 250kbps 또는 500kbps를 사용한다. ㅡㅡㅡㅡㅡ 한편 bus load가 무엇인고하니.. 캔.. 2022. 6. 18.
CAN 통신에 대하여(3) 시그널의 개념. Factor , Offset 등등 이전 글에서, 캔 메세지의 ID를 통해 각 ID 별로 해당 메세지의 이름은 뭔지, 무슨 데이터를 담고 있는지 정의한다고 했다. 이번에는 다음과 같은 상황을 생각해보자. 보낼때(physival value - offset) / factor받을때(raw data x factor) + offset 예를 들어 unsinged 8 bit 시그널 factor 0.1 offset -12 라면 보내는 측에서 보내려는 physical value가 10 이라면 (10 - (-10) ) / factor = 200 이므로 시그널에 200이라는 값을 담아서 보냄 받는 측은 200이라는 값을 전달받은 후 200x 0.1 +(-10) = 10 이므로 센더가 보내려는 physical value를 10이라고 해석한다. 2022. 6. 15.
CAN 통신에 대하여(2). 메세지의 ID 캔통신의 메세지에는 ID 가 있다. 캔 통신에서 송신되는 메세지는 ID가 있으며, 최대 8바이트의 데이터를 담을 수 있다. 그런데 이전 글에서 말했듯이 캔의 메세지에는 source address, destination address가 없다. 근데 메세지는 버스에 연결된 모든 제어기에게 전송된다. 메세지를 수신하는 입장에서 생각해보면, 이 메세지를 누가 쏜건지, 이 데이터에 무슨 정보가 담긴건지 알 수가 없다. 그래서 사용하는 것이 바로 메세지의 ID 이다. 메세지마다 ID를 붙이고, 해당 ID의 메세지는 누가 송신을 누가하는건지, Data는 몇 바이트가 담기는 건지, 그리고 그 Data 영역에 담긴 데이터가 실제로 어떤 정보를 갖는건지 이런 정보들을 사전에 약속해둔다. 해당 CAN Bus로 통신에 참여하.. 2022. 6. 15.
CAN , CAN FD 종단저항 이슈 CAN통신을 할 때는 버스에 종단저항이 달려있어야 한다. 노이즈, 왜곡 방지 역할을 한다. 근데 인터넷에 정보를 보면 다들 120옴 저항을 달아야한다고 나온다. 이것도 정확히 왜 120옴인지는 잘 모르겠는데 일반적으로 그렇게 알려져있다. 근데 정확한 이유는 모르겠으나 꼭 120 옴이 아니어도 통신이 되기도한다. 특히 CAN FD의 경우 Baud Rate이 빨라서 이러한 저항값에 더욱 민감하다고 한다. 그래서 간혹 같은 HW와 SW인데 High Speed Can은 잘 동작되는데 CAN FD는 동작이 안되는 경우가 있다. 이럴때는 종단저항값이 적절한 값인지 확인할 필요가 있다. 근데 적절한 저항값을 계산하는 방법은 잘 모르겠음 2022. 5. 31.
CAN 통신 개요. 캔 통신이란? Can통신이란 무엇인가? 세상에는 다양한 통신 프로토콜들이 존재하는데 컴퓨터에 랜선을 연결해서 인터넷을 사용할 때 쓰는 TCP/IP 통신, WiFi 통신이 대표적인 예시이다. CAN도 수 많은 통신 프로토콜 중 하나이다. 통신이라는 것은 서로 다른 두 주체가 데이터를 주고 받는 것을 의미한다. 자동차 안에는 굉장히 많은 제어기가 들어가 있다. 여기서 제어기는 일종의 컴퓨터라고 생각하면 된다. 핸들(조향장치)를 컨트롤 하는 제어기, 브레이크를 컨트롤 하는 제어기, 에어백을 컨트롤 하는 제어기, 스마트키 모듈을 컨트롤하는 제어기 등등.. 아주 많은 수의 제어기가 자동차 안에 들어가있다. 그리고 이러한 제어기들은 서로 정보를 주고 받을 필요가 있는데, 이 때 사용하는 통신 프로토콜이 바로 CAN 통신이다. C.. 2021. 4. 15.