본문 바로가기

기술/개발 지식

OSEK - NM

Network Management

네트워크 관리는 ECU 커뮤니케이션의 안전성과 신뢰성을 보장하기 위해 사용된다.

이를 통해 노드를 허가된 범위내에서 접근할 있고, 일시적인 고장과 관련해 최대 허용치를 설정하며,

네트워크 관련 진단 기능을 지원할 있다.

전장 분야에서 사용하는 NM(Network Management) 구현 방법은 가지 방식으로 구분된다.

전장 분야 NM 방식

OSEK 표와 같이 Direct OSEK NM Indirect OSEK NM 제공한다.

OSEK NM 주로 DIRECT OSEK NM 사용되니 DIRECT OSEK NM 대해 설명한다.

DIRECT OSEK NM

동일 버스내 각 ECU들은 순서를 가지며 따라서 자신의 ID(Souce)와 목적 ID(Destination)를 가진다. 만일 어떠한 ECU가 이전 차례의 ECU로부터 Sleep 모드에 관련한 Flag를 넘겨 받으면, ECU 상태를 확인 후 다음 차례의 ECU에게 Flag를 넘겨 주는 형식이다. 실제로 각 ECU는 BUS로 묶여 있으며 하드웨어적으로 Ring 구조를 가지는 것은 아니나, 메시지 규격 자체가 Ring 구조를 가지도록 구성된다.

링 구성의 DIRECT OSEK NM

모든 메시지가 정해진 Flag(Sleep Indication) 신호를 주고 받으면 최종적으로 Sleep 모드를 위한 신호 Flag(Sleep Ack)를 한 ECU에서 BUS를 통해 보낸다. Sleep Ack Flag를 받은 모든 ECU는 Sleep 모드로 전환되며 BUS off 상태가 된다.

버스 Sleep 절차

NM message

위와 같은 링 구성을 구현하기 위해 동일 버스내 노드(ECU)마다 NM 메시지가 존재한다.

NM 메시지는 자신의 ID(Source) 목적 ID(Destination) 갖는다. 메시지를 송신할 노드의 NM State 역시 OpCode 전송한다.

NMPDU 구성

 NMPDU가 encoding 되어 프로토콜에 알맞는 네트워크 데이터가 되고 목적지에서 디코딩 되어 NMPDU 변환된다.

NMPDU 전송 과정

예를 들어 CAN 데이터로 NM 메시지를 송수신 경우 아래와 같은 CAN 데이터의 ID부분에 Source정보가 포함될 것이다. Destination 1byte, OpCode 2 bytes CAN 데이터 영역에 구현된다.

CAN NM 메시지

NM State

OSEK NM Direct NM의 작동 구조는 아래 그림과 같이 스테이트 다이어그램으로 확인할 수 있다. NM On이 되면 크게 Sleep Wake-Up 모드로 나뉘며 Wake-Up 모드 시에는 크게 Normal, LimpHome 상태로 나뉜다. LimpHome 상태는 어떠한 메시지 및 신호도 받지 않는 상태이며 Normal은 정상적으로 통신이 되는 상황이다.

NM State


참고자료 : https://m.blog.naver.com/PostView.nhn?blogId=mdstec_auto&logNo=221035813882&proxyReferer=https%3A%2F%2Fwww.google.com%2F