반응형 can5 09. CAN Arbitration 은 어떻게 이루어질까? 우선 Arbitration(중재)라는 것은 무엇을 의미하는 것일까요? CAN BUS 라인은 모든 ECU가 사용하고 있습니다. 만일 ECU1과 ECU2가 같은 시점에 Message를 보낸다고 가정해 보아요! 그러면 그 순간 CAN 라인은 누구에게 우선권을 주어야 하는걸까요? 결론부터 말하면, 아래의 Identifier(Arbitration) Field의 값이 낮은 순부터 CAN BUS에 정보를 실을 수 있습니다. 아래 그림을 보면 Node A, Node B, Node C가 모두 동시에 정보를 보내려고 합니다. Start-of-frame bit에서 message의 시작을 알립니다. Node A = 100 0000 0111 = 0x407 Node B = 100 0000 0101 = 0x405 Node C = .. 2021. 7. 17. 08. CAN Frame 분석 수행 (Stuff Bit 포함) CAN을 1개의 프레임을 보낼때, Data만 보내는 것이 아니라, 이 메시지가 어떠한 메시지인지를 확인할수 있도록 다양한 정보를 함께 넣어 하나의 Frame으로 전달합니다. 그렇다면 이 Frame이 어떻게 구성이 되어 있는지를 확인해 보도록 해요! 그전에 이제 Frame을 보낸다라는 표현을, 메시지(Message)를 보낸다라고 이야기 하도록 하겠습니다. 1) SOF - Start of Frame의 약어이며, 메시지의 시작을 알리는 Bit이다. 1에서 0으로 변하며 메시지의 시작을 알립니다. 2) Identifier - 이 메시지(Frame)이 어떠한 메시지인지를 알수 있도록 하는 영역입니다. - 위의 예제에서는 000 0001 0100 --> 0x014를 나타내고 있다는 것을 알수 있습니다. - 총 11.. 2021. 7. 17. 07. CAN 정보 전달 방식 (BUS Networking, Broadcast Addressing) 그러면면 지금부터 CAN의 정보 전달 방식에 대해서 알아 보도록 해요! 정보 전달 방식에 앞서서, 한가지 생각을 해보면 좋을 것 같습니다. 왜 자동차에서 CAN이라는 통신 방식을 사용하는 것일까요? 전압으로 다른 방식으로 전달 할 수도 있었을 것입니다. 예전에는 아래와 같이 Point to Point 방식을 사용하였습니다. 이 방식은 전압을 전달하는 선을 하나씩 연결하여 정보를 주고받는 방법입니다. 저 라인에 12V를 주면 이것은 1로 해석을 해서, 에어컨을 켜라! 라는 뜻이 되겠고 0V를 주면 0이니까 에이컨을 꺼라! 라는 뜻이 되겠죠! 그런데, 2가지 문제점에 봉착하게 됩니다. 1) 자동차에 전기장치가 많아지면서 ECU가 많아지고 더 많은 라인이 필요하게 되었다. 자동차 하나 만드는데 드는 노력이 많.. 2021. 7. 17. 06. CAN의 CAN Controller/Transceiver 전압 레벨 (High Speed CAN) CAN은 Contoller Area Network의 약자로서, 제어기의 정보를 교환하는데 사용하는 통신 프로토콜입니다. 아래 그림과 같이 2개의 ECU가 존재 한다고 할때, MCU에서 해석한 정보를 서로에게 전달할 경우가 있을 겁니다. 예를 들어 ECU1에서 자동차의 배터리 전압을 측정하고 정보를 가지고 있고, 이것을 ECU2에 전달하여 ECU2는 배터리 전압이 없으니, 충전을 해야겠구나! 하고 충전 동작을 수행할수 있습니다. 서로 정보를 교환해야 합니다. 이전 포스팅글에서 저는 결국 전압을 통하여 정보를 전달한다고 말씀드린바가 있습니다. 조금더 구체적으로 말씀을 드리면, 위의 그림에서 MCU안에는 CAN Controller라는 것이 있는데, 이 CAN Controller가 MCU 전압 레벨로 CAN T.. 2021. 7. 17. 이전 1 2 다음 반응형