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

Thiết kế kit thực hành vi điều khiển ARM – cortex m0

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 (4.81 MB, 81 trang )

Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
LỜI CẢM ƠN
Trong quá trình nghiên cứu và thực hiện đồ án em xin gửi lời cảm ơn tới hội
đồng quản trị nhà trường, ban giám hiệu nhà trường cùng toàn thể các thầy cô giáo
trong khoa Công Nghệ Kỹ Thuật Điện Tử Viễn Thông đã tạo điều kiện cũng như
đóng góp ý kiến cho đồ án.
Em xin chân thành cảm ơn thầy Th.S Đặng Văn Hiếu đã hướng dẫn tận tình
và giúp đỡ em thực hiện hoàn thành đồ án trong thời gian qua. Đồng thời em xin gửi
lời cám ơn tới công ty TULA và các anh chị trong công ty đã giúp đỡ cũng như
cung cấp tài liệu trong thời gian hoàn thành đồ án.
Qua đây em rất mong nhận được những ý kiến đóng góp của các thầy cô
trong hội đồng bảo vệ đồ án tốt nghiệp để giúp em hoàn thiện hơn đồ án của mình.
Em xin chân thành cảm ơn!
Hà Nội, Ngày … tháng … năm …
Sinh viên thực hiện
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Tiếng anh
Tiếng việt
ARM
Advanced RISC Machine
Cấu trúc vi xử lí theo kiểu
RISC
ADC
Analog Digital Converter
Bộ chuyển đổi tương tự
sang số
AHB


Advanced High-performance Bus
Hiệu năng Bus cao
CISC
Complex Instruction Set Computer
Tập lệnh máy tính phức
tạp
CMSIS
Cortex Microcontroller Software
Interface Standard
Chuẩn giao diện phần
mềm vi điều khiển Cortex
CLK
Serial Clock
Xung nhịp
CAN
Controller Area Network
Điều khiển mạng liên
kết khu vực
CPU
Central Processing Unit
Bộ xử lý trung tâm
DRAM
Dynamic Random Access Memory
Bộ nhớ truy cập ngẫu
nhiên động
EEPROM
Electrically Erasable Programmable
Read-Only Memory
Bộ nhớ chỉ đọc có thể xóa
được bằng điện

EPROM
Erasable Programmable Read-Only
Memory
Bộ nhớ chỉ đọc có khả
năng lập trình lại được
FIFO
First In First Out
Vào trước ra trước
GPIO
General Purpose Input/Output
Đầu vào/ra đa mục đích
GPS
Global Positioning System
Hệ thống định vị toàn cầu
IC
Integrated Circuit
Mạch tích hợp
I2C
Inter-Integrated Circuit
Liên kết giữa các vi mạch
I2S
Integrated Interchip Sound
Tích hợp liên chíp âm
thanh
LCD
Liquid Crystal Display
Màn hình tinh thể lỏng
LIN
Local Interconnect Network
Mạng kết nối khu vực

MCU
MicroController Unit
Bộ vi điều khiển
NVIC
Nested Vectored Interrupt Controller
Vector điều khiển ngắt
lồng nhau
OS
Operating System
Hệ thống vận hành
PDA
Personal Digital Assistant
Thiết bị cầm tay
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
PC
Personal Computer
Máy tính cá nhân
PDMA
Peripheral Direct Memory Access
Bộ nhớ truy cập ngoại vi
trực tiếp
PLL
Phase Lock Loop
Vòng khóa pha
RISC
Reduced Instructions Set Computer
Tập lệnh máy tính đơn
giản hóa
ROM

Read-Only Memory
Bộ nhớ chỉ đọc
RAM
Random Access Memory
Bộ nhớ truy cập ngẫu
nhiên
RTC
Real Time Clock
Đồng hồ thời gian thực
Rx
Receiver
Bộ nhận dữ liệu
SPI
Serial Peripheral Interface
Giao tiếp ngoại vi nối tiếp
SD Card
Secure Digital Card
Thẻ nhớ dữ liệu số
SRAM
Static Random Access Memory
Bộ nhớ truy cập ngẫu
nhiên tĩnh
SSRAM
Synchronous Static Random Access
Memory
Bộ nhớ truy cập ngẫu
nhiên đồng bộ tĩnh
Tx
Transmiter
Bộ truyền dữ liệu

TPM
Trusted Platform Module
Mô-đun nền tảng đã được
xác thực
USB
Universal Serial Bus
Bus nối tiếp đa năng
UART
Universal Asynchronous
Receiver/Transmitter
Bộ thu/phát không đồng
bộ đa năng
VLSI
Very Large Scale Integrated
Tích hợp với quy mô lớn


Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
DANH MỤC HÌNH
Hình 1.1: Chíp vi điều khiển ARM 3
Hình 1.2: Cấu trúc vi điều khiển ARM 4
Hình 1.3: Cấu trúc lõi ARM Cortex M0 5
Hình 1.4: Các phiên bản ARM Cortex – A 6
Hình 1.5: Các phiên bản ARM Cortex – R 7
Hình 1.6: Các phiên bản ARM Cortex – M 7
Hình 1.7: Các hãng sản xuất bộ vi xử lý dựa trên thiết kế của ARM 8
Hình 2.1: Khối điều khiển chức năng của Cortex M0 10
Hình 2.2: Mức độ tiêu thụ điện năng của các dòng chíp MCU-32 Bit 12
Hình 2.3: Quá trình phát triển của NuMiCro 12

Hình 2.4: Biểu đồ phân loại dòng chip 32-bit lõi ARM Cortex-M0 13
Hình 2.5: Tính năng nổi bật có trong các dòng ARM Cortex-M0 13
Hình 2.6: Các khối chức năng của dòng NuMicro Mini51 14
Hình 2.7: Tính năng các dòng M051 Base 15
Hình 2.8: Phân chia cấu hình cho dòng NUC100 15
Hình 2.9: Các khối chức năng của dòng NuMicro Nano100 16
Hình 2.10: Các khối chức năng của dòng NuMiCro NUC130/140 17
Hình 2.11: Sự phát triển các dòng chip nhạc của Nuvoton 18
Hình 2.12: Mô-đun mô tả các chức năng trong chế độ tiết kiệm năng lượng 20
Hình 2.13: Nguồn dao động 21
Hình 2.14: Nguồn xung của timer 22
Hình 2.15: Sơ đồ khối của Timer 23
Hình 2.16: Nguồn xung của Watchdog Timer 23
Hình 2.17: Sơ đồ khối của Watchdog Timer 23
Hình 2.18: Nguồn xung vào PWM 24
Hình 2.19: Sơ đồ khối chức năng PWM 25
Hình 2.20: Nguồn xung vào khối UART 25
Hình 2.21: Sơ đồ khối chức năng của UART 26
Hình 2.22: Nguồn xung vào SPI 26
Hình 2.23: Sơ đồ khối chức năng SPI 27
Hình 2.25: Sơ đồ khối điều khiển USB2.0 29
Hình 2.26: Nguồn xung vào khối ADC 30
Hình 2.27: Sơ đồ khối chức năng ADC 30
Hình 2.28: Công cụ phát triển của hãng 31
Hình 2.29: Công cụ phát triển phần mềm 31
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
Hình 2.30: Các board dùng cho học tập nghiên cứu 32
Hình 2.31: Các ứng dụng của dòng chíp MCU – 32 bit lõi Cotex M0 33
Hình 3.1: Sơ đồ khối của chíp NUC140 35

Hình 3.2: Sơ đồ chân của NUC140 35
Hình 3.3: Các khối chính của Kit sử dụng NUC140 44
Hình 3.4: Khối nguồn 45
Hình 3.5: Khối vi xử lý 46
Hình 3.6: Khối LED đơn 46
Hình 3.7: Khối LED RGB 47
Hình 3.8: Khối BUZZER 47
Hình 3.9: Khối INT và Keyboard 48
Hình 3.10: Khối Led 7 thanh 48
Hình 3.11: Khối RESET Circuit 49
Hình 3.12: Khối ADC 49
Hình 3.13: Khối UART 50
Hình 3.14: Khối I2C 51
Hình 3.15: Khối LCD 51
Hình 3.16: Khối SD Inteface 52
Hình 3.17: Khối CAN và RS485 53
Hình 3.18: Khối SPI 53
Hình 3.19: Chế độ Push-Pull output 54
Hình 3.20: Chế độ Open-Drain output 54
Hình 3.21: Chế độ Quasi bi-direction 54
Hình 3.22: Khối GPIO 55
Hình 3.23: Khối PS2 55
Hình 3.24: Khối WAU8822 56
Hình 3.25: Khối ICE 56
Hình 3.26: Khối USB Devices 57
Hình 3.27: Mặt trước Kit thực hành vi điều khiển ARM Cortex M0 sử dụng NUC140
57
Hình 3.28: Mặt sau Kit thực hành vi điều khiển ARM Cortex M0 sử dụng NUC140 . 58
Hình 3.28: Mô phỏng bài 1 59
Hình 3.29: Mô phỏng bài 2 61

Hình 3.30: Mô phỏng bài 3 63
Hình 3.31: Mô phỏng bài 4 64
Hình 3.32: Mô phỏng bài 5 65
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
MỤC LỤC
LỜI MỞ ĐẦU 1
CHƢƠNG 1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN ARM 2
1.1 Lịch sử hình thành và phát triển của ARM 2
1.2 Cấu trúc cơ bản của ARM 3
1.3 Các dòng và các phiên bản của ARM 6
1.3.1 Dòng A(Application) 6
1.3.2 Dòng R(Real Time) 6
1.3.3 Dòng M(Microcontroller) 7
1.4 Các hãng sản xuất dòng chip ARM 7
1.5 Kết luận chƣơng 1 8
CHƢƠNG 2 VI ĐIỀU KHIỂN ARM LÕI CORTEX M0 CỦA NUVOTON 9
2.1 Giới thiệu về hãng Nuvoton 9
2.2 Vi điều khiển ARM Cortex – M0 của hãng Nuvoton 9
2.3 Đặc điểm của dòng chíp MCU – 32 bit lõi ARM Cotex M0 10
2.4 Quá trình phát triển các dòng chíp 32 bit lõi ARM Cotex M0 của Nuvoton 12
2.5 Các tính năng nổi bật có trong các dòng ARM Cortex-M0 13
2.5.1 Dòng chíp NuMicro Mini51 14
2.5.2 Dòng chíp M051 14
2.5.3 Dòng chíp NUC100 15
2.5.4 Dòng NuMicro Nano100 16
2.5.5 Dòng NuMiCro NUC130/140 17
2.5.6 Dòng chip MCU tích hợp sẵn Voice IC trong chip: ISD9160 18
2.6 Tính năng của ARM Cortex-M0 21
2.7 Công cụ hỗ trợ phát triển các ứng dụng trên chíp ARM Cortex M0 31

2.8 Các ứng dụng của dòng chíp MCU – 32 bit lõi Cotex M0 32
2.9 Kết luận chƣơng 2 33
CHƢƠNG 3 THIẾT KẾ KIT THỰC HÀNH VI ĐIỀU KHIỂN ARM - CORTEX
M0 SỬ DỤNG CHIP NUC140 CỦA NUVOTON 34
3.1 Tìm hiểu chíp vi điều khiển NUC140 34
3.1.1 Sơ đồ khối chức năng của chíp NUC140 34
3.1.2 Sơ đồ chân kết nối của chíp NUC140 35
3.2 Thiết kế Kit thực hành vi điều khiển ARM 44
3.2.1 Chức năng các khối 45
3.2.2 Hướng dẫn sử dụng kit 57
3.3 Một số bài tập cơ bản trên kit thực hành 58
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
3.4 Kết luận chƣơng 3 65
KẾT LUẬN CHUNG 66
TÀI LIỆU THAM KHẢO 67
PHỤ LỤC
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
1
LỜI MỞ ĐẦU
Ứng dụng cho các hệ thống nhúng hiện nay ngày càng trở nên phức tạp, các
nhân điều khiển cần có cấu hình mạnh hơn, hệ thống cần sự linh động, tiêu tốn ít
năng lượng, nhỏ gọn đáp ứng thời gian thực tốt hơn các nhân điều khiển 8 bit đang
dùng. Chúng ta đa phần vẫn sử dụng nhân điều khiển 8 bit cho các ứng dụng, và
như thế, vô tình đã thu hẹp khả năng điều khiển các hệ thống nhúng. Chính sự hạn
chế về dung lượng bộ nhớ chương trình dữ liệu cũng đã ảnh hưởng không ít tới
phạm vi ứng dụng của nó.
Ngày nay để chọn được một dòng chip có thể đáp ứng được mọi yêu cầu của
người dùng không còn quá khó khăn như trước, với sự cạnh tranh phát triển của các

hãng sản xuất chip điện tử đã cho ra đời nhiều dòng chip với nhiều chức năng và
ứng dụng đáp ứng được nhu cầu của người dùng, nổi bật nên đó là dòng chip ARM
Cortex M0 của hãng Nuvoton sản xuất, dòng chíp này có hiệu suất cao, công suất
thấp, tốc độ xử lý nhanh gấp nhiều lần so với các dòng chíp khác, không những thế
mà nó còn có kích thước nhỏ gọn và tiết kiệm chi phí. Với những lý do trên em đã
lựa chọn đề tài nghiên cứu của mình là “Thiết Kế Kit Thực Hành Vi Điều Khiển
ARM – Cortex M0” Nội dung đồ án tốt nghiệp của em được trình bày gồm 3
chương như sau:
Chƣơng 1: Tổng quan về vi điều khiển ARM
ARM là một loại vi điều khiển 32 bit và 64 bit kiểu RISC có cấu hình mạnh
mẽ, tích hợp nhiều tài nguyên phong phú, được sử dụng rộng rãi trong các thiết kế
nhúng, đáp ứng được nhiều yêu cầu khắt khe và đa dạng của các hệ thống nhúng.
Chƣơng 2: Tìm hiểu chíp Cortex M0 lõi ARM của Nuvoton
Nuvoton là hãng sản xuất dòng chíp vi điều khiển 32 bit Cortex M0 dựa trên
thiết kế của ARM. Vi điều khiển Cortex M0 lõi ARM được thiết kế nhúng tối ưu
cho các ứng dụng vi xử lý MCU, dòng chíp này 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.
Chƣơng 3: Thiết kế kit thực hành vi điều khiển ARM – Cortex M0 sử dụng
NUC140 của Nuvoton
Kit thực hành vi điều khiển ARM – Cortex M0 sử dụng chíp NUC140 của
Nuvoton có đầy đủ các tính năng và giao tiếp ngoại vi phong phú, dễ dàng sử dụng
và phát triển các ứng dụng.
Hà Nội, Ngày tháng năm 2015
Sinh viên thực hiện


Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
2
CHƢƠNG 1

TỔNG QUAN VỀ VI ĐIỀU KHIỂN ARM
ARM là một loại vi điều khiển 32 bit và 64 bit kiểu RISC, ARM lúc đầu được
đặt tên theo công ty Acorn (ban đầu ARM có nghĩa là Acorn RISC Machine, trong
đó RISC là một cách thiết kế vi xử lý) sau này do có thêm nhiều công ty cùng phát
triển và một số lý do khác, người ta thống nhất gọi ARM là Advance RISC
Machine. ARM được sử dụng rộng rãi trong các thiết kế nhúng.
Ngày nay, hơn 75% CPU 32 bit là thuộc họ ARM, điều này khiến ARM trở
thành cấu trúc 32 bít được sản xuất nhiều nhất thế giới. Bộ xử lý CPU của ARM
hiện diện trong 95% smartphone, 90% ổ đĩa cứng, 40% truyền hình kĩ thuật số và
set top box, 15% trong vi điều khiển, 20% trong máy tính di động và có mặt trên rất
nhiều lĩnh vực, từ TV cho đến các hệ thống tự động hóa và máy móc công nghiệp.
1.1 Lịch sử hình thành và phát triển của ARM
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, đến hiện nay nó là kiến trúc được sử dụng 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 chíp được sản xuất. Do có
đặc điểm tiết kiệm năng lượng nên các bộ CPU ARM chiếm ưu thế trong các sản
phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công xuất thấp là một
mục tiêu thiết kế quan trọng hàng đầu.
Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của
công ty máy tính Acorn, 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.
Nửa thập niên sau đó, ARM được phát triển rất nhanh chóng để làm nhân máy
tính để bàn của Acorn, nền tảng cho các máy tính hỗ trợ giáo dục ở Anh. Trong thập
niên 1990, dưới sự phát triển của Acorn Limited, ARM đã thành một thương hiệu
đứng đầu thế giới về các ứng dụng sản phẩm nhúng đòi hỏi tính năng cao, sử dụng
năng lượng ít và giá thành thấp.
Chính nhờ sự nổi trội về thị phần đã thúc đẩy ARM liên tục được phát triển và
cho ra nhiều phiên bản mới. 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.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
3
 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ình 1.1: Chíp vi điều khiển ARM
Hầu hết các nguyên lý của hệ thống trên chip và cách thiết kế bộ xử lý hiện đại
được sử dụng trong ARM, ARM còn đưa ra một số khái niệm mới, 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. Do đó, nhân xử lý ARM được sử dụng rộng rãi
trong các hệ thống phức tạp.
1.2 Cấu trúc cơ bản của ARM
Cấu trúc ARM bao gồm các đặc tính của RISC nổi bật như: Cấu trúc nạp/lưu
trữ, không cho phép truy xuất bộ nhớ không thẳng hàng, tập lệnh trực giao, file
thanh ghi lớn gồm 16x32-bit, chiều dài mã máy cố định là 32 bit để dễ giải mã và
thực hiện pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy. Cấu
trúc ARM có một số tính chất như sau:
- Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm giảm
việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc không có một bộ dự đoán
rẽ nhánh.
- Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ cần
sửa mã điều kiện
- Có một thanh ghi dịch 32-bit, có thể sử dụng với chức năng tính toán với hầu
hết các lệnh số học và việc tính toán địa chỉ.
- Có các kiểu định địa chỉ theo chỉ số rất mạnh

- Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất nhanh,
kèm theo cho phép chuyển từng nhóm thanh ghi.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
4

Hình 1.2: Cấu trúc vi điều khiển ARM
Điểm mạnh của bộ vi điều khiển ARM dùng tập lệnh RISC:
- Kích thước miếng bán dẫn nhỏ hơn, bộ xử lý đơn giản đòi hỏi ít transistor
hơn, do đó kích thước cần dùng nhỏ lại dành vùng diện tích trống để tăng các chức
năng như bộ nhớ cache, chức năng quản lý bộ nhớ vv…
- Thời gian phát triển một sản phẩm ngắn hơn (do kĩ thuật đơn giản)
- Cấu hình mạnh hơn: Khi ta đặt ra các chỉ lệnh phức tạp tuy nó gần gũi với
ngôn ngữ cấp cao, nhưng như thế vô tình cũng làm các chỉ lệnh khác phức tạp lên
và để thực thi một chỉ lệnh như vậy cần tốn nhiều chu kì xung nhịp. Trong khi đó
nếu dùng RISC chỉ mất một chu kì xung nhịp cho mỗi lệnh, khi ta phân nhỏ vấn đề
phức tạp thành các vấn đề đơn giản thì cách giải quyết sẽ tốt hơn.
- Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ có nhiều thanh
ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹ thuật ống dẫn liên tục và có hiệu quả
(các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng).
- Thời gian cần thiết để thiết kế bộ điều khiển là ít. Điều này góp phần làm
giảm chi phí thiết kế.
- Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà
ta thường gặp trong bộ điều khiển.
- Có một số ít lệnh (thông thường dưới 100 lệnh ).
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
5
- Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định
vị gián tiếp thông qua một thanh ghi).

- Có một số ít dạng lệnh (một hoặc hai)
- Các lệnh đều có cùng chiều dài.
- Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ.
- Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu kỳ giải mã các
vi lệnh làm cho thời gian thực hiện lệnh kéo dài.
- Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu
kỳ máy.
Lõi vi điều khiển ARM gồm các thành phần sau:
- Lõi xử lý ARM là một khối chức năng được kết nối bởi các bus dữ liệu, các
mũi tên thể hiện cho dòng chảy của dữ liệu, các đường thể hiện cho bus dữ liệu, các
ô biểu diễn trong hình là một khối hoạt động hoặc một vùng lưu trữ. Cấu hình này
cho thấy các dòng dữ liệu và các thành phần tạo nên một bộ xử lý ARM.
- Tập lệnh ARM nằm trong hai nguồn thanh ghi Rn và Rm, kết quả được trả về
thanh ghi đích Rd. Nguồn toán hạng được đọc từ thanh ghi đang sử dụng trên bus
nội bộ A và B tương ứng.
- Khối số học và logic (ALU: Arithmetic Logic) hay bộ nhân (MAC: Multiply
– Accumulate Unit) lấy các giá trị từ thanh ghi Rn và Rm từ bus A, B và tính toán
ra kết quả.
- Mô hình thanh ghi theo kiến trúc Registry file giao tiếp với bộ nhớ thông qua
các lệnh load – store và ALU để tính toán địa chỉ được lưu trong các thanh ghi.
- Incrementer: bộ gia tăng cho thanh ghi địa chỉ.
Instruction
decoder
Sign extend
Register file R0 – R15
Banrel shifter
MAC
ALU
Address register
Incrementer

Data
Address
`
Read
Write
R15
PC
Rn
RmA B
A
B
Acc
Rd
Result
N

Hình 1.3: Cấu trúc lõi ARM Cortex M0
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
6
1.3 Các dòng và các phiên bản của ARM
Để đáp ứng yêu cầu khắt khe và đa dạng của các hệ thống nhúng, bộ xử lý
ARM Cortex được chia thành 3 dòng, được biểu hiện bằng các ký tự sau tên Cortex
như dòng: A (Application), R (Real - time), M (Microcontroller).
ARM Cortex là một phiên bản khác với các phiên bản ARM thường hay được
ký hiệu bởi ARMXX. ARM Cortex không có tốc độ hoạt động hay hệ thống ngoại
vi nhất định, tùy thuộc vào nhà sản xuất phần cứng sẽ thiết kế hệ thống ngoại vi
khác nhau, tuy nhiên tất cả đều dùng chung nhân ARM Cortex và việc lập trình và
truy cập phần cứng phải tuân theo chuẩn CMSIS. Từ năm 1994 đến năm 2015 các
bộ lõi CortexA phát triển từ A0 đến A18, CortexR phát triển từ R0 đến R7,

CortexM phát triển từ M0 đến M7.
1.3.1 Dòng A(Application)
Bộ vi xử lý ARM Cortex A là bộ xử lý có hiệu suất cao cung cấp một loạt các
giải pháp cho các thiết bị thực hiện nhiệm vụ tính toán phức tạp, chẳng hạn như lưu
trữ một nền tảng phong phú hệ điều hành (OS), và hỗ trợ nhiều ứng dụng phần
mềm. Tất cả các bộ xử lý Cortex-A đặc biệt cung cấp hiệu suất 32 bit cho máy tính
cao cấp, với bộ vi xử lý Cortex-A72 mới và cả Cortex-A57 và Cortex-A53 bộ xử lý
kết hợp cung cấp hiệu suất 32-bit và 64-bit cho thế hệ điện thoại di động, mạng và
máy chủ sản phẩm. Các bộ vi xử lý có sẵn trong đơn lõi và đa lõi cung cấp lên đến
bốn đơn vị xử lý với khả năng tích hợp các khối xử lý đa phương tiện NEON. Hỗ
trợ các tập lệnh ARM, Thumb và Thumb-2. Ứng dụng của dòng A bao gồm: điện
thoại thông minh, netbook, eReaders, TV kỹ thuật số, home Gateway, máy chủ và
mạng.

Hình 1.4: Các phiên bản ARM Cortex – A
1.3.2 Dòng R(Real Time)
Bộ vi xử lý Cortex R có hiệu suất vượt trội cho các ứng dụng thời gian thực,
thời gian xử lý nhúng đã được phát triển cho các ứng dụng nhúng thời gian thực,
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
7
nhu cầu về điện năng thấp, ngắt được cân bằng với hiệu suất vượt trội và khả năng
tương thích mạnh mẽ với nền tảng hiện tại. Ứng dụng của dòng R bao gồm: hệ
thống phanh ô tô, các giải pháp hệ thống truyền lực, bộ ưu trữ khối lượng,
Networking và in ấn.
Bộ xử lý Cortex R dành cho các hệ thống đòi hỏi khắc khe về tính thời gian
thực. Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2. Các bộ vi xử lý Cortex R gồm
có Cortex-R4, Cortex-R5, Cortex-R7.

Hình 1.5: Các phiên bản ARM Cortex – R

1.3.3 Dòng M(Microcontroller)
Bộ vi xử lý ARM Cortex M tiêu thụ điện năng thấp phù hợp với các ứng dụng
vi điều khiển xác định và có khả năng mở rộng, tương thích, hiệu quả, dễ sử dụng.
Bộ vi xử lý ARM Cortex M được thiết kế để giúp các nhà phát triển đáp ứng nhu
cầu về các ứng dụng nhúng thông minh và kết nối. ARM Cortex M cung cấp nhiều
tính năng với chi phí thấp hơn, tăng khả năng kết nối, sử dụng lại mã tốt hơn và cải
thiện hiệu quả năng lượng. Ứng dụng của dòng M bao gồm: vi điều khiển, thiết bị
tín hiệu hỗn hợp, cảm biến thông minh, thiết bị điện tử ô tô.
Bộ xử lý Cortex M Chỉ hỗ trợ tập lệnh Thumb-2. Các bộ vi xử lý Cortex M
gồm có Cortex M0, Cortex M0+, Cortex M3, Cortex M4, Cortex M7.

Hình 1.6: Các phiên bản ARM Cortex – M
1.4 Các hãng sản xuất dòng chip ARM
Không giống như các tập đoàn sản xuất vi xử lý khác như AMD, Intel,
Motorola hay Hitachi, hãng ARM chỉ thiết kế và bán các bản thiết kế của họ và
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
8
không sản xuất các vi mạch CPU hoàn chỉnh. Do vậy, có khoảng vài chục hãng sản
xuất các bộ xử lý dựa trên thiết kế của ARM. Sau khi cấp phép cho hơn 175 đối tác
ARM được hưởng lợi từ các công cụ của bên thứ ba. Sử dụng một bộ xử lý tiêu
chuẩn trong một thiết kế cho phép các đối tác ARM tạo ra các thiết bị với một cơ sở
nhất quán cho phép họ tập trung vào việc tạo ra và phát tiển các thiết bị cao cấp
hơn.

Hình 1.7: Các hãng sản xuất bộ vi xử lý dựa trên thiết kế của ARM
Một số hãng sản xuất dòng chíp ARM dựa trên thiết kế của ARM sau khi được
cấp phép như NUVOTON, SAMSUNG, Atmel, TOSHIBA, Actel…
1.5 Kết luận chƣơng 1
ARM là dòng chíp 32 bit có nhiều tính năng hiện đại, chíp ARM đáp ứng được

nhiều yêu cầu khắt khe và đa dạng của các hệ thống nhúng. Trải qua nhiều năm
nghiên cứu và phát triển và với những ưu thế sẵn có của mình ARM đang ngày càng
khẳng định vị trí của mình cũng như dần thay thế các dòng chíp khác.
Nhờ sự nổi trội về thị phần đã thúc đẩy ARM liên tục được phát triển và cho ra
nhiều phiên bản mới. Những thành công quan trọng trong việc phát triển ARM:
- Giới thiệu ý tưởng về định dạng các tập lệnh được nén lại (Thumb) cho phép
tiết kiệm năng lượng và giảm giá thành ở những hệ thống nhỏ.
- Giới thiệu về các họ điều khiển ARM.
- Phát triển môi trường làm việc ảo của ARM trên máy tính.
- Các ứng dụng cho hệ thống nhúng dựa trên lõi 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 và cách thiết kế bộ vi xử lý hiện
đại được sử dụng trong ARM, 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. Vì vậy lõi xử lý ARM được sử dụng rộng rãi trong các hệ
thống phức tạp.
ARM được dùng khá phổ biến trong các ứng dụng nhúng và các ứng dụng cầm
tay nhờ vào đặc tính ưu việt là ít tiêu thụ điện năng. Hầu hết máy điện thoại di
động và các thiết bị cầm tay hiện nay đều có bộ xử lý trung tâm là vi xử lý ARM.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
9
CHƢƠNG 2
VI ĐIỀU KHIỂN ARM LÕI CORTEX M0 CỦA NUVOTON
Nuvoton là hãng sản xuất dòng chíp vi điều khiển 32 bit Cortex M0 dựa trên
thiết kế của ARM. Vi điều khiển Cortex M0 lõi ARM được thiết kế nhúng tối ưu
cho các ứng dụng vi xử lý MCU, dòng chíp này 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.
2.1 Giới thiệu về hãng Nuvoton
Tập đoàn công nghệ Nuvoton là một công ty bán dẫn của đài loan được thành
lập năm 2008 tách ra từ Tập đoàn Điện tử Winbond một hãng điện tử bán dẫn đứng

hàng đầu thế giới có trụ sở chính tại đài loan. Nuvoton vừa là nhà sản xuất IC nhãn
hiệu Nuvoton vừa là nhà cung cấp dịch vụ sản xuất IC bán dẫn. Hãng này có 3 dòng
chip vi điều khiển (MCU) 4-bit, 8-bit và 32-bit (ARM Cortex). Nuvoton đảm nhiệm
việc mở rộng kinh doanh dòng sản phẩm mạch tích hợp logic máy tính của
Winbond, lõi công nghệ, các đối tác và khách hàng… trước khi tách ra cũng như
tiếp tục đẩy mạnh sáng tạo sản phẩm và để thấu hiểu nhu cầu thị trường ứng dụng
thiết bị đầu cuối, và cung cấp dịch vụ tốt hơn cho khách hàng của hãng dựa trên nền
tảng hiện có.
Nuvoton nắm giữ một thị phần lớn về các bộ điều khiển I/O của bo mạch chủ
khi mà Nuvoton thừa hưởng nhiều năm kinh nghiệm của Winbond về lĩnh vực liên
quan đến các IC logic máy tính. Hãng tiếp tục công bố thêm các sản phẩm, như là
TPM (Trusted Platform Module – Modul Nền tảng đã được Xác thực) và các bộ
điều khiển Sideshow v.v. để đáp ứng các yêu cầu ứng dụng đa dạng của các hệ
thống máy tính. Các IC dân dụng của hãng tập trung vào thiết kế sản phẩm IC thanh
nhạc (Speech ICs) và các IC đa phương tiện (Multimedia). Hãng Nuvoton đã giành
được sự tin tưởng của khách hàng bằng cách thực hiện khả năng thiết kế sâu sắc.
Nhằm phù hợp với giá trị của Nuvoton về mối quan hệ lâu dài với các đối tác
và khách hàng, Nuvoton đã thành lập các công ty con tại Mỹ, Trung Quốc và Israel
để tăng cường hỗ trợ cho các khách hàng khu vực và quản lý toàn cầu. Để cải thiện
tỷ lệ năng suất, quản lý chuỗi cung ứng, và sự hài lòng của khách hàng, Nuvoton đã
thực hiện một tiêu chuẩn cứng rắn về kiểm soát chu trình sản xuất và hệ thống kiểm
soát chất lượng.
Năm 2012, Novoton đã chỉ định công ty TULA làm nhà phân phối ủy quyền
cung cấp các sản phẩm và giải pháp của hãng tại thị trường Việt Nam.
2.2 Vi điều khiển ARM Cortex – M0 của hãng Nuvoton
Hiện nay, dòng chip ARM được phát triển tới lõi MCU 64 bit Cortex - M4 với
nhiều tính năng nổi bật. Hãng Nuvoton bỏ qua bước phát triển cho dòng CortexM3
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
10

đi đến phát triển dòng CortexM4 để phù hợp với nhu cầu của các công nghệ tích
hợp yêu cầu công nghệ cao bây giờ. Hãng đã thiết kế thành công chip MCU lõi
ARM 32-bit đầu tiên từ năm 2000. Đến năm 2009 hãng cho ra đời sản phẩm chip
lõi ARM Cortex-M0 đầu tiên và nhanh chóng chiếm vị trí số 1 thế giới và châu á về
doanh số bán chip MCU.
Dòng 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 này. 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. Nó đượ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.
Dòng chíp MCU - 32 bit lõi ARM Cortex M0 là mẫu chip 32 bit có khả năng
tiêu thụ chỉ 9 μA/MHz, thấp hơn khoảng 30% so với các chip truyền thống 8/16 bit
sử dụng. Mặc dù điện năng sử dụng thấp hơn nhưng hiệu năng làm việc của chip
cao hơn so với các chip đối thủ. Mục tiêu của ARM là thu hút những nhà cung cấp
thiết bị cần nâng cấp sản phẩm sử dụng chip 8/16 bit di chuyển sang sử dụng chip
32 bit mới.
ARM Cortex M0 được cho là phù hợp cho một loạt các thiết bị ứng dụng trong
công nghiệp lẫn tiêu dùng, từ cảm biến ánh sáng phòng đến cảm biến điều khiển
động cơ…
Hiện tại, Freescale và NXP Semiconductor đã kí kết với ARM trong việc sử
dụng Cortex M0, trong đó NXP Semiconductor là hãng sản xuất đã lựa chọn chip
ARM Cortex M0 cũng sử dụng điện năng thấp cùng hiệu suất làm việc cao so với
các chip 8/16 bit.
2.3 Đặc điểm của dòng chíp MCU – 32 bit lõi ARM Cotex M0
Dòng vi điều khiển ARM Cortex-M được thiết kế nhúng tối ưu hóa cho các
ứng dụng vi xử lý MCU. Dòng ARM Cortex-M0 là dòng vi điều khiển lõi ARM có
kích thước rất nhỏ, tiêu thụ điện năng thấp và có kiến trúc được sắp xếp hợp lý
tương thích với việc sử dụng tools nạp của các hãng khác để phát triển các ứng
dụng.


Hình 2.1: Khối điều khiển chức năng của Cortex M0
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
11
Các bộ vi điều khiển ARM Cortex -M0 có cấu hình đa tầng, 32-bit xử lý RISC.
Nó có một giao diện AHB-Lite bao gồm một thành phần NVIC và chức năng tùy
chọn gỡ lỗi phần cứng. Các bộ vi điều khiển có thể thực thi mã Thumb và tương
thích với bộ xử lý ARM Cortex-M khác, hỗ trợ hai chế độ chế độ Thread và chế độ
Handler. Chế độ Handler được nhập như là kết quả của một ngoại vi. Một ngoại vi
trả lại có thể được dùng trong chế độ Handler. Chế độ Thread được nhập vào Reset
và có thể được nhập như là một kết quả của một sự trả lại ngoại vi.
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.
Đặc điểm lõi vi điều khiển ARM Cortex M0:
- ARM Cortex -M0 lõi chạy lên đến 50 MHz
- Một hệ thống timer 24-bit
- Hỗ trợ chế độ ngủ công suất thấp
- Chu kỳ đơn 32-bit hệ số nhân phần cứng
- NVIC cho 32 ngắt đầu vào, với 4 mức ưu tiên
- Dây nối tiếp gỡ lỗi hỗ trợ với 2 watchpoints / 4 breakpoin
Hãng Nuvoton sản xuất 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ú với kích
thước rất nhỏ, tiêu thụ điện năng thấp nên dễ dàng phát triển các ứng dụng và tích
hợp các đặc tính kỹ thuật hiện đại như:
- 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 nhiều 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ờ
phần tử 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.
- Cung cấp các ứng dụng mạnh mẽ và khả năng kết nối với nhiều giao diện
ngoại vi.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
12

Hình 2.2: Mức độ tiêu thụ điện năng của các dòng chíp MCU-32 Bit
Mặc dù cung cấp nhiều tính năng hiện đại, tích hợp nhiều khả năng giao tiếp
ngoại vi, có khả năng tích hợp khối phát nhạc (Voice Unit) trên chip, tiêu thụ điện
năng thấp nhưng dòng chip này vẫn có giá cả khá hợp lý cho người dùng lựa chọn
để phát triển thay thế các dòng chip khác.
2.4 Quá trình phát triển các dòng chíp 32 bit lõi ARM Cotex M0 của Nuvoton

Hình 2.3: Quá trình phát triển của NuMiCro
- Năm 2009: bắt đầu thiết kế mẫu các dòng NUC100, NUC120, NUC130,
NUC140 với các ứng dụng cơ bản như USB 2.0, CAN 2.0B, 12 bit chuyển đổi
ADC.
- Năm 2010: nâng cấp dòng chip MUC 8051 lên MUC 32-bit cho các ứng
dụng truyền thông liên lạc và ứng dụng cho USB.
- Năm 2011: ra đời dòng mới Mini51 là chip MCU có nguồn điện áp cực thấp
với màn hình LCD.
- Năm 2012: phát triển thêm dòng động cơ, chip MCU mật độ cao và MCU

điều khiển Ethernet.
- Năm 2013:phát triển thêm các dòng chip nhạc MCU ISD có tích hợp
VoiceIC trên chip…
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
13
2.5 Các tính năng nổi bật có trong các dòng ARM Cortex-M0
Bên cạnh các dòng 32 bit như M051(64K), NUC100(128K), NUC140(128K),
NUC470(128K) một dòng mới là NuMicro M051 gồm M052/54/58/516 để đáp
ứng nhu cầu vi điều khiển 8bit/16bit của khách hàng toàn cầu với hiệu suất vi điều
khiển 32 bit cao hơn.

Hình 2.4: Biểu đồ phân loại dòng chip 32-bit lõi ARM Cortex-M0
Trong dòng chíp ARM Cortex M0 mỗi chíp sẽ có những tài nguyên và tính
năng nổi bật khác nhau để đáp ứng từng ứng dụng và nhu cầu của người dùng.
Ngoài các chức năng cơ bản của vi điều khiển, ARM Cortex M0 còn tích hợp thêm
một số chức năng kết nối ngoại vi như CAN, LIN, USB…

Hình 2.5: Tính năng nổi bật có trong các dòng ARM Cortex-M0
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
14
2.5.1 Dòng chíp NuMicro Mini51

Hình 2.6: Các khối chức năng của dòng NuMicro Mini51
Dòng NuMicro Mini51 cung cấp một số tính năng sau:
- 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.
- 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 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 tinh thể thạch anh bên ngoài 32,768K,
hỗ trợ khả năng nạp ISP và ICP.
Dòng Mini51 được ứ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.
2.5.2 Dòng chíp M051
Các tính năng cơ bản của dòng M051 tương đương với vi xử lý 8051 của hãng
Atmel nhưng được sử dụng lõi ARM Cortex – M0 cho nên tốc độ xử lý nhanh hơn,
bộ nhớ nội lớn hơn.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
15

Hình 2.7: Tính năng các dòng M051 Base
Dòng M051 cung cấp một số tính năng sau:
- Tần số hoạt động lên tới 50MHz, hỗ trợ 32 ngắt với 4 mức ưu tiên.
- Dải điện áp hoạt động rộng từ 2,5V~5,5V, chống nhiễu tiếng ồn tốt.
- Xung điều khiển 10K đến 22M dao động nội và 12 M dao động thạch anh.
- Nạp ICP/ISP (USB và UART).
- 64K bytes Flash EPROM, 4K bytes SRAM, 4KB ISP nạp flash.
- Giao tiếp thiết bị ngoại vi: 12bit ADC, UART , SPI, I2C.
- Kết nối thiết bị ngoại vi USB 2.0, CAN, LIN…
- Các khối chức năng: PWM, RTC, bộ ngắt nhận dạng Brown-out, 4 port
GPIO, PDMA và 4 bộ Timer 32 bit.

2.5.3 Dòng chíp NUC100

Hình 2.8: Phân chia cấu hình cho dòng NUC100
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
16
Dòng NUC100 cung cấp một số tính năng sau:
- Lõi ARM Cortex-M0 chạy lên đến 50MHz, một bộ đếm thời gian hệ thống 24
bit, chế độ ngủ 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 nhúng SRAM
- Dao động thạch anh nội 22MHz.
- 32,768 KHz thạch anh bên 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.
2.5.4 Dòng NuMicro Nano100

Hình 2.9: Các khối chức năng của dòng NuMicro Nano100
Dòng 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.
Dòng Nano100 cung cấp một số tính năng sau:

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.
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
17
- 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.
- 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.
2.5.5 Dòng NuMiCro NUC130/140

Hình 2.10: Các khối chức năng của dòng NuMiCro NUC130/140
NuMiCro NUC130/140 cung cấp một số tính năng sau:
- NUC130/140 là vi điều khiển 32-bit lõi ARM Cortex-M0, trình đơn phần cứng
32 bit, chạy lên tới 50MHz.
- Có 4 mức ưu tiên ngắt đầu vào, có 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.

- Giao tiếp thiết bị ngoại vi: 8 kênh 12bit 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…
Khoa: CNKT Điện tử - Viễn thông Lớp: ĐH Điện tử - K3
Đồ án tốt nghiệp SV: Nguyễn Tâm Phúc
18
- Thiết bị ngoại vi có tính năng phong phú: PWM, RTC, bộ ngắt nhận dạng
Brown-out, 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 tiềm nă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.
2.5.6 Dòng chip MCU tích hợp sẵn Voice IC trong chip: ISD9160
Ngoài các dòng chíp nêu trên hãng Nuvoton còn phát triển dòng chip MCU lõi
ARM Cortex-M0 có tích hợp sẵn Voice IC trên chip. Dòng chíp nhạc này tiêu thụ
điện năng thấp và có giá tương đương với các dòng chip VoiceIC đơn của các hãng
khác hiện nay. Đặc biệt là dòng chip ISD9160 là dòng chip MCU lõi ARM Cortex-
M0 có tích hợp VoiceIC trên chip và hoạt động tiêu thụ điện năng thấp với sáu chế
độ hoạt động tiết kiệm năng lượng khác nhau.

Hình 2.11: Sự phát triển các dòng chip nhạc của Nuvoton
Đây là dòng chip cung cấp 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.
Dòng ISD9160 là dòng chip nhạc lõi xử lý Cortex-M0 cung cấp một giải
pháp hiệu quả mạnh mẽ và chi phí thấp cho các ứng dụng về âm thanh/giọng nói.
Kiến trúc tích hợp lõi vi xử lý 32-bit Cortex-M0, điện áp hoạt động rộng từ

×