게시글
질문&답변
2024.10.07
Re-programming 시퀀스에 대한 질문입니다.
[1] Re-Prgoramming 에 대한 표준 문서를 따로 서술해놓은 자료는 없습니다. 하지만 Re-Programming에 사용되는 34, 36, 37 서비스의 경우는 ISO-14229-1 문서에 서술되어 있습니다. 각 서비스들은 해당 표준 문서를 기반으로 구현됩니다. Sequence는 상이할 수 있으나 여태 프로젝트를 진행하면서 위 문서를 따르지 않는 것은 보지 못하였습니다. 더불어 sequence의 경우, 34-36-37 서비스 후가 조금 다를 뿐이지, 34-36-37은 sequential 하게 요청되는 것을 볼 수 있었습니다. 프로젝트 진행하시는데, 도움이 되셨으면 좋겠습니다. [2] 맞습니다. 최근에는 주행중에 데이터를 전송하고 차량을 reboot할 때 업데이트 됩니다. 우선 제가 설명드린 부분은 single core 일 때를 기준으로 강의를 작성했습니다. 종혁님이 말씀하신 부분일 경우 dual core의 제품이여야 할 것입니다. 주행중에는 main core가 동작하되, update할 sw의 데이터는 sub core에 저장했다가 차량이 reboot할 때 새로운 sw로 갈아치는 원리입니다. 강의를 수강해주시고 추가로 질문해주셔서 감사합니다. 좋은 하루 되세요 !
- 0
- 2
- 14
질문&답변
2024.10.07
본 강의는 MCU 를 가정하고 진행되는 것일까요?
넵 맞습니다. MCU 제품이라는 가정하에 강의를 로드하였습니다
- 0
- 1
- 13
질문&답변
2024.10.02
Downgrade 방지
안녕하세요, 강의를 수강해주셔서 감사합니다. 넵, 최근에 SW 업데이트 기능이 중요시 됨에 따라 Downgrade 방지의 기능도 개발되고 있습니다. 사실 해당 부분에 있어, 반드시 "루틴 컨트롤로 구현되어져야 한다"라는 법규는 따로 없습니다. 하지만, 제 개발 경험을 빗대자면 몇몇 OEM은 루틴 컨트롤($31 Service)를 통해서 RAM에 SW를 Download 후, Downgrade를 체크하여 플래시에 저장합니다. 각 OEM마다 다를 것으로 생각되어집니다. 하지만, 제 생각이지만 해당 기능을 제공하기 위한 서비스는 루틴 컨트롤로 구현하는 것이 적합하다고 보입니다. 감사합니다.
- 1
- 2
- 19
질문&답변
2024.09.12
ACK
넵, 이해하신게 맞습니다. 제가 생각하기에 프로그래밍은 제품의 동작도 중요하지만, 에러 처리의 부분도 상당히 중요하다고 생각합니다. 그렇기 때문에 ERROR를 판단했을 때, 이에 대한 처리를 해주어야 하며 그에 따라 위처럼 코딩되어 있을 수도 있습니다. 이를 FSM (Finite State Machine) 이라 칭합니다. 임베디드 프로그램은 유한한 State 내에서 동작하며 각 State에 맞춰 동작하도록 프로그래밍 되어 있을 것입니다. 여기서 Finite에는 Success, Fail 등의 State가 존재할 수도 있을 것이구요. 해당 용어도 참고하시면 좋을 것 같습니다. 감사합니다.
- 0
- 2
- 23
질문&답변
2024.09.12
DLC란 것이,
넵, 문의해주신 내용이 맞습니다. 내용을 덧붙이자면, 아시겠지만 우선 DLC를 사용하는 이유는 CAN Transciver가 어느 부분의 데이터까지가 유효한 데이터인지 알기 위한 것으로 생각하시면 좋을 것 같습니다. 03 22 F1 86 05 22 F2 90 27 89 등의 진단 메세지를 보낸다고 가정하겠습니다. 위 두 예제는 22 서비스지만, 각각의 길이가 다릅니다. 두번째 메세지에서 DLC가 없을 경우 만약 22 F2 90 까지만 보냈다면 ECU는 아직 유효한 메세지를 덜 받았는지 혹은 모두 받았는지 판단할 근거가 없습니다. 그렇기 때문에 데이터를 처리하는 과정에서 에러가 발생할 수 있습니다.
- 0
- 1
- 23
질문&답변
2024.09.12
ISO 14229 문서를 확인하고 싶은데요.
안녕하세요, 강의를 수강해주셔서 감사합니다. 아래 AI가 답변을 달아준 것과 같이, 문서는 무료 배포가 되지 않습니다.. 저는 가지고 있지만 배포가 불법이라, 공유드리기 힘드네요 ㅜ 우선 문서에 대한 링크는 아래와 같습니다. 확인하시면 좋을 것 같습니다 ! https://www.iso.org/standard/72439.html +) ISO 문서가 궁금하실 것 같습니다. 해당 문서를 모두 이해하는 것도 좋지만 문서 양이 방대하다 보니 자주 사용되는 부분을 익히는 것이 중요하다고 생각합니다. 많이 사용되는 기능은 검색해보시면 현재 많이 공유되어 있는 것으로 보입니다. 무엇이 중요한 포인트인지 잘 모르시겠다면, 제 UDS 강의 목차에서 기능들을 검색해보시는 것도 방법이실 것 같습니다. 질문해주셔서 감사합니다. 좋은 하루 되세요 ! :)
- 0
- 2
- 24
질문&답변
2024.09.02
진단세션에 대해 제가 맞게 이해한 건지 궁금합니다
안녕하세요, 강의를 수강해주셔서 감사합니다. 우선 대표적인 session에는 default, extended, programming session이 있습니다. 사실 보다 많은 세션이 존재하며 이는 요구사항마다 다릅니다. DTC도 DTC마다 default session에서 읽히는 것과 extended session에서 읽히는 등 각 dtc마다 다르며 이는 요구사항 마다 달라 무조건 default라고 말씀드리기는 어렵습니다. 더불어 DTC마다 extended session뿐만 아니라, secure level에서 읽을 수 있는 것도 있으니 해당 부분도 참고하시면 좋을 것 같습니다. 좋은 하루 되세요 :)
- 1
- 1
- 58
질문&답변
2024.08.30
JTAG port와 Debug port의 차이가 궁금합니다
안녕하세요, 강의를 수강해주셔서 감사합니다. Debug Port는 말 그대로 Debugging을 할 수 있는 포트를 뜻합니다. Debugging을 하도록 지원해주는 인터페이스로 JTAG, SWD 등이 있습니다. 즉, 말씀해주신대로 JTAG은 디버깅 포트에 포함되며, 엄밀히 말하면 디버깅 인터페이스 중 대표적으로 JTAG이 있습니다
- 1
- 1
- 48
질문&답변
2024.08.03
오토사 강의 출시 예정일~?
안녕하세요 아구러푸님! 먼저 강의를 수강해주시고 들어주셔서 감사합니다. 오토사 강의는 분량도 많이 되고 선정하는데에 시간이 걸릴거 같은데, 그래도 9월말~ 10월까지를 목표로 강의 제작해보도록 노력하겠습니다. 추가로 질문 있으시면 편하게 물어봐주세요 ! 마지막으로 수강평을 남겨주시면 저에게 도움이 많이 됩니다. 시간되실 때 작성해주시면 정말 감사하겠습니다. 좋은 하루 되세요 ! :)
- 1
- 1
- 82
질문&답변
2024.07.07
PDU라는 개념도 있나요?
음 우선 PDU는 차량에서 전력을 관리하고 분배하는 장치로써, CAN 통신과는 조금은 무방하다고 생각하시면 좋을 것 같습니다. 그래서, 2/3에 대한 질문은 관련이 없어 보입니다 . Frame과 Message랑 같은 것인가요 ? --> Frame은 말 그대로 하나의 틀 (구조)이라고 생각하시면 좋을 것 같아요. 어떠한 요청을 할 때마다 각 틀(구조)을 기반으로 CAN 통신을 수행한다고 생각하시면 될 것 같습니다 .여기서 말씀하시는 것이 Message가 CAN message를 뜻하는 것으로 보이는데, CAN Message가 ID/Control Field/Data Field .. 등으로 구성되어 있고 이 구성 요소들은 각 Frame(틀)별로 포함될 수도 있고 안될 수도 있습니다. 혹시 이해안되시는 부분 있으시면 추가로 질문주세요 ! 감사합니다.
- 1
- 1
- 113