Thiết Kế Kit Thực Hành Vi Điều Khiển ARM – Cortex M0

Ứ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.

pdf81 trang | Chia sẻ: hongden | Lượt xem: 2840 | Lượt tải: 1download
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