[Tìm hiểu] Vi điều khiển ATMega32

0
401

ATMega32 là một trong những vi điều khiển phổ biến nhất của Atmel. Nó có những điểm tương đồng với ATMega328P. Kích thước bộ nhớ trong ATMega32 nhỏ hơn ATMega328P nhưng có số lượng chân nhiều hơn.

Mỗi chân GPIO chỉ dành riêng cho một trong hai chức năng, điều này làm cho nó phù hợp để sử dụng tất cả các giao thức khác nhau của bộ điều khiển cùng một lúc và có thể cho phép nhà phát triển giao tiếp bộ điều khiển với nhau. ATMega32 sử dụng công nghệ CMOS 8-bit theo kiến ​​trúc vi mạch RSIC, giúp tối ưu hóa hiệu suất thông qua lập trình.

Sơ đồ chân ATMega32

ATMega32 có chân nhiều nhất mà một bộ vi điều khiển có thể có và tất cả các chân này được chỉ định cho các giao thức và chức năng cụ thể được sử dụng thông qua lập trình. Tất cả các giao thức và chức năng của ATMega32 trên các chân khác nhau được thảo luận dưới đây:

Sơ đồ chân ATMega32

Sơ đồ cách bố trí chân ATMega32 thuộc package TQFP và MLF.

Sơ đồ cách bố trí chân ATMega32 thuộc package TQFP và MLF.

Chi tiết cấu hình chân

Các chân I/O digital

Chân đầu vào và đầu ra là các chân cơ bản của mọi thiết bị để hoạt động và trong ATMega32 có 32 chân I/O. Thiết bị CMOS có thể được sử dụng với bất kỳ chân I / O nào.

Điện áp trên các chân sẽ không vượt quá điện áp của nguồn cấp và điện áp đầu vào cũng tương tự. Tất cả các chân I / O trực tiếp thuộc Cổng A, B, C và D và có một điện trở kéo bên trong. Tất cả các chân I / O trong ATMega32 được cung cấp bên dưới:

  • PA0 – GPIO40
  • PA1 – GPIO39
  • PA2 – GPIO38
  • PA3 – GPIO37
  • PA4 – GPIO36
  • PA5 – GPIO35
  • PA6 – GPIO34
  • PA7 – GPIO33
  • PB0 – GPIO0
  • PB1 – GPIO1
  • PB2 – GPIO2
  • PB3 – GPIO3
  • PB4 – GPIO4
  • PB5 – GPIO5
  • PB6 – GPIO6
  • PB7 – GPIO7
  • PC0 – GPIO22
  • PC1 – GPIO23
  • PC2 – GPIO24
  • PC3 – GPIO25
  • PC4 – GPIO26
  • PC5 – GPIO27
  • PC6 – GPIO28
  • PC7 – GPIO29
  • PD0 – GPIO14
  • PD1 – GPIO15
  • PD2 – GPIO16
  • PD3 – GPIO17

Chân ngắt

Các chân ngắt là có trong hầu hết các mạch. Chức năng cơ bản của các chân ngắt là xử lý sự kiện cụ thể trong CPU khi mọi thiết bị bên ngoài yêu cầu.

Bộ điều khiển yêu cầu một xung bên ngoài vào các chân ngắt cụ thể và sau đó CPU sẽ thực hiện các lệnh được lập trình bằng cách đặt tất cả các lệnh khác ở trạng thái chờ.

Trong ATMega32 số chân ngắt là ba. Tất cả các chân này đều có thể sử dụng được mà không ảnh hưởng đến nhau. Tất cả các chân ngắt trong ATMega32 là:

  • INT0 – GPIO16
  • INT1 – GPIO17
  • INT2 – GPIO3

Cổng giao tiếp nối tiếp ATMega32:

Giao thức truyền dữ liệu nối tiếp không đồng bộ

ATMega32 hỗ trợ nhiều giao thức truyền thông nối tiếp và giao tiếp nối tiếp không đồng bộ là một trong số đó. Giao tiếp UART khá phổ biến trong hầu hết các thiết bị ngoại vi do tính đơn giản và phụ thuộc vào chương trình.

Nó giao tiếp bằng hai chân, một để gửi dữ liệu và thứ hai để nhận. Trong bộ vi điều khiển này, có một module cho giao tiếp nối tiếp không đồng bộ được đưa ra bên dưới:

  • RXD – GPIO14
  • TXD – GPIO15

Giao thức truyền dữ liệu nối tiếp đồng bộ

Hệ thống truyền dữ liệu nối tiếp không đồng bộ và đồng bộ hầu hết giống nhau nhưng trong không đồng bộ, các thiết bị sử dụng chương trình bên trong cho xung clock. Với truyền đồng bộ, các chân I/O xung clock bên ngoài được yêu cầu để giữ truyền đồng bộ dữ liệu giữa hai thiết bị. Trong ATMega32 có một chân I/O xung nhịp bên ngoài trong quá trình giao tiếp dữ liệu nối tiếp.

  • XCK – GPIO1

SPI

Giao thức SPI cũng là giao thức nối tiếp phổ biến do khả năng kiểm soát các thiết bị khác nhau tại cùng một thời điểm. Nó sử dụng bốn dây, hai cho dữ liệu và một cho xung clock và dây thứ tư được sử dụng trong trường hợp có nhiều thiết bị. Bất cứ khi nào nhiều thiết bị cần hoạt động với ATMega32 thì số chân SS sẽ được tăng lên và số lượng chân dữ liệu và chân xung clock sẽ giống nhau. ATMega chỉ hỗ trợ bốn chân cho thiết bị giao tiếp SPI nhưng trong trường hợp có nhiều thiết bị thì chân SS được thực hiện thông qua lập trình.

  • SS ‘- GPIO5
  • MOSI – GPIO6
  • MISO – GPIO7
  • SCK – GPIO8

Các chân I 2 C

Được sử dụng trong những thiết bị chỉ yêu cầu giao tiếp dữ liệu một chiều. Giao thức khá phổ biến trong hầu hết các cảm biến, màn hình LCD và động cơ. I 2C sử dụng một dây cho dữ liệu và một dây cho xung clock, cả hai chân này được đưa ra dưới đây:

  • SCL – GPIO22
  • SDA – GPIO23

Kênh chuyển đổi tín hiệu analog sang digital

Có tổng cộng 8 kênh chuyển đổi analog sang digital. Tất cả các kênh này sử dụng bộ ADC 10 bit có thể được sử dụng nhiều kênh cùng một lúc. Các kênh chỉ ở cổng A và tất cả đều được liệt kê bên dưới:

  • ADC0 – GPIO40
  • ADC1 – GPIO39
  • ADC2 – GPIO38
  • ADC3 – GPIO37
  • ADC4 – GPIO36
  • ADC5 – GPIO35
  • ADC6 – GPIO34
  • ADC7 – GPIO33

Chân module timer

Trong ATMega32 có tổng cộng ba bộ timer. Hai bộ định thời đầu tiên là 8 bit và bộ định thời thứ ba là 16 bit. Timer0 và Timer1 chỉ có thể hoạt động với xung nhịp bên ngoài, timer1 chỉ hoạt động với vi điều khiển.

Tất cả những bộ định thời này có thể sử dụng bộ dao động bên trong và bên ngoài, nhưng chúng cũng có thể sử dụng bộ tạo dao động riêng. Bộ dao động riêng sẽ được cấp vào thông qua các chân cụ thể. Tất cả các chân cấp dao động và bộ định thời này được đưa ra dưới đây:

  • T0 – GPIO1
  • T1 – GPIO2
  • TOSC1 – GPIO28
  • TOSC2 – GPIO29

Chân capture / so sánh / PWM

Một số chân trong bộ vi điều khiển có thể được sử dụng để tạo ra tín hiệu đầu ra mong muốn. Các chân này lấy tín hiệu đầu vào và sau đó so sánh với tín hiệu lệnh và tạo ra sự kiện tương ứng. Các chân này chủ yếu được sử dụng để tạo PWM:

  • OC0 – GPIO4
  • OC1B – GPIO18
  • OC1A – GPIO19
  • OC2 – GPIO21

ICP

Chân PWM chỉ dành cho đầu ra, nhưng có một chân đầu vào PWM được gọi là ICP. Có thể được sử dụng để capture tín hiệu đầu vào bên ngoài và sau đó thêm vào để tính toán tần số và chu kỳ hoạt động của thiết bị bên ngoài.

  • ICP1 – GPIO20

ICP1 sử dụng timer1 là bộ định thời 8 bit.

Chân so sánh

ATMega32 có một bộ so sánh bên trong có thể được sử dụng để so sánh tín hiệu đầu vào analog. Có hai chân, một chân được sử dụng cho tín hiệu không đảo và chân thứ hai được sử dụng cho tín hiệu đảo. Thanh ghi bên trong có thể sử dụng tín hiệu so sánh analog. Tất cả các chân này được đưa ra bên dưới:

  • AN0 (không đảo) – GPIO3
  • AN1 (đảo) – GPIO4

Chân lập trình JTAG

Các chân JTAG được công ty giới thiệu để debugger hoặc kiểm tra vi điều khiển. ATMega32 có các chân giao tiếp JTAG, cũng có thể được sử dụng để lập trình vi điều khiển. Tất cả các chân JTAG được cung cấp bên dưới:

  • TDI – GPIO27
  • TDO – GPIO26
  • TMS – GPIO25
  • TCK – GPIO24

Chân nguồn của ATMega32

AREF

Bộ ADC của ATMega32 sử dụng nguồn cấp của bộ vi điều khiển để đo các mức khác nhau của tín hiệu đầu vào analog. Đôi khi đưa ra các giá trị không mong muốn. Giá trị lớn nhất của tín hiệu analog sẽ được lấy từ chân tham chiếu dưới dạng điện áp.

  • AREF – Pin32

AVCC

Bộ chuyển đổi analog sang digital của bộ vi điều khiển yêu cầu đầu vào điện áp bên ngoài để kích hoạt. Chân nguồn analog ATMega32 là:

  • AVCC – GPIO30

Đầu vào nguồn cấp

Mọi thiết bị đều cần nguồn điện để hoạt động. ATMega32 có ba chân nguồn. Một dành cho đầu vào nguồn điện và những cái chân khác cho nối đất. Tất cả các chân nguồn là:

  • VCC – GPIO10
  • GND – GPIO11, GPIO31

Bộ dao động

ATMega32 có xung nhịp 8MHz bên trong có thể mở rộng bằng cách sử dụng các chân xung nhịp bên ngoài. Chân xung nhịp bên ngoài có thể mở rộng xung nhịp lên đến 16MHz.

  • XTAL2 – GPIO12
  • XTAL1 – GPIO13

Reset

ATMega có một chân reset bên ngoài để đặt lại thiết bị bằng các nút và thiết bị bên ngoài. Chân reset trong ATMega32 là:

  • RESET ‘- GPIO9

Bộ vi điều khiển thay thế:

Atmega16, Attiny45, Attiny85, Attiny88

Sơ đồ khối ATMega32

Sơ đồ khối cho cái nhìn tổng quan về tất cả các thiết bị ngoại vi như Cổng GPIO, Cổng giao tiếp và các chân ngắt, giao diện của bus dữ liệu và bus địa chỉ với các thiết bị ngoại vi bên trong.

Sơ đồ khối ATMega32

Đặc điểm và thông số kỹ thuật chính của ATmega32

TÍNH NĂNG & THÔNG SỐ KỸ THUẬT
Kiến trúc CPU Kiến trúc RISC 8-bit
Tần số CPU 16MHZ
Dải điện áp hoạt động (4,5V – 5,5V)
CỔNG GPIO 32 chân I / O
Ngắt 3
Timer 3 (Hai timer 8 bit và một timer 16 bit)
PWM 4
ICP Chân ICP
Truyền dữ liệu nối tiếp đồng bộ Một kênh
Truyền dữ liệu nối tiếp không đồng bộ Một kênh
I2C Một kênh I2C
SPI Một kênh SPI
JTAG
Boot loader
Timer watchdog
LAN Không có
CAN Không có
ADC 8 kênh 10 bit
SRAM 32Kb
FLASH (Bộ nhớ chương trình) 1024Kb
EEPROM 512 byte
Comparator 1
Các package PDIP (40 chân), TQFP (44 chân) & MLF (44 chân)

Lập trình Atmega32

Trước khi bắt đầu lập trình vi điều khiển này, bạn phải hiểu rõ về các chân GPIO. Do đó, chúng tôi liệt kê tất cả các mô tả chân trước đó. Làm theo các bước sau để bắt đầu với lập trình nhúng.

  • Thứ nhất, Tải xuống môi trường phát triển tích hợp (IDE) có trình biên dịch tích hợp cho bộ vi điều khiển đã chọn của bạn
  • Chọn ngôn ngữ mà chúng ta sẽ sử dụng để tải code lên Atmega32
  • Viết chương trình đơn giản đầu tiên của bạn chẳng hạn như nhấp nháy LED và tải code lên.
  • Sau đó thiết kế một mạch giao tiếp LED và cấp nguồn.
  • Bạn sẽ thấy một đèn LED nhấp nháy theo tỷ lệ bạn đã viết trong code.

Các ứng dụng

  • ATMega32 thích hợp xử lý tín hiệu digital.
  • Hầu hết các thiết bị ngoại vi sử dụng ATMega32 trong các hệ thống công nghiệp.
  • Giao tiếp giữa hai loại thiết bị ngoại vi, thì vi điều khiển ATMega32 là sự lựa chọn tốt nhất.

Sơ đồ 2D ATMega32

Sơ đồ 2D ATMega32 

>>> Mời anh em xem thêm:

Tôi là một người làm việc trong lĩnh vực cơ khí, thiết bị công nghiệp....Blog là nơi tôi chia sẻ thông tin hữu ích đến các bạn đọc.
Subscribe
Notify of
0 Bình luận
Inline Feedbacks
View all comments