ĐỒ ÁN CUỐI KỲ ĐỀ TÀI: MỘT SỐ GIAO TIẾP VỚI STM32F103

30 13 0
ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN CUỐI KỲ ĐỀ TÀI: MỘT SỐ GIAO TIẾP VỚI STM32F103 Giảng viên hướng dẫn : Đinh Công Đoan Môn học: Hệ Thống Nhúng Sinh viên thực hiện: Trần Việt Tấn -14110271 Nguyễn Vũ Minh Sang -14110414 Nguyễn Minh Tân -14110366 HỆ THỐNG NHÚNG Mục lục GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN HỆ THỐNG NHÚNG I Mở đầu Tóm tắt • Nghiên cứu tìm hiểu nguyên lý hoạt động board STM32F103C8T6 • Tìm hiểu chức linh kiện dùng đề tài Đặc vấn đề 2.1 Tóm lược nghiên cứu ngồi nước • Trong nước: Chúng ta chưa sử dụng, phát triển thiết bị đo nhiệt độ, độ ẩm rộng rãi, ứng dụng vài lĩnh vực phạm vi nhỏ nước • Ngồi nước: Đối với nước phát triển họ ứng dụng rộng rãi thiết bị vào 2.2 2.3 nhiều lĩnh vực để thúc đẩy nhu cầu phát triển đất nước họ Một số tài liệu liên quan • Đinh Cơng Đoan, Bài giảng Hệ thống nhúng 2015.Lưu hành nội • ARM VietNam, Kiến trúc STM32_ARM Cortex M3, 2010 • http://hshop.vn/products/kit-ra-chon-stm32f103c8t6 • Và số tài liệu khác Internet Lý chọn đề tài Với biến đổi thời tiết nhu cầu người dùng thiết bị để theo dõi nhiệt độ, độ ẩm ngày phổ biến Vì nên nhóm em chọn đề tài 2.4 Mục tiêu • Phục vụ nhu cầu nghiên cứu tìm hiểu cơng nghệ • Phục vụ nhu cầu muốn biết nhiệt độ độ ẩm môi trường xung 2.5 2.6 2.7 quanh Đối tượng phạm vi nghiên cứu 2.5.1 Đối tượng Môi trường xung quanh nhiệt độ, độ ẩm 2.5.2 Phạm vi nghiên cứu • Nghiên cứu mức độ hiểu chạy Board mạch • Cách tạo project Keil-C nạp code vào board mạch • Trong phạm vi nhỏ Phương pháp nghiên cứu Phương pháp tiếp xúc trực tiếp với trường Nội dung đề tài GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN HỆ THỐNG NHÚNG Một số giao tiếp với board STM32F103 Ở nhóm em làm mạch ứng dụng để đo nhiệt độ, độ ẩm II Chương 1: Giới thiệu vi xử lý ARM Cortex-M3 Tổng quan Dòng ARM Cortex bao gồm cấu hình khác kiến trúc ARMv7 • Cấu hình A cho ứng dụng tinh vi, yêu cầu cao chạy hệ điều • • hành mở phức tạp Linux, Android vv vv Cấu hình R dành cho hệ thống thời gian thực Cấu hình M tối ưu cho ứng dụng vi điều khiển, cần tiết kiệm chi phí Bộ vi xử lý Cortex-M3 vi xử lý ARM dựa kiến trúc ARMv7-M thiết kế đặc biệt để đạt hiệu suất cao ứng dụng nhúng cần tiết kiệm lượng chi phí Đẩy tần số hoạt động cao làm tăng hiệu suất kèm với việc tiêu thụ lượng nhiều việc thiết kế phức tạp Nói cách khác, thực tác vụ cách nâng cao hiệu tính tốn hoạt động tần số thấp dẫn đến đơn giản hóa việc thiết kế tốn lượng Trung tâm vi xử lý Cortex-M3 lõi có cấu trúc đường ống tiên tiến tầng, dựa kiến trúc Harvard Lõi Cortex-M3: • Lõi trung tâm Cortex-M3 dựa kiến trúc Harvard, đặc trưng tách biệt vùng nhớ chứa liệu chương trình có bus riêng để truy cập Vì đọc lúc lệnh liệu từ nhớ, vi xử lý Cortex-M3 thực nhiều hoạt động song song, tăng tốc thực thi ứng dụng GIẢNG VIÊN HƯỚNG DẪN: ĐINH CƠNG ĐOAN HỆ THỐNG NHÚNG • Lõi Cortex có cấu trúc đường ống gồm tầng: Instruction Fetch, Instruction Decode Instruction Execute Khi gặp lệnh nhánh, tầng decode chứa thị nạp lệnh suy đốn dẫn đến việc thực thi nhanh Bộ xử lý nạp lệnh dự định rẽ nhánh giai đoạn giải mã Sau đó, giai đoạn thực thi, việc rẽ nhánh giải vi xử lý phân tích xem đâu lệnh thực thi Nếu việc rẽ nhánh khơng chọn lệnh sẵn sàng Còn việc rẽ nhánh chọn lệnh rẽ nhánh sẵn sàng lập tức, hạn chế thời gian rỗi cịn chu kỳ • Bộ vi xử lý Cortex-M3 vi xử lý 32-bit, với độ rộng đường dẫn liệu 32 bit, dải ghi giao tiếp nhớ Có 13 ghi GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN HỆ THỐNG NHÚNG đa dụng, hai trỏ ngăn xếp, ghi liên kết, đếm chương trình số ghi đặc biệt có ghi trạng thái chương trình • Bộ vi xử lý Cortex-M3 hỗ trợ hai chế độ hoạt động (Thread Handler) hai mức truy cập tài nguyên lõi xử lí (đặc quyền khơng đặc quyền), tạo điều kiện cho việc cài đặt hệ thống mở phức tạp bảo mật Những dịng mã khơng đặc quyền bị giới hạn không cho phép truy cập vào số tài nguyên quan trọng (một số lệnh đặc biệt vùng nhớ định) • Chế độ Thread chế độ hoạt động tiêu biểu hỗ trợ mã đặc quyền không đặc quyền Bộ vi xử lý vào chế độ Handler ngoại lệ (exception) xảy tất mã đặc quyền chế độ • Khả địa hóa 2^32=4gb địa chỉ: địa định nghĩa sẵn, dành riêng cho mã lệnh (vùng mã lệnh), SRAM (vùng nhớ), nhớ/thiết bị bên ngoài, thiết bị ngoại vi bên bên Ngoài cịn có vùng nhớ đặc biệt dành riêng cho nhà cung cấp GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN HỆ THỐNG NHÚNG • NVIC (Nested Vectored Interrupt Controller) thành phần tích hợp vi xử lý Cortex-M3 có khả xử lý ngắt linh hoạt nhanh chóng Trong cài đặt chuẩn, cung cấp NMI (Non-Maskable Interrupt) 32 ngắt vật lý đa dụng với mức ưu tiên pre-emption Nó cấu hình từ đến 240 ngắt vật lý với tối đa 256 mức độ ưu tiên Sự tinh vi Các ngoại vi STM32 giống vi điều khiển khác, hai chuyển đổi ADC, timer, 12C, SPI, CAN, USB RTC Tuy nhiên, ngoại vi có nhiều đặc điểm thú vị Ví dụ ADC 12-bit có tích hợp cảm biến nhiệt độ để tự động hiệu chỉnh nhiệt độ thay đổi hỗ trợ nhiều chế độ chuyển đổi Mỗi định thời có khối capture compare (dùng để bắt kiên với tính input capture tạo dạng sóng ngõ với output compare), khối định thời liên kết với khối định thời khác để tạo mảng đinh thời tinh vi GIẢNG VIÊN HƯỚNG DẪN: ĐINH CƠNG ĐOAN HỆ THỐNG NHÚNG STM32 có hỗ trợ thêm tối đa 12 kênh DMA (Direct Memory Access) Mỗi kênh dùng để truyền liệu đến ghi ngoại vi từ ghi ngoại vi với kích thước từ (word) liệu truyền 8/16 32-bit Mỗi ngoại vi có điều khiển DMA (DMA Controller) kèm dùng để gửi đòi hỏi liệu yêu cầu STM32 vi điều khiển tiêu thụ lượng thấp đạt hiệu suất cao Nó hoạt động điện áp 2V, chạy tần số 72Mhz dòng tiêu thụ có 36mA với tất khối bên vi điều khiển hoạt động Sự an toàn Ngày ứng dụng đại phải hoạt động mơi trường khắt khe, địi hỏi tính an tồn cao, đòi hỏi sức mạnh xử lý nhiều thiết bị tinh vi Để đáp ứng yêu cầu khắt khe đó, STM32 cung cấp số tính phần cứng hỗ trợ ứng dụng cách tốt Chúng bao gồm phát điện áp thấp, hệ thống bảo vệ xung clock hai Watchdogs Bộ Watchdog cửa sổ (windowed watchdog) Watch phải làm tươi khung thời gian xác định Nếu nhấn q sớm, q muộn, Watchdog kích hoạt Bộ thứ hai Watchdog độc lập (independent watchdog), có dao động bên ngồi tách biệt với xung nhịp hệ thống bên ngồi (thường thạch anh) tự động chuyển sang dùng dao động nội RC 8Mhz Tính bảo mật Một yêu cầu khắt khe khác thiết kế đại nhu cầu bảo mật mã chương trình để ngăn chặn chép trái phép phần mềm Bộ nhớ Flash STM32 khóa để chống truy cập đọc Flash thơng qua cổng Debug Khi tính bảo vệ đọc kích hoạt, nhớ Flash bảo vệ chống ghi để ngăn chặn mã không tin cậy chèn vào bảng vector ngắt Hơn bảo vệ ghi cho phép phần cịn lại nhớ Flash STM32 có đồng hồ thời gian thực khu vực nhỏ liệu SRAM nuôi nhờ nguồn pin Khu vực có đầu vào chống giả mạo (anti-tamper input), kích hoạt kiện ngắt có thay đổi trạng thái đầu vào Ngoài kiện chống giả mạo tự động xóa liệu lưu SRAM nuôi pin GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN HỆ THỐNG NHÚNG Phát triển phần mềm Nếu bạn sử dụng vi điều khiển dựa lõi ARM, cơng cụ phát triển cho ARM có hỗ trợ tập lệnh Thumb-2 dịng Cortex Ngồi ST cung cấp số thư viện điều khiển thiết bị ngoại vi, thư viện phát triển USB nhu thư viện ANSI C mã nguồn tương thích với thư viện trước cơng bố cho vi điều khiển STR7 STR9 Dòng Cortex-M3 kèm với hệ thống gỡ lỗi hoàn toàn gọi CoreSight Truy cập vào hệ thống CoreSight thông qua cổng truy cập Debug (Debug Access Port), cổng hỗ trợ kết nối chuẩn JTAG giao diện dây (serial wire -2pin), cung cấp trình điều khiển chạy gỡ lỗi, hệ thống CoreSight STM32 cung cấp hệ thống điểm truy cấp (data watchpoint) công cụ theo dõi (intrumentation trace) Dòng Performance Access STM32 Họ STM32 có hai nhánh riêng biệt: dịng Performance dòng Access Dòng Performance tập hợp đầy đủ thiết bị ngoại vi chạy với xung nhịp tối đa 72Mhz Dịng Access có thiết bị ngoại vi chạy tối đa 36Mhz Quan trọng cách bố trí chân (pins layout) kiểu đóng gói chip (package type) dịng Access dòng Performance Điều cho phép phiên khác STM32 hốn vị mà khơng cần phải sửa đổi xếp lại footprint (mơ hình chân chip công cụ layout bo mạch) PCB (Printed Circuit Board) Ngồi dịng Performance Access đầu tiên, ST đưa thị trường thêm dịng USB Access Connectivity hình bên dưới: GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN 10 HỆ THỐNG NHÚNG Bộ xử lý ARM Cortex-M3 7.1 Giới thiệu sơ lược Giải pháp Soc (System-on-chip) dựa vi xử lý nhúng ARM ứng dụng vào nhiều thi trường khác bao gồm ứng dụng doanh nghiệp, hệ thống tơ, mạng gia đình cơng nghệ khơng dây Dịng vi xử lý ARM Cortex dựa kiến trúc chuẩn đủ để đáp ứng hầu hết yêu cầu hiệu làm việc tất lĩnh vực Dòng ARM Cortex bao gồm ba cấu hình khác kiến trúc ARM7: cấu hình A cho ứng dụng tinh vi, yêu cầu cao chạy hệ điều hành mở phức tạp Linux, Adroid,…; Cấu hình R dành cho hệ thống thời gian thực cấu hình M tối ưu cho ứng dụng điều khiển, cần tiết kiệm chi phí Bộ xử lý Cortex-M3 xử lý ARM dựa kiến trúc ARMv7-M thiết kế đặc biệt để đạt hiệu suất cao ứng dụng nhúng cần tiết kiệm lượng chi phí, chẳng hạn vi điều khiển hệ thống ô tô, hệ thống kiểm sốt cơng nghiệp hệ thống khơng dây 7.2 Hiệu xuất cao Để đạt hiệu suất cao hơn, vi xử lý làm việc làm việc thông minh Đẩy tần số hoạt động cao làm tăng hiệu suất kèm với tiêu thụ lượng nhiều việc thiết kế phức tạp Nói cách khác, GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN 16 HỆ THỐNG NHÚNG Đoạn mã sau mơ tả cách cấu hình để CPU STM32 hoạt động mức xung nhịp cao Bộ tạo dao động ngoại kích hoạt thông qua ghi điều khiển RCC_Control Sẽ có bit trang thái bật chúng vào hoạt động ổn định Một tạo dao động ngoại hoạt động ổn định, chọn đầu vào cho PLL Xung nhịp tạo PLL xác định cách thiết lặp bội số nguyên ghi cấu hình RCC_PLL Trong trường hợp xung nhịp đầu vào PLL 8Mhz cần cấu hình số nhân cho PLL để tạo xung nhịp 72Mhz đầu Khi tạo dao động ngoại PLL hoạt động ổn định, bit điều khiển trạng thái bật lên, dao động ngoại PLL hoạt động ổn định, bit điều khiển trạng thái bật lên, dao động tạo PLL cấp cho nhân CPU Cortex STM32 GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN 17 HỆ THỐNG NHÚNG Đoạn mã cấu hình STM32 sử dụng dao động PLL 2.2 Cấu hình cho bus Khi PLL chọn toàn dao động cho hệ thống, Cortex CPU hoạt động mức 72Mhz toàn phần lại hệ thống hoạt động mức tối ưu người dùng cần phải cấu hình AHB APB thông qua thah ghi cầu nối 2.3 Flash Buffer Khi xem xét kiến trúc hệ thống STM32 thấy nhân Cortex kết nối Flash thông qua đưởng truyền liệu chuyên biệt I-Bus Bus liệu hoạt động tần số với CPU CPU lấy dao động từ PLL bus liệu hoạt động mức xung nhịp cao 72Mhz Cortex CPU truy cập Flash không đáng kể Tuy nhiên PLL kích hoạt sử dụng để tạo dao động cho CPU, thời gian truy cập vào Flash trang bị nhớ đệm 64-bit Hai nhớ đệm thực thi lệnh đọc ghi liệu 64-bit Flash chuyển lệnh 16 32bit cho nhân Cortex để thực thi Kỹ thuật hoạt động tốt lệnh thuộc tập lệnh Thumb2 lệnh có khả dự báo dẫn (Branch Prediction) Cortex pipeline Hệ GIẢNG VIÊN HƯỚNG DẪN: ĐINH CÔNG ĐOAN 18 HỆ THỐNG NHÚNG thống đệm Flash quản lý ghi cấu hình Flag.Cùng với việc kích hoạt đệm tiền xử ký, phải điều chỉnh số trạng thái chờ Flash đọc 8bytes lệnh từ nhớ Flash Độ trễ thiết lập sau: 0< SYSCLK

Ngày đăng: 05/01/2022, 17:04

Hình ảnh liên quan

Hình : So sánh ARM7TDMI-S và Cortex –M3 - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

nh.

So sánh ARM7TDMI-S và Cortex –M3 Xem tại trang 12 của tài liệu.
Cortex-M3 là hợp lý là dễ dàng. Lõi trung tâm làm việc hiệu quả hơn, mô hình lập trình đơn giản, cách xử lý ngắt nhất định (deterministic interrupt behaviour), việc tích hợp các thiết bị ngoại vi giúp nâng cao hiệu năng làm việc mà vẫn giữ được chi phí th - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

ortex.

M3 là hợp lý là dễ dàng. Lõi trung tâm làm việc hiệu quả hơn, mô hình lập trình đơn giản, cách xử lý ngắt nhất định (deterministic interrupt behaviour), việc tích hợp các thiết bị ngoại vi giúp nâng cao hiệu năng làm việc mà vẫn giữ được chi phí th Xem tại trang 12 của tài liệu.
Hình : So sánh hiệu suất giữa ARM7TDMI-S (ARM) và Cortex –M3 (Thumb-2) III.Chương 2: Kiến trúc hệ thống của ARM Cortex-M3. - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

nh.

So sánh hiệu suất giữa ARM7TDMI-S (ARM) và Cortex –M3 (Thumb-2) III.Chương 2: Kiến trúc hệ thống của ARM Cortex-M3 Xem tại trang 13 của tài liệu.
Hình : Hệ thống bộ nhớ - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

nh.

Hệ thống bộ nhớ Xem tại trang 14 của tài liệu.
Đoạn mã sau mô tả cách cấu hình để CPU của STM32 hoạt động ở mức xung nhịp cao nhất. - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

o.

ạn mã sau mô tả cách cấu hình để CPU của STM32 hoạt động ở mức xung nhịp cao nhất Xem tại trang 16 của tài liệu.
Đoạn mã cấu hình STM32 sử dụng dao động PLL - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

o.

ạn mã cấu hình STM32 sử dụng dao động PLL Xem tại trang 17 của tài liệu.
thống bộ đệm Flash được quản lý bởi các thanh ghi cấu hình Flag.Cùng với việc kích hoạt bộ đệm tiền xử ký, chúng ta phải điều chỉnh số trạng thái chờ khi Flash đọc 8bytes lệnh từ bộ nhớ Flash - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

th.

ống bộ đệm Flash được quản lý bởi các thanh ghi cấu hình Flag.Cùng với việc kích hoạt bộ đệm tiền xử ký, chúng ta phải điều chỉnh số trạng thái chờ khi Flash đọc 8bytes lệnh từ bộ nhớ Flash Xem tại trang 18 của tài liệu.
Bộ DWT (Data Watchpoint and Trace) có bốn comparator có thể được cấu hình thành watchpoint phần cứng - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

ata.

Watchpoint and Trace) có bốn comparator có thể được cấu hình thành watchpoint phần cứng Xem tại trang 22 của tài liệu.
- Hàm lcd16x2_write_command(): dùng viết lệnh cho màn hình Lcd và thiết lập hướng dẫn cho Lcd - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

m.

lcd16x2_write_command(): dùng viết lệnh cho màn hình Lcd và thiết lập hướng dẫn cho Lcd Xem tại trang 29 của tài liệu.
- Hàm lcd16x2_clrscr(): xóa màn hình lcd và trở về trạng thái ban đầu - ĐỒ ÁN CUỐI KỲ ĐỀ TÀI:   MỘT SỐ GIAO TIẾP VỚI STM32F103

m.

lcd16x2_clrscr(): xóa màn hình lcd và trở về trạng thái ban đầu Xem tại trang 29 của tài liệu.

Từ khóa liên quan

Mục lục

  • I. Mở đầu.

    • 1. Tóm tắt

    • 2. Đặc vấn đề

      • 2.1. Tóm lược nghiên cứu trong và ngoài nước

      • 2.2. Một số tài liệu liên quan

      • 2.3. Lý do chọn đề tài

      • 2.4. Mục tiêu

      • 2.5. Đối tượng và phạm vi nghiên cứu

        • 2.5.1 Đối tượng

        • 2.5.2 Phạm vi nghiên cứu

        • 2.6. Phương pháp nghiên cứu

        • 2.7. Nội dung đề tài

        • II. Chương 1: Giới thiệu về vi xử lý ARM Cortex-M3.

          • 1. Tổng quan.

          • 2. Sự tinh vi.

          • 3. Sự an toàn.

          • 4. Tính bảo mật.

          • 5. Phát triển phần mềm.

          • 6. Dòng Performance và Access của STM32.

          • 7. Bộ xử lý ARM Cortex-M3.

            • 7.1. Giới thiệu sơ lược.

            • 7.2. Hiệu xuất cao.

            • 7.3. Giảm chi phí phát triển và năng lượng tiêu thụ.

            • 7.4. Tích hợp khả năng dò lỗi và theo vết trong lập trình.

            • 8. Vì sao phải dùng Cortex-M3 trong đề tài nghiên cứu.

Tài liệu cùng người dùng

Tài liệu liên quan