ATMega32 là một trong những vi xử lý 8 bit được sử dụng phổ biến nhất của Atmel. Nó có những điểm tương đồng với bộ vi xử lý ATMega328P. Cùng tìm hiểu chi tiết về những thông tin liên quan về vi điều khiển này trong nội dung bài viết dưới đây nhé.
Sơ đồ chân của ATMega32
ATMega32 có cấu hình 40 chân như hình bên dưới với các chức năng cụ thể như sau:
Các chân I/O Digital
ATMega32 có 32 chân I/O là các chân đầu vào và đầu ra cơ bản để thiết bị hoạt động. Điện áp trên chân I/O sẽ không vượt quá điện áp nguồn cấp và điện áp đầu vào. Tất cả các chân I/O trực tiếp thuộc port A, B, C, D và có thêm một điện trở kéo bên trong. Tất cả các chân I/O của vi điều khiển ATMega32 được cụ thể dưới đây:
- PA0 – PA7
- PB0 – PB7
- PC0 – PC7
- PD0 – PD7
Các chân ngắt của ATMega32
Các chân ngắt là xuất hiện trong hầu hết các mạch với chức năng cơ bản là xử lý sự kiện cụ thể khi thiết bị bên ngoài yêu cầu.
Bộ điều khiển ATMega32 yêu cầu một xung bên ngoài nối vào các chân ngắt cụ thể và sau đó nó sẽ thực hiện các lệnh bằng cách đặt tất cả các lệnh lập trình khác ở trạng thái chờ.
ATMega32 có 3 chân ngắt và đều có thể dùng 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 của ATMega32
Cổng giao tiếp nối tiếp không đồng bộ
Vi điều khiển ATMega32 hỗ trợ nhiều giao thức truyền thông nối tiếp, trong đó có giao tiếp nói tiếp không đồng bộ.
Giao tiếp UART được sử dụng khá phổ biến trong hầu hết các thiết bị ngoại vi bởi đơn giản và phụ thuộc vào chương trình. Nó giao tiếp bằng hai chân, một chân để gửi dữ liệu và thứ chân hai để nhận dữ liệu. Các chân giao tiếp đó là:
- RXD – GPIO14
- TXD – GPIO15
Giao thức truyền dữ liệu nối tiếp đồng bộ
Với truyền dữ liệu đồ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 để đồng bộ trong quá trình giao tiếp dữ liệu nối tiếp.
- XCK – GPIO1
Giao thức SPI
Giao thức SPI là một giao thức nối tiếp phổ biến do có thể kiểm soát các thiết bị khác nhau trong cùng một thời điểm. Nó sử dụng bốn dây, hai chân cho dữ liệu và một chân xung clock và chân thứ tư được dùng khi có nhiều thiết bị.
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 khi có nhiều thiết bị thì chân SS được điểu khiển thông qua lập trình.
- SS – GPIO5
- MOSI – GPIO6
- MISO – GPIO7
- SCK – GPIO8
Các chân I 2 C
Được dùng trong những thiết bị chỉ yêu cầu giao tiếp dữ liệu một chiều, phổ biến trong hầu hết màn hình LCD, các cảm biến và động cơ. I 2 C dùng một dây cho dữ liệu và một dây xung clock, cấu hình chân như sau:
- SCL – GPIO22
- SDA – GPIO23
Kênh chuyển đổi tín hiệu ADC
Có 8 kênh chuyển đổi analog sang digital (ADC). Các kênh này đều dùng bộ ADC 10 bit có thể được dùng nhiều kênh cùng một lúc. Các kênh chỉ ở cổng A cụ thể như bên dưới:
- ADC0 – GPIO40
- ADC1 – GPIO39
- ADC2 – GPIO38
- ADC3 – GPIO37
- ADC4 – GPIO36
- ADC5 – GPIO35
- ADC6 – GPIO34
- ADC7 – GPIO33
Chân module định thời timer
Trong vi điều khiển ATMega32 có tổng cộng ba bộ timer. Hai bộ định thời đầu tiên 8 bit và bộ định thời thứ ba 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.
Những bộ định thời này có thể 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 để hoạt động. Bộ dao động riêng này sẽ được cấp vào thông qua các chân cụ thể như sau:
- T0 – GPIO1
- T1 – GPIO2
- TOSC1 – GPIO28
- TOSC2 – GPIO29
Chân so sánh/capture/PWM
Một số chân trong bộ vi điều khiển được 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 để tạo 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. 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 bộ định thời 8 bit
Chân so sánh
ATMega32 có một bộ so sánh bên trong dùng để so sánh tín hiệu đầu vào analog. Bộ so sánh có hai chân, một chân cho tín hiệu không đảo và chân thứ hai cho tín hiệu đảo. Thanh ghi bên trong có thể dùng tín hiệu so sánh analog.
- AN0 (không đảo) – GPIO3
- AN1 (đảo) – GPIO4
Chân lập trình JTAG
Các chân JTAG dùng để 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 với chức năng lập trình vi điều khiển, cụ thể các chân đó là:
- TDI – GPIO27
- TDO – GPIO26
- TMS – GPIO25
- TCK – GPIO24
Chân nguồn của ATMega32
AREF
Bộ ADC của ATMega32 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. 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
Điện áp đầu vào sẽ cấp cho bộ chuyển đổi analog sang digital để kích hoạt. Chân nguồn analog ATMega32 là:
- AVCC – GPIO30
Đầu vào nguồn cấp
Vi điều khiển ATMega32 có ba chân nguồn. Một dành cho đầu vào nguồn điện và 2 chân nối đất.
- VCC – GPIO10
- GND – GPIO11, GPIO31
Bộ dao động
ATMega32 có xung nhịp 8MHz bên trong và có thể mở rộng bằng cách dùng các chân xung nhịp bên ngoài 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ị đó là:
- RESET – GPIO9
Tính năng và thông số kỹ thuật của ATMega32
- Kiến trúc CPU: RISC 8-bit
- Tần số CPU: 16MHz
- Dải điện áp hoạt động: 4,5V – 5,5V
- Port GPIO: 32 chân I / O
- Số chân ngắt: 3
- Số bộ timer: 3 (2 timer 8 bit và 2 timer 16 bit)
- PWM: 4
- Số kênh truyền dữ liệu nối tiếp đồng bộ: Một kênh
- Số kênh truyền dữ liệu nối tiếp không đồng bộ: Một kênh
- Số kênh I2C: 1 kênh I2C
- Số kênh: SPI: 1 kênh SPI
- Số kênh ADC: 8 kênh 10 bit
- Chân JTAG: Có
- Boot loader: Có
- Timer watchdog: Có
- Cổng LAN: Không có
- Cổng CAN: Không có
- 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)
Tham khảo chi tiết tại datasheet: TẠI ĐÂY
Việc lập trình cho ATMega32
ATMega32 có thể được lập trình bằng ngôn ngữ lập trình trong hệ thống thông qua giao diện ngoại vi song song hoặc nối tiếp. Bạn có thể lập trình qua giao diện JTAG.
Nếu việc lập trình được thực hiện bằng SPI hoặc JTAG thì lập trình viên cần phải đảm bảo rằng lập trình SPI và JTAG không bị vô hiệu hóa bằng cách sử dụng các bit nút.
Các ứng dụng của ATMega32
- ATMega32 thích hợp ứng dụng để xử lý tín hiệu digital.
- Hầu hết các thiết bị ngoại vi dùng vi điều khiển ATMega32 trong các hệ thống công nghiệp.
- Vi điều khiển ATMega32 là sự lựa chọn tốt nhất cho việc giao tiếp giữa hai loại thiết bị ngoại vi.
Các bộ vi điều khiển thay thế ATMega32
Bộ vi điều khiển thay thế: Atmega16, Attiny45, Attiny85, Attiny88
Trên đây là những thông tin về sơ đồ chân, đặc tính, thông số và ứng dụng của bộ vi điều khiển ATMega32. Hy vọng bài viết đã giúp bạn có được kiến thức bổ ích về dòng vi điều khiển này.