Tải bản đầy đủ (.pdf) (219 trang)

tài liệu vi điều khiển NUC 140

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.92 MB, 219 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

VI ĐIỀU KHIỂN
NÂNG CAO

Biên soạn:

ThS. Phạm Quốc Phương

Tài Liệu Lưu Hành Tại HUTECH

www.hutech.edu.vn


VI ĐIỀU KHIỂN NÂNG CAO
Ấn bản 2014



MỤC LỤC

I

MỤC LỤC

MỤC LỤC ................................................................................................................... 1
HƯỚNG DẪN .............................................................................................................. 4

BÀI 1: TỔNG QUAN VỀ ARM ......................................................................................... 1
1.1 GIỚI THIỆU .......................................................................................................... 1
1.1.1 Tổng quan về ARM .......................................................................................... 1


1.1.2 Cấu trúc cơ bản của bộ xử lý ............................................................................ 3
1.2 ARM COTEX M0 NUVOTON ...................................................................................... 4
1.2.1 Đặc tính kỹ thuật MCU 32-bit lõi ARM Cortex-M0. ................................................ 5
1.2.2 Phân loại ........................................................................................................ 7
1.2.3 Cấu trúc cơ bản. ............................................................................................. 7
1.2.4 Tính năng kỹ thuật. ......................................................................................... 7
TÓM TẮT .................................................................................................................. 14
CÂU HỎI ÔN TẬP ....................................................................................................... 15
BÀI 2: HỌ NUMICRO™ NUC140 ................................................................................. 16
2.1 ĐẶC TÍNH HỌ NUMICRO NUC140 ............................................................................. 16
2.1.1 Mã lựa chọn MCU. ......................................................................................... 16
2.1.2 Sơ đồ chân. .................................................................................................. 17
2.1.3 Sơ đồ khối NuMicro NUC140 ........................................................................... 26
2.2 HỆ THỐNG QUẢN LÝ NUC140 ................................................................................. 27
2.2.1 Tổng quan .................................................................................................... 27
2.2.2 Reset hệ thống ............................................................................................. 27
2.2.3 Nguồn.......................................................................................................... 28
2.2.4 Bộ nhớ hệ thống ........................................................................................... 29
2.2.5 Các thanh ghi điều khiển hệ thống .................................................................. 31
TÓM TẮT .................................................................................................................. 44
CÂU HỎI ÔN TẬP ....................................................................................................... 45
BÀI 3: INPUT – OUTPUT ............................................................................................ 46
3.1 TỔNG QUAN ........................................................................................................ 46
3.1.1 Một số tính năng chính ................................................................................... 46
3.1.2 Địa chỉ và chức năng các thanh ghi I-O ............................................................ 48
3.1.3 Chức năng các thanh ghi I-O. ......................................................................... 55
3.2 TẠO PROJECT TRONG KEIL C 4.0 .................................................................................. 61


II


MỤC LỤC

3.2.1 Các bước thực hiện: .......................................................................................61
3.2.2 Thư viện các hàm I-O (DrvGPIO.h). ..................................................................76
3.3 BÀI TẬP MẪU ..........................................................................................................77
TÓM TẮT ...................................................................................................................85
CÂU HỎI ÔN TẬP ........................................................................................................86
BÀI 4: TIMER – WDT - RTC ........................................................................................ 87
4.1 TIMER .................................................................................................................87
4.1.1 Một số tính năng của Timer .............................................................................87
4.1.2 Các thanh ghi cấu hình Timer ..........................................................................89
4.1.3 Chức năng các thanh ghi cấu hình Timer ...........................................................90
4.2 WATCHDOG TIMER ............................................................................................. 100
4.2.1 Một số tính năng của Watchdog Timer ............................................................ 100
4.2.2 Giản đồ thời gian ngắt và Reset. .................................................................... 101
4.2.3 Sơ đồ khối. .................................................................................................. 101
4.2.4 Các thanh ghi chức năng. .............................................................................. 102
4.3 RTC (REAL TIME CLOCK) ......................................................................................... 106
4.3.1 Một số tính năng của RTC Counter. ................................................................. 106
4.3.2 Sơ đồ khối RTC. ........................................................................................... 107
4.3.3 Các thanh ghi chức năng. .............................................................................. 107
4.3.4 Mô tả chức năng các thanh ghi ....................................................................... 108
4.4 BÀI TẬP MẪU ........................................................................................................ 121
TÓM TẮT ................................................................................................................. 124
BÀI TẬP .................................................................................................................. 125
BÀI 5: ADC .............................................................................................................. 126
5.1 TỔNG QUAN....................................................................................................... 126
5.1.1 ĐẶC TÍNH BỘ CHUYỂN ĐỔI ADC .................................................................... 126
5.1.2 CHỨC NĂNG ................................................................................................ 127

5.1.3 Lưu đồ giải thuật chuyên đổi ADC. .................................................................. 130
5.2 BÀI TẬP MẪU ........................................................................................................ 130
TÓM TẮT ................................................................................................................. 133
BÀI TẬP .................................................................................................................. 134
BÀI 6: PULSE WIDTH MODULE - CAPTURE .............................................................. 135
6.1 TỔNG QUAN....................................................................................................... 135
6.1.1 CÁC TÍNH NĂNG PWM ................................................................................... 135
6.1.2 CÁC TÍNH NĂNG CAPTURE TIMER ................................................................... 136


MỤC LỤC

III

6.1.3 SƠ ĐỒ KHỐI ................................................................................................ 136
6.1.4 HOẠT ĐỘNG PWM - TIMER ............................................................................ 139
6.1.5 CAPTURE TIMER ........................................................................................... 141
6.1.6 THIẾT LẬP PWM – CAPTURE. .......................................................................... 142
6.1.7 Bảng thanh ghi PWM-Capture ........................................................................ 144
6.1.8 Mô tả chức năng các thanh ghi ....................................................................... 146
6.2 BÀI TẬP MẪU......................................................................................................... 151
TÓM TẮT ................................................................................................................. 156
BÀI TẬP .................................................................................................................. 157
BÀI 7: GIAO TIẾP UART – I2C - SPI ...................................................................... 160
7.1 UART ................................................................................................................ 160
7.1.1 Chức năng UART của Numicro MCU ................................................................ 161
7.1.2 Chọn xung clock ........................................................................................... 162
7.1.3 Sơ đồ khối ................................................................................................... 162
7.1.4 Thiết lập UART ............................................................................................. 163
7.1.5 Các thanh ghi chức năng ............................................................................... 164

7.2 BÀI TẬP MẪU......................................................................................................... 171
7.3 GIAO TIẾP I2C ...................................................................................................... 173
7.3.1 Đặc điểm giao tiếp I2C .................................................................................. 173
7.3.2 Truyền nhận dữ liệu Master – Slave ................................................................ 174
7.3.3 Các thanh ghi chức năng I2C NuMicro NUC140................................................. 178
7.3.4 Thư viện Driver I2C.c .................................................................................... 183
7.4 BÀI TẬP MẪU......................................................................................................... 187
7.5 GIAO TIẾP SPI ...................................................................................................... 192
7.5.1 Một số tính năng SPI của Numicro MCU ........................................................... 193
7.5.2 Sơ đồ khối ................................................................................................... 194
7.5.3 Chu kỳ ghi SPI. ............................................................................................ 194
7.5.4 Chu kỳ đọc SPI. ........................................................................................... 195
7.5.5 Các thanh ghi chức năng. .............................................................................. 195
7.5.6 SPI NuMicro NUC140 .................................................................................... 203
7.6 BÀI TẬP MẪU......................................................................................................... 204
TÓM TẮT ................................................................................................................. 207
CÂU HỎI ÔN TẬP ...................................................................................................... 208
TÀI LIỆU THAM KHẢO ............................................................................................... 210


IV

HƯỚNG DẪN

HƯỚNG DẪN
MÔ TẢ MÔN HỌC
Vi điều khiển nâng cao là một trong những môn học tiên quyết nhằm cung cấp
kiến thức cho những người học muốn nghiên cứu chuyên sâu về lập trình và áp dụng
những thuật toán điều khiển hiện đại cũng như cổ điển. Môn học trang bị những kiến
thức từ cơ bản đến nâng cao của dòng vi điều khiển mạnh nhất hiện nay đó là ARM .


NỘI DUNG MÔN HỌC


Bài 1. Tổng quan về ARM: Bài này cung cấp cho học viên một số khái niệm về
ARM. Ngoài ra, học viên còn có thể phân biệt kiến trúc RISC và CISC, so sánh giữa
các dòng vi điều khiển ARM Cortex M0 của Nuvoton. Nắm được các tính năng chính
của dòng NUC130/140.



Bài 2. Họ NuMicroTM NUC140: Bài này giúp học viên nắm vững tổ chức bộ nhớ Vi
điều khiển họ NUC140 và có thể phân biệt bộ nhớ chương trình và bộ nhớ dữ liệu.
Ngoài ra, còn hiểu rõ địa chỉ, chức năng các bit trong các thanh ghi đặc biệt.



Bài 3: Input - Output: Bài này trình bày về cấu trúc các thanh ghi điều khiển I-O.
Hướng dẫn cách tạo 1 project sử dụng phần mềm Keil C. Học xong bài này học
viên có thể viết 1 số chương trình ứng dụng.



Bài 4: Timer – Watchdog Timer – Real Time Clock: Trong bài này trình bày các sơ
đồ khối và các thanh ghi liên quan đến các bộ Timer. Hướng dẫn cách khởi tạo và
cấu hình Timer, tính toán giá trị cho Timer và Counter. Học viên có thể viết 1 số
chương trình ứng dụng Timer.




Bài 5: ADC: Bài này giúp học viên phân biệt tín hiệu digital và analog, trình bày sơ
đồ khối và các thanh ghi liên quan đến ADC. Hướng dẫn cách khởi tạo và cấu hình
ADC. Học viên có thể viết 1 số chương trình ứng dụng ADC.



Bài 6: PWM – Capture: Bài này giúp học viên phân biệt giữa mode Capture – PWM.
Ngoài ra, còn trình bày cấu trúc và các thanh ghi liên quan đến PWM. Hướng dẫn


HƯỚNG DẪN

V

cách khai báo và viết chương trình dùng Keil C. Viết 1 số chương trìnhứng dụng
trong thực tế.


Bài 7: Truyền thông UART – I2C – SPI: Bài này giúp học viên nắm được các khái
niệm về truyền thông UART, I2C, SPI. Cách khởi tạo và cấu hình các giao thức
truyền thông. Giao tiếp giữa PC và MCU, MCU-MCU và viết 1 số chương trình ứng
dụng.

KIẾN THỨC TIỀN ĐỀ
Các môn học tiên quyết (những môn phải học trước môn này):

Môn học được bố

trí vào giai đoạn lựa chọn chuyên ngành, sau khi kết thúc các môn cơ bản của ngành.
Các môn học kế tiếp (những môn học ngay sau môn này): Kỹ thuật lập trình nâng

cao, hệ thống nhúng.

YÊU CẦU MÔN HỌC
Người học phải dự học đầy đủ các buổi lên lớp và làm bài tập đầy đủ ở nhà.

CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC
Để học tốt môn này, người học cần ôn tập các bài đã học, trả lời các câu hỏi và
làm đầy đủ bài tập; đọc trước bài mới và tìm thêm các thông tin liên quan đến bài
học.
Đối với mỗi bài học, người học đọc trước mục tiêu và tóm tắt bài học, sau đó đọc
nội dung bài học. Kết thúc mỗi ý của bài học, người đọc trả lời câu hỏi ôn tập và kết
thúc toàn bộ bài học, người đọc làm các bài tập.

PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC
1. Kiểm tra – đánh giá quá trình: Có trọng số chung là 30%, bao gồm các điểm
đánh giá như sau:


Điểm chuyên cần: Cấm thi nếu vắng hơn 20% tiết lên lớp.



Điểm đánh giá nhận thức và thái độ tham gia thảo luận, Seminar: 20%


VI

HƯỚNG DẪN




Điểm thi giữa kỳ: 10%



Điểm thi cuối kỳ: 70%



Điểm đánh giá khối lượng tự học, tự nghiên cứu của sinh viên (hoàn thành tốt nội
dung, nhiệm vụ mà giảng viên giao cho cá nhân/ tuần; bài tập nhóm/ tháng; bài
tập cá nhân/ học kì,…).

2. Kiểm tra - đánh giá cuối kỳ: Điểm thi kết thúc học phần có trọng số 70%


Hình thức thi: tự luận



Thời lượng thi: 90 phút



Sinh viên được tham khảo tài liệu hay không khi thi: được tham khảo tài liệu


BÀI 1: TỔNG QUAN VỀ ARM

1


BÀI 1: TỔNG QUAN VỀ ARM
Sau khi học xong bài này, học viên có thể:


Nắm được lịch sử phát triển, khái niệm về vi điều khiển ARM.



Phân biệt kiến trúc RISC và CISC.



Phân biệt các dòng vi điều khiển ARM Cortex M0 của Nuvoton.



Nắm được các tính năng chính của dòng NUC130/140.

1.1 GIỚI THIỆU
1.1.1 Tổng quan về ARM
Ngày 26/4/1985, mẫu sản phẩm ARM đầu tiên sản xuất tại công ty kĩ thuật VLSI,
SanJose, bang Califonia được chuyển tới trung tâm máy tính Acorn ở Cambridge, Anh
Quốc. Một vài giờ sau, chương trình thử nghiệm đầu tiên đã thành công.
Tên đây đủ của hãng là ARM Holdings và đóng trụ sở chính tại Anh Quốc. Ban đầu,
chữ ARM viết tắt cho cụm từ Acorn RISC Machine, nhưng sau đó chữ Acorn đã được
thay bằng chữ Advanced.
Kiến trúc ARM được phát triển lần đầu tiên vào thập niên 1980 để dùng cho máy
tính để bàn. Tính đến thời điểm hiện tại (2013), ARM là kiến trúc 32 bit được phổ biến
nhất thế giới, vượt qua cả kiến trúc x86 của Intel (tính theo số lượng chip được sản

xuất). Theo ARM Holdings, chỉ tính riêng năm 2010, kiến trúc của họ đã có mặt trên
95% số smartphone, 35% số TV và set-top box, 10% số máy tính di động được bán
ra.
Các chip dùng kiến trúc ARM được tạo ra dựa trên thiết kế RISC (Reduced
instruction set computing). Thiết kế này giúp giảm đáng kể số lượng bóng bán dẫn
cần thiết để vận hành một chiếc máy tính so với kiểu CISC (complex instruction set


2

BÀI 1: TỔNG QUAN VỀ ARM

computer) vốn được sử dụng phổ biến trong kiến trúc x86 của Intel cũng như các CPU
AMD dành cho máy tính. Lợi ích của việc sử dụng RISC đó là các chip được sản xuất
với chi phí thấp hơn, lượng nhiệt tỏa ra khi hoạt động thấp hơn, mức độ tiêu thụ điện
thấp hơn. Chính vì thế, những bộ xử lí ARM thường được dùng trong các thiết bị di
động đòi hỏi thời lượng pin lâu và kiểu dáng nhỏ, nhẹ, điển hình là smartphone và
tablet ngày nay.

Hình 1.1 CISC - Kiến trúc Von Neuman

Hình 1.2 RISC - Kiến trúc Harvard


BÀI 1: TỔNG QUAN VỀ ARM

3

Những thành công quan trọng trong việc phát triển ARM ở thập niên sau này:



Giới thiệu ý tưởng về định dạng các chỉ lệnh được nén lại (thumb) cho phép
tiết kiệm năng lượng và giá thành ở những hệ thống nhỏ.



Giới thiệu họ điều khiển ARM9, ARM10 và ‘Strong ARM’



Phát triển môi trường làm việc ảo của ARM trên PC.



Các ứng dụng cho hệ thống nhúng dựa trên nhân xử lý ARM ngày càng trở
nên rộng rãi.

Hầu hết các nguyên lý của hệ thống trên chip (Systems on chip - SoC) và cách
thiết kế bộ xử lý hiện đại được sử dụng trong ARM. Ngoài ra, ARM còn đưa ra một số
khái niệm mới như:


Giải nén động các dòng lệnh.



Việc sử dụng 3 trạng thái nhận lệnh - giải mã -thực thi trong mỗi chu kì
máy mang tính quy phạm để thiết kế các hệ thống xử lý thực.

Cấu trúc máy tính số sử dụng chương trình lưu trữ ( Stored-program ):

FF..FF16
Instruction
Address

Data

Instructions and Data

Memory

Register
er

Processor

00..0016
Hình 1.3 Sơ đồ khối cấu trúc máy tính số

1.1.2 Cấu trúc cơ bản của bộ xử lý
Gồm các thành phần sau:


Program Counter (PC): Thanh ghi giữ địa chỉ của chỉ lệnh hiện tại.



Thanh ghi tích lũy (ACC): Giữ giá trị dữ liệu khi đang làm việc.




Đơn vị xử lý số học (ALU): Thực thi các lệnh nhị phân như cộng, trừ, …



Thanh ghi chỉ lệnh (IR): Giữ chỉ lệnh hiện tại đang thực thi.


4

BÀI 1: TỔNG QUAN VỀ ARM
Nhân xử lý đơn giản MU0 được phát triển đầu tiên ở đại học Manchester - Anh

Quốc là nhân xử lý có chỉ lệnh dài 16bit, với 12bit địa chỉ <8kBytes> và 4 bit opcode;
cấu trúc chuẩn cho chỉ lệnh có dạng:
4 bits
opcode

12 bits
S

Ví dụ: Đường truyền dữ liệu datapath của nhân xử lý MU0:

Hình 1.4 Datapath của MU0
PC chỉ đến chỉ lệnh cần thực thi, load vào IR, giá trị chứa trong IR chỉ đến vùng địa
chỉ ô nhớ, nhận giá trị, kết hợp với giá trị đang chứa trong ACC qua đơn vị xử lý ALU
để tạo giá trị mới, chứa vào ACC. Mỗi chỉ lệnh như vậy, tùy vào số lần truy cập ô nhớ
mà tốn số chu kì xung nhịp tương đương. Sau mỗi chỉ lệnh thực thi, PC sẽ được tăng
thêm.

1.2 ARM COTEX M0 NUVOTON

Nuvoton là công ty con được tách ra từ tập đoàn điện tử Winbond (Hãng điện tử
bán dẫn hàng đầu của Đài Loan). Hãng này có 3 dòng chip vi điều khiển 4 bit, 8 bit,
32 bit (ARM Cortex).
Đặc trưng của dòng chip MCU 32-bit lõi ARM Cortex-M0:


Khá đa dạng về chủng loại, cấu hình và đáp ứng nhu cầu thị trường về dòng
chip 32-bit.


BÀI 1: TỔNG QUAN VỀ ARM


5

Vi điều khiển lõi ARM Cortex-M0 có nhiều giao diện ngoại vi đáp ứng tính
năng mạnh mẽ và khả năng kết nối.



Được phát triển để cung cấp một nền tảng chi phí thấp, đáp ứng nhu cầu
thực thi của MCU với việc giảm số lượng bóng bán dẫn trong lõi ARM Cortex
dẫn tới tiêu thụ điện năng thấp và giảm giá thành vi xử lý, đồng thời cung
cấp hiệu năng tính toán cao.

Bên cạch các dòng 32-bit như NUC100, NUC120, NUC130, NUC140, một dòng mới
là NuMicro M051 gồm M052/54/58/516 với hiệu suất vi điều khiển 32-bit cao hơn.

1.2.1 Đặc tính kỹ thuật MCU 32-bit lõi ARM Cortex-M0.
CPU Cortex-M0 cung cấp khả năng điều khiển ngắt ngoại lệ gọi là vector điều

khiển ngắt lồng nhau (NVIC), được liên kết chặt chẽ với nhân vi xử lý để cung cấp các
tính năng: hỗ trợ vector ngắt gián đoạn lồng nhau, tiết kiệm bộ vi xử lý và có khả
năng phục hồi, giảm và xác định độ trễ ngắt, thay đổi mức ưu tiên năng động.


Dung lượng bộ nhớ Flash ROM lớn (tối đa 128KB Flash).



Dải điện áp rộng từ 2.5V~5.5V.



Tích hợp sẵn ngoại vi như: UART, USB, ISP, I2C, I2S, PWM, LCD…



Tích hợp thạch anh nội lên đến 22MHz, có thể điều chỉnh độ chính xác nhờ
thạch anh bên ngoài 32,768Khz.



Khả năng hỗ trợ nạp đa năng (ISP, ICP và song song), nạp bằng tools nạp
của chính hãng như: NuGang, Nu-Link hoặc các tools nạp phổ biến của hãng
khác như J-Link, U-Link và các máy nạp rom đa năng của Elnec, Xeltek,
Hilo,...



Có khả năng chống nhiễu tốt, thích hợp cho các ứng dụng dân dụng cũng

như trong công nghiệp.



Dải nhiệt độ hoạt động từ -40ºC ~ +85ºC.

Dòng chip MCU 32-bit lõi ARM Cortex-M0 cung cấp nhiều tính năng hiện đại cũng
như khả năng giao tiếp ngoại vi phong phú nhưng tiêu thụ điện năng khá thấp nên dễ
dàng phát triển các ứng dụng.


6

BÀI 1: TỔNG QUAN VỀ ARM

Hình 1.4 Mức tiêu thụ điện năng các dòng chip
ARM Cortex-M0 là sự phát triển giữa dòng chip MCU 8051 và dòng ARM7/9 với khả
năng kết nối và các tính năng vi điều khiển mạnh nhưng vẫn có mức giá phù hợp.

Hình 1.5 Quá trình phát triển ARM Cortex-M0


BÀI 1: TỔNG QUAN VỀ ARM

7

1.2.2 Phân loại

Hình 1.6 Một số dòng Nuvoton ARM Cortex-M


1.2.3 Cấu trúc cơ bản.
Cấu trúc load-store.


Chỉ lệnh có chiều dài cố định 32bit.



Cấu trúc chỉ lệnh có 3 địa chỉ.



ARM thiết kế để sao cho tối giản số chu kì xung nhịp cho một chỉ lệnh, do
đó tăng được sự phức tạp cho các chỉ lệnh đơn lẻ.

1.2.4 Tính năng kỹ thuật.
1.2.4.1 Dòng NuMicro NUC100.


Lõi ARM Cortex-M0 chạy lên đến 50MHz, một bộ đếm thời gian hệ thống
24 bit, chế độ sleep tiết kiệm năng lượng, trình đơn phần cứng 32-bit.



32K/64K/128KB bộ nhớ cho dữ liệu chương trình (APROM).



4KB bộ nhớ nạp LDROM.




4K/8K/16KB bộ nhớ nhúng SRAM.



Dao động thạch anh nội 22MHz.


8

BÀI 1: TỔNG QUAN VỀ ARM


32,768 KHz thạch anh ngoài cho chức năng RTC và hệ thống hoạt động
công suất thấp.



4 bộ định thời 32-bit, có nguồn đồng hồ độc lập cho mỗi Timer. 4 kênh ra
điều chế độ rộng xung PWM 16-bit.



12 bit SAR ADC quét đơn, quét từng chu kỳ và quét liên tục.



Các cổng giao tiếp ngoại vi: 3 cổng UART nối tiếp, 4 cổng SPI, IrDA, I2C,
I2S, EBI bus…




Bộ ngắt nhận dạng Brown-out với 4 mức: 4.5V, 3.8V, 2.7V, 2.2V.

Dòng chip NUC100 được ứng dụng rộng rãi trong các lĩnh vực như điều khiển công
nghiệp, hệ thống an ninh, điều khiển động cơ, hệ thống truyền thông…

1.2.4.2 Dòng NUC130/140.

Hình 1.7 Sơ đồ khối NUC130/140
 NUC130/140 là vi điều khiển 32 bit lõi ARM Cortex-M0, chạy lên tới 50MHz.
 Có 4 mức ưu tiên ngắt đầu vào, 128 KB flash ROM cho bộ nhớ chương trình.
 16KB SRAM, 4KB bộ nhớ flash cho nạp chương trình trong hệ thống.


BÀI 1: TỔNG QUAN VỀ ARM

9

 Giao tiếp thiết bị ngoại vi: 8 kênh 12 bit ADC, UART nối tiếp tốc độ cao, SPI
lên đến 32MHz, I2C lên đến 1MHz, kết nối thiết bị ngoại vi USB 2.0, CAN,
LIN…
 Thiết bị ngoại vi có tính năng phong phú: PWM, RTC, bộ ngắt nhận dạng
Brownout, GPIO, PDMA và 4 bộ Timer 32 bit.
 Dải điện áp hoạt động rộng từ 2,5V~5,5V, chống nhiễu tiếng ồn tốt, tích
hợp dữ liệu flash, dao động thạch anh nội chính xác ±1% với nhiệt độ
phòng, có khả năng bảo mật trên chip, điện áp reset lại mạch thấp.
Ứng dụng: điều khiển mạng lưới, chẩn đoán điện tử, ứng dụng mạng nhúng, hệ
thống điều khiển mạng, điều khiển công nghiệp và tự động điều khiển.


1.2.4.3 Dòng NuMicro Mini51.

Hình 1.8 Sơ đồ khối NuMicro Mini51
 NuMicro Mini51 là vi điều khiển 32 bit Lõi ARM Cortex M0, tốc độ 24Mhz.
 Vector điều khiển ngắt lồng nhau NVIC cung cấp 4 mức ưu tiên ngắt. Tất
cả các yêu cầu ngắt được xử lý trong chế độ Handle.
 16KB flash EPROM cho bộ nhớ mã chương trình.
 2KB SRAM, 1K/2K/4KB cấu hình dữ liệu flash, 2KB flash cho nạp chương
trình trong hệ thống, 8 kênh 10 bit cho SAR ADC.


10

BÀI 1: TỔNG QUAN VỀ ARM
 Giao tiếp thiết bị ngoại vi UART tốc độ cao, RS485, SPI, I2C, thiết bị ngoại
vi có tính năng phong phú: 2 bộ Timer 32 bit, 6 kênh PWM, hai bộ so sánh
tương tự với 16 cấp chương trình, 40 chân GPIO.
 Dải điện áp rộng từ 2.5V~5.5V trong dải nhiệt độ từ -40ºC đến +85ºC,
chống nhiễu tiếng ồn tốt, tích hợp dữ liệu flash, dao động thạch anh nội lên
đến 22MHz với độ chính xác ±1% được tự động điều chỉnh bởi thạch anh
bên ngoài 32,768K, hỗ trợ khả năng nạp ISP và ICP.
Ứng dụng rộng dãi trong điều khiển công nghiệp, truyền thông dữ liệu, hệ thống

điều khiển tự động, hệ thống vi điều khiển.

1.2.4.4 Dòng NuMicro Nano100.

Hình 1.9 Sơ đồ khối NuMicro Nano100



CPU lõi Arm Cortex-M0 chạy lên đến 42 MHz, một bộ đếm thời gian hệ
thống 24 bit, trình đơn phần cứng 32-bit, có 32 đầu vào ngắt với 4 cấp lựa
chọn ưu tiên.



Dải điện áp hoạt động từ 1.8V~3.6V.



32K/64K/128KB bộ nhớ chương trình (APROM).



4KB bộ nhớ nạp (LDROM).



8K/16KB nhúng SRAM.



Dao động thạch anh nội 12 MHz.


BÀI 1: TỔNG QUAN VỀ ARM

11




Một bộ PLL lên đến 120 MHz cho hệ thống hoạt động hiệu suất cao.



4 bộ định thời 32 bit, 8 kênh DMA,8 kênh ra điều chế độ rộng xung (PWM) 16
bit, 12 kênh SAR ADC 12 bit lên tới 2Msps, 2 kênh DAC 12 bit.



Các cổng giao tiếp phong phú: 5 cổng UART nối tiếp, 3 cổng SPI với đồng hồ
lên tới 32Mhz, 2 cổng I2C, RS485, LIN…



Giao diện I2S với định dạng âm thanh bên ngoài, có khả năng xử lý
8/16/24/32 bit âm thanh mono và stereo.



Bộ ngắt nhận dạng Brown-out với 3 mức 1.7V /2.0V /2.5V.



86 chân GPIO cho mục đích chung I/O.



Dải nhiệt độ từ -40ºC ~ +85ºC , 3 kiểu chân LQFP48, LQFP64, LQFP128

chân.

NuMicro Nano100 được ứng dụng trong âm thanh không dây, đồ chơi game, điều
khiển từ xa RF4CE, xử lý các thiết bị GPS, thiết bị thẻ đọc thông minh POS, hệ thống
báo động an ninh, đo tiện ích…

1.2.4.5 Dòng chip MCU Voice IC trong chip: ISD9160
ISD9160 là dòng chip tích hợp sẵn về âm thanh/giọng nói, cung cấp nhiều giải
pháp ứng dụng lý tưởng bằng âm thanh/giọng nói trong thị trường công nghiệp và
người tiêu dùng.

Hình 1.10 Sơ đồ khối ISD9160


12

BÀI 1: TỔNG QUAN VỀ ARM


CPU lõi ARM Cortex-M0 32 bit, tốc độ 50MHz, tích hợp sẵn Voice IC trên chip.



Dải điện áp hoạt động từ 2.5V~5.5V.



145KB bộ nhớ flash cho dữ liệu chương trình và mã dữ liệu âm thanh, cung
cấp thời gian lưu trữ 60s với tốc độ nén 16Kbps.




Nạp ISP (lập trình trong hệ thống): cấu hình 4KB bộ nhớ khởi động để cập
nhật bộ nhớ flash lên chip.



3V LDO cho bộ nhớ flash bên ngoài.



Các thuật toán nén: nén cao từ 4kbps đến 32kbps, nén ADPCM từ 2 đến 5 bit
cho mỗi mẫu lên đến 32khz, nén PCM 8 đến 16 bit cho mỗi mẫu.



Giao diện I2S với bộ giải mã âm thanh bên ngoài có khả năng xử lý từ 8, 16,
24, 32 bit.



Bộ chuyển đổi ADC với 80dB tín hiệu/nhiễu, giao hiện microphone kỹ thuật
số.



Âm thanh điều khiển độ rộng xung PWM đạt 1W tại 5.5V.




Hai bộ hẹn giờ 8 bit chủ/tớ, 16 bit bộ đếm thời gian.



24 chân GPIO cho mục đích chung vào ra (I/O).



Một cổng UART nối tiếp, 2 kênh SPI, giao diện I2C, bộ nhận dạng tách sóng
Brown-out…



Đóng gói 48 chân LQFP, dải nhiệt độ từ -40ºC ~ 85ºC.

1.2.4.6 Công cụ phát triển ARM Cortex M0.


Phần mềm: KEIL RVMDK, IAR EWARM, Nu Tiny-SDK, thư viện Driver, CMCIS,
công cụ phát triển của bên thứ ba: CoCox CoIDE.



Công cụ nạp: hỗ trợ nạp cả ISP và ICP, Nu-Link, NuGang, U-Link, J-Link.

Hình 1.11 Công cụ hỗ trợ cho ARM Nuvoton


BÀI 1: TỔNG QUAN VỀ ARM


13


14

BÀI 1: TỔNG QUAN VỀ ARM

TÓM TẮT
Trong bài này, học viên tìm hiểu:
 Lịch sử phát triển ARM, nắm vững được kiến trúc ARM.
 ARM là một họ vi điều khiển RISC được sản xuất bởi công ty ARM
Holdings.
 Kiến trúc ARM được phát triển lần đầu tiên vào thập niên 1980 để dùng
cho máy tính để bàn. Tính đến thời điểm hiện tại ARM là kiến trúc 32 bit
được phổ biến nhất thế giới.
 Đặc tính kỹ thuật MCU 32-bit lõi ARM Cortex-M0:
-

CPU Cortex-M0 cung cấp khả năng điều khiển ngắt ngoại lệ gọi là
vector điều khiển ngắt lồng nhau (NVIC), được liên kết chặt chẽ với
nhân vi xử lý để cung cấp các tính năng: hỗ trợ vector ngắt gián đoạn
lồng nhau, tiết kiệm bộ vi xử lý và có khả năng phục hồi, giảm và xác
định độ trễ ngắt, thay đổi mức ưu tiên năng động.

-

Dung lượng bộ nhớ Flash ROM lớn (tối đa 128KB Flash).

-


Dải điện áp rộng từ 2.5V~5.5V.

-

Tích hợp sẵn ngoại vi như: UART, USB, ISP, I2C, I2S, PWM, LCD…

-

Tích hợp thạch anh nội lên đến 22MHz, có thể điều chỉnh độ chính xác
nhờ thạch anh bên ngoài 32,768Khz.

-

Khả năng hỗ trợ nạp đa năng (ISP, ICP và song song), nạp bằng tools
nạp của chính hãng như: NuGang, Nu-Link …

-

Có khả năng chống nhiễu tốt, thích hợp cho các ứng dụng dân dụng
cũng như trong công nghiệp.

-

Dải nhiệt độ hoạt động từ -40ºC ~ +85ºC.


BÀI 1: TỔNG QUAN VỀ ARM

15


CÂU HỎI ÔN TẬP
Câu 1: ARM được phát triển năm nào ? Do công ty nào phát triển ?
Câu 2: So sánh sự khác nhau giữa 2 kiến trúc CISC và RISC ? CISC và RISC còn
có tên gọi là 2 kiến trúc gì ?

Câu 3: ARM Cortex M0 Nuvoton được phát triển trên 2 dòng vi điều khiển nào ?
Câu 4: Trình bày những dòng sản phẩm ARM chính của Nuvoton?
Câu 5: Trình bày những đặc tính kỹ thuật dòng ARM Cortex-M0 (NUC130/140) ?
Câu 6: Trình bày những ưu điểm khi sử dụng ARM trong học tập và các dư án ?
Câu 7: Nên lựa chọn ngôn ngữ lập trình nào khi làm việc với ARM ? Vì sao ?
Câu 8: ARM Cortex-M0 có những chuẩn giao tiếp nào ?
Câu 9: Ngắt NVIC là gì ?
Câu 10: Trình bày những đặc tính kỹ thuật dòng ISD9160 ?
Câu 11: Trình bày một số công cụ hỗ trợ lập trình cho ARM (Nuvoton) ?


16

BÀI 2: HỌ NuMicro™ NUC140

BÀI 2: HỌ NuMicro™ NUC140
Sau khi học xong bài này, học viên có thể:


Nắm vững tổ chức bộ nhớ Vi điều khiển họ NUC140.



Phân biệt bộ nhớ chương trình và bộ nhớ dữ liệu.




Hiểu rõ địa chỉ, chức năng các bit trong các thanh ghi đặc biệt.

2.1 ĐẶC TÍNH HỌ NuMicro NUC140
2.1.1 Mã lựa chọn MCU.

Hình 2.1 Mã lựa chọn họ NuMicro™ NUC100


×