Thể loại: Điện tử thực hành, Mạch vi điều khiển
Số lượt xem: 21376
Bình luận về bài viết: 0
Các loại và sự sắp xếp của vi điều khiển AVR
AVR - Đây là tên của họ vi điều khiển phổ biến mà công ty sản xuất. Atm. Ngoài ABP dưới thương hiệu này được ban hành vi điều khiển và các kiến trúc khác như ARM và i8051.
Vi điều khiển AVR là gì?

Có ba loại vi điều khiển:
-
AVR 8 bit.
-
AVR 32-bit.
-
AVR xMega
Trong hơn một thập kỷ, phổ biến nhất là họ vi điều khiển 8 bit. Nhiều ham bắt đầu nghiên cứu vi điều khiển từ anh ta. Hầu hết tất cả trong số họ đã học được thế giới của các bộ điều khiển lập trình bằng cách thực hiện các thủ công đơn giản của họ, chẳng hạn như đèn nhấp nháy LED, nhiệt kế, đồng hồ, cũng như tự động hóa đơn giản, như điều khiển các thiết bị chiếu sáng và sưởi ấm.
Lần lượt, vi điều khiển AVR 8 bit được chia thành hai họ phổ biến:
-
Chú ý - tên cho thấy người trẻ nhất (nhỏ bé - trẻ, trẻ, trẻ nhất), về cơ bản có 8 chân trở lên. Dung lượng bộ nhớ và chức năng của chúng thường khiêm tốn hơn so với sau đây;
-
Atmega - Vi điều khiển tiên tiến hơn có nhiều bộ nhớ, chân và các đơn vị chức năng khác nhau;

Phân họ vi điều khiển mạnh nhất là xMega - những vi điều khiển này có sẵn trong các trường hợp có số lượng chân lớn, từ 44 đến 100. Rất cần thiết cho các dự án có số lượng lớn cảm biến và bộ truyền động. Ngoài ra, dung lượng bộ nhớ và tốc độ tăng cho phép bạn có được hiệu suất cao.

Giải mã: Pin (eng. Pin - kim, pin) là đầu ra của vi điều khiển hoặc, như họ nói, chân. Do đó từ "pinout" - tức là thông tin về mục đích của mỗi chân.
Vi điều khiển để làm gì và chúng dùng để làm gì?
Vi điều khiển được sử dụng hầu hết mọi nơi! Hầu như mọi thiết bị trong thế kỷ 21 đều hoạt động trên một vi điều khiển: dụng cụ đo lường, dụng cụ, đồ gia dụng, đồng hồ, đồ chơi, hộp nhạc và bưu thiếp, cũng như nhiều hơn nữa; liệt kê một mình sẽ mất vài trang văn bản.
Nhà phát triển có thể sử dụng tín hiệu tương tự từ dưới cùng của nó đến đầu vào của vi điều khiển và thao tác dữ liệu trên giá trị của nó. Công việc này được thực hiện bởi một bộ chuyển đổi tương tự sang số (ADC). Chức năng này cho phép người dùng giao tiếp với vi điều khiển, cũng như nhận biết các thông số khác nhau của thế giới xung quanh bằng các cảm biến.

Trong các vi điều khiển AVR phổ biến, ví dụ, Atmega328mà năm 2017 là trái tim của nhiều bảng mạch ArduinoNhưng về họ sau. Đã sử dụng 8 kênh ADCvới độ sâu bit 10 bit. Điều này có nghĩa là bạn có thể đọc giá trị từ 8 cảm biến tương tự. Và cảm biến kỹ thuật số được kết nối với đầu ra kỹ thuật số, điều này có thể rõ ràng. Tuy nhiên, tín hiệu số có thể chỉ là 1 (đơn vị) hoặc 0 (không), trong khi tín hiệu tương tự có thể nhận vô số giá trị.

Giải thích:
Công suất Là một giá trị đặc trưng cho chất lượng, độ chính xác và độ nhạy của đầu vào tương tự. Điều đó không có âm thanh rất rõ ràng. Một chút thực hành: ADC 10 bit, ghi thông tin tương tự từ một cổng trong 10 bit bộ nhớ, nói cách khác, tín hiệu số thay đổi trơn tru được vi điều khiển nhận ra là giá trị số từ 0 đến 1024.
ADC 12 bit nhìn thấy cùng một tín hiệu, nhưng với độ chính xác cao hơn - ở dạng từ 0 đến 4096, có nghĩa là các giá trị đo được của tín hiệu đầu vào sẽ chính xác hơn 4 lần. Để hiểu 1024 và 4096 đến từ đâu, chỉ cần tăng 2 lên sức mạnh của độ sâu bit ADC (2 đến sức mạnh của 10, trong 10 bit, v.v.)
Để kiểm soát công suất tải, có các kênh PWM theo ý của bạn, ví dụ, chúng có thể được sử dụng để điều chỉnh độ sáng, nhiệt độ hoặc tốc độ động cơ. Trong cùng một bộ điều khiển 328 có 6 người trong số họ.
Nói chung, cấu trúc của vi điều khiển AVR được mô tả trong sơ đồ:

Tất cả các nút được ký, nhưng vẫn còn một số tên có thể không rõ ràng. Hãy nhìn vào ký hiệu của họ.
-
ALU - thiết bị logic số học. Cần thiết để thực hiện tính toán.
-
Sổ đăng ký mục đích chung (RON) - Các thanh ghi có thể nhận dữ liệu và lưu trữ chúng trong khi vi điều khiển được kết nối với nguồn điện, sẽ bị xóa sau khi khởi động lại. Phục vụ như các tế bào tạm thời cho các hoạt động dữ liệu.
-
Gián đoạn - một cái gì đó giống như một sự kiện xảy ra do ảnh hưởng bên trong hoặc bên ngoài trên vi điều khiển - tràn bộ đếm thời gian, ngắt ngoài từ chân MK, v.v.
-
Jtag - một giao diện để lập trình trong mạch mà không cần loại bỏ vi điều khiển khỏi bảng.
-
Flash, RAM, EEPROM - các loại bộ nhớ - chương trình, dữ liệu làm việc tạm thời, lưu trữ dài hạn độc lập với nguồn cung cấp cho vi điều khiển, theo thứ tự trong tên.
-
Bộ đếm thời gian và bộ đếm - các nút quan trọng nhất trong vi điều khiển, trong một số mô hình, số lượng của chúng có thể lên tới hàng tá. Chúng là cần thiết để báo cáo số lượng các biện pháp tương ứng, khoảng thời gian và bộ đếm tăng giá trị của chúng cho bất kỳ sự kiện nào. Công việc của họ và chế độ của nó phụ thuộc vào chương trình, tuy nhiên, những hành động này được thực hiện trong phần cứng, tức là song song với văn bản chính của chương trình, chúng có thể gây gián đoạn (do tràn bộ đếm thời gian, dưới dạng tùy chọn) ở bất kỳ giai đoạn thực thi mã nào, trên bất kỳ dòng nào của chương trình.
-
A / D (Tương tự / Kỹ thuật số) - ADC, chúng tôi đã mô tả mục đích của nó.
-
WatchDogTime (Đồng hồ bấm giờ) - bộ tạo dao động RC độc lập với vi điều khiển và thậm chí cả bộ tạo xung nhịp của nó, đếm một khoảng thời gian nhất định và tạo tín hiệu đặt lại MK nếu nó hoạt động và thức dậy nếu nó ở chế độ ngủ (tiết kiệm năng lượng). Hoạt động của nó có thể bị vô hiệu hóa bằng cách đặt bit WDTE thành 0.
Đầu ra của vi điều khiển khá yếu, có nghĩa là dòng điện qua chúng thường lên tới 20-40 milliamp, đủ để làm sáng đèn LED và đèn LED. Đối với một tải mạnh hơn, các bộ khuếch đại dòng điện hoặc điện áp là cần thiết, ví dụ, các bóng bán dẫn tương tự.
Bạn cần gì để bắt đầu nghiên cứu vi điều khiển?
Đầu tiên bạn cần mua chính vi điều khiển. Vai trò của vi điều khiển đầu tiên có thể là bất kỳ Attiny2313, Attiny85, Atmega328 và những người khác. Tốt hơn là chọn mô hình được mô tả trong các bài học mà bạn sẽ tham gia.

Điều tiếp theo bạn cần là lập trình viên. Cần tải firmware về bộ nhớ MK, nó được coi là rẻ nhất và phổ biến nhất USBASP.

Đắt hơn một chút, nhưng không kém phần lập trình AVRISP MKII, mà bạn có thể tự làm - từ một bảng thông thường Arduino

Một lựa chọn khác là flash chúng qua USB UART bộ chuyển đổi, thường được thực hiện trên một trong các bộ chuyển đổi: FT 232RL, CH340, PL2303 và CP2102.
Trong một số trường hợp, bộ vi điều khiển AVR có hỗ trợ phần cứng USB được sử dụng cho bộ chuyển đổi như vậy, không có quá nhiều kiểu như vậy. Đây là một số:
-
ATmega8U2;
-
ATmega16U2;
-
ATmega32U2.

Trước tiên, chỉ có một bộ xử lý dữ liệu nhưng bộ nạp khởi động UART phải được tải vào bộ nhớ của vi điều khiển. Tất nhiên, đối với điều này, bạn vẫn cần một lập trình viên cho vi điều khiển AVR.
Thú vị: Bootloader - Đây là một chương trình bình thường cho một vi điều khiển, nhưng với một nhiệm vụ bất thường - sau khi khởi chạy (kết nối với nguồn điện), nó sẽ hy vọng một lúc nào đó phần sụn có thể được tải vào nó. Ưu điểm của phương pháp này là bạn có thể flash bất kỳ bộ chuyển đổi USB-UART nào và chúng rất rẻ. Nhược điểm là phần sụn mất nhiều thời gian để tải.
Cho công việc UART Giao diện (RS-232) trong bộ vi điều khiển AVR được phân bổ toàn bộ UDR đăng ký (Thanh ghi dữ liệu UART). UCSRA (cài đặt bit thu phát RX, TX), UCSRB và UCSRС - một bộ các thanh ghi chịu trách nhiệm cho toàn bộ cài đặt giao diện.
Làm thế nào tôi có thể viết chương trình?
Ngoài lập trình viên, để viết và tải xuống chương trình, bạn cần có môi trường phát triển IDE. Tất nhiên bạn có thể viết mã trong notepad, chuyển qua trình biên dịch, v.v. Tại sao cần thiết khi có các tùy chọn làm sẵn tuyệt vời. Có lẽ một trong những quyền lực nhất là IAR, nhưng nó được trả tiền.
IDE chính thức của Atmel là AVR Studio, được đổi tên thành Atmel studio trên phiên bản 6. Nó hỗ trợ tất cả các bộ vi điều khiển AVR (8, 32, xMega), tự động phát hiện các lệnh và giúp nhập, làm nổi bật cú pháp chính xác và nhiều hơn nữa.Với sự giúp đỡ của nó, bạn có thể flash MK.
Phổ biến nhất là C AVR, vì vậy hãy tìm một hướng dẫn về nó, có hàng tấn tùy chọn tiếng Nga và một trong số đó là Khartov V.Ya. Vi điều khiển AVR. Hội thảo cho người mới bắt đầu. "

Cách dễ nhất để học AVR
Mua hoặc tự làm Bảng mạch Arduino. Dự án arduino được thiết kế đặc biệt cho mục đích giáo dục. Nó có hàng chục bảng với nhiều hình dạng và số lượng liên lạc. Điều quan trọng nhất trong arduino là bạn đang mua không chỉ là một vi điều khiển, mà là một bảng gỡ lỗi đầy đủ được hàn vào một bảng mạch in textolite chất lượng cao, được phủ một mặt nạ và gắn các thành phần SMD.
Phổ biến nhất là Arduino Nano và Arduino UNO, về cơ bản là giống hệt nhau, ngoại trừ Nano nhỏ hơn Uno khoảng 3 lần.

Một vài sự thật:
-
Arduino có thể được lập trình bằng ngôn ngữ tiêu chuẩn - CÂU CẠNH
-
của riêng mình - hệ thống dây điện;
-
môi trường phát triển tiêu chuẩn - Arduino IDE;
-
Để kết nối với máy tính, bạn chỉ cần kết nối cáp USB với ổ cắm micro-USB trên bo mạch nano Arduino, cài đặt trình điều khiển (rất có thể điều này sẽ tự động xảy ra, ngoại trừ khi trình chuyển đổi trên CH340, tôi đã không tải xuống trình điều khiển trên Win 8.1, nhưng tôi phải tải xuống trình điều khiển trên Win 8.1. Nó không mất nhiều thời gian.) Sau đó, bạn có thể tải lên bản phác thảo của bạn
-
Bản phác thảo của chương trình này là tên của các chương trình dành cho arduino.

Kết luận
Vi điều khiển sẽ giúp ích rất nhiều trong thực hành radio nghiệp dư của bạn, cho phép bạn khám phá thế giới điện tử kỹ thuật số, thiết kế các dụng cụ đo lường của riêng bạn và thiết bị tự động hóa gia đình.
Xem thêm tại electro-vi.tomathouse.com
: