N76E003AT20 Vi điều khiển 8-bit của Nuvoton

Hầu hết những người đã từng có kinh nghiệm làm việc với các hệ thống nhúng sử dụng trong các lĩnh vực công nghiệp, tự động hóa điều khiển,… đều thích sử dụng các vi điều khiển 8-bit. Chúng rẻ, dễ sử dụng và có thể giải quyết hầu hết các vấn đề tự động hóa phổ biến. Trong hầu hết các lĩnh vực, 8051, AVR, PIC, là các loại vi điều khiển được sử dụng nhiều nhất. Nền tảng Arduino phỏ biến chủ yếu dựa trên vi điều khiển 8-bit AVR. Tuy nhiên, chúng không phải là những vi điều khiển 8-bit duy nhất của toàn bộ thế giới nhúng. Nuvoton – một công ty sản xuất linh kiện bán dẫn hàng đầu tại Đài Loan đã khá nổi tiếng với các dòng vi điều khiển 8-bit dựa trên kiến trúc 8051 với nhiều ưu điểm nổi bật.Trong bài viết này, chúng tôi sẽ giới thiệu về vi điều khiển 8-bit hiện đang rất được ưa chuộng Nuvoton N76E003AT20 hiện đang được phân phối bởi Hatakey.

1. Giới thiệu chung về vi điều khiển giá rẻ N76E003AT20:

N76E003AT20 là vi điều khiển (VĐK) sử dụng lõi 1T 8051 thuộc dòng N76E003 của Nuvoton. Kiến trúc của N76E003 hoàn toàn tương thích với dòng 80C51 tiêu chuẩn. Do đó các ứng dụng đang sử dụng vi điều khiển dòng 80C51 tương ứng với N76E003 hoàn toàn có thể sử dụng VĐK N76E003 với chi phí thay thế không đáng kể do có sự tương thích từ phần cứng đến firmware. Ngoài ra, VĐK N76E003 được trang bị một bộ dao động nội 16MHz, hoàn toàn đáp ứng được các ứng dụng thông thường mà không phải sử dụng bộ dao động ngoại. N76E003 cũng sở hữu một hệ thống xác định trạng thái nguồn, đặc biệt là khả năng xác định sự sụt giảm điện áp nguồn cấp (brown out detection). Người dùng có thể cấu hình cho vi điều khiển reset hoặc đưa ra ngắt để phục vụ các mục đích khác nhau. Bên cạnh đó, VĐK N76E003 có một bộ nhớ flash chính lên tới 18Kb (APROM) chứa chương trình lập trình của người dùng và một bộ nhớ flash phụ cấu hình được kích thước lên tới 4Kb (LDROM) để chứa chương trình boot.

Với các đặc điểm này, các thiết kế sử dụng MCU 8-bit N76E003 có thể không cần sử dụng thạch anh ngoại, bộ nhớ ngoại hay IC chức năng giám sát nguồn và điều khiển reset hệ thống. Đây là một điểm cộng rất lớn giúp giảm giá thành BOM.

N76E003AT20
Hình 1. Dòng vi điều khiển N76E003AT20 không cần sử dụng một số linh kiện ngoại vi thông thường.

2. Các chức năng chính của vi điều khiển N76E003 có thể kể đến như sau:

  • Lõi:

– Vi điều khiển 8-bit hiệu năng cao lõi 1T 8051 CMOS.

– Cấu hình 4 mức ưu tiên cho ngắt.

– Con trỏ dữ liệu đôi (DPTRs).

– Điện áp hoạt động dải rộng 2.4V to 5.5V.

– Nhiệt độ hoạt động -40℃ to +105℃.

  • Bộ nhớ:

– APROM 18K bytes

– LDROM với dung lượng cấu hình được (4K/3K/2K/1K/0K bytes).

– RAM tích hợp 256 bytes..

– XRAM tích hợp 768 bytes.

– Hỗ trợ nạp chương trình theo 3 chế độ: IAP, ISP và ICP.

  • Xung đồng hồ:

Bộ dao động nội 16MHz tốc độ cao sai số ±1% tại VDD 5.0V, ±2% trong mọi điều kiện.

Bộ dao động nội 10KHz tốc độ thấp.

Bộ dao động ngoại.

  • Ngoại vi:

– 17 chân I/O và 1 chân chỉ input.

– Hai bộ timers/counters 0 và 1, 16-bit.

– Một bộ timer 2, 16 bit

– Một bộ timer 3 tự động nạp lại 16 bit, có thể sử dụng như xung đồng bộ tốc độ dữ liệu của UARTs.

– Một Watchdog Timer lập trình được.

– Một Self Wake-up Timer cho các chế độ hoạt động tiết kiệm điện.

– Hai cổng UART song công.

– Một cổng SPI với tốc độ dữ liệu lên đến 8Mbps.

– Một bus I2C với tốc độ dữ liệu lên đến 400kbps.

– Sáu kênh PWM với độ phân giải 16-bit

– 8 kênh ngắt ngoài.

– Một ADC 12-bit, tốc độ lấy mẫu lên tới 500ksps.

  • Giám sát nguồn:

– Phát hiện sụt giảm nguồn cấp (brown-out detection BOD) với 4 mức khác nhau.

– Power-on reset (POR).

– Công cụ phát triển:

– Nuvoton On-Chip-Debugger (OCD) với KEILTM.

– Nuvoton In-Circuit-Programmer (ICP).

– Nuvoton In-System-Programming (ISP) thông qua UART.

Hình 2. Chức năng chân của N76E003AT20.
Hình 2. Chức năng chân của N76E003AT20.

2.1 Chức năng phát hiện sụt giảm nguồn (Brown out detection – BOD)

MCU 8-bit N76E003AT20 cung cấp chức năng phát hiện sụt giảm điện áp nguồn với 4 mức điện áp danh định là 2.2V, 2.7V, 3.7V và 4.4V. Mức điện áp BOD có thể được xác định bằng hai bit CBOV[1:0] (thanh ghi CONFIG2[5:4]) hoặc 2 bit BOV[1:0] (thanh ghi BOVCON0[5:4]) sau khi vi điều khiển được cấp nguồn. Khi điện áp nguồn cấp thấp hơn mức danh định, vi điều khiển có thể được reset hoặc cung cấp 1 ngắt brown-out phụ thuộc vào cài đặt bit BORST (BODCON0[2]). Nếu BORST bằng 1, vi điều khiển sẽ reset khi bị sụt nguồn và nếu BORST bằng 0, vi điều khiển sẽ cung cấp ngắt khi bị sụt nguồn. Trong trường hợp cung cấp ngắt, cờ BOF (BODCON0[3]) sẽ được đặt giá trị 1 trong trường hợp sụt nguồn. Nếu người dùng xóa cờ ngắt này bằng phần mềm trong lúc nguồn cấp đang thấp hơn giá trị danh định (cờ có giá trị bằng 0), và nguồn cấp tiếp tục thấp hơn giá trị danh định, cờ này sẽ không được đặt thành 1 nữa. BOF sẽ được đặt lại giá trị 1 lần nữa khi nguồn cấp tăng trở lại lớn hơn mức danh định. Như vậy BOF sẽ được đặt giá trị bằng 1 trong 2 trường hợp. Giá trị bit BOS (BODCON0[0]) được sử dụng để xác định xem BOF = 1 đang chỉ sự sụt giảm nguồn cấp hay sự tăng điện áp nguồn cấp cao hơn mức danh định.

Trong một số trường hợp, người dùng có thể muốn giảm tiêu thụ điện năng của hệ thống xác định sụt giảm nguồn cấp của vi điều khiển. N76E003AT20 cũng cho phép thay đổi chu kì lấy mẫu điện áp nguồn cấp với các giá trị 1.6ms, 2.4ms và 25.6ms bằng cách thay đổi giá trị 2 bit LPBOD[1:0] (BODCON1[2:1]).

Với các hệ thống nhạy cảm với nhiễu, người dùng có thể kích hoạt bộ lọc cho tín hiệu đầu đo bằng cách đặt bit BODFLT = 1 (BODCON1[0]). Mạch mô tả hệ thống xác định suy giảm nguồn cấp được thể hiện ở hình 3.

Mạch mô tả hệ thống xác định suy giảm nguồn
Hình 3:Mạch mô tả hệ thống xác định suy giảm nguồn

2.2 Quản lý nguồn dao động

Vi điều khiển giá rẻ N76E003AT20 có thể sử dụng 3 nguồn dao động khác nhau, bao gồm 1 dao động nội 16MHz (HIRC), 1 dao động nội 10KHz (LIRC), 1 dao động ngoại. HIRC có thể được kích hoạt bằng bit HIRCEN (CKEN[5]) và LIRC được kích hoạt ngay sau khi vi điều khiển được cấp nguồn. Chú ý sau khi vi điều khiển được cấp nguồn, cả HIRC và LIRC đều được kích hoạt và HIRC là nguồn dao động mặc định.

Vi điều khiển N76E003AT20 cung cấp chức năng thay đổi nguồn dao động ngay cả khi đang hoạt động, qua đó làm tăng tính linh hoạt của hệ thống. Tuy nhiên, các nguồn dao động cũng cần 1 vài chu kì để ổn định và hoạt động chính xác, do đó, người dùng cần tuân thủ nghiêm ngặt quy trình thay đổi nguồn dao động để tránh sai lệch chương trình hoạt động. Đầu tiên, người dùng cần kích hoạt nguồn dao động muốn sử dụng bằng cách sử dụng thanh ghi CKEN. Sau đó, đợi cho đến khi nguồn dao động xác định trạng thái ổn định bằng thanh ghi CKSWT, và cuối cùng chuyển nguồn dao động bằng cách sử dụng 2 bit OSC[1:0] (CKSTWT[2:1]). Tiếp đến, người dùng có thể vô hiệu bộ dao động trước đó nếu các vấn đề về tiết kiệm năng lượng được quan tâm.

Sơ đồ các nguồn dao động của vi điều khiển N76E003AT20
Hình 4: Sơ đồ các nguồn dao động của vi điều khiển giá rẻ N76E003AT

Nguồn tài liệu về N76E003AT20:

Hiện VĐK N76E003AT20 đang được phân phối số lượng lớn với mức giá cạnh tranh nhất thị trường tại Hatakey. Xin vui lòng liên hệ ngay với chúng tôi để được báo giá tốt nhất!

Xin chân thành cảm ơn!