Ứ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.
81 trang |
Chia sẻ: hongden | Lượt xem: 2840 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Thiết Kế Kit Thực Hành Vi Điều Khiển ARM – Cortex M0, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trê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
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