본문 바로가기
만도 ivs 3기 준비

만도 ivs 3기 준비

by recoraddic 2024. 11. 24.
더보기

임베디드 & 자율주행 & sw관련기초 내용

차량용SW  -  임베디드, 자율주행 관련 , 차량동역학 내용 등 다양한 범위

32BIT MCU기준

1. 임베디드 관련 질문 

 

문제 1: GPIO 제어

다음 중 32비트 MCU에서 GPIO 제어와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) GPIO는 입력 또는 출력 모드로 설정할 수 있다.
  • (B) GPIO는 인터럽트 신호로만 사용된다.
  • (C) GPIO 핀은 풀업(Pull-up) 또는 풀다운(Pull-down) 저항을 설정할 수 있다.
  • (D) GPIO는 아날로그 신호를 처리할 수 없다.
  • (E) GPIO 핀은 MCU의 클럭 주파수와 동작이 무관하다.]
더보기

정답은 (A)와 (C)

GPIO는 MCU의 디지털신호의 입출력을 처리한다

GPIO 핀은 풀업/풀다운 저항을 통해 신호 상태를 안정화가능하다

GPIO는 보통 디지털 신호를 이용하지만 일부신호는 아날로그신호로 ADC입력으로 사용가능

 


문제 2: ADC (Analog-to-Digital Converter)

다음 중 32비트 MCU의 ADC와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) ADC는 아날로그 신호를 디지털 값으로 변환한다.
  • (B) ADC 해상도가 높을수록 변환 속도가 느려질 수 있다.
  • (C) ADC 입력 전압 범위를 초과하면 MCU가 손상될 수 있다.
  • (D) ADC는 항상 16비트 이상의 해상도를 가진다.
  • (E) ADC 변환은 DMA(Direct Memory Access)를 통해 자동화할 수 있다.
더보기

정답 : (A),(B),(C),(E)


문제 3: 임베디드 시스템의 타이머

다음 중 32비트 MCU의 타이머와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) 타이머는 주기적인 인터럽트를 생성할 수 있다.
  • (B) 타이머는 입력 캡처(Input Capture) 기능을 제공한다.
  • (C) 타이머는 클럭 소스에 따라 동작 속도가 달라진다.
  • (D) 타이머는 항상 단일 주기로만 동작한다.
  • (E) 타이머는 PWM 신호를 생성하는 데 사용할 수 있다.
더보기

정답 : (A),(B),(C),(E)

입력 캡쳐는 외부신호의 이벤트를 기록하는 기능으로 주로 주파수나 펄스 폭 측정하는데 사용 

결국 타이머도 외부신호를 받고 CPU에 인터럽트를 걸기 때문에 입력캡쳐기능이 있다

타이머의 동작주기는 클럭소스에 의존하기 때문에 클럭 소스의 변화에 따라 동작속도가 달라진다

타이머의 특징 중 하나다 PWM신호 생성


문제 4: I2C 통신

다음 중 I2C 통신에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) I2C는 동기식 직렬 통신 방식이다.
  • (B) I2C는 마스터와 슬레이브 구조로 동작한다.
  • (C) I2C의 데이터 전송 속도는 SPI보다 빠르다.
  • (D) I2C는 한 개의 데이터 라인과 한 개의 클럭 라인을 사용한다.
  • (E) I2C 통신은 여러 슬레이브를 동일한 버스에 연결할 수 있다.
더보기

정답 : (A),(B),(E)

I2C는 클럭신호를 이용하여 데이터 전송을 동기화하는 동기식 통신방법

마스터가 클럭장치를 제어하고,슬레이브 장치는 마스터의 명령에 따라 데이터를 송수신한다

I2C는 SDA(데이터 라인)과 SCL(클럭신호)로 구성

I2C와 SPI 비교

특징 I2C SPI
데이터 라인 2개(SDA,SCL) 최소4개(MISO,MOSI,SCK,SS)
속도 최대 3.4Mbps 최대 수십 Mbps
마스터 -SLAVE 구조 지원 지원
동기식 비동기식 동기식 동기식
다중 슬레이브 지원

imu센서랑 연결가능


문제 5: 임베디드 인터럽트

다음 중 32비트 MCU에서 인터럽트와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) 인터럽트는 우선순위를 설정할 수 있다.
  • (B) 인터럽트 핸들러는 재진입(Reentrancy)을 허용해야 한다.
  • (C) 인터럽트 핸들러는 실행 중 다른 인터럽트가 발생할 수 있다.
  • (D) 인터럽트 처리 중에는 특정 리소스에 대한 접근이 제한될 수 있다.
  • (E) 인터럽트는 실시간 시스템에서 사용되지 않는다.
더보기

정답 :(A),(C),(D)

인터럽트는 우선순위를 정할 수 있다. 중요한 인터럽트가 먼저 처리될 수 있도록한다 일부 MCU에서는 NVIC사용

여기서 인터럽트 핸들러가 뭐냐면 인터럽트가 발생했을 때 자동으로 호출되는 함수

이거의 역할로는 공유 리소스 보호,재진입성 문제방지,시간 민감 작업 우선 처리

(C)번에 대해서는 중첩 인터럽트라고 있는데 여기서는 핸들러 실행중에 다른 인터럽트가 발생해도 그 인터럽트가 순위가 높으면 가능

(D)가 공유 리소스 보호해주는거 이게 인터럽트의 진짜 중요한 역할 중 하나

 


문제 6: 임베디드 시스템의 메모리 관리

다음 중 임베디드 시스템에서 메모리 관리와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) 임베디드 시스템에서는 동적 메모리 할당이 제한적으로 사용된다.
  • (B) 스택(Stack)과 힙(Heap)은 서로 다른 메모리 영역에 할당된다.
  • (C) 메모리 누수는 임베디드 시스템에 치명적인 영향을 미칠 수 있다.
  • (D) ROM(Read-Only Memory)은 프로그램 코드 저장에 사용된다.
  • (E) 모든 임베디드 시스템은 가상 메모리를 지원한다.
더보기

정답: (A),(B),(C),(D)

우선 임베디드 시스템은 동적 메모리 할당이 안되는구나

스택은 함수 호출시 자동으로 생성되고 힙은 동적 메모리 할당시 

스택은 메모리 상단에서 아래쪽으로 확장

힙은 메모리 하단에서 시작되어 위쪽으로 확장 이건 동적메모리 항당이니깐 잘 사용안함

 

  ROM RAM
데이터 유지 비휘발성 휘발성
주요 용도 펌웨어,프로그램 코드 실행 중 데이터 변수 및 저장
수정 가능 여부 제한적 자유롭게 읽기/쓰기
속도 비교적 느림 빠름

문제 7: RTOS (Real-Time Operating System)

다음 중 RTOS에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) RTOS는 실시간 태스크 스케줄링을 제공한다.
  • (B) RTOS는 모든 태스크를 동등한 우선순위로 실행한다.
  • (C) RTOS는 태스크 간 통신을 위해 큐(Queue)를 사용할 수 있다.
  • (D) RTOS는 멀티태스킹을 지원하지 않는다.
  • (E) RTOS는 하드 실시간 요구 사항을 충족할 수 있다.
더보기

정답 : (A),(C),(E)


문제 8: UART 통신

다음 중 UART(Universal Asynchronous Receiver/Transmitter)와 관련된 설명으로 옳은 것을 모두 고르시오.

  • (A) UART는 동기식 통신 방식을 사용한다.
  • (B) UART는 시작 비트(Start Bit)와 정지 비트(Stop Bit)를 포함한다.
  • (C) UART는 하드웨어 기반 흐름 제어를 지원할 수 있다.
  • (D) UART의 전송 속도는 BAUD RATE로 정의된다.
  • (E) UART는 풀 듀플렉스(Full Duplex) 통신을 지원한다.
더보기

정답

UART란 비동기식 직렬 통신을 구현하기 위한 프로토콜,MCU와 외부장치간의 데이터 주고 받을 때 사용

UART는 두 개의 데이터 라인(Tx, Rx)과 공통 접지선을 사용하여 데이터를 직렬로 전송

클럭신호 없이  baud rate를 사용하여 데이터 동기화

데이터 프레임 구조

UART는 데이터가 프레임 단위로 전송

  • start bit - 데이터 전송 시작을 알림
  • data bit - 실제 데이터, 일반적으로 5~9비트
  • parity bit- 오류 검출을 위한 
  • stop bit - 데이터 전송알림

문제 9: 저전력 모드

다음 중 32비트 MCU의 저전력(Low Power) 모드에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) 저전력 모드에서는 CPU 클럭이 정지할 수 있다.
  • (B) 저전력 모드는 MCU의 전력 소비를 줄이기 위해 사용된다.
  • (C) 저전력 모드에서는 모든 주변 장치가 비활성화된다.
  • (D) 저전력 모드는 인터럽트로 깨어날 수 있다.
  • (E) 저전력 모드는 배터리 수명을 연장하는 데 유용하다.
더보기

정답 : (A),(B),(D),(E)

(C)여기서 모든 장치는 아님 타이머 이런건 가능

 

문제 1: 차량용 GPIO 제어

다음 중 차량용 MCU의 GPIO 핀을 사용하여 LED를 제어하려고 할 때 옳은 것을 모두 고르시오.

  • (A) GPIO 핀은 출력 모드로 설정되어야 한다.
  • (B) GPIO 핀의 풀업(Pull-up) 설정은 반드시 필요하다.
  • (C) 차량의 전원 공급(12V)은 직접 GPIO 핀을 통해 제어할 수 있다.
  • (D) GPIO 핀은 타이머와 연동하여 PWM 신호를 생성할 수 있다.
  • (E) GPIO 핀은 인터럽트로도 사용될 수 있다.
더보기

정답 : (A),(D),(E)

(A) :  LED를 제어하기 위해선 GPIO을 출력모드로 사용해야한다

        그러면 입력모드는 외부 센서의 상태를 받기 위해서 사용

(B) : 풀업은 입력모드에서 신호의 안정화를 위해서하는것이다 -> high 상태 유지, I2C에서 무조건 필요

        풀다운 모드는 기본적으로 low 을 유지할 수 있도록한다 그래야 처음에 연결이 불안정할때 생기는 오류 제거

         그리고 입력 들어왔을 때만 high

(C) GPIO는 3.3V 나 5V 출력을 제공

(D) 위에서 말한게 타이머의 특징이 PWM생성가능이다 그러면 타이머와 연동하니깐 PWM생성 가능

(E) 입력모드로 신호가 들어오면 외부 인터럽트 들어오게 설정 가능


문제 2: 차량용 ADC

차량용 MCU에서 엔진 온도를 측정하기 위해 ADC를 사용하는 경우 다음 중 옳은 것을 모두 고르시오.

  • (A) ADC는 엔진 온도를 디지털 값으로 변환한다.
  • (B) ADC 해상도가 높을수록 측정 정밀도가 향상된다.
  • (C) 온도 센서 출력 신호가 ADC 입력 범위를 초과하면 오작동이 발생할 수 있다.
  • (D) ADC는 DMA(Direct Memory Access)를 통해 데이터를 처리할 수 있다.
  • (E) ADC 변환은 항상 소프트웨어 폴링 방식을 사용한다.
더보기

정답: (A),(B),(C),(D)

ADC변환은 인터럽트 DMA 폴링들 다양한 방법이 있다


문제 3: 차량용 CAN 통신

다음 중 차량 네트워크에서 사용되는 CAN 통신에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) CAN은 차량 내 ECU 간 데이터를 실시간으로 전송하는 데 사용된다.
  • (B) CAN 메시지는 최대 8바이트의 데이터를 전송할 수 있다.
  • (C) CAN 통신에서 데이터 충돌은 항상 발생하지 않는다.
  • (D) CAN-FD는 기존 CAN보다 더 빠른 데이터 전송 속도를 지원한다.
  • (E) CAN 통신은 반드시 선형 토폴로지를 사용해야 한다.
더보기

정답 : (A),(D)

CAN 통신이란?

Control Area Network로 차량내 여러 ECU(Engine contorller Unit)사이의 데이터 교환을 위한 통신

CAN통신이 최대 8바이트 그리고 CAN-FD가 최대 64비트

CAN 통신의 주요 특징

  1. 비트 중재(Bit Arbitration)
    • 여러 장치가 동시에 데이터를 전송하려고 할 때, CAN은 메시지의 우선순위(ID 값이 낮을수록 우선순위가 높음)를 기반으로 충돌을 방지하고 데이터를 효율적으로 전송합니다.
  2. 빠르고 신뢰성 높은 통신
    • 실시간 데이터 전송과 오류 감지 메커니즘(CRC, ACK)으로 높은 신뢰성을 제공합니다.
  3. 버스 토폴로지
    • CAN 네트워크는 여러 장치가 동일한 두 개의 와이어(CAN_H, CAN_L)를 공유하는 버스 토폴로지로 설계됩니다.
  4. 데이터 속도
    • CAN: 최대 1Mbps
    • CAN-FD: 최대 8Mbps

문제 4: 차량용 RTOS

다음 중 차량용 RTOS(Real-Time Operating System)에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) RTOS는 태스크 우선순위를 기반으로 태스크를 스케줄링한다.
  • (B) RTOS는 차량용 ECU에서 실시간 요구 사항을 충족하기 위해 사용된다.
  • (C) RTOS는 멀티태스킹을 지원하지 않는다.
  • (D) RTOS는 하드웨어 추상화 계층(HAL)을 제공할 수 있다.
  • (E) RTOS는 인터럽트를 처리하기 위해 커널을 필요로 하지 않는다.
더보기

정답 : (A),(B),(D),(E)

RTOS의 주요 특징

  1. 실시간 스케줄링
    • RTOS는 태스크의 우선순위, 데드라인을 기반으로 작업을 스케줄링합니다.
    • 하드 실시간(Strict Real-Time): 데드라인이 반드시 충족되어야 함.
    • 소프트 실시간(Soft Real-Time): 데드라인 충족이 중요하지만, 꼭 필요한 것은 아님.
  2. 멀티태스킹 지원
    • 여러 태스크를 병렬로 실행할 수 있습니다.
      예: 하나의 태스크가 데이터를 처리하는 동안 다른 태스크는 센서 입력을 읽음.
  3. 하드웨어 추상화
    • HAL과 같은 인터페이스를 통해 하드웨어에 독립적인 소프트웨어 설계를 지원합니다.
  4. 인터럽트 처리
    • RTOS는 하드웨어 인터럽트를 처리하여 실시간 작업에 대응할 수 있습니다.

문제 5: 자율주행 차량의 센서 융합

다음 중 자율주행 차량에서 센서 융합(Sensor Fusion)에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) 센서 융합은 라이다, 카메라, IMU 데이터를 결합하여 정확도를 높인다.
  • (B) 센서 융합에는 칼만 필터와 같은 알고리즘이 사용된다.
  • (C) 센서 융합은 항상 단일 센서보다 신뢰도가 낮다.
  • (D) IMU 데이터를 사용하여 차량의 위치와 자세를 보정할 수 있다.
  • (E) 센서 융합은 경로 계획에 필요한 정보를 제공한다.
더보기

정답 :(A),(B),(D),(E)


문제 6: 차량용 PWM 제어

다음 중 차량용 MCU에서 PWM 신호를 사용하여 모터를 제어할 때 옳은 것을 모두 고르시오.

  • (A) PWM 신호의 듀티 사이클은 모터의 속도를 제어한다.
  • (B) PWM 신호는 MCU의 타이머를 이용해 생성된다.
  • (C) PWM 주파수는 모터의 특성과 상관없이 고정된다.
  • (D) PWM 신호는 브레이크 조명 제어에도 사용될 수 있다.
  • (E) PWM 신호의 주파수는 시스템의 소음에 영향을 줄 수 있다.
더보기

정답 :(A),(B),(D),(E)

우선 PWM이란

펄스 폭을 조절하여 평균 출력전력을 제어하는 방법

 

 

PWM 제어의 주요 개념
  1. 듀티 사이클 (Duty Cycle)
    • PWM 신호에서 HIGH 상태의 비율을 나타냅니다.
    • 듀티 사이클을 조절하여 평균 출력 전력을 변경할 수 있습니다.
  2. PWM 주파수 (Frequency)
    • 신호의 반복 주기입니다. 일반적으로 모터 제어에서는 몇 kHz ~ 수십 kHz의 주파수를 사용합니다.
    • 주파수 설정은 시스템의 효율과 소음에 큰 영향을 미칩니다.
  3. PWM 생성
    • MCU의 타이머와 비교 모듈(Counter, Compare)로 신호를 생성하며, 타이머 설정으로 주파수와 듀티 사이클을 제어합니다

PWM은 LED조절이 가능 따라서 조명제어도 가능

시스템 소음도 가능


문제 7: 차량용 UART 통신

다음 중 차량용 MCU에서 UART를 사용하여 GPS 모듈과 통신하려고 할 때 옳은 것을 모두 고르시오.

  • (A) UART는 비동기식 통신 방식을 사용한다.
  • (B) UART 데이터는 시작 비트와 정지 비트를 포함한다.
  • (C) GPS 데이터는 UART를 통해 항상 고정된 크기로 전송된다.
  • (D) BAUD RATE가 일치하지 않으면 통신 오류가 발생할 수 있다.
  • (E) UART는 차량용 네트워크에서 CAN을 대체한다.
더보기

정답 : (A),(B),(D)

우선 GPS는 NMEA 프로토콜과 같은 텍스트기반 데이터형식

UART는 저속,단속 통신에 적합 차량 내부에서 제한적인 역할


문제 8: 차량용 저전력 설계

다음 중 차량용 MCU의 저전력 모드에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) 저전력 모드는 배터리 전력을 절약하기 위해 사용된다.
  • (B) 저전력 모드에서는 주요 주변 장치가 모두 비활성화된다.
  • (C) 저전력 모드는 인터럽트를 통해 활성화될 수 있다.
  • (D) 차량 내 ECU는 주로 저전력 모드를 사용하지 않는다.
  • (E) 저전력 모드는 차량의 전자식 키리스 엔트리 시스템에 활용된다.
더보기

정답 : (A),(C),(E)

전자식 키리스 엔트리 시스템는 차량의 도어를 물리적 키없이 원격무선신호를 통해 열거나 닫는것


문제 9: 차량 동력학과 MCU

다음 중 차량 동력학 제어를 위한 MCU 활용에 대한 설명으로 옳은 것을 모두 고르시오.

  • (A) 차량의 가속도는 MCU에서 엔진 제어 신호를 생성하여 조절할 수 있다.
  • (B) 차량의 제동 제어는 ABS ECU에서 MCU를 통해 수행된다.
  • (C) 차량 동력학 제어는 차량의 롤링 거동에 영향을 미친다.
  • (D) 차량의 타이어 슬립을 줄이기 위해 MCU가 ESC(Electronic Stability Control)를 제어할 수 있다.
  • (E) MCU는 차량 동력학과 관련이 없으며, 센서 데이터 처리에만 사용된다.
더보기

정답 : (A),(B),(C),(D)

차량 동력학과 MCU의 역할

  1. 가속 제어
    • 가속 페달의 입력 신호를 기반으로 엔진 출력(연료 분사, 공기 유량 등)을 제어하여 가속도를 조절.
  2. 제동 제어 (ABS)
    • 각 바퀴의 회전 속도를 모니터링하고, 잠김을 방지하기 위해 브레이크 압력을 조절.
    • 예: 빙판길에서 제동 시 바퀴가 미끄러지지 않도록 제동력 분배.
  3. 안정성 제어 (ESC)
    • 차량의 조향각, 속도, 슬립 상태를 모니터링하여 각 바퀴에 브레이크를 개별적으로 적용하거나 엔진 출력을 조정해 차량 안정성 유지.
  4. 차체 거동 제어 (롤링/피칭/요잉)
    • 전자식 서스펜션 또는 롤 안정화 시스템이 롤링과 같은 차체 거동을 제어.

차량 동력학 제어에 사용되는 주요 센서와 MCU 활용

  1. 가속도계(IMU, Accelerometer)
    • 차량의 가속도 및 방향 변화를 측정하여 MCU에 전달.
  2. 자이로스코프(Gyroscope)
    • 차량의 회전(요잉, 롤링, 피칭)을 측정하여 안정성 제어 시스템에서 사용.
  3. 속도 센서
    • 각 바퀴의 속도를 측정하여 ABS 및 ESC 제어에 사용.
  4. 스티어링 각도 센서
    • 운전자가 조향한 각도를 MCU가 읽어 차량 거동을 제어.
  5. 브레이크 압력 센서
    • 브레이크 시스템의 압력을 측정하여 적절한 제동력을 조절.

차량 동력학 제어의 주요 시스템

  1. ABS (Anti-lock Braking System)
    • MCU가 바퀴의 회전 속도를 모니터링하고 잠김을 방지.
    • 차량이 미끄러지지 않고 안정적으로 제동할 수 있도록 지원.
  2. ESC (Electronic Stability Control)
    • MCU가 차량의 주행 상태(슬립, 요잉)를 모니터링하고, 각 바퀴에 브레이크를 개별적으로 적용하여 차량이 지정된 궤도를 유지하도록 제어.
  3. TCS (Traction Control System)
    • MCU가 타이어 슬립을 방지하기 위해 엔진 출력을 조절하거나 브레이크를 개별적으로 적용.
  4. 전자식 서스펜션
    • MCU가 서스펜션 댐퍼를 조절하여 차량의 롤링 및 피칭을 최소화.