본문 바로가기

자동차 임베디드 SW/Autosar14

Dem Healing개념 #DTC Healing #진단통신 고장 Healing https://newbie-developer.tistory.com/m/389 Dem Aging 개념.참고자료 : Autosar Diagnostic Event Manager #DTC Aging #진단통신 고장 aging Aging의 개념을 간략히 말하면, confirmed 상태의 dtc 고장이 있을때, 특정 조건을 만족하면 confirmed 상태를 해제하는 기능이 aging이다.newbie-developer.tistory.com Healing은 DTC Status Bit7:warningIndicatorRequested와 연관된다. 고장 발생된 Event가 Indicator request set된 상태일 때 특정 조건을 만족하면 이것을 clear하는게 힐.. 2023. 10. 18.
Dem Aging 개념. 참고자료 : Autosar Diagnostic Event Manager #DTC Aging #진단통신 고장 aging Aging의 개념을 간략히 말하면, confirmed 상태의 dtc 고장이 있을때, 특정 조건을 만족하면 confirmed 상태를 해제하는 기능이 aging이다. 참고로 dtc status byte에서 오른쪽에서 4번째 비트. 즉 bit3 의 값이 confirmed 이다. 관련 동작을 살펴보자면, Dem Event fail 발생시 고장 관련 정보가 Dem primary event memory에 쓰여진다. 또한 조건에 따라 confirmed 상태가 되면 dtc status bit3 값이 1로 set 된다. (confirmed 되는 조건은 사양별로 상이) 한편, 해당 event가 aging이.. 2023. 10. 17.
DTC status mask 및 DEM Pending DTC : 이번 사이클 또는 과거의 사이클에서 고장 발생유무 알림. Pass가 되야한다. Confimred DTC : 일정 조건 만족하여 clear memory하거나 힐링하지 않으면 지워지지 않는다. 이때 confirmed 되는 조건중에 failure threshold라는게 있는데 서로 다른 드라이빙 사이클에서 연속으로 fail 발생시 confirmed 되는 횟수이다. 이 값이 만약 0이라면, 이번 사이클에서 fail발생할 때 곧바로 confirmed 된다. 이 값이 만약 1이라면, 저번 사이클에서 fail 발생하고. 이번사이클에서도 fail 나야 confirm 되는 식이다. 2023. 9. 26.
진단관련 DEM,DCM 함수들 현재 set 된DTC 읽어오기 DEM 문서 SRS_Diag_04205 Dem_SetDTCFilter 현재 dem에 set 된 dtc 코드 읽기 Read Dtc 서비스와 연관 깊은 함수다. DTC Status mask나 severityMask 등을 input으로 해서, 해당 mask와 일치하는 DTC들만 걸러주는 함수이다. 거르기만 한거고 이 함수가 매칭되는 dtc 코드자체를 리턴해주지는 않는다. 필터에 걸러진 실제 dtc 코드값을 리턴하는 함수는 따로있다. Dem_GetNextFilteredDTC 앞에 set filter함수에서 걸러진 실제 dtc코드를 하나하나 읽어오는 함수이다. DTC Clear하기 이것도 read랑 비슷한데, 지우려는 dtc를 먼저 select 함수로 지정을 하고, 그러고나서 cle.. 2023. 9. 12.
Autosar DEM. Event Memory 개요 StorageTrigger Freeze Frame - Did를 갖는 데이터들로 구성 - 각 DTC마다 서로 다른 형태의 스냅샷으로 구성 가능 - 스냅샷 데이터 여러개 저장하는 것도 가능한데, 이것은 Calculated냐 Configured냐에 따라 동작컨셉이 조금 다르다. - 저장된 Freeze frame에 붙이는 번호가 record number 인데 , 이 record number 를 붙이는 규칙은 Calculated 냐 Configured 냐에 따라 달라진다. Calculated type인 경우 스냅샷이 찍힐때마다 레코드넘버가 1.2.3 이런식으로 1씩 증가하면서 할당된다. 참고로 레코드넘버는 각각의 이벤트마다 독립적으로 관리된다. 한편, Snapshot data를 capture하는 조건. 다시 말하.. 2023. 8. 2.
NVM Write All 그리고Changed State Nvm_WriteAll 이라는 함수는 ECU Shutdown 시퀀스에서 불리는 함수로, 제어기가 shutdown 되기전에 여러가지 nvm data를 write 한다. 이 때 모든 nvm을 싹 다 write 하는건 아니고 write all 대상에 포함되는 블록만 한다. 그리고 그 중에서도 블록의 state가 Changed 인것만 write 한다. 해당 state를 CHANGED 로 변경하는 함수가 SetRamBlockStatus 함수인데 이걸 호출해서 write 될지말지를 정한다. 근데 알고보니 SetRamBlockStatus 함수호출 이외에도 State를 Changed로 변경하는 case가 여럿있었다. 정확한 내용은 Autosar sws 표준문서에 나와있는데 그 중에 하나가, nvm read 했을때 De.. 2023. 5. 4.
오토사 OS 에러 E_OS_Limit 오토사 Os의 basic Task는 동시에 허용가능한 최대 Activation Number를 갖는다. 태스크를 이 제한 값보다 여러번 activate 했을때 E_Os_Limit 에러가 발생한다. 2023. 2. 4.
오토사 Fee , Ea 개념 정리 오토사 모듈 중 NVM 모듈이 있다. NVM은 Non Volatile Memory의 약자로 전원 Off 되도 지워지지 않는 메모리를 의미한다. 컴퓨터로 치면 하드디스크, SSD 같은 저장공간을 의미한다. 일반적으로 Mcu에서는 이러한 저장공간으로 일반적으로 2가지가 사용되는데 하나는 Flash memory. 또 하나는 EEPRom 이다. EEPRom은 일반적으로 mcu에 내장된게 아니라 별도의 소자(IC) 형태로 제공되고, 내 개발경험상 이런 eeprom 은 모두 SPI통신을 통하여 제어하는 방식이었다. 그래서 우리가 사용하는 Mcu랑 eeprom을 연결해서 spi 로 명령을 날려서 데이터를 저장.읽기 를 한다. 근데, eeprom의 경우 erase 명령과 write 명령으로 읽고 쓸 수 있는 메모리 사.. 2023. 1. 31.
Autosar DEM 모듈 개요 제어기의 고장 진단과 관련된 기능을 제공하는 모듈이다. UDS나 OBD 같은 진단통신과 연관이 깊다. DEM Event 각각의 고장을 Dem Event 라고 정의한다. 예를 들어 배터리 고전압, 배터리 저전압, 캔버스오프 라는 3개의 고장이 있다면 dem에 3개의 event를 정의하는 것이다. 각 event는 여러가지 파라미터를 갖는다. Operation Cycle 해당 이벤트에 설정된 operation cycle을 활성화시킨 상태에서만 이벤트에 대한 명령들이 유효하게 된다. operation cycle을 활성화(시작)하는 방법은 SetOperationCycle 함수를 사용하면 된다. DTC 매핑 각 Event는 DTC에 매핑될 수 있다. Event와 DTC는 N:1 관계이다. Freeze Frame F.. 2022. 11. 29.