Những điều bạn cần biết về ATmega328P trước khi sử dụng Arduino
ATmega328P là một trong những bộ vi điều khiển thân thiện với DIY phổ biến nhất trên thế giới. Bộ vi điều khiển đơn chip này là một lựa chọn tốt cho những người mạo hiểm trong lĩnh vực điện tử DIY và được tìm thấy trên thế hệ mới nhất của Arduino Unos (cùng với các bảng vi điều khiển khác). Nhưng bạn cần biết gì về ATmega328P trước khi có thể bắt đầu sử dụng Arduino của mình?
Mục Lục
Vi điều khiển ATmega328P là gì?
Được tạo ra bởi Atmel, ATmega328P là vi điều khiển chip đơn dựa trên lõi xử lý RISC 8-bit. Bộ vi điều khiển nhỏ này có công suất thấp và giá cả phải chăng, làm cho nó trở thành sự lựa chọn tuyệt vời cho các ứng dụng khác nhau, bao gồm cả các dự án DIY mà bạn muốn thực hiện.
Chip ATmega328P đã được coi là một phần nổi bật của Arduino trong nhiều năm. Arduino Uno sử dụng vi điều khiển này, cùng với các bo mạch Arduino Pro Mini và Arduino Nano. Điều này làm cho nó trở nên cực kỳ phổ biến trong không gian thiết bị điện tử DIY và bạn nên tìm hiểu về khả năng của nó nếu bạn định sử dụng những bảng mạch này.
Bo mạch Arduino sử dụng vi điều khiển ATmega328P
ATmega328P được tìm thấy trên bo mạch vi điều khiển Arduino Uno và Arduino Nano, hai trong số những sản phẩm phổ biến nhất của Arduino. Bạn cũng có thể mua chip này như một sản phẩm độc lập nếu bạn muốn thử nghiệm nó mà không có bảng vi điều khiển, mặc dù đây sẽ là một cách thử thách để bắt đầu. Bạn có thể sử dụng hướng dẫn hữu ích của chúng tôi để tìm hiểu về các loại bảng vi điều khiển Arduino khác nhau.
Thông số kỹ thuật biểu dữ liệu ATmega328P
ATmega328P có một biểu dữ liệu dày đặc đáng ngạc nhiên cho một con chip nhỏ như vậy. Có một số thông số kỹ thuật cần biết trước khi bạn bắt đầu viết mã cho bộ vi điều khiển của mình. Chúng tôi đã chia nhỏ những điều này để giúp bạn dễ hiểu hơn về các giới hạn và hạn chế của con chip này. Hãy bắt đầu với các thông số kỹ thuật cơ bản để cung cấp cho bạn ý tưởng về cách ATmega328P hình thành.
- CPU: AVR 8-bit với tốc độ tối đa 20MHz
- Bộ nhớ flash: Đèn flash trên bo mạch 32kB
- SRAM: 2kB
- EEPROM: 1kB
- Số lượng pin: 28 hoặc 32 (tùy thuộc vào loại gói)
- Kênh cảm ứng điện dung: 16
- Các chân I / O tối đa: 23
- Ngắt bên ngoài: 2
Mỗi thông số kỹ thuật khác nhau đóng vai trò riêng trong việc làm cho ATmega328P trở nên rất phù hợp để sử dụng với các bảng phát triển như Arduino. Nhưng bất kỳ của nó thực sự có nghĩa là gì?
- CPU: CPU trên chip ATmega328P là CPU dựa trên AVR RISC 8-bit. RISC là viết tắt của “máy tính tập lệnh rút gọn” và là một loại bộ xử lý được thiết kế để đơn giản hóa các tác vụ riêng lẻ mà máy tính thực hiện. Ngược lại, CPU Intel hoặc AMD trên PC của bạn có thể là bộ xử lý CISC (máy tính tập lệnh phức tạp).
- Bộ nhớ flash: Flash là một loại bộ nhớ không bay hơi được sử dụng để lưu trữ vĩnh viễn. ATmega328P được trang bị chỉ 32kB bộ nhớ flash, mặc dù điều này là đủ cho nhiều mã. Bạn có thể tìm hiểu về sự khác biệt giữa bộ nhớ dễ bay hơi và không bay hơi trên trang web MUO.
- SRAM: SRAM là viết tắt của “bộ nhớ truy cập ngẫu nhiên tĩnh”. Bộ nhớ này đóng vai trò giống như RAM trong PC của bạn, cung cấp cho chip ATmega328P bộ nhớ tạm thời để lưu trữ dữ liệu và các biến khi nó chạy qua mã.
- EEPROM: Đây là một loại bộ nhớ có thể xóa byte được sử dụng để lưu trữ một lượng nhỏ dữ liệu. Không giống như SRAM, EEPROM không dễ bay hơi và sẽ giữ lại dữ liệu của nó khi chip ATmega328P không được cấp nguồn.
Sơ đồ sơ đồ chân ATmega328P
Sơ đồ sơ đồ chân ATmega328P ở trên cho thấy các chân khác nhau trên chip DIP ATmega328P và các chân trên bảng Arduino Uno. Điều này sẽ cung cấp cho bạn một ý tưởng tốt về cách chip này và bảng vi điều khiển phổ biến hoạt động cùng nhau.
ATmega328P là một chip linh hoạt với nhiều ứng dụng khác nhau. Do đó, một số gói khác nhau có sẵn cho con chip này, tất cả đều có hình dạng khác nhau và với các loại chì khác nhau. TQFP (gói bốn phẳng), MLF / VQFN (khung dẫn vi mô hoặc không có dây dẫn bốn phẳng) và DIP (gói nội tuyến kép) là những gói phổ biến nhất trong số các gói này.
Bo mạch Arduino Uno chính hãng sử dụng biến thể DIP của chip ATmega328P (hay còn gọi là ATmega328P-PU) và điều này có nghĩa là chip có thể được gỡ bỏ và thay thế (không giống như ATmega328P-AU). Các loại bảng Arduino khác sử dụng các chip ATmega khác nhau thuộc loại gói quad-phẳng và chúng không thể được gỡ bỏ.
Hạn chế của ATmega328P và Arduino Uno
Như với bất kỳ chip vi điều khiển nào, ATmega328P có một số hạn chế nhất định phải được xem xét trước khi bạn quyết định làm việc với nó. Những hạn chế này cũng áp dụng cho các bo mạch Arduino sử dụng các chip này.
Ngân sách SRAM thấp
Chip ATmega328P đi kèm với 2kB SRAM và điều này rất phù hợp với hầu hết các dự án. Tuy nhiên, đối với những người muốn sử dụng nhiều thư viện và mã có nhiều biến, có thể dễ dàng hết SRAM, khiến chương trình của bạn bị lỗi.
Các lập trình viên làm việc với bảng Arduino có nhiều quyền kiểm soát việc quản lý bộ nhớ nhờ vào việc sử dụng C ++. Văn bản, hình ảnh và các nội dung tạo sẵn khác có thể được lưu trữ trong bộ nhớ flash như một cách để giải phóng bộ nhớ bổ sung cho các chương trình bạn đang chạy, cải thiện ngân sách SRAM của bạn.
Công suất xử lý hạn chế
CPU 20Hz được tìm thấy trên chip ATmega328P là tuyệt vời để chạy mã đơn giản, nhưng nó cung cấp sức mạnh xử lý hạn chế cho các ứng dụng phức tạp. Điều này có nghĩa là nó không phù hợp với những thứ như nhận dạng giọng nói, học sâu hoặc các tác vụ vi điều khiển thông thường khác.
Không thể giải quyết vấn đề này với ATmega328P. Nếu bạn cần thêm năng lượng, bạn sẽ cần phải tìm kiếm một bo mạch vi điều khiển phù hợp hơn cho tác vụ bạn muốn thực hiện, nhưng có rất nhiều tùy chọn trên thị trường để cung cấp cho bạn quyền truy cập vào những gì bạn cần.
Ưu điểm của ATmega328P và Arduino Uno
Bên cạnh những hạn chế của ATmega328P, cũng có những lợi thế đi kèm với việc sử dụng một con chip như thế này. Những điều này thường vượt qua những hạn chế của vi điều khiển đối với các dự án đơn giản, đặc biệt nếu bạn mới làm việc với vi điều khiển.
- Khả năng chi trả: Chip ATmega328P có giá cả phải chăng và dễ tìm, lý tưởng cho các dự án DIY chi phí thấp. Nhờ giá trị tuyệt vời của con chip này, Arduino Uno cũng là một bo mạch có giá cả rất phải chăng.
- Dễ sử dụng: Được tạo ra để hướng đến người tiêu dùng, ATmega328P rất dễ sử dụng so với các chip vi điều khiển khác, lý tưởng cho những người bắt đầu với các dự án DIY của riêng họ.
- Chip độc lập: Chip ATmega328P có thể được sử dụng riêng hoặc với bảng vi điều khiển như Arduino Uno.
Tìm hiểu về ATmega328P và Arduino Uno
Có rất nhiều tài nguyên trên web được thiết kế để giúp bạn bắt đầu với Arduino Uno và ATmega328P mà nó sử dụng. Rất đáng để dành thời gian tìm hiểu về phần cứng này trước khi bạn bắt đầu dự án vi điều khiển tiếp theo của mình, đưa ra ý tưởng cho bản thân về những hạn chế và thách thức bạn có thể phải đối mặt trong suốt chặng đường.