묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결UDS 진단통신을 통한 SW 업데이트(SW ReProgramming)
Bootloader SW 관련 질문
안녕하세요, 강의 수강하면서 궁금한 점이 있어 질문드리게 되었습니다.Bootloader SW의 필요성에 대한 강의를 들으면서 하기와 같은 궁금점이 생겼습니다. 처음에 Debugger를 통해서 SW를 MCU Flash에 다운을 할 때에는 1개의 SW가 아닌 제어 & Bootloader SW로 총 2개의 SW를 개발해야 한다고 이해했습니다.여기서 궁금한 점이 해당 2개의 SW가 각각의 다른 영역을 가지고 있으니 각각의 SW를 따로 다운, 즉 Debugger를 통해 총 2번을 다운로드를(제어 SW 1번, Bootloader SW 1번) 수행해야 하는 건가요? 아니면, 작성된 SW Code를 빌드한 Hex 파일 1개에 2개의 영역을 알아서 구분하게 되어 있어서, 그냥 1번 다운로드를 하면 되는 것인지 추상적으로 느껴집니다,,1번가 비슷한 질문일 수도 있는데, 처음에는 Debugger를 통해서 다운로드를 해야 하는데, 처음의 MCU Flash에는 아무 것도 적혀있지 않은 상태인데 다운로드를 어떤 방식으로 수행하는 것일까요? (Debugger로 다운로드 시에는 아무 것도 적혀 있지 않으니 단순히 Write만 진행하는 것인가요?) (진단통신을 통한 업데이트 부분만 이해하다보니 헷갈리네요,,) (이후의 진단통신을 통한 업데이트 내용은 이해가 되었습니다!)항상 좋은 강의 감사드립니다.
-
미해결자동차 SW - UDS 진단통신 정복하기
UDS 데이터 엔디안
혹시 readdatabyidentifier에서 data를 보낼 때, 엔디안이 어떻게 설정되나요? 보통 ECU는 데이터를 만들어 낼 때 리틀엔디안 기준이고, 통신의 기준은 빅엔디안이어서. UDS는 어떻게 기준을 잡는 지 궁금하네요.
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
Routine Control Negative Response 질문입니다.
안녕하세요 강의 잘 듣고 있습니다.강의 복습 중에 궁금한 점이 있어 질문드립니다. PPT 40P에 나온 Routine Control Negative Response가7F 03 24 형태로 나왔는데 2번쨰 바이트가 서비스 ID인 0x31이 아닌 Sub Function인 거 같은데 Routine Control이 다른 서비스들과 다른 포맷을 사용하는 지 궁금합니다. 감사합니다.
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
Application -> Bootloader jump
application에서 bootloader로 jump할 때, 혹시 이 부분은 MCU의 soft reset같은 기능을 의미할까요? 그래서 상위 제어기가 하위 제어기에게 reset해서 bootloader로 진입해. 이런 방식일까요?
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
Secondary Bootloader와 first bootloader
reprogramming 기능의 여부에 따라 secondary bootloader와 first bootloader가 나뉜 다면, MCU에는 first 아니면 secondary bootloader 중 하나를 보유하고 있는 것인가요? 아니면 bootloader의 state machine에 따라 각 기능 secondary bootloader의 역할인 reprogramming과 그 밖의 app jump용도의 first bootloader로 state machine 내의 기능적인 역할로서 존재하는건가요?
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
Error 프레임 보낼 때
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1번 제어기가 passive 보내는데, 2번 제어기가 0을 보내서, bitstuffing rule을 어기지 않게 될 수 있는건 이해했지만, 만약 1번 제어기가 message id가 더 높은 경우에는 2번 제어기가 0을 보내지 못하기 때문에, 무조건 bit stuffing rule 위반에 의해 에러를 network에 보내는것 맞나요?
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
UDS Session 및 DTC 설정 관련
안녕하세요. UDS 관련해서 개발 중인 수강생입니다.현재 올려주신 강의 참고하면서 핸드코딩으로 UDS 및 Reprogramming을 구현 중인데, 몇 가지 의문점이 있어서 글을 올립니다.default Session에서 Extended Session이나 Programming Session으로 이동 후 특정 시간 동안 서비스 메시지가 없으면 timeout되어 default session으로 이동하는 것으로 알고 있는데요, 이때 부정 응답으로 들어가는 것도 정상 메시지로 봐야 하나요? 아니면 부정 메시지가 들어오는 동안은 timeout을 계속 계산하는 건가요?그리고 정상적으로 다운로드가 다 끝난 후 재시작을 하면, DTC Setting은 ON으로 시작하는 건가요? DTC의 기본 세팅값이 ON이 맞는지 궁금합니다.OEM마다 설정값이 다르긴 하겠지만 일반적으로 쓰는 설정값이 무엇인지 궁금합니다.답변 부탁 드립니다. 감사합니다!!
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
E2E protocol을 사용할때 data frame에 crc와 counter 영역을 따로 둔다고 했는데 데이터 영역에 있는 crc와 메세지 프레임에 따로 CRC 영역이 있는데 그 둘간의 차이는 뭘까요...?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. E2E protocol을 사용할때 data frame에 crc와 counter 영역을 따로 둔다고 했는데 데이터 영역에 있는 crc와 메세지 프레임에 따로 CRC 영역이 있는데 그 둘간의 차이는 뭘까요...?
-
미해결자동차 SW - UDS 진단통신 정복하기
사용 프로그램
학습을 하다가 궁금한 사항이 하나 생겼습니다. 진단통신 관련 서비스들을 배우게 되면, 함수들을 CAPL에서 프로그래밍을 작성하여 진단을 하게 되는 건가요? 아님 다른 C언어나 리눅스를 이용해서 진단을 하나요? 엄청 초보적인 질문인데 궁금해서 여쭤봅니다.
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
$34 Response 질문
34서비스에 대한 response로, 74 20 0F FF이 왔다고 가정해보겠습니다.그럼 $36 서비스시, Block당 보낼수 있는 최대 Size가 4095 Byte인가요 아니면 4096Byte인가요?48page, 52page의 설명이 다릅니다.만약 4095byte라면 실제로 첫번째 block에 전송되는 데이터 길이는 4095 - 2 = 4093 byte 인가요? (2는 36 01 총 2byte)
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
D-sub 핀과 120옴 저항 질문드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강사님 궁금한 점 질문드립니다. 앞 강의에서 D-sub 커넥터를 설명해주시고, 지금은 120옴 저항을 설명해주셨는데, 제가 인턴으로 근무하면서 'D-sub 커넥터'라고 언급하기보단 거의 모든 분들이 '120옴 저항'이라는 단어로 해당 핀을 언급하셨습니다. 그러다보니 헷갈려서 그러는데, 저항과 커넥터는 다른 것이지만, CAN통신 특성에 120옴 저항을 사용해야 하기 때문에 해당 저항 특성이 포함되어 있는 D-sub 핀을 사용하는 것이다 라고 이해하고 넘어가도 될까요?
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
ERROR PASSIVE FRAME
안녕하세요 강사님CAN에러 처리-2.에러 감지 및 반응 강의를 듣다가 헷갈리는 부분이 있습니다.9분 40초 쯤에 제어기 하나가 passive error bit를 보내는 중간에 다른 제어기가 0을 보내면 error를 알리는 강도가 낮아진다고 말씀하셨는데다른 강의에서는 한 제어기가 메세지를 보내는 중간에 끼어들지는 않는다라고 하셨던 것 같습니다.어떤 순간에 예외적인 경우가 있는 건가요?
-
해결됨CAN 통신 - 자동차 신입이 알아야 할 모든 것
CAN wake-up 시퀀스에 대해
외부로부터 wake-up pattern이 버스바를 통해 트랜시버로 들어오면 바로 트랜시버는 wake-up상태가 되어 INH 핀이 활성화되는 것인가요??("wake-up pattern을 받으면 트랜시버는 바로 wake-up하여 INH 핀이 활성화된다"가 맞는 말일까요??) 트랜시버를 wake-up하기 위해1)wake-up pattern을 트랜시버에 인가2)INH핀 활성화3)MCU 켜짐4)MCU로부터 트랜시버의 정확한 operating mode를 지정하기 위한 STB_N, EN 시그널 활성화이 시퀀스로 진행되는 것인지 궁금합니다.
-
미해결자동차 SW - UDS 진단통신 정복하기
안녕하세용
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세욥, 강의 잘 듣고 있습니당!_! 제가 질문이 있는데욥, 동일한 dbc 를 vector 에디터로 열어서 본 (ex)SteeringAngle 의 startbit 는 12 bitnotepad 및 메모장에서 열었을 때 BO_ 부분의 SteeringAngle 의 startbit 는 13비트로 되어 있는데욥 Length 는 2 입니다.동일한 dbc 인데 tool 에 따라 startbit 가 다르게 보이는지2. Canoe tool 에서도 dbc 의 startbit 가 CAN IG 으로 tx 보내기 위해서 보면 12bit 로 구성되어 있으며, 12bit 로 보내면 실제 화면에서 동작하지 않는데, dbc 자체를 notepad 의 startbit 값이 13으로 수정하여 CAN IG 에서 보내면 홤면에서 잘 동작함업무중에 너무 의아해서 질문 드립니당 ㅜㅜ
-
해결됨자동차 SW - UDS 진단통신 정복하기
브로드케스트 방식에 관하여
Can통신은 브로드 케스트 방식이라 특정 제어기가 송신을 하면 공통선에 연결되어 있는 모든 제어기가 수신을 한다고 알고있습니다(수신을 하나 사용할지 말지는 각 제어기 단에서 결정).강의 중 나온 physical address, functional address는 특정EUC, 모든 ECU한테 날릴 수 있다고 하는데 이 부분이 혼란스럽습니다.제가 어떤 부분을 놓치고 있는지 모르겠습니다.
-
미해결CAN 통신 - 자동차 신입이 알아야 할 모든 것
통신 타이밍을 비교하는 시점
통신 타이밍이 맞지 않을 경우 Tseg1, Tseg2을 조절하여 타이밍을 맞춘다고 하셨는데자신의 보내는 타이밍이 정확한지 확인하려면다른 ECU에서 데이터가 전송되어야타이밍 비교가 가능할 것이라고 생각합니다. 제가 알기로는 여러개의 ECU 중하나의 ECU만 데이터 전송이 가능하나고 앍고 있고예외 적인 상황읜 CAN ID를 비교하는 arbitration 영역에동시에 보낼 수 있다고 알고 있습니다. 그러면 arbitration 영역에서 타이밍을 비교한 후Tseg1, Tseg2을 이용해 타이밍을 맞추는 것인지확인 부탁 드립니다. 간단하게 얘기해서 이 통신 타이밍을 비교하는 시점이arbitration 영역에서 하는지 Data 영역에서 하는지궁금합니다!
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
Transfer data(36) 서비스의 "block sequence counter" 에 대한 질문입니다.
강사님,36 서비스를 사용해서 소프트웨어 업데이트 패키지를 전달할때,Block Sequence Counter 가 포함되는데요.Block Sequence Counter 의 범위가 00~FF 밖에 되지 않습니다.만약 Block 갯수가 255개를 넘어가는 경우에는 다시 00부터 시작하는것이 표준 동작인지요?
-
미해결자동차 SW - UDS 진단통신 정복하기
요청/응답 포맷에서 RID 부분 질문있습니다.
강의자료 초반부에 RID 는 2byte 정수라고 하셨는데,요청/응답 포맷에 보면 RID 부분이 1바이트처럼그림이 설명되어 있습니다. 그림부분에서 RID 는 2바이트(2칸)라고 이해하면 될까요?
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
31서비스를 사용해서 sig verify 에 대한 응답
강사님강의 슬라이드를 보면 아래와 같이 31 request 를 예시로 보여주셨는데요, 요청/응답 포맷(규격?) 에 대해 궁금한 부분이 있습니다.1) 요청31 01 02 88 79 26 16 ...31: 루틴서비스01: 이 부분이 2바이트인데, 0x00 0x01 라고 이해하면 될까요?02: 이 부분이 routine identifier (3~4bytes) 자리인데요0x00 00 00 02 라고 이해하면 되나요? 2) 응답이에 대한 응답은 다음과 같은데요.71 01 02 8871: 31+40 (긍정응답)01: 이 부분이 0x00 0x01 인거죠?02: 요청과 동일한 크기로.0x00 00 00 02 라고 이해하면 될까요?88: 88은 어떤 의미일까요? 미리 감사합니다!
-
해결됨소프트웨어 업데이트 : Re-Programming 과정에 대한 이해
34 서비스 응답(74 20 0F FF)에 대한 질문입니다.
강사님께서 34 서비스에 대한 응답예시로74 20 0F FF 라고 적어주셨는데요.74: 34 + 40 (긍정응답)20: 상위 4bit (Parameter length)하위 4bit (reserved)0F FF: 한번에 수신할수 있는 최대 byte 수 여기서 74 다음에 오는 20이 어떤 의미인지 설명을 들어도 잘 이해가 안됩니다.상위 4비트가 parameter length 이고 0x20 이니까.. parameter length 가 2라는 뜻인데2가 정확히 무엇을 의미하는 것인지요?