본문 바로가기

Atmega328p11

{Atmega328p}-EEPROM 전기적 지우거나 프로그래밍 가능한 Read Only 메모리정의 : 전기적으로 지울 수 있고 프로그래밍이 가능한 읽기 전용 메모리 비휘발성1KB 라고 하면 1000 * 1Byte 주소 하나당 1 Byte를 나타냄1K 1024 1024개 주소에 1Byte 저장 가능 SRAM (변수들이 저장되는 곳) : 휘발성Flash (프로그램 코드가 저장되는 곳)EEPROM (영구적으로 보관될 정보 저장하는 곳) : 8비트를 1024개 저장 가능 , SRAM 보다 접근이 느림 , 낮은 전압에서 데이터 쓰기 손상 위험 존재 > BOD 기능 활성화(MCU 전원공급 감시 > Vcc 불안정하면 Reset 실행) EEPROM 쓰는 대상설정값 , 캘리브레이션 값 저장용ex) 센서 오차 보정값 , PID 제어 파라미터 , 시리얼 번.. 2025. 11. 1.
{Atmega328p}-TWI SDA 데이터 송수신 하나SCL 클럭 제공 하나따라서 데이터 선이 반이중 통신 half duplex Open Collector ? I2C 통신 원리여러개의 장치 병렬 연결 가능Vcc 의 R1 R2 : 풀업 저항 : open collector 방식에 활용됨복습 : 풀업 저항(Pull-up)과 풀다운 저항(Pull-down)은 입력 핀의 ‘기본 전압 상태’를 안정시키기 위한 저항 FET 스위치 : 일단 스위치다 라고 이해 FET ON을 하면 V버스 가 LOW 신호로 보내짐FET OFF 하면 V버스 HIGH 신호 보내짐 결론 : HIGH 신호는 R1R2 풀업 저항으로 생성되고 LOW는 각 Device 들이 FET를 통해 LOW 신호를 보냄여러 장치가 SDA 라인을 동시에 연결해도 “누가 LOW를 당기면 .. 2025. 10. 31.
{Atmega328p}-SPI 임베디드에서 기본적으로 알아야 할 통신 : UART , SPI , I2CSerial Peripheral Interface = SPI : 주변 장치와 직렬 통신하기 위한 방법UART : 클럭 신호 사용 xSPI : 클럭 신호를 사용한 동기 통신동기 통신이 큰 차이점 # 궁금점 CAN 통신은 ?구분설명SPI마스터가 직접 클럭(SCK)을 만들어줌CAN각 노드가 자체 클럭을 가지고 있지만, 메시지의 비트 전환(edge)을 보고 계속 동기화UART별도 클럭 없이, Start bit/Stop bit로만 순간적인 동기화 (완전 비동기)MASTER & SLAVE SCK : 클락선MOSI : 마스터가 슬레이브에게 데이터 전송MISO : 슬레이브가 마스터에게 데이터 응답모든 통신의 주도건은 마스터에게 존재 : SCK 로 .. 2025. 10. 31.
{atmega328p}-Phase Correct PWM Mode 모터 위상을 조절할 때 좋은 기술 : 이전 Fast PWM 은 증가하는 경우만 구현 가능했다Dual - Slope Operation : 카운터가 증가와 감소 하는 방식 그래서 주파수가 Fast PWM 보다 느리다Fast PWM vs Phase Correct PWM구분Fast PWM Phase Correct PWM카운터 동작0 → 255 → 0 (상승만, 한 방향)0 → 255 → 0 (상승 후 하강, 양방향)작동 방식Single-SlopeDual-Slope주기(주파수)빠름 (같은 분주비 기준 약 2배 빠름)느림 (반 주파수 수준)파형 대칭성비대칭 (한쪽으로 기울어진 sawtooth)대칭 (삼각형 모양, 중심 기준 좌우 대칭)응용 예시LED 밝기, 단순 PWM 출력모터 제어, DAC(아날로그 제어) 등 정.. 2025. 10. 29.
{Atmega328p}-Fast PWM Mode GPIO (입출력 제어)를 통해 LED를 On Off (2가지 방식) 했었다밝기를 조절할 수 있는 방법 0~100% 아날로그적 효과를 내는 기술 PWM(pulse width modulation)주기 대비 켜져있는 비율 Duty 를 조절 LED 밝기가 바뀌는 이유 사람의 눈이 느리기 때문LED는 수 μ초 단위로 껐다 켜도,우리 눈은 그걸 빠르게 감지하지 못한다 (잔상효과 때문). : 일단 이렇게 이해 Fast PWM Mode 작동 방식Duty 설정은 OCR 조절을 통해서 쉽게 해결그럼 주파수는 어떻게 설정? > 타이머의 클럭속도에 결정 (프리스케일러)PWM = Timer / 256CPU clock 속도 16Mhz , 프리스케일러 64ex) 16MHz / 64 = 250kHz 259kHz / .. 2025. 10. 29.
{Atmega328p}-Timer , Counter Timer Counter 이란 독립적인 시계 MCU 내부 T/C 구조MCU (ATmega328P)│├── Timer / Counter (T/C) ← 시간 관련 하드웨어 모듈│ ││ ├── Mode (동작 방식 선택)│ │ ├─ Normal Mode ← 단순 카운팅│ │ ├─ CTC Mode ← Compare 값에서 초기화 (정밀한 주기)│ │ └─ PWM Mode ← 듀티비 제어로 파형 생성│ ││ ├── Register (레지스터들로 제어)│ │ ├─ TCNTx : 현재 카운터 값 저장│ │ ├─ OCRx : 비교 대상 값 (Compare Match용)│ │ ├─ TCCRn : 모드 / 분주비 설정│ │ ├─ TIMSK.. 2025. 10. 29.