임베디드 & 자율주행 & 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 통신의 주요 특징
- 비트 중재(Bit Arbitration)
- 여러 장치가 동시에 데이터를 전송하려고 할 때, CAN은 메시지의 우선순위(ID 값이 낮을수록 우선순위가 높음)를 기반으로 충돌을 방지하고 데이터를 효율적으로 전송합니다.
- 빠르고 신뢰성 높은 통신
- 실시간 데이터 전송과 오류 감지 메커니즘(CRC, ACK)으로 높은 신뢰성을 제공합니다.
- 버스 토폴로지
- CAN 네트워크는 여러 장치가 동일한 두 개의 와이어(CAN_H, CAN_L)를 공유하는 버스 토폴로지로 설계됩니다.
- 데이터 속도
- 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의 주요 특징
- 실시간 스케줄링
- RTOS는 태스크의 우선순위, 데드라인을 기반으로 작업을 스케줄링합니다.
- 하드 실시간(Strict Real-Time): 데드라인이 반드시 충족되어야 함.
- 소프트 실시간(Soft Real-Time): 데드라인 충족이 중요하지만, 꼭 필요한 것은 아님.
- 멀티태스킹 지원
- 여러 태스크를 병렬로 실행할 수 있습니다.
예: 하나의 태스크가 데이터를 처리하는 동안 다른 태스크는 센서 입력을 읽음.
- 여러 태스크를 병렬로 실행할 수 있습니다.
- 하드웨어 추상화
- HAL과 같은 인터페이스를 통해 하드웨어에 독립적인 소프트웨어 설계를 지원합니다.
- 인터럽트 처리
- 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이란
펄스 폭을 조절하여 평균 출력전력을 제어하는 방법
- 듀티 사이클 (Duty Cycle)
- PWM 신호에서 HIGH 상태의 비율을 나타냅니다.
- 듀티 사이클을 조절하여 평균 출력 전력을 변경할 수 있습니다.
- PWM 주파수 (Frequency)
- 신호의 반복 주기입니다. 일반적으로 모터 제어에서는 몇 kHz ~ 수십 kHz의 주파수를 사용합니다.
- 주파수 설정은 시스템의 효율과 소음에 큰 영향을 미칩니다.
- 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의 역할
- 가속 제어
- 가속 페달의 입력 신호를 기반으로 엔진 출력(연료 분사, 공기 유량 등)을 제어하여 가속도를 조절.
- 제동 제어 (ABS)
- 각 바퀴의 회전 속도를 모니터링하고, 잠김을 방지하기 위해 브레이크 압력을 조절.
- 예: 빙판길에서 제동 시 바퀴가 미끄러지지 않도록 제동력 분배.
- 안정성 제어 (ESC)
- 차량의 조향각, 속도, 슬립 상태를 모니터링하여 각 바퀴에 브레이크를 개별적으로 적용하거나 엔진 출력을 조정해 차량 안정성 유지.
- 차체 거동 제어 (롤링/피칭/요잉)
- 전자식 서스펜션 또는 롤 안정화 시스템이 롤링과 같은 차체 거동을 제어.
차량 동력학 제어에 사용되는 주요 센서와 MCU 활용
- 가속도계(IMU, Accelerometer)
- 차량의 가속도 및 방향 변화를 측정하여 MCU에 전달.
- 자이로스코프(Gyroscope)
- 차량의 회전(요잉, 롤링, 피칭)을 측정하여 안정성 제어 시스템에서 사용.
- 속도 센서
- 각 바퀴의 속도를 측정하여 ABS 및 ESC 제어에 사용.
- 스티어링 각도 센서
- 운전자가 조향한 각도를 MCU가 읽어 차량 거동을 제어.
- 브레이크 압력 센서
- 브레이크 시스템의 압력을 측정하여 적절한 제동력을 조절.
차량 동력학 제어의 주요 시스템
- ABS (Anti-lock Braking System)
- MCU가 바퀴의 회전 속도를 모니터링하고 잠김을 방지.
- 차량이 미끄러지지 않고 안정적으로 제동할 수 있도록 지원.
- ESC (Electronic Stability Control)
- MCU가 차량의 주행 상태(슬립, 요잉)를 모니터링하고, 각 바퀴에 브레이크를 개별적으로 적용하여 차량이 지정된 궤도를 유지하도록 제어.
- TCS (Traction Control System)
- MCU가 타이어 슬립을 방지하기 위해 엔진 출력을 조절하거나 브레이크를 개별적으로 적용.
- 전자식 서스펜션
- MCU가 서스펜션 댐퍼를 조절하여 차량의 롤링 및 피칭을 최소화.
'만도 ivs 3기 준비' 카테고리의 다른 글
만도 ivs 3기 준비만도 ivs 운영체제 공부 정리 (0) | 2024.11.24 |
---|---|
만도 ivs 운영체제 공부 정리 (0) | 2024.11.24 |