임베디드 면접 학습 노트 목차

필드버스·산업 통신 — 임베디드 면접 (실제 기출 기반·심화)

"CAN이 무엇이고 왜 자동차에 쓰나", "종단저항 120Ω을 왜 2개 다나", "CAN 메시지 우선순위(아비트레이션)", "dominant/recessive", "CAN vs LIN", "RS-485가 RS-232보다 노이즈에 강한 이유", "GAP/GATT 차이" — 자동차·IoT 임베디드 핵심 단골. 특히 CAN은 자동차 직군 최다 빈출이자 우대 역량.

함정 다발(★): ① CAN은 노드 주소로 통신? → 아님·메시지 ID 브로드캐스트ID 높을수록 우선?낮은 ID가 우선(dominant 0 우세) ③ 종단저항 1개(60Ω)?120Ω×2(측정값이 60Ω) ④ RS-485는 프로토콜? → 아님·물리계층 전기규격(위에 Modbus 등) ⑤ BLE는 Classic BT와 호환? → 비호환(dual-mode만).


1. CAN — 자동차 분산 네트워크 (★★★ 최다 빈출·가장 두껍게)

실제 질문: "CAN이 무엇이고 왜 자동차에 쓰나?" · "메시지 우선순위는 어떻게 정해지나?" · "종단저항 120Ω을 왜 2개 다나?" · "dominant와 recessive 차이?" (코멘토·자동차 부품사 후기·maxon)

왜 CAN인가: 차량 ECU 수십 개를 점대점 배선으로 잇기엔 와이어가 폭증. CAN은 차동 2선 버스 하나에 멀티마스터 브로드캐스트 → 배선↓·확장 쉬움·노이즈 내성·결정적 우선순위.

  • 물리: 차동 CAN_H / CAN_L. dominant = 논리 0(CAN_H↑·CAN_L↓·차동 ~2V), recessive = 논리 1(양선 ~2.5V·차동 ~0V). dominant가 recessive를 덮어쓴다(wired-AND).
  • 접근: 멀티마스터·CSMA/CD+AMP(=CSMA/CR)·비파괴 비트단위 아비트레이션 — 충돌해도 최고 우선순위 메시지가 손상·지연 없이 살아남음(이더넷 backoff 재전송과 대비).
  • 주소가 아니라 메시지 ID: 노드 주소 없음. 각 프레임은 ID로 식별되고 모든 노드가 듣고 필터링(broadcast).

아비트레이션(★ 단골): 여러 노드가 동시에 ID를 MSB부터 비트로 내보내며 버스를 동시에 감시. 내가 recessive(1)를 냈는데 버스가 dominant(0)로 읽히면 패배 → 즉시 후퇴. dominant 0이 우세하므로 숫자 ID가 낮을수록 높은 우선순위(0x000=최고). 중재자 없는 분산 방식.

다이어그램 로딩 중…
  • 프레임: 표준 2.0A = 11bit ID(2048개) / 확장 2.0B = 29bit ID(약 5.3억). IDE 비트로 구분.
  • 속도/페이로드: 클래식 CAN 최대 1Mbps(≈40m)·페이로드 최대 8바이트. 길이↔속도 반비례(dominant 전파 왕복이 1비트 시간 내여야: 1Mbps≈40m·125k≈500m·50k≈1km).
  • CAN-FD: 페이로드 최대 64바이트·데이터 구간(BRS~CRC)만 고속(흔히 2~5Mbps)·아비트레이션 구간은 nominal(≤1Mbps) 유지(호환·버스 길이 제한 때문).
  • 에러 처리: 비트 스터핑(동일 극성 5비트 연속 → 반대극성 1비트 삽입·SOF~CRC)·15bit CRC·비트 모니터링·ACK. Fault confinement: TEC/REC 카운터 — Error-active(≤127)→Error-passive(>127)→Bus-off(TEC≥256·버스 이탈).

종단저항(★ 단골): 120Ω을 버스 양 끝 각각(2개). 120Ω은 ISO 11898-2 트위스트페어 특성 임피던스와 매칭 → 신호 반사 흡수. 병렬이라 비전원 버스 CAN_H–CAN_L 측정 시 ~60Ω → "60Ω이 나와야 정상, 120Ω이면 종단 1개 누락" 진단.

꼬리질문: "종단 안 달면?" → 신호 반사→비트 왜곡→오류. / "왜 아비트레이션은 CAN-FD에서도 고속화 안 하나?" → dominant 전파 왕복이 버스 길이를 제한 → nominal 유지해야 안정·호환. / "멀티마스터인데 충돌은?" → 비파괴 아비트레이션으로 무손상 해소. / "Bus-off면?" → 128×11 recessive 비트 후 복귀.

함정: ❌ "dominant=1" → dominant=0. ❌ "ID 높을수록 우선" → 낮을수록(dominant 0). ❌ "종단 60Ω 저항을 단다" → 다는 건 120Ω×2·측정이 60Ω. ❌ "CAN-FD는 속도만" → 데이터 구간만+페이로드 64B.


2. LIN — CAN의 저가 보조 (★★ 단골)

실제 질문: "LIN이 뭐고 왜 느린가?" · "Master-Slave 구조 설명" · "CAN과 LIN의 가장 큰 차이는?" (자동차 전장 후기·jungposco)

  • 단선(+GND)·단일 마스터 + 최대 15 슬레이브 = 총 16노드·저속 최대 20kbps·UART 기반(표준 UART HW로 저가 구현)·~40m.
  • 마스터 폴링: 슬레이브는 스스로 못 보냄 → 마스터가 schedule에 따라 헤더를 보내면 해당 슬레이브가 응답. 메시지: Break→Sync→PID→Data→Checksum.
  • 용도: CAN 보조 — 창문·미러·시트·와이퍼 등 속도·비용 요구 낮은 바디 전장. 표준 ISO 17987.

꼬리질문: "왜 느린가?" → 단선·UART·저비용 설계(고속 불필요한 노드용). / "슬레이브가 능동 전송?" → ❌ 마스터 schedule로만. / "CAN 대신 LIN?" → 비용·속도 낮은 노드.

함정: ❌ "슬레이브 16개" → 15 슬레이브(총 16노드). ❌ "LIN도 멀티마스터/차동" → 단일 마스터·단선.


3. RS-485 / RS-422 / RS-232 — 시리얼 물리 규격 (★★ 단골)

실제 질문: "RS-232·422·485 차이?" · "RS-485가 노이즈에 강한 이유(차동 신호 장점)?" · "반이중 vs 전이중?" · "UART와 RS-232는 어떻게 다른가?" (시리얼 통신 staple)

핵심 함정(★): RS-485/422/232는 "프로토콜"이 아니라 물리계층 전기규격(드라이버/수신기 전압·신호만 정의). 데이터 포맷·주소·프레이밍 없음 → 그 위에 Modbus·Profibus·DMX512 등이 올라간다.

RS-232RS-422RS-485
신호단일 종단(±3~15V·반전)차동차동
듀플렉스전이중전이중(4선)반이중(2선)/전이중(4선)
토폴로지점대점1드라이버→최대 10수신멀티드롭(32 UL·최대 256)
거리/속도~15m~1200m·~10Mbps~1200m·~10Mbps
종단120Ω120Ω 양 끝
  • 차동=노이즈 내성(★): 노이즈가 두 선에 동일하게 유기 → 수신기가 를 읽어 공통모드 제거(CMRR). RS-485 공통모드 −7~+12V. 그래서 장거리·노이즈에 강함. RS-232는 *단일 종단(GND 기준)*이라 약함.
  • RS-485 방향 제어: 반이중이라 DE/RE 신호로 동시에 1개 드라이버만 활성. 거리↔속도 trade-off(10Mbps@12m ↔ 100kbps@1200m).
  • UART vs RS-232: UART는 로직/프로토콜(MCU 내부 신호), RS-232는 전기 규격(반전·±전압). 사이에 MAX232 레벨 변환.

꼬리질문: "RS-485 위에서 뭐가 도나?" → Modbus RTU 등(상위 계층). / "RS-422가 多:多?" → 아님·드라이버 1개. / "거리 vs 속도?" → 케이블 길수록 속도↓.

함정: ❌ "RS-485=전이중" → 기본 반이중(2선). ❌ "RS-232도 차동" → 단일 종단.


4. Modbus — 산업 표준 (★ PLC/산업 직군)

실제 질문: "Modbus RTU와 TCP 차이?" · "Modbus 한계/단점?" · "Holding Register vs Coil?" (산업/PLC framing)

  • 마스터-슬레이브(client-server): 1 마스터, 다수 슬레이브, 마스터만 개시·슬레이브는 응답만.
  • RTU: 직렬·바이너리·CRC-16. ASCII: ASCII·LRC. TCP: 이더넷·포트 502·CRC 없음(TCP가 무결성 담당).
  • 데이터 모델: Coil(R/W 1bit·FC01/05/15)·Discrete Input(R 1bit·FC02)·Input Register(R 16bit·FC04)·Holding Register(R/W 16bit·FC03/06/16).
  • 한계: 폴링(슬레이브 능동전송 불가)·단일 마스터·실시간성 보장 없음·직렬 최대 247 슬레이브(주소 1~247·0=broadcast).

꼬리질문: "실시간성 한계?" → 폴링·요청응답 → 장치 늘면 지연. / "왜 널리 쓰나?" → 단순·개방·대부분 산업기기 기본 탑재. / "TCP는 왜 CRC 없나?" → TCP가 이미 보장.

함정: ❌ "TCP도 CRC 있음" → 없음. ❌ "슬레이브 256개" → 247개. ❌ "Modbus=RS-485" → Modbus는 프로토콜·RS-485는 그 아래 물리계층.


5. BLE — 저전력 IoT (★★ IoT 직군 실제 기출)

실제 질문: "BLE를 설명하시오"(기출 태그) · "BLE vs Classic Bluetooth 차이?" · "GAP과 GATT 차이?" (velog @agnusdei1207 기출·다수 dev-log)

  • Bluetooth 4.0(2009) 도입·저전력(코인셀 수개월~수년)·근거리. Classic BT(BR/EDR)와 비호환 — 다른 PHY → dual-mode 기기만 둘 다.
  • GAP(Generic Access Profile): 역할(peripheral/central/broadcaster/observer)·광고·발견·연결 수립. 광고는 3개 채널(37/38/39).
  • GATT(Generic Attribute Profile): 연결 Service/Characteristic로 데이터 교환·ATT(Attribute Protocol) 위에 구축·server=데이터 보유·client=요청.
  • 광고(connectionless broadcast) vs 연결(점대점 양방향 링크) 구분.

꼬리질문: "GAP vs GATT 한 줄?" → GAP=연결/광고/역할·GATT=연결 후 데이터 구조. / "왜 저전력?" → 저듀티사이클·짧은 광고·연결구간만 깨어남. / "연결 흐름?" → peripheral 광고→central 스캔→CONNECT_REQ→연결.

함정: ❌ "BLE는 Classic의 한 모드라 호환" → 비호환(dual-mode만). ❌ "GATT가 연결 담당" → 연결·광고는 GAP·GATT는 연결 후.


6. 산업용 이더넷 — EtherCAT·PROFINET (심화·가볍게)

실제 질문: "산업용 이더넷이 일반 이더넷과 다른 점은? **결정성(determinism)**이란?"

  • 핵심 차이 = 결정성·유계 지연. 표준 이더넷은 best-effort·비결정적(CSMA/CD 충돌) → 산업용은 수정 MAC/스케줄링으로 정해진 시간 내 전송 보장.
  • EtherCAT "processing on the fly": 마스터가 보낸 1프레임이 데이지체인 슬레이브를 통과하며 각 슬레이브가 자기 데이터만 읽고/쓰고 흘려보냄(전체 버퍼링 없음)·cycle ≤100μs·마스터만 송신→충돌 불가.
  • PROFINET: 이더넷+실시간 규칙. RT ~1ms(SW)·IRT ~31.25~250μs(HW 시간동기·전용 스위치).

꼬리질문: "왜 표준 이더넷은 모션제어에 못 쓰나?" → 타이밍 보장 없음(지연이 공정 결함). / "EtherCAT이 빠른 이유?" → on-the-fly·단일 프레임 순회.

함정: ❌ "산업용 이더넷은 케이블이 다름" → HW는 같고 동작이 결정적이도록 수정.


한국 임베디드 면접 단골 Q&A (답변 골격)

질문핵심 답
CAN 왜 자동차차동 2선 멀티마스터 브로드캐스트·배선↓·노이즈 내성·결정적 우선순위
CAN 아비트레이션비트단위·dominant 0 우세·낮은 ID 우선·비파괴
dominant/recessivedominant=0(우세)·recessive=1
종단저항120Ω×2(양 끝)·측정 60Ω·반사 방지
표준/확장 프레임11bit / 29bit
CAN-FD데이터 구간만 고속·페이로드 64B·아비트레이션 nominal
CAN vs LIN차동 멀티마스터 고속 vs 단선 단일마스터 저속·저가
RS-232/422/485단일종단·점대점 / 차동·전이중 / 차동·멀티드롭
RS-485 노이즈 강함차동·공통모드 제거(CMRR)
RS-485는 프로토콜?❌ 물리 규격·위에 Modbus
Modbus RTU vs TCPCRC-16 직렬 vs 포트502·CRC없음
BLE GAP/GATTGAP=광고/연결/역할·GATT=연결 후 데이터(ATT 위)
산업 이더넷결정성·EtherCAT on-the-fly

꼬리질문 대비 (상 난이도)

  • "비전원 버스 측정이 120Ω이면?" → 종단 1개 누락(정상은 병렬 60Ω).
  • "CAN 노드 우선순위는 누가 정하나?" → 중재자 없음·비트단위 ID 아비트레이션(분산).
  • "RS-485에 왜 DE/RE 신호?" → 반이중이라 동시 1개 드라이버만 활성.
  • "Modbus 슬레이브가 먼저 보낼 수 있나?" → ❌ 폴링·마스터 요청에만.
  • "BLE가 왜 저전력인가?" → 저듀티·짧은 광고·연결구간만 깨어남.
  • "장거리·노이즈 환경 통신?" → 차동(RS-485·CAN)·종단·트위스트 페어.

한 줄 요약CAN(차동 2선·멀티마스터 브로드캐스트·비파괴 아비트레이션·dominant 0 우세·낮은 ID 우선·종단 120Ω×2/측정 60Ω·11/29bit·1Mbps·8B·CAN-FD는 데이터 구간만 고속+64B·비트스터핑·bus-off TEC≥256)가 자동차 핵심. LIN(단선·단일마스터·15슬레이브·20kbps·UART·CAN 보조). RS-485/422/232프로토콜이 아니라 물리 규격(차동→공통모드 제거로 노이즈 내성·485 멀티드롭). Modbus(마스터-슬레이브 폴링·RTU CRC vs TCP 포트502 CRC없음·247노드). BLE(GAP=광고/연결·GATT=ATT 위 데이터·Classic 비호환). 산업 이더넷=결정성(EtherCAT on-the-fly).

(출처 — 한국 면접 기출·1차자료 교차검증 2026-06: velog @verilog·@embeddedjune·@agnusdei1207(BLE 기출)·코멘토·jungposco(LIN)·자동차 부품사 후기 · 1차자료: Bosch CAN Specification 2.0·ISO 11898-2 / TI SLLA270·CAN in Automation — CAN-FD·TI RS-485 Design Guide SLLA272·Modbus Application Protocol V1.1b3·CSS Electronics — LIN·Bluetooth SIG Core Spec·EtherCAT Technology Group 교차검증.)

시리얼 통신 — UART/USART·SPI(CPOL/CPHA)·I2C(오픈드레인·풀업)·언제 무엇주변장치·타이머 — GPIO(push-pull/open-drain)·PWM(PSC/ARR/CCR)·워치독·ADC·클럭