본문 바로가기

자동차소프트웨어33

채터링(Chattering) 완벽 정리: 원인, 문제점, 디바운싱 실무 가이드 채터링(Chattering) 완벽 정리: 원인, 문제점, 디바운싱 실무 가이드채터링이란? 디바운싱이란? 들어가며자동차 ECU는 버튼, 스위치, 센서 신호를 수백 밀리, 보통은 10미리초마다 읽죠.운전자가 버튼을 한 번 누르면, ECU는 하나의 신호를 받아야 합니다.그런데 현실은 달라요.메커니컬 버튼을 누르는 순간, 접점(Contact)이 떨리는데 이럴경우 신호가 0-1-0-1-1-0-0-1 처럼 요동칩니다.이게 바로 채터링입니다.채터링은 단순해 보이지만, 자동차 소프트웨어에서는 심각한 문제를 만들죠.버튼 한 번 누르기가 여러 번 누르기로 인식될 수 있다.CAN 메시지 중복 수신. 센서 오류 판정. 이런 문제들이 쌓이면 차량 제어의 안정성을 떨어뜨리게 됩니다이 글에서는 채터링의 원인, 차량 시스템에 미치는.. 2026. 1. 7.
Git Fork와 Merge: 협업 개발의 필수 개념 Git Fork와 Merge: 협업 개발의 필수 개념Fork란? Merge란?들어가며자동차 ECU 펌웨어 팀이 코드를 개발하는 상황을 생각해 볼게요각각 파트가 나뉘어서 협업한다면?상황: 팀 프로젝트Main Repository (원본):- 엔진 제어 코드- 변속기 제어 코드- 섀시 제어 코드팀 구성:- 엔지니어 A: 엔진 부분 개발- 엔지니어 B: 변속기 부분 개발- 엔지니어 C: 섀시 부분 개발문제:모두가 같은 Repository에서 작업하면?→ 코드 충돌→ 실수로 덮어쓰기→ 원본 손상해결:Fork (각자 복사본 만들기) + Merge (작업 완료 후 합치기)흐름:원본 Repository ↓ (Fork)엔지니어 A의 복사본, 엔지니어 B의 복사본, 엔지니어 C의 복사본 ↓ (각자 개발)완성된 .. 2026. 1. 5.
LIN통신 vs CAN통신 : 데이터 크기와 선택 기준 LIN vs CAN: 데이터 크기와 선택 기준LIN통신? CAN통신?들어가며LIN과 CAN에 대해서 알고 계실거예요....맞죠?근데 왜 나눠지는지? 그리고 큰 차이점은 뭔지에 대해 개념을 잡고자 합니다. 자동차에 통신 버스가 2개 이상 필요한 이유는 뭘까요?상황: 자동차 ECU 네트워크고급 기능 (메인 ECU들):- 엔진 제어: 복잡한 데이터 필요- 변속기 제어: 빈번한 통신- 섀시 제어: 실시간 데이터간단한 기능 (주변 ECU들):- LED 제어 (켜기/끄기만)- 버튼 입력 (누르기/안 누르기)- 간단한 센서 (온/오프)문제:모두를 같은 버스(CAN)에 연결하면?→ 버스 대역폭 낭비→ 비용 증가→ 복잡도 상승해결:CAN: 복잡한 데이터 (빠르고, 크고, 신뢰할 수 있음)LIN: 간단한 데이터 (느려도 .. 2026. 1. 2.
ISO-TP : CAN으로 큰 데이터를 보내는 방법 자동차 통신 프로토콜 5부: ISO-TP – CAN으로 큰 데이터를 보내는 방법ISO-TP란?들어가며오늘은 CAN통신에서 데이터를 보내는 방법에 대해 알아볼텐데요프레임이 긴~~~ (Multi) 데이터를 보내려면 어떻게 해야할까요?'맞아 ?' -> '응', '아니' 정도의 말만 하다가 이제는 "내 주소는 서울특별시 관악구야"와 같은 긴 말을 하고 싶거든요그럴 때 사용하는게 ISO-TP라고 비유할 수 있을것 같아요제가 TP로 인해서 고생을 많이 했던 경험이 있어요진단기 한테 First Frame을 받고 Flow Control을 응답하지 않아 Second Frame을 송신하지 않았고,그로 인해 TimeOut되는 현상으로 인해 애를 먹었던 적이 있습니다hardConding을 하는 과정에서 휴먼에러였죠 ....위.. 2025. 12. 31.
AUTOSAR CanIf 완벽 이해: CAN 메시지 라우팅의 모든 것 AUTOSAR CanIf 완벽 이해: CAN 메시지 라우팅의 모든 것CanIf란?들어가며지난 게시물에서 Dcm이 어떻게 정비소와 통신하는지 배웠어요.그렇다면 그 통신은 어떤 방법을 통해 하는걸까요???그 물음에 대한 대답을 이번 게시물을 통해 해드리겠습니다.이제 "그 통신 메시지가 정확히 어떤 경로로 이동할까?"에 대해 글을 써보려합니다. 먼저 자동차는 CAN 버스가 1개만 있는 게 아니에요.실제 자동차:┌────────────────────────────────────┐│ CAN-0 (High-speed CAN, 500 kbps) ││ ├─ 엔진 ECU ││ ├─ 변속기 ECU ││ ├─ ABS ECU .. 2025. 12. 20.
AUTOSAR Dcm 완벽 이해: 진단 통신의 모든 것 AUTOSAR Dcm 완벽 이해: 진단 통신의 모든 것DCM이란?들어가며안녕하세요 버그없는토마토입니다지난 게시물에서 Dem이 어떻게 오류를 감지하고 DTC를 생성하는지 배웠죠?Dem을 통해 고장을 판단했고 DTC를 생성하여 저장을 했습니다 그럼 이제 "그 DTC를 정비소에 어떻게 전달할까?"를 배워야 할 차례예요.정비소에서 진단기(스캔툴)를 자동차에 연결하면, "DTC 읽어줘", "DTC 삭제해줘"라는 명령을 보내요.누가 이 명령을 받고 처리할까?답은 Dcm (Diagnostic Communication Manager)이에요. 밑에 이해하기 쉽게 예를 보여드릴게요실제 정비소 장면:정비사: "DTC 스캔 시작!"진단기: CAN 버스에 명령 전송 "읽어줄 수 있어?"↓ECU (Dcm):"내가 받.. 2025. 12. 18.