Vi điều khiển ATtiny45

0
285

ATtiny45 là một trong những bộ vi điều khiển phổ biến nhất do có kích thước nhỏ và nhiều tính năng. Bộ vi điều khiển này được ứng dụng trong nhiều hệ thống nhúng và thậm chí là trong các ứng dụng ở cấp độ công nghiệp. 

Bộ vi điều khiển ATtiny45 cho phép nhà thiết kế tối ưu hóa sức mạnh và hiệu suất thông qua lập trình. Được thiết kế bằng cách sử dụng công nghệ AVR và RSIC giúp bộ điều khiển tiêu thụ ít điện năng hơn và với việc sử dụng bộ dao động bên trong làm tiết kiệm điện hơn. 

Tóm lại, hầu hết các dự án của bo mạch phát triển và đồ án sinh viên sử dụng ATtiny85 để giảm kích thước của dự án mong muốn khác nhau bằng cách sử dụng các package khác nhau. Trong bài viết này, chúng ta sẽ làm rõ những điều sau:

  • Sơ đồ cấu hình chân
  • Chi tiết sơ đồ chân
  • Tính năng và thiết bị ngoại vi
  • Ứng dụng và datasheet

Sơ đồ chân ATtiny45 

Trong phần này, sẽ đề cập chi tiết cấu hình chân:

Vi điều khiển ATtiny45

Giải thích cấu hình chân Attiny45

Bây giờ sẽ bắt đầu xem xét chi tiết sơ đồ chân và tất cả các thiết bị ngoại vi của nó. Thông tin này có trong datashet.

Các chân nguồn cấp

ATtiny45 chỉ có hai chân nguồn do số lượng chân có hạn. Một chân là đầu vào cấp nguồn và chân thứ hai là chân nối đất. Chân nối đất sẽ làm điểm nối đất chung với vi điều khiển và các thiết bị bên ngoài. Các chân nguồn trong ATtiny45 là:

  • VCC – Chân 8
  • GND – Chân 4

Bộ dao động / chân xung clock

Bộ vi điều khiển có bộ dao động bên trong từ 0-8MHz nhưng cũng cho khả năng lên đến từ 10 đến 20MHz. Giá trị của xung clock bên ngoài phụ thuộc vào package khác nhau. Bộ tạo dao động / xung clock bên ngoài yêu cầu các chân bên ngoài là:

  • XTAL1 / CLKI – GPIO2
  • XTAL2 / CLKO – GPIO3

Module Timer Attiny45

ATtiny45 có hai bộ định thời 8 bit bên trong có thể được sử dụng để đếm. Việc đếm có thể được thực hiện bằng lập trình nhưng timer0 có chân đầu vào bên ngoài được sử dụng để nhận xung đầu vào, sau đó đếm giá trị. Chân đầu vào xung bên ngoài của Timer0 là:

  • T0 – GPIO7

Chân I/O Digital

Trong bộ vi điều khiển này, chỉ có một Cổng GPIO (Cổng B) có khả năng thực hiện nhiều chức năng I / O. Cổng B có điện trở kéo đầu vào cho phép thực hiện chức năng đầu vào và cổng cũng có thể cấp tín hiệu đầu ra thông qua lập trình. Các chân I / O trong vi điều khiển là:

  • PB0 – GPIO5
  • PB1 – GPIO6
  • PB2 – GPIO7
  • PB3 – GPIO2
  • PB4 – GPIO3
  • PB5 – GPIO1

Chân ngắt

Hầu hết mọi mạch đều yêu cầu một chân ngắt trong trường hợp code khẩn cấp hoặc để giao tiếp với một số module. ATtiny45 có một chân ngắt duy nhất có thể được sử dụng để báo tín hiệu xử lý sự kiện riêng trong CPU thông qua lập trình. Chân ngắt của bộ vi điều khiển được đưa ra dưới đây:

  • INT0 – GPIO7

Giao tiếp SPI (3-wire) 

Hầu hết các module sử dụng nhiều giao thức giao tiếp khác nhau và SPI là một trong số đó. Trong ATtiny45, giao thức SPI được sử dụng để lập trình bằng cách sử dụng chân debug. Do không có sẵn chân SS, nên bộ điều khiển sẽ sử dụng chân đầu ra để giao tiếp:

  • MOSI / DO – GPIO5
  • MISO / DI – GPIO6
  • SCK / USCK – GPIO7

Module giao thức I 2 C 

Giao thức I 2 C được hỗ trợ trong bộ điều khiển. Giao thức này yêu cầu hai dây, một dây cho xung ckicj và một dây để truyền / nhận dữ liệu. Cả hai chân này được liệt kê bên dưới:

  • SDA (dữ liệu) – GPIO5
  • SCL (xung clock) – GPIO7

Chân dW

Có nhiều cách để lập trình vi điều khiển, một trong những cách là thông qua giao thức SPI. Một số thiết bị SPI có thể được sử dụng để lập trình bộ điều khiển nhưng để lập trình bộ điều khiển, một chân debug sẽ được yêu cầu. Chân gỡ lỗi trên ATtiny45 được cung cấp dưới đây:

  • dW – GPIO1

Module so sánh analog ATtiny45

Được sử dụng để so sánh các tín hiệu đầu vào analog. Bộ so sánh analog có các chân đầu vào nhưng không có chân đầu ra. Đầu ra của bộ so sánh được sử dụng bởi các thanh ghi bên trong để xử lý hoặc được lập trình để xuất giá trị được so sánh cụ thể. Các chân đầu vào nhận cùng một tín hiệu analog đảo và không đảo ngược. Các chân của bộ so sánh analog trên vi điều khiển là:

  • AN0 – GPIO5
  • AN1 – GPIO6

Chân CAPTURE / COMPARE / PWM

PWM là yêu cầu tín hiệu đầu ra bắt buộc đối với hầu hết các thiết bị có điều khiển tốc độ và chân capture / compare / PWM cho phép vi điều khiển tạo PWM với xung clock khác nhau bằng cách sử dụng bộ Prescaler. 

Capture lấy tín hiệu đầu vào và giữ tín hiệu so sánh với timer0 và timer1, sau đó xuất tín hiệu đầu ra theo code và có tín hiệu không bị chồng chéo. Các chân đầu ra trên vi điều khiển là:

  • OC1B ‘- GPIO2
  • OC0B – GPIO6
  • OC1B – GPIO3
  • OC1A – GPIO6
  • OC1A ‘- GPIO5
  • OC0A – GPIO5

Các kênh chuyển đổi tín hiệu analog sang digital

ATtiny45 có bộ chuyển đổi analog sang digital 10 bit lấy đầu vào từ bốn kênh đầu vào analog và sau đó lưu dữ liệu vào thanh ghi 10 bit. Dữ liệu có thể được sử dụng bên trong thông qua code hoặc có thể nhận tín hiệu ở các chân đầu ra. Các chân chuyển đổi từ Analog sang Digital trên ATtiny45 là:

  • ADC0 – GPIO1
  • ADC1 – GPIO7
  • ADC2 – GPIO3
  • ADC3 – GPIO2

Chân AREF

Tất cả bộ ADC đều sử dụng điện áp nguồn cấp làm tham chiếu đo giá trị tín hiệu analog nhưng trong ATtiny45 có một chân tham chiếu analog để chuyển đổi mức tín hiệu analog theo điện áp trên chân tham chiếu analog. Chân tham chiếu tương tự là:

  • AREF – GPIO5

Chân reset

Bộ vi điều khiển có reset bên trong và bên ngoài. Chân reset bên ngoài trên ATtiny45 có thể được kích hoạt từ các module hoặc nút nhấn bên ngoài khi có yêu cầu reset bộ điều khiển. Chân reset bên ngoài trên ATtiny45 là:

  • RESET – GPIO1

Các lựa chọn thay thế là: ATtiny88ATtiny85ATmega328P

Sơ đồ khối vi điều khiển ATtiny45

Sơ đồ khối của vi điều khiển được đưa ra dưới đây. Sơ đồ này mô tả tất cả các thiết bị ngoại vi và thể hiện bus dữ liệu và bus địa chỉ 8 bit.

Sơ đồ khối vi điều khiển ATtiny45

Lập trình vi điều khiển ATtiny45

Để lập trình vi điều khiển Atmel, chúng ta luôn cần một trình biên dịch. Đây là những trình biên dịch phổ biến được sử dụng để lập trình bằng ngôn ngữ c hoặc hợp ngữ (assembly).

  • Atmel Studio (Hướng dẫn bắt đầu sử dụng Avr studio )
  • Mikro C dành cho AVR
  • AVR – GCC
  • AVR – toolchain dành cho Windows và Linux

Lưu ý: Bạn cũng có thể lập trình vi điều khiển nhỏ với cổng ISP Arduino Uno.

Lập trình với Arduino ISP

Arduino Uno có các chân ISP sử dụng để lập trình chip Attinyxx bằng phần mềm Arduino IDE. Chỉ cần tạo kết nối vi điều khiển dòng ATtinyxx và Arduino như hình sau:

Lập trình với Arduino ISP

Chân Arduino Uno R3 Chân chip ATtiny45
Chân 5V Chân Vcc
GND GND
Chân 13 Chân 2
Chân 12 Chân 1
Chân 11 Chân 0
Chân 10 Reset

Bây giờ hãy làm theo các bước sau:

  • Đầu tiên, thực hiện kết nối phần cứng như sơ đồ mạch trên và theo bảng
  • Mở phần mềm IDE Arduino và chọn bộ xử lý 
  • Vào menu Arduino IDE và chọn “Programmer – Select Arduino as ISP”
  • Có thể thay đổi tần số hoạt động của bộ xử lý. Để thay đổi tần số, hãy vào mục tools và chọn “Clock and select frequency”
  • Ghi bootloader vào ATtiny45
  • Sau đó, viết một code test và nạp lên thiết bị của bạn

Các ngoại vi

SELF PROGRAMMING: Là một trong những cách lập trình phổ biến và hiệu quả nhất trong bộ điều khiển. Trong Self Programming, dữ liệu được lưu trong bộ nhớ boot và sau đó thực thi khi khởi động. Self Programming hiệu quả khi cần thực hiện cùng một chương trình ở mọi lúc, giúp giải quyết vấn đề bộ nhớ và tăng hiệu quả của bộ điều khiển.

USI: Là một trong những cách giao tiếp tốt nhất cho mọi bộ điều khiển. Nó có hai dây và ba dây. Trong vi điều khiển, giao thức ba dây được gọi là SPI và hai dây được gọi là I 2 C. Cả hai giao thức này đều truyền dữ liệu tuần tự và cho phép vi điều khiển lập trình các lệnh trong vi điều khiển bằng giao thức SPI.

Bộ tạo thời gian chết (Deadtime Generator): Trong ATtiny45 bộ tạo thời gian chết được kết nối với các chân đầu ra. Bằng cách sử dụng bộ vi điều khiển tạo thời gian chết, bộ vi điều khiển có khả năng tạo ra tín hiệu đầu ra với xung khác nhau. Tín hiệu đầu ra cũng có thể được tạo ra ở dạng non-overlap và overlap.

Ứng dụng Attiny45

  • Hiển thị như LCD chủ yếu kết hợp với các bộ vi điều khiển nhỏ.
  • Thực hiện một chức năng duy nhất trong công nghiệp
  • Được sử dụng ở cả cấp độ thương mại và phát triển vì hiệu suất của nó.
  • Hệ thống điều chỉnh điện áp có thể được vận hành với ATtiny45.

SƠ ĐỒ 2D Attiny45

SƠ ĐỒ 2D Attiny45

>>> 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