Network Management
네트워크 관리는 ECU간 커뮤니케이션의 안전성과 신뢰성을 보장하기 위해 사용된다.
이를 통해 각 노드를 허가된 범위내에서 접근할 수 있고, 일시적인 고장과 관련해 최대 허용치를 설정하며,
네트워크 관련 진단 기능을 지원할 수 있다.
전장 분야에서 사용하는 NM(Network Management) 구현 방법은 몇 가지 방식으로 구분된다.
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 구조를 가지도록 구성된다.
모든 메시지가 정해진 Flag(Sleep Indication) 신호를 주고 받으면 최종적으로 Sleep 모드를 위한 신호 Flag(Sleep Ack)를 한 ECU에서 BUS를 통해 보낸다. Sleep Ack Flag를 받은 모든 ECU는 Sleep 모드로 전환되며 BUS off 상태가 된다.
NM message
위와 같은 링 구성을 구현하기 위해 동일 버스내 각 노드(ECU)마다 NM 메시지가 존재한다.
NM 메시지는 자신의 ID(Source)와 목적 ID(Destination)을 갖는다. 메시지를 송신할 때 그 노드의 NM State 역시 OpCode로 전송한다.
이 NMPDU가 encoding 되어 프로토콜에 알맞는 네트워크 데이터가 되고 목적지에서 디코딩 되어 NMPDU로 변환된다.
예를 들어 CAN 데이터로 NM 메시지를 송수신 할 경우 아래와 같은 CAN 데이터의 ID부분에 Source정보가 포함될 것이다. Destination 1byte, OpCode 2 bytes가 CAN 데이터 영역에 구현된다.
NM State
OSEK NM의 Direct NM의 작동 구조는 아래 그림과 같이 스테이트 다이어그램으로 확인할 수 있다. NM이 On이 되면 크게 Sleep과 Wake-Up 모드로 나뉘며 Wake-Up 모드 시에는 크게 Normal, LimpHome 상태로 나뉜다. LimpHome 상태는 어떠한 메시지 및 신호도 받지 않는 상태이며 Normal은 정상적으로 통신이 되는 상황이다.
'기술 > 개발 지식' 카테고리의 다른 글
Medini Analyze를 활용한 기능안전(ISO26262) 세미나 - Part 3 (0) | 2020.02.25 |
---|---|
Medini Analyze를 활용한 기능안전(ISO26262) 세미나 - 개요 (0) | 2020.02.25 |
OSEK - OS(3) (0) | 2020.01.13 |
OSEK - OS (2) (0) | 2020.01.13 |
OSEK - OS (1) (0) | 2020.01.10 |