AVR 마이크로 컨트롤러 유형 – Atmega32 및 ATmega8

문제를 제거하기 위해 도구를 사용해보십시오





ATmega32 – 8 비트 AVR 마이크로 컨트롤러

AVR 마이크로 컨트롤러는 고급 RISC 아키텍처를 기반으로합니다. ATmega32는 AVR 강화 RISC 아키텍처를 기반으로하는 저전력 CMOS 8 비트 마이크로 컨트롤러입니다. AVR은주기 주파수가 1MHz이면 초당 1 백만 개의 명령을 실행할 수 있습니다.

ATmega32의 40 핀 DIP 사진

ATmega32의 40 핀 DIP 사진



주요 특징들:


  • 32 x 8 범용 레지스터.
  • 32K 바이트의 시스템 자체 프로그래밍 가능 플래시 프로그램 메모리
  • 2K 바이트의 내부 SRAM
  • 1024 바이트 EEPROM
  • 40 핀 DIP, 44 리드 QTFP, 44 패드 QFN / MLF로 제공
  • 32 개의 프로그래밍 가능한 I / O 라인
  • 8 채널, 10 비트 ADC
  • 별도의 프리스케일러 및 비교 모드가있는 2 개의 8 비트 타이머 / 카운터
  • 별도의 프리스케일러, 비교 모드 및 캡처 모드가있는 16 비트 타이머 / 카운터 1 개.
  • 4 개의 PWM 채널
  • 온칩 부팅 프로그램에 의한 시스템 프로그래밍
  • 별도의 온칩 오실레이터가있는 프로그래밍 가능한 워치 독 타이머.
  • 프로그래밍 가능한 직렬 USART
  • 마스터 / 슬레이브 SPI 직렬 인터페이스

특수 마이크로 컨트롤러 기능 :

  • 6 가지 절전 모드 : 유휴, ADC 잡음 감소, 절전, 절전, 대기 및 확장 대기.
  • 내부 보정 된 RC 발진기
  • 외부 및 내부 인터럽트 소스
  • 전원 켜기 재설정 및 프로그래밍 가능한 절전 감지.
ATmega32의 40 핀 DIP

ATmega32의 40 핀 DIP



32 개의 레지스터는 모두 ALU (Arithmetic Logic Unit)에 직접 연결되어있어 하나의 클록 사이클에서 실행되는 하나의 단일 명령어로 두 개의 독립적 인 레지스터에 액세스 할 수 있습니다.

파워 다운은 레지스터 내용을 저장하지만 오실레이터를 고정시킵니다. 다른 모든 칩 기능은 다음 외부 인터럽트가 발생할 때까지 비활성화됩니다. 비동기 타이머를 사용하면 나머지 장치가 절전 모드에있는 동안 절전 모드를 기반으로 타이머를 유지할 수 있습니다.

ADC 노이즈 감소 모드는 CPU와 ADC 및 비동기 타이머를 제외한 모든 I / O 모듈을 중지합니다. 대기 모드에서 수정 발진기를 제외하고 나머지 장치는 절전 모드입니다. 메인 오실레이터와 비동기 타이머는 모두 확장 대기 모드에서 계속 실행됩니다.

ATmega32는 모 놀리 식 칩의 시스템 자체 프로그래밍 가능 플래시로 인해 강력한 마이크로 컨트롤러이며 많은 임베디드 제어 애플리케이션에 매우 유연하고 비용 효율적인 솔루션을 제공합니다.


44 패드 TQFP / MLF

44 패드 TQFP / MLF

핀 설명 :

VCC : 디지털 전압 공급

GND : 바닥

포트 A (PA7-PA0) : 이 포트는 A / D 컨버터에 대한 아날로그 입력으로 사용됩니다. 또한 A / D 컨버터를 사용하지 않는 경우 8 비트 양방향 I / O 포트 역할을합니다.

포트 B (PB7-PB0) 및 포트 D (PD7-PD0) : 8 비트 양방향 I / O 포트입니다. 출력 버퍼는 높은 싱크 및 소스 기능을 모두 갖춘 대칭 드라이브 특성을 가지고 있습니다. 입력으로서 풀업 저항이 활성화되면 이러한 값은 매우 낮아집니다. 또한 ATmega32의 다양한 특수 기능을 제공합니다.

포트 C (PC7-PC0) : 8 비트 양방향 I / O 포트입니다. JTAG 인터페이스가 활성화되면 핀 PC5 (TDI), PC3 (TMS) 및 PC2 (TCK)의 풀업 저항이 활성화됩니다.

ATmega32의 포트 C를 사용하여 JTAG의 인터페이스

ATmega32의 포트 C를 사용하여 JTAG의 인터페이스

초기화: 입력입니다.

XTAL1 : 이는 반전 발진기 증폭기에 대한 입력이며 내부 클록 작동 회로에 대한 입력입니다.

XTAL2 : 반전 발진기 증폭기의 출력입니다.

AVCC : 포트 A 및 A / D 컨버터의 공급 전압 핀입니다. VCC에 연결되어야합니다.

AREF : AREF는 A / D 컨버터 용 아날로그 레퍼런스 핀입니다.

ATmega32 메모리 :

그것은 두 개의 메인 메모리 공간 데이터 메모리와 프로그램 메모리 공간을 가지고 있습니다. 또한 데이터 저장을위한 EEPROM 메모리가 있습니다.

시스템 프로그래밍 가능 플래시 프로그램 메모리에서 :

ATmega32는 프로그램 저장을위한 시스템 재 프로그래밍 가능한 플래시 메모리에 32Kbytes 온칩을 포함합니다. 플래시는 16k X 16으로 구성되며 메모리는 부팅 프로그램 섹션과 응용 프로그램 섹션으로 나뉩니다.

ISP 프로그래머 회로도

ISP 프로그래머 회로도

SRAM 데이터 메모리 :

레지스터 파일, I / O 메모리 및 내부 데이터 SRAM은 하위 2144 데이터 메모리 위치로 지정됩니다. 처음 96 개 위치는 레지스터 파일 및 I / O 메모리를 지정하고 내부 데이터 SRAM은 다음 2048 개 위치로 지정됩니다. 직접, 변위가있는 간접, 간접, 사전 감소가있는 간접 및 사후 감소가있는 간접은 데이터 메모리 커버링을위한 5 가지 주소 지정 모드입니다. 32 개의 범용 레지스터, 64 개의 I / O 레지스터 및 2048 바이트의 내부 데이터 SRAM은 이러한 주소 지정 모드를 사용하여 액세스 할 수 있습니다.

ATmega32의 블록 다이어그램

ATmega32의 블록 다이어그램

EEPROM 데이터 메모리 :

1024 바이트의 데이터 EEPROM 메모리를 포함합니다. 단일 바이트를 읽고 쓸 수있는 별도의 데이터 공간으로 액세스 할 수 있습니다.

I / O 메모리 :

모든 I / O 및 주변 장치는 I / O 공간에 배치됩니다. I / O 위치는 IN 및 OUT 명령어에 의해 액세스되며 32 개의 범용 레지스터와 I / O 공간간에 데이터를 전송합니다. 00-1F 주소의 I / O 레지스터는 SBI 및 CBI 명령어를 사용하여 직접 비트에 액세스 할 수 있습니다.

ATmega8

소개

AVR 제품군 (1996 년 Atmel Corporation에서 개발)의 8 비트 CMOS 내장 마이크로 컨트롤러이며 RSIC (Reduced Instruction Set Computer) 아키텍처를 기반으로합니다. 기본 장점은 누산기가 없으며 연산 결과가 명령어로 정의 된 모든 레지스터에 저장 될 수 있다는 것입니다.

건축물

건축물

건축물

기억

8KB의 플래시 메모리, 1KB의 SRAM 및 512 바이트의 EEPROM으로 구성됩니다. 8K 플래시는 부트 플래시 섹션으로 사용되는 하부와 애플리케이션 플래시 섹션으로 사용되는 상부 두 부분으로 나뉩니다. SRAM에는 1K 바이트와 1120 바이트의 범용 레지스터 및 I / O 레지스터가 포함되어 있습니다. 하위 32 개 주소 위치는 32 개의 범용 8 비트 레지스터에 사용됩니다. 다음 64 개 주소는 I / O 레지스터에 사용됩니다. 모든 레지스터는 ALU에 직접 연결됩니다. EEPROM은 사용자 정의 데이터를 저장하는 데 사용됩니다.

입력 / 출력 포트

3 개의 I / O 포트 (B, C, D)가있는 23 개의 I / O 라인으로 구성됩니다. 포트 B는 8 개의 I / O 라인으로 구성되고 포트 C는 7 개의 I / O 라인으로 구성되며 포트 D는 8 개의 I / O로 구성됩니다. 윤곽.

portX (B, C 또는 D)에 해당하는 레지스터는 다음과 같습니다.

DDRX : 포트 X 데이터 방향 레지스터

PORTX : 포트 X 데이터 레지스터

PINX : 포트 X 입력 레지스터

타이머 및 카운터

유사한 모드를 가진 3 개의 타이머로 구성됩니다. 그중 두 개는 8 비트이고 세 번째는 16 비트입니다.

발진기

내부 리셋 및 발진기를 통합하여 외부 입력이 필요하지 않습니다. 내부 RC 발진기는 프로그래밍 된대로 1MHz, 2MHz, 4MHz 또는 8MHz의 모든 주파수에서 실행할 수있는 내부 클록을 생성 할 수 있습니다. 또한 최대 주파수가 16MHz 인 외부 발진기를 지원합니다.

통신

USART (Universal Synchronous and Asynchronous Receiver Transmitter)를 통해 동기 및 비동기 데이터 전송 방식, 즉 모뎀 및 기타 직렬 장치와의 통신을 모두 제공합니다. 또한 마스터-슬레이브 방식을 기반으로 장치 간 통신에 사용되는 SPI (Serial Peripheral Interface)를 지원합니다. 지원되는 또 다른 유형의 통신은 TWI (Two wire Interface)입니다. 공통 접지 연결과 함께 2 개의 와이어를 사용하여 두 장치 간의 정류를 허용합니다.

또한 외부 칩을 통해 아날로그 비교기의 두 입력에 연결된 두 전압을 비교하기 위해 칩에 통합 된 비교기 모듈이 있습니다.

또한 6 채널 ADC가 포함되어 있으며 그 중 4 개는 10 비트 정확도이고 2 개는 8 비트 정확도입니다.

상태 등록 : 현재 실행되고있는 산술 명령어 세트에 대한 정보를 포함합니다.

ATmega 핀 다이어그램 :

ATmega 핀 다이어그램

ATmega 핀 다이어그램

ATmega8의 중요한 기능 중 하나는 5 핀을 제외한 다른 모든 핀이 2 개의 신호를 지원한다는 것입니다.

  • 핀 23,24,25,26,27,28 및 1은 포트 C에 사용되는 반면 핀 9,10,14,15,16,17,18,19는 포트 B와 핀 2,3,4에 사용됩니다. 5,6,11,12는 포트 D에 사용됩니다.
  • 핀 1도 리셋 핀이며 최소 펄스 길이보다 긴 시간 동안 로우 레벨 신호를 적용하면 리셋이 생성됩니다.
  • 핀 2와 3은 USART의 직렬 통신에도 사용됩니다.
  • 핀 4와 5는 외부 인터럽트로 사용됩니다. 그중 하나는 상태 레지스터의 인터럽트 플래그 비트가 설정 될 때 트리거되고 다른 하나는 인터럽트 조건이 우선하는 한 트리거됩니다.
  • 핀 9와 10은 크리스탈이 핀 사이에 직접 연결되는 타이머 카운터 오실레이터뿐만 아니라 외부 오실레이터로 사용됩니다. 핀 10은 수정 발진기 또는 저주파 수정 발진기에 사용됩니다. 내부 보정 된 RC 발진기가 클럭 소스로 사용되고 비동기 타이머가 활성화 된 경우 이러한 핀을 타이머 발진기 핀으로 사용할 수 있습니다.
  • 핀 19는 SPI 채널의 마스터 클록 출력, 슬레이브 클록 입력으로 사용됩니다.
  • 핀 18은 마스터 클럭 입력, 슬레이브 클럭 출력으로 사용됩니다.
  • 핀 17은 SPI 채널의 마스터 데이터 출력, 슬레이브 데이터 입력으로 사용됩니다. 슬레이브에 의해 활성화되면 입력으로 사용되며 마스터에 의해 활성화되면 양방향입니다. 이 핀은 타이머 / 카운터 비교 일치를위한 외부 출력 역할을하는 출력 비교 일치 출력으로도 사용할 수 있습니다.
  • Pin16은 슬레이브 선택 입력으로 사용됩니다. 또한 PB2 핀을 출력으로 구성하여 타이머 / 카운터 1 비교 일치로 사용할 수도 있습니다.
  • Pin15는 타이머 / 카운터 비교 매치 A의 외부 출력으로 사용할 수 있습니다.
  • 핀 23 ~ 28은 ADC 채널에 사용됩니다. 핀 27은 직렬 인터페이스 클록으로도 사용할 수 있으며 핀 28은 직렬 인터페이스 데이터로 사용할 수 있습니다.
  • 핀 13 및 12는 아날로그 비교기 입력으로 사용됩니다.
  • 핀 11과 6은 타이머 / 카운터 소스로 사용됩니다.

마이크로 컨트롤러 절전 모드

마이크로 컨트롤러는 6 가지 절전 모드에서 작동합니다.

  • 유휴 모드 : CPU의 기능을 중지하지만 SPI, USART, ADC, TWI, 타이머 / 카운터 및 Watchdog의 작동을 허용하고 시스템을 인터럽트합니다. MCU 레지스터 플래그의 SM0을 SM2 비트로 0으로 설정하면됩니다.
  • ADC 노이즈 감소 모드 : CPU를 중지하지만 ADC, 외부 인터럽트, 타이머 / 카운터 2 및 워치 독의 기능을 허용합니다.
  • 전원 차단 모드 : 외부 인터럽트, 2 선식 직렬 인터페이스, 워치 독을 활성화하고 외부 발진기를 비활성화합니다. 생성 된 모든 시계를 중지합니다.
  • 전기 절약 모드 : 타이머 / 카운터가 비동기 적으로 클럭 될 때 사용됩니다. clk를 제외한 모든 시계를 중지합니다.ASY.
  • 대기 모드 :이 모드에서는 오실레이터가 작동 할 수 있으며 다른 모든 작동은 중지됩니다.

Atmega8과 관련된 애플리케이션

깜박이는 LED

Atmega8과 관련된 애플리케이션

깜박이는 LED 회로도

이 프로그램은 C 언어를 사용하여 작성되었으며 먼저 .c 파일로 컴파일됩니다. ATMEL 소프트웨어 도구는이 파일을 이진 ELF 개체 파일로 변환합니다. 그런 다음 다시 16 진 파일로 변환됩니다. 그런 다음 16 진수 파일은 AVR 친구 프로그램을 사용하여 마이크로 컨트롤러로 전달됩니다.

사진 크레딧 :