강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

nookk님의 프로필 이미지
nookk

작성한 질문수

ECU Reset 시 Functional Address과 SPRMIB 관련 내용

작성

·

124

·

수정됨

0

강의 중 나온 physical address, functional address는 특정ECU, 모든 ECU한테 날릴 수 있다고 하신 내용을 이해했습니다.

예를 들어

Functional Address ID: 123이면

Physical Address ID(ex: 조향 제어기): 456 이면

123의 ID로 ECU Reset (0x11) (ex: 1번 SF(Hard Reset?)에 대해)을 진행한다고 가정했을 때, 기본적으로 SPRMIB, 즉 요청하는 포맷에서 SID의 바로 뒤의 byte의 첫 bit에 1의 값(SPRMIB)을 넣어 요청하면 "Positive Repsonse를 안해도 돼!" 라고 전 제어기에게 요청하여 응답을 받지 않는 것으로 이해했습니다.

 

여기서 질문 드릴 내용이 있습니다.

  1. 위의 예시에서 ID 123은 모든 제어기로 요청하는 것인데, 이 때, SPRMIB를 0으로 요청하게 되면, 모든 제어기들은 Positive Response시에 모든 제어기 다 일일히 대답을 하나요? 또한, 모든 제어기에 요청 시 SPRMIB를 0으로 요청할 수도 있는 것일까요? (통신에 부하가 걸리신다고는 하셨는데,,) (tester 입장에서 궁금)

     

  2. 추가로, SPRMIB를 1로 요청했을 때, 무 응답으로 알고 있습니다. 그러나, 이 외에도 모든 제어기에 ECU Reset 요청시에, Pending Response(ex: 03 7F 11 78 ....)후 긍정응답(ex: 02 51 01 ...)이 올 수도 있는 것일까요?

  3. 또한, 전제어기의 ID로 요청하는게 아닌, ID 456으로 조향제어기(Phyical Address)에게 요청 시에는 SPRMIB를 1로 요청할 수가 있나요? + 요청이 가능하다면, 무 응답인가요?

답변 1

0

안녕하세요 지나가는 AUTOSAR 개발자입니다..

이미 해결하신 의문일수는 있지만 답글이 하나도 없길래

답글 납깁니다! 참고만 부탁드립니다.

1. 원칙 상은 해당 시나리오면 모든 제어기는 다 대답을 해야 합니다.

다만 이미 이해하시고 계시듯이 Tester 입장에서도 그런 상황을 고려하여

SPRMIB를 적절하게 사용하여 시나리오등을 구현해야 해야 합니다.

그리고 일반적으로 실무에서는 개발요구사항 등에서 말씀하신 시나리오가 발생하지 않도록

요구사항이 설계 되어 있는 경우가 많습니다.

2. Pending은 NRC(Negative Response)에 해당하니 당연히 응답이 올 수 있습니다.

다만 이후에 정상수행되면 SPRMIB(Suppress "Positive Response")이므로 긍정응답은 보내지 않아야 합니다.

3. Physical로도 당연히 SPRMIB를 요청할 수 있고 제어기는 긍정 응답을 보내야 할 시는 무응답합니다.

 

nookk님의 프로필 이미지
nookk

작성한 질문수

질문하기