본문 바로가기

자동차전자제어7

CAN 신호 타입 완벽 정리: Periodic vs Event vs Change vs Write CAN 신호 타입 완벽 정리: Periodic vs Event vs Change vs WritePeriodic? Event? vs Change? vs Write? 들어가며먼저 CANDB를 보시면 다양한 메시지 타입이 있습니다.이게 여러가지죠[P] Periodic[E] On Event[PE] Periodic and On Event[C] On Change[EC] On Event and On Change[EW] On Event and On Write다양하기도 합니다...이 신호 타입들이 각각 무슨 의미인지 그리고 어떻게 쓰이는지 에 대해 알아보도록 할게요 일단 자동차 CAN 버스의 속도는 최대 1 Mbps (메가비트/초) 정도죠1 Mbps = 1,000,000 비트/초한 개의 CAN 메시지:- 크기: 64 비.. 2026. 1. 30.
함수 포인터와 콜백 완벽 정리 : 임베디드 시스템 기초 함수 포인터와 콜백 완벽 정리: 임베디드 시스템 기초함수 포인터란? 콜백이란?들어가며"함수는 어디에 위차하고 있을까요?"함수도 다른 것처럼 메모리에 저장되어 있습니다.그리고 그들도 모두 주소를 가지고 있죠.프로그램 메모리 구조:┌────────────────┐│ Code (Text) │├────────────────┤│ main()의 주소 │ 예: 0x08001000│ MySensor()의 │ 0x08001234│ 주소 │ 0x08001567│ ... │ 0x08001890└────────────────┘지금까지:int x = 10; // 변수 주소로 접근 (&x)int *ptr = &x;이제:void MyFunction() {.. 2026. 1. 27.
C 포인터와 메모리 관리 완벽 정리: 임베디드 시스템 기초 C 포인터와 메모리 관리 완벽 정리: 임베디드 시스템 기초C 포인터와 메모리 관리들어가며포인터는 C 프로그래밍에서 가장 중요하면서도, 가장 어려운 개념입니다포인터에 대해 공부도 했을거고(?) 대충 개념도 알고 있을거예요..(?)하지만 막상 코드를 짜면서, 아키텍쳐를 설계하면서 포인터를 능수능란하게 다룬 다는 것은 쉽지가 않습니다머릿속에 포인터와 메모리 개념이 들어있어서 자유자재로 쓰고 빼고 설계가 되어야하죠요즘엔 AI에게 코드를 부탁하면 촤르르~ 짜주지만포인터에 대해 무지하다면 맞는 코드인지 틀린 점은 없는지 검증 하지 못하겠죠..그냥 AI에 넣고 복붙했을 때 문제가 생긴다면 AI 탓을 할건가요?아닙니다 코드를 검증하지 못한 자신의 탓이 되겠죠.....그 래 서! 포인터에 대해 자세히 알아보자구요!! 자.. 2026. 1. 22.
임베디드 시스템 완벽 정리: 일상 속 숨겨진 컴퓨터들의 세계 임베디드 시스템 완벽 정리: 일상 속 숨겨진 컴퓨터들의 세계임베디드 (Embedded) 란?들어가며지금 이 글을 읽기전에 우리 주위를 둘러볼게요스마트폰 → 컴퓨터 (ARM 칩)자동차 → 컴퓨터 (ECU, ADAS, 인포테인먼트)냉장고 → 컴퓨터 (온도 제어)세탁기 → 컴퓨터 (코스 선택, 시간 제어)에어컨 → 컴퓨터 (온도 조절, 타이머)TV → 컴퓨터 (채널 변경, 영상 처리)게임기 → 컴퓨터 (고성능)스마트워치 → 컴퓨터 (저전력, 센서)카메라 → 컴퓨터 (이미지 처리)드론 → 컴퓨터 (실시간 제어)이들은 모두 숨겨진 '작은 컴퓨터'입니다.우리가 사용하는 노트북이나 데스크톱처럼 범용 컴퓨터가 아니라, 특정 기능을 위해 설계된 전용 컴퓨터인 셈이죠이것이 바로 임베디드 시스템(Embedded System.. 2026. 1. 21.
히스테리시스(Hysteresis) 완벽 정리: 불안정한 경계값을 안정화시키는 기법 히스테리시스(Hysteresis) 완벽 정리: 불안정한 경계값을 안정화시키는 기법히스테리시스(Hysteresis)란?들어가며자동차 ECU는 계속해서 경계값 판정을 합니다.엔진 온도 95°C 이상이면 "과열"? 배터리 전압 12V 이하면 "저전압"? 연료 게이지가 25% 이하면 "경고등"?이렇게 '단순한' 임계값(Threshold) 설정은 실무에서는 재앙이 되게 됩니다.왜냐하면 센서 신호는 경계값 근처에서 미세하게 진동하거든요.온도가 94.9°C ↔ 95.1°C를 오가며 진동하면, 당연히 상태창에선 "정상"과 "과열"이 계속 바뀌겠죠.그럼 결론적으로 과열 경고등이 계속해서 깜빡일 거예요.그럼 엔진 제어가 불안정해지게 되고 앞서 말했듯 재앙이 됩니다.이게 바로 이전 편에 얘기했던 채터링의 문제와 이어집니다... 2026. 1. 8.
채터링(Chattering) 완벽 정리: 원인, 문제점, 디바운싱 실무 가이드 채터링(Chattering) 완벽 정리: 원인, 문제점, 디바운싱 실무 가이드채터링이란? 디바운싱이란? 들어가며자동차 ECU는 버튼, 스위치, 센서 신호를 수백 밀리, 보통은 10미리초마다 읽죠.운전자가 버튼을 한 번 누르면, ECU는 하나의 신호를 받아야 합니다.그런데 현실은 달라요.메커니컬 버튼을 누르는 순간, 접점(Contact)이 떨리는데 이럴경우 신호가 0-1-0-1-1-0-0-1 처럼 요동칩니다.이게 바로 채터링입니다.채터링은 단순해 보이지만, 자동차 소프트웨어에서는 심각한 문제를 만들죠.버튼 한 번 누르기가 여러 번 누르기로 인식될 수 있다.CAN 메시지 중복 수신. 센서 오류 판정. 이런 문제들이 쌓이면 차량 제어의 안정성을 떨어뜨리게 됩니다이 글에서는 채터링의 원인, 차량 시스템에 미치는.. 2026. 1. 7.