Project : Pedestrian Safety Integrated Control System ⦁ 개요 : STM32 ARM Cortex M4를 이용한 보행자 안전 통합 관제 시스템 개발 ⦁ 기능 1. 횡단보도 차량 속도 경고 알림 1) 일정 속도를 초과하면 LED 점등 2. 에스컬레이터 일반인, 노약자 모드(자동 동작, 자동 멈춤, 에너지 절약) 1) 일반인 모드 a) 에스컬레이터 속도 : 빠름 b) 동작 : 보행자가 에스컬레이터 시작 위치를 지나가면 동작을 시작, 끝 위치에 도달하면 동작 종료 c) 일반인은 에스컬레이터를 걸어갈 수도, 가만히 서서갈 수도 있기 때문에 ..
1. OSProcess = 프로그램Thread = Process 내부에서 동작하는 프로그램Process → Process Direct Access 불가능 ⇒ IPC(Inter Process Communication) 사용 Windows, Linux : 범용 OS ← 8GB 이상임베디드용 OS : 제한된 기능(스케줄링, 메모리 제어) ← 10kB 이하종류 : RTOS, Micrium OS, … OS 필수 기능⇒ 스케줄링프로세스가 실행되는 순서를 결정 FCFS(선착순) : 프로세스는 준비 대기열에 도착한 순서대로 실행. 비선점형 스케줄링 알고리즘우선순위 스케줄링 : 각 프로세스에 우선순위 할당Round Robin(RR) ← 대부분의 OS에서 사용 : 각 프로세스에 실..
1. Serial Communication 동기/비동기 통신 방식 핀 다중 통신여부 Slave구분 방법 속도 UART비동기전이중(Full Duplex)TxD, Rxd1:1 통신XCLK이 없어 속도의 제한이 있음I2C동기반이중(Half Duplex)SCL, SDA1:n 통신AddressSPI보다 느림SPI동기전이중(Full Duplex)CLOCK, MOSI, MISO, CS1:n 통신CS(Chip Select)제일 빠름 특징I2C반이중 통신으로 송수신 동시 불가데이터 전송에 Address 송신, ACK bit 수신 프로토콜이 추가되어 속도가 SPI에 비해 느림(100kHz, 400kHz)핀 개수 적음Pull-up 저항 필요SPI속도 가장 빠름 (Mbps)각 Slave별로 CS핀이 필요하여 핀..
1. PWM Prescaler 설정 : 100-1 → 100MHz / 100 : 1MHzARR(Auto Reload Register)Counter Period 조절하여 주파수 조절 (top 값)1MHz → 1 count = 1us@ ARR=1000-1) 0 ~ 999 count하고 overflow → 1kHzCCR (Channel Compare Register) : Pulse 값 조절하여 duty rate 조절PWM mode : mode 1) CNT CCR → 출력 High(시작 Low)Output compare preload : Enable → CCR 값 변경시 다음 주기부터 변경 적용 / Disable → CCR 값 변경시 바로 적용(오류 가능성 있음)CH Polarity 조절하여 시작을 LOW ..
1. 메모리 저장 & 실행 과정 `main.c` 소스 파일 Compile → `main.o` 오브젝트 바이너리 코드 파일 변환 → Linker가 `main.elf` 실행 코드로 변환Flash Memory : 실행 코드 저장RAM : 데이터 저장 .elf 실행 코드가 flash Memory에 저장되는데 어떻게 저장? → 메모리는 각 section으로 나뉘어져 있음 .map 파일`.map` 파일에서 각 section을 어디에 저장시킬지 저장되어 있음. (네비게이션 역할)(.text : 사용자 정의 함수 등) LinkerScript 파일더보기/*********************************************************************************** @file ..
1. STM32F411RET6(ARM Cortex-M4) STM32f411RET6 특성Flash Memory : 512 kBytesRAM : 128 kBytesSpeed : 100 MHz 2. STM32 구조 D-BUS : RAM BUSI-BUS : Flash Memory BUSS-BUS : 주변장치 BUS APB1, APB2 : Bus 이름→ ARM Architecture에서는 모든 peripheral, clock을 사용자가 설정해줘야함⇒ 복잡할 수 있지만 전력 소모에서 이득 3. ioc를 이용한 설정 3-1. Clock 설정 PLL회로 : 클럭 증폭→ NUCLEO 보드에는 8MHz 외부 크리스탈 오실레이터가 장착되어 있음..