본문 바로가기

자동차 임베디드 SW/Classic Autosar_이슈들15

E2E CRC Initial value, Xor Value 의미 ※ CRC 계산값 참고하기 좋은 사이트 링크.Sunshine's Homepage - Online CRC Calculator Javascript (sunshine2k.de) 오토사의 E2E 문서를 보면 E2E Profile 별로 어떤 CRC 알고리즘을 사용하는지가 적혀있다.근데 Polynomial은 CRC 계산에서 원래 당연히 사용되는거니까 뭔지 이해가 되는데,Initial Value, Xor Value라는게 보이는데 이게 뭔지 도통 이해가 안됐다.위 표에서 폴리노미얼이 1D인데,이것을 다항식으로 고치면X^8 + X4 + X3 + X2 + 1 이다.CRC 8이니까 제일 앞에 X^8은 자동으로 붙고1D를 2진수로 바꾸면 0001 1101 이니까 이걸 X형태로 바꾸면 X4 + X3 + X2 + 1 이 된다.그.. 2024. 7. 17.
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.