1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Thiết kế Kit thực hành vi điều khiển ARM – Cortex M0

81 385 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 81
Dung lượng 5,17 MB

Nội dung

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ử đã ch

Trang 1

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

Trang 2

DANH MỤC TỪ VIẾT TẮ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

kết khu vực

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

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

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

LIN Local Interconnect Network Mạng kết nối khu vực

NVIC Nested Vectored Interrupt Controller Vector điều khiển ngắt

lồng nhau

Trang 3

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

RISC Reduced Instructions Set Computer Tập lệnh máy tính đơn

giản hóa

nhiên

SPI Serial Peripheral Interface Giao tiếp ngoại vi nối tiếp

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

xác thực

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

 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

- 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

Trang 11

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 )

Trang 12

- 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

R15 PC

A

B Acc

Trang 13

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,

Trang 14

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à

Trang 15

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

Trang 16

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

Trang 17

đ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

Trang 18

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

Trang 19

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…

Trang 20

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

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

- 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…

Trang 25

- 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ừ

Trang 26

2.5V~5.5V, giao diện âm thanh kỹ thuật số I2S, điều khiển ra loa công suất 1W, bộ nhớ dữ liệu flash, chức năng GPIO được thiết kế để cung cấp hiệu quả chi phí âm thanh chất lượng cao cho thị trường tiêu dùng và công nghiệp Các ISD9160 cung cấp các giải thuật nén cao hơn 50% so với ADPCM, dẫn đến giảm kích thước bộ nhớ trong khi cung cấp một chất lượng âm thanh cao Chúng có thể sử dụng bộ nhớ flash bên ngoài để mở rộng thời gian lưu trữ âm thanh

Dòng ISD9160 cung cấp một số tính năng sau:

- 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

Nuvoton ISD9160 là một loại chip phát nhạc dựa trên bộ vi xử lý Cortex-M0 ISD9160 tích hợp sẵn 6 chế độ hoạt động tiết kiệm năng lượng, chức năng cấu hình các mô-đun nội bộ làm cho ISD9160 là một nền tảng tuyệt vời cho việc thực hiện giải pháp HMI điện năng thấp ISD9160 mang lại tính tiết kiệm điện năng hơn hẳn

so với các thiết bị lõi Cortex-M0 bình thường Nó có thể chạy ở một trong 6 chế độ tiết kiệm năng lượng từ chế độ ngủ sâu nhất đến chế độ hoàn toàn chủ động Hình sau mô tả các mô-đun chức năng khác nhau trong 6 chế độ tiết kiệm năng lượng:

Trang 27

Hình 2.12: Mô-đun mô tả các chức năng trong chế độ tiết kiệm năng lượng

- Trong chế độ DPD chỉ có dao động 16Khz và pin báo thức hoạt động Chỉ có một sự kiện sử dụng dao động thời gian 16 KHz hoặc một quá trình chuyển đổi từ cao xuống thấp trên thiết bị

- Trong chế độ năng lượng dự phòng (SPD) các vòng vào ra (I/O), đồng hồ thời gian thực (RTC), dao động 32 KHz, 256 bytes SB RAM và các bộ nhận dạng sóng Brown-out sẵn sàng hoạt động

- Trong chế độ (DDS) và chế độ (DS) tất cả các trạng thái logic trong Cortex M0 được bảo toàn Trong khi chạy với tốc độ cao 50MHz vẫn có thể chuyển sang chế độ này, các chức năng PWM vẫn có thể sử dụng bằng các nguồn đồng hồ thấp hơn Sự khác biệt duy nhất giữa chế độ DDS so với chế độ DS là từ 5V xuống 3.3V thì LDO tắt, làm cho 3,3V GPIOA không sẵn sàng

- Trong chế độ ngủ, tốc độ nguồn đồng hồ vẫn được duy trì ở mức cao 50MHz Bất kỳ chức năng nào cần nguồn xung đồng hồ cao có thể được kích hoạt, chẳng hạn như kỹ thuật điều chế độ rộng xung, bộ chuyển đổi tương tự số và truy cập bộ nhớ trực tiếp từ ngoại vi

Tất cả các chế độ ngủ tiết kiệm năng lượng có thể được nhập bằng cách thực hiện các hướng dẫn WFI/WFE Thoát khỏi các chế độ DDS và SPD sẽ thực hiện thiết lập lại vector Khi thoát ra khỏi tất cả các chế độ này thì CPU tiếp tục thực hiện các chỉ thị từ điểm bắt đầu dừng/ngủ

Trang 28

2.6 Tính năng của ARM Cortex-M0

- 512 trang byte xóa cho flash

- Địa chỉ cấu hình dữ liệu flash và kích thước cho hệ thống 128KB, cố định 4KB dữ liệu flash, 32KB và 64KB hệ thống

- Hỗ trợ 2 dây ICP cập nhật thông qua SWD giao diện ICE

- Hỗ trợ nhanh chóng chế độ lập trình song song bởi lập trình viên bên ngoài

 Bộ nhớ SRAM

- 4K / 8K / 16K byte SRAM nhúng

- Hỗ trợ chế độ PDMA

 PDMA (Peripheral DMA)

- Hỗ trợ 9 kênh PDMA để truyền dữ liệu tự động giữa SRAM và thiết bị ngoại

vi

 Điều khiển đồng hồ

Trang 29

- Lựa chọn linh hoạt cho các ứng dụng khác nhau

- Tích hợp 22,1184 MHz tốc độ cao OSC cho hệ thống hoạt động

- Được xây dựng trong 10 KHz tốc độ thấp OSC cho Watchdog Timer và hoạt động Wake-up

- Hỗ trợ một PLL, lên đến 50 MHz, cho hệ thống hoạt động hiệu suất cao

- Thạch anh ngoài 4~24 MHz đầu vào cho USB và vận hành thời gian chính xác

- Thạch anh ngoài tốc độ thấp 32,768 kHz đầu vào cho chức năng RTC và hệ thống điện năng thấp hoạt động

 GPIO

- GPIO Có 4 chế độ vào/ra:

- Quasi bi-direction : chế độ 2 chiều

- Push-Pull output : đầu ra kéo-đẩy

- Open_Drain output : đầu ra cực máng hở

- Input only with high impendence : đầu vào trở kháng cao

- Lựa chọn đầu vào TLL hoặc Schmitt trigger

- Các chân I/O có thể cấu hình như một nguồn ngắt(trừ chân PB14/INT0 và PB15/INT1): Ngắt sườn, ngắt mức

 Timer

- Hỗ trợ 4 bộ timer 32-bit TIMER0 ~ TIMER3

- Có 4 Nguồn xung dao động cho timer

- Mỗi Timer có 1 bộ chia tần 8 bit(8 bit prescale) 1 bộ đếm tăng 24 bit

- Hỗ trợ chức năng đếm sự kiện

- 1 thanh ghi so sánh 24 bit(TCMPR[23:0])

- 1 thanh ghi 24 bit đọc giá trị định thời của Timer(TDR[23:0])

- Có 4 chế độ: One shot, Periodic, Toggle, Continuous

Hình 2.14: Nguồn xung của timer

Trang 30

Hình 2.15: Sơ đồ khối của Timer

 Watchdog Timer

- Bộ đếm 18 bit

- Có 8 lựa chọn Timer –out

- Hỗ trợ các chức năng: WDT interrupt, WDT reset, WDT wake - up

Hình 2.16: Nguồn xung của Watchdog Timer

Hình 2.17: Sơ đồ khối của Watchdog Timer

Trang 31

 RTC

- Phần mềm hỗ trợ bù lại bằng cách thiết lập tần số bù thanh ghi (FCR)

- Hỗ trợ đếm RTC (giây, phút, giờ) và lịch truy cập (ngày, tháng, năm)

- Hỗ trợ thanh ghi báo thức (giây, phút, giờ, ngày, tháng, năm)

- Lựa chọn chế độ 12 giờ hoặc 24 giờ

- Tự động nhận dạng năm nhuận

- Hỗ trợ định kỳ thời gian đánh dấu ngắt với 8 lựa chọn thời gian 1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2 và 1 giây

- Hỗ trợ chức năng báo thức

 PWM / Capture bộ tạo nguồn PWM(PWM Generator), mỗi bộ hỗ trợ:

- 1 bộ chia 8 bit Prescaler

- 1 bộ chia Clock Divider

- bộ PWM-timer cho 3 đầu ra:

· A 16-bit PWM down-counter

· A 16-bit PWM reload value register (CNR)

· A 16-bit PWM compare register (CMR)

- 1 bộ tạo thời gian chết dead-zone đầu ra PWM

 Hỗ trợ tới 8 kênh PWM hoặc 4 cặp PWM

Trang 32

Hình 2.19: Sơ đồ khối chức năng PWM

 UART

- Có ba bộ điều khiển UART

- Cổng UART điều khiển luồng (TXD, RXD, CTS và RTS)

- UART0 với 64-byte FIFO cho tốc độ cao

- UART1 / 2 (tùy chọn) với 16-byte FIFO cho thiết bị tiêu chuẩn

- Hỗ trợ IrDA (SIR) và chức năng LIN

- Hỗ trợ RS-485 chế độ 9-bit và điều khiển hướng

- Máy phát điện Programmable baud-rate lên đến 1/16 hệ thống đồng hồ

- Hỗ trợ chế độ PDMA

Hình 2.20: Nguồn xung vào khối UART

Trang 33

Hình 2.21: Sơ đồ khối chức năng của UART

 SPI

- Hỗ trợ lên tới4 bộ SPI

- Hỗ trợ cả2 chế độ Master và Slave

- Truyền nhận nối tiếp song công hoàn toàn(Full duplex synchronous serial)

- Truyền đồng thời1 bít hoặc2 bít

- Độ dài dữ liệu truyền từ 8-32 bít

- Có thể cấu hình chế độ truyền bít có trọng số cao nhất trước hoặc bít có trọng

số thấp nhất trước

- Hỗ trợ 4 chế độ hoạt động: mode 0~3

- Support byte reoder mode

- Support byte or word suspped mode

- Support three write, no slave select signal, bi-direction interface

- Hỗ trợ 2 kênh vào/ra dữ liệu

- Hỗ trợ 2 kênh DMA: một kênh truyền, 1 kênh nhận

- Auto Slave Select

Hình 2.22: Nguồn xung vào SPI

Trang 34

Hình 2.23: Sơ đồ khối chức năng SPI

 I2C

- Lên đến hai bộ Thiết bị I2C

- Chế độ Master / Slave

- Truyền dữ liệu hai chiều giữa Master và Slave

- Đồng bộ hóa đồng hồ nối tiếp, cho phép các thiết bị với tốc độ bit khác nhau

để giao tiếp thông qua một bus nối tiếp

- Đồng bộ hóa đồng hồ nối tiếp có thể được sử dụng như một cơ chế bắt tay để tạm dừng và tiếp tục chuyển tiếp

- Đồng hồ có thể lập trình cho phép kiểm soát tốc độ linh hoạt

- Hỗ trợ nhiều loại nhận dạng địa chỉ

Hình 2.24: Nguồn xung vào I2C

 I2S

- Giao diện với CODEC âm thanh bên ngoài

- Hoạt động như chế độ Master hay Slave

Trang 35

- Khả năng xử lý kích thước từ 8-, 16-, 24- và 32-bit đơn và âm thanh stereo dữ liệu được hỗ trợ

- I2S và MSB xử lý dữ liệu định dạng được hỗ trợ

- Bộ đệm FIFO dữ liệu được cung cấp, một cho truyền và một cho nhận

- Tạo ra các yêu cầu ngắt khi nồng độ đệm qua ranh giới lập trình

- Hỗ trợ hai yêu cầu DMA, một cho truyền và một cho nhận

 CAN 2.0

- Hỗ trợ giao thức CAN phiên bản 2.0 phần A và B

- Tốc độ bit lên đến 1M bit/s

- 32 Tin nhắn Objects

- Mỗi tin nhắn Object có mặt nạ dạng won của mình

- Chế độ FIFO lập trình (nối của tin nhắn Object)

- Ngắt Maskable

- Vô hiệu hóa chế độ tự động truyền cho thời gian kích hoạt các ứng dụng CAN

- Hỗ trợ chức năng đánh thức

 Thiết bị điều khiển PS/2

- Tổ chức đế giao tiếp và yêu cầu để gửi phát hiện

- Tiếp nhận phát hiện lỗi khung

- Lập trình 1-16 byte truyền đệm để giảm bớt sự can thiệp của CPU

- Đệm đôi cho tiếp nhận dữ liệu

- S/W ghi đè Bus

 Device 2.0 Full-Speed USB

- Một tập hợp các thiết bị USB 2.0 FS 12Mbps

- Thu phát USB trên chíp

- Cung cấp 1 ngắt nguồn với 4 ngắt sự kiện

- Hỗ trợ kiểm soát, số lượng lớn In / Out, ngắt và điều khiển đồng bộ

- Tự tạm dừng chức năng báo hiệu khi không có bus tín hiệu với 3 ms

- Cung cấp 6 thiết bị đầu cuối lập trình

- Bao gồm 512 Bytes SRAM nội bộ đệm USB

- Cung cấp dịch vụ báo thức khả năng điều khiển từ xa

Trang 36

Hình 2.25: Sơ đồ khối điều khiển USB2.0

 EBI (giao diện bus ngoại) hỗ trợ (100-pin và 64-pin Package Only)

- Bể không gian: 64KB ở chế độ 8-bit hoặc 128KB ở chế độ 16-bit

- Hỗ trợ 8/16-bit chiều rộng dữ liệu

- Hỗ trợ byte ghi trong chế độ rộng dữ liệu 16-bit

 ADC

- Điện áp đầu vào Analog: 0~Vref(Tối đa = 5V)

- Độ phân giải 12 bít

- Hỗ trợ tới 8 kênh analog đơn hoặc 4 kênh analog vi sai

- Tần số hoạt động tối đa = 16Mhz

- Tốc độ chuyển đổi tối đa: 600Khz ( ~1.67 us)

- Có 3 chế độ hoạt động:

· Single mode: chuyển đổi ADC 1 lần cho 1 kênh cụ thể(kênh thấp nhất)

· Single-cycle mode: chuyển đổi ADC 1 lần tất cả các kênh được bật, từ kênh thấp đến cao

· Continuous scan mode: chuyển đổi liên tục các kênh cho đến khi điều khiển dừng chuyển đổi ADC

- Quá trình chuyển đổi ACD có thể được kích hoạt từ:

· Phần mềm( Software trigger)

· Chân điều khiển (STADC pin)

- Kênh vào kênh 7 (AIN7) có thể chọ từ:

· Điện áp Analog từ ADC7

· Điện áp bandgap của MCU (VBG)

· Đầu ra cảm biến nhiệt bên trong của MCU (VTEMP)

- Hỗ trợ chức năng DMA

Trang 37

Hình 2.26: Nguồn xung vào khối ADC

Hình 2.27: Sơ đồ khối chức năng ADC

 Analog Comparator

- Lên đến hai bộ so sánh tương tự

- Đầu vào bên ngoài hoặc lựa chọn điện áp bandgap nội bộ tại nút âm

- Ngắt khi so sánh kết quả thay đổi

Trang 38

- Cấp điện áp ngưỡng: 2.0 V

- Nhiệt độ hoạt động: -400~ 850

2.7 Công cụ hỗ trợ phát triển các ứng dụng trên chíp ARM Cortex M0

Công cụ hỗ trợ phát triển các ứng dụng trên chip ARM Cortex rất đa dạng:

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

- Mã nguồn mẫu (demo): cho dòng chip ARM Cortex-M0 của Nuvoton

- Các lưu ý ứng dụng: cho ứng dụng chip ARM Cortex–M0 của Nuvoton

- Tài liệu hướng dẫn: trên trang web của các nhà phân phối của hãng Nuvoton

Hình 2.28: Công cụ phát triển của hãng

Hỗ trợ phần mềm: KEIL RVMDK, IAR EWARM, Nu Tiny-SDK, thư viện, Driver, các ví dụ mã code, hướng dẫn kỹ thuật và các video hướng dẫn được đăng đầy đủ trên trang web của hãng

Hình 2.29: Công cụ phát triển phần mềm

Trang 39

Các bo mạch phát triển này có kèm theo mã nguồn và file thiết kế phần cứng (schematic, layout)

Hình 2.30: Các board dùng cho học tập nghiên cứu

- Nu-LB-M051: Kit dung cho học tập bao gồm Nu-LB-M0516, board Nu-Link

ME, cáp USB, đĩa CD NuMicro Family; hỗ trợ thiết bị M052/54/58/0516

- LB-Mini51: Kit dung cho học tập bao gồm LB-Mini51, board Link-ME, cáp USB, đĩa CD NuMicro Family; hỗ trợ thiết bị Mini51/52/54

- Nu-LB-NUC140: Kit dùng cho học tập bao gồm Nu-LB-NUC140, board Nu-Link-ME, cáp USB, đĩa CD NuMicro Family, hỗ trợ chíp NUC100/120/130/140 Đây là các Kit được chế tạo bởi Nuvoton, có các ví dụ mã nguồn mẫu và được

Nu-hỗ trợ bởi các môi trường phát triển IAR EWARM, Keil RVMDK, CooCox CoIDE Kit Nu-LB-NUC140 này chính là bo mạch mà hãng Nuvoton đã cấp cho các trường đại học công nghệ của Việt Nam trong chương trình hợp tác đào tạo Academy của hãng trên toàn thế giới

2.8 Các ứng dụng của dòng chíp MCU – 32 bit lõi Cotex M0

Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xử lý Xscale của Intel

Trang 40

Hình 2.31: Các ứng dụng của dòng chíp MCU – 32 bit lõi Cotex M0

2.9 Kết luận chương 2

Dòng chíp MCU 32-bit lõi ARM Cortex-M0 của hãng Nuvoton đã tạo ra sự đột phá trong nghành công nghiệp điện tử bởi sự đa dạng về chủng loại, cấu hình đa dạng, mạnh mẽ, đáp ứng công năng và chất lượng, giá thành hợp lý Dòng chíp ARM Cortex-M0 của hãng Nuvoton có các công cụ, tài nguyên phất triển rất đầy

đủ, hoàn thiện và dễ dùng, dễ dàng phát triển các ứng dụng

Ngày đăng: 18/05/2017, 14:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w