관리 메뉴

Leo's Garage

Mode Management 본문

자동차 및 자동차 SW/AUTOSAR

Mode Management

LeoBehindK 2023. 7. 7. 00:37
728x90
반응형

AUTOSAR Project를 Bring up하다보면 마주치는 모듈 중 하나가 BswM(Basic Software Mode Manger) 모듈이다. 

보통 초기화 단계의 설정과 OS run을 마치고 나면, 이제 Mode Management가 시작되게 된다. 

 

AUTOSAR 내에는 다양한 모드 매니져들이 존재하는데, EcuM(ECU State Manger), ComM(Communication Manager) CanSM(CAN state Manger) 등이 있다. 

그런데 이렇게 많은 모드 매니져가 전부 BSW들의 모드를 직접 변경하거나 관리하는 것이 아니다. 

AUTOSAR 내에 모든 모드를 관리하기 위한 모듈이 존재하는데 그게 바로 BswM이다. 

따라서 우리가 정상적으로 Key on을 하고 init이 끝났다면, 이 또한 BswM 입장에서는 init -> wait -> run의 상태로 들어온 것과 마찬가지이다. 

 

BswM은 모드 변경과 관련하여 아래 3가지의 절차를 수행하는데

  1. Mode 변경이 가능한지 확인
  2. 가능하다면 Mode 변경 대상 확인
  3. Mode 변경 통보

위와 같은 단계로 모드 변경을 고지한다. 

이를 위해서 BswM은 모든 Mode에 대한 정보를 가지고 있고 그 정보는 아래와 같다. 

  • Mode Requester : 특정 Mode에 대해 Mode 변경을 요청할 수 있는 개체
  • Mode User : Mode 변경을 실제로 수행하는 개체
  • Rule : Mode가 변경될 수 있는 조건
  • Action : Mode가 변경될 때 수행되는 동작

 

실제 변경 절차

 

Mode Requester

Mode Requester는 최초 Mode 변경을 요청하는 개체이다. Mode Requester는 Mode 변경을 위해 Mode Request Interface를 사용하여 Mode Manager를 호출하며, 이때 필요한 데이터를 같이 보낼 수 있다.

Mode Requester와 Mode Manager는 n : m 관계이다. 하나의 Mode Requester는 복수의 Mode Manager에 대해 각각 Mode 변경을 요청할 수 있다. 단, 국산 AUTOSAR 플랫폼인 mobilgene을 비롯한 대부분의 AUTOSAR 플랫폼에서는 BswM이라는 하나의 Mode Manager가 모든 Mode 변경에 대한 요청을 처리하며, 따라서 이런 경우 Mode Requester와 Mode Manager 간에는 1 : n 관계가 성립한다.

Mode Manager

Mode Manager는 Mode Requester로부터 Mode 변경 요청을 받을 경우 해당 Mode의 여러 조건을 감안하여 최종적으로 Mode 변경 여부를 결정한다. Mode 변경이 이루어지게 될 경우, Mode Manager는 해당 Mode 변경과 연관된 Mode User들에게 Mode 변경을 통보한다. 이때 Mode Manager와 Mode User 간에는 1 : n 관계가 성립한다.

Mode User

Mode User는 Mode Manager로부터 Mode 변경을 통보받아 필요한 작업을 수행한다. 이를 위해 Mode User는 Mode Manager와 Mode Switch Interface를 사용하여 연결되어 있다.

728x90
반응형
Comments