Đồ án thiết kế hệ thống nhúng (3)

19 5 0
Đồ án thiết kế hệ thống nhúng (3)

Đ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ÁO CÁO BÀI TẬP LỚN Đề tài ĐỌC GIÁ TRỊ NHIỆT ĐỘ, ĐỘ ẨM HIỆN THỊ LCD20X4 LÀM ĐỒNG HỒ BẤM GIỜ DÙNG RTC STM32F103 TRÊN HỆ ĐIỀU HÀNH THỜI GIAN THỰC FREERTOS Nhóm 0X: 01 Thuyết minh Hệ điều hành thời gian thực FREERTOS Tìm hiểu hệ thống nhúng hệ điều hành FREERTOS 02 Làm projectcode keilCv5 đo nhiệt độ độ ẩm làm RTCthực RTC Thiết kếđồng đồng hồhồ thời gian Đo nhiệt độ độ ẩm thị lên LCD A Sơ đồ tổng quát đề tài DHT11 RTC : Đồng hồ Hẹn STM32F103 LCD_20x4 (FREERTOS)   01 Hệ điều hành FREERTOS I FREERTOS ? ● RTOS là viết tắt cụm từ Real-time operating system hay hệ điều hành thời gian thực thường nhúng dòng vi điều khiển dùng để điều khiển thiết bị cách nhanh chóng đa nhiệm (multi tasking) Để hiểu rõ ràng trước hết làm rõ khái niệm hệ điều hành ● Hệ điều hành (tiếng Anh: Operating System – viết tắt: OS) phần mềm dùng để điều hành, quản lý toàn tất thành phần (bao gồm phần cứng phần mềm) thiết bị điện tử ● Nói đơn giản, hệ điều hành giống hội đồng quản trị Họ có quyền định làm thời gian Các nhân viên ứng dụng, nhận lệnh cấp thực thi công việc theo chức II Hệ điều hành thời gian thực FREERTOS với hệ điều hành thông thường khác đâu ?  Hệ điều hành thông thường (non-realtime): Window, linux, android, ios… thứ mà sử dụng ngày Khi mở phần mềm đó, bạn phải chờ tải lâu, việc chờ đợi khơng ảnh hưởng Bởi đa số phần mềm tương tác với người tương tác với phần mềm thiết bị khác  Hệ điều hành thời gian thực (realtime): sinh cho tác vụ cần phản hồi nhanh hệ thống, thường nhúng loại vi điều khiển khơng có giao diện (GUI) tương tác với người dùng Chúng cần phản hồi nhanh đa số tác vụ tương tác với thiết bị, máy móc khác khơng phải người Các tài nguyên bên hữu hạn nên chậm trễ làm hệ thống làm việc hoàn toàn sai lệch III.Một số khái niệm Hệ điều hành thời gian thực FreeRTOS ●HeapSize: size data RAM cần để lưu trữ bạn khai báo biến hay mảng chương trình chương trình ●StackSize: size data lưu trữ giá trị back up ghi bao gồm trở stack pointer(PC) chương chình gọi chương trình khác trả lại nhớ thực xong chương trình ●Nếu StackSize khơng đủ ghi data vào phần HeapSize gây stackoverflow xảy lỗi Hardfult tạo ngắt nhảy vào Hardfult Handler Lúc chương trình bị treo khởi động lại IV Cách tạo task keilCV5 ●Trong ví dụ nhóm tạo task led nháy với tần số khác (tần số xung nhịp hệ điều hành 1Khz cài đặt file FreeRTOSConfig.h) ●Ban đầu sử dụng task task điều khiển led sau ● ● ● ● ● ● ● Tiếp theo hàm main,bạn tạo task hàm xTaskCreate chạy task tạo sử dụng vTaskStartScheduler(); xTaskCreate(vTaskLed1,( const char * ) “Task LED 1”,configMINIMAL_STACK_SIZE,NULL,mainFLASH_TASK_PRIORITY,( xTaskHandle * ) NULL); xTaskCreate(vTaskLed2,( const char * ) “Task LED 2”,configMINIMAL_STACK_SIZE,NULL,mainFLASH_TASK_PRIORITY,( xTaskHandle * ) NULL); xTaskCreate(vTaskLed3,( const char * ) “Task LED 3”,configMINIMAL_STACK_SIZE,NULL,mainFLASH_TASK_PRIORITY,( xTaskHandle * ) NULL); xTaskCreate(vTaskLed4,( const char * ) “Task LED 4”,configMINIMAL_STACK_SIZE,NULL,mainFLASH_TASK_PRIORITY,( xTaskHandle * ) NULL); vTaskStartScheduler(); Lưu ý : Khi sử dụng nhiều Task khác gọi chương trình cịn nhiều bạn cần nhiều stack_size Vì cần tính tốn sơ cài đặt lại stack size file startup VI Tiện Ích FREERTOS ●Điều làm cho RTOS đáng mong đợi? Nó cung cấp gì? Hãy xem xét số danh mục dịch vụ tìm thấy FreeRTOS:  Đa nhiệm lập lịch trình  Hàng đợi tin nhắn (Message queues)  Semaphoresvà mutex  Timer  Nhóm kiện (Event groups) VII Thực tác vụ ●FreeRTOS linh hoạt Nó cung cấp hai loại lập lịch trình tác vụ:  Ưu tiên đa tác vụ  Hợp đa tác vụ (coroutines) ●Với tính đa tác vụ ưu tiên, tác vụ chạy hết thời gian, bị chặn, cần kiểm soát rõ ràng Bộ lập lịch trình tác vụ xếp tác vụ chạy tiếp sau, có tính đến ưu tiên Đây loại tác vụ đa nhiệm sử dụng dự án sách ●Một dạng đa nhiệm khác coroutines Sự khác biệt tác vụ chạy từ bỏ quyền kiểm sốt Khơng có phân chia thời gian thời gian chờ Nếu khơng có hàm gọi chặn (như mutex), coroutine phải gọi hàm yield để chuyển quyền kiểm soát với tác vụ khác Bộ lập lịch trình tác vụ sau định tác vụ chuyển quyền kiểm soát sang bước Hình thức lập chương trình cần phải có cho ứng dụng u cầu an tồn cao kiểm soát chặt chẽ thời gian CPU 02 Giới thiệu module dùng Trong đề tài I DHT11 ●Thông số kỹ thuật  nhiệt độ   độ phân giải: ° C độ xác: ° C phạm vi đo: ° C ~ 50 ° C độ ẩm phân giải: 1% RH Độ xác: ± 5% RH (0 ~ 50 ° C ) phạm vi đo: 20% RH ~ 90% RH (25 ° C)  điện áp hoạt động: 3.3 V ~ 5.5 V  đề nghị điều kiện bảo quản  nhiệt độ: 10 ° C ~ 40 ° C  độ ẩm: 60% RH ●Ứng dụng trạm thời tiết + điều khiển độ ẩm + Test & thiết bị phát II Đồng Hồ RTC STM32 RTC ? ●RTC hay Real Time Clock ngoại vi sử dụng đồng hồ – lịch thời gian thực Thuật ngữ thời gian thực thời gian sống người ngày, khơng phải thời gian tính tốn Timer khác ●Để RTC hoạt động chúng ta cần nối chân Vbat vi điều khiển với nguồn 3V, thường sử dụng Pin Cmos, nguồn điện giúp trì xung RTC hoạt động bình thường  Các thơng số STM32 RTC Có thể cấu hình Clock đầu vào theo nguồn là: LSE, HSE, LSI  Bộ chia clock lên đến 20 bit, giúp RTC hoạt động xác  Độ phân giải timer RTC lên đến 32 bit – tức 2^32 giây tràn cần reset lại  nguồn clock source sử dụng  loại Reset RTC riêng biệt  Có ngắt hỗ trợ : ngắt Alarm, ngắt giây, ngắt tràn đếm ●Trong hướng dẫn này, hướng dẫn bạn tạo đồng hồ chạy thời gian thực, chạy nguồn vi điều khiển có bị hay khơng Bắt đầu Các chức RTC:  Bộ chia clock lên đến 20 bit, giúp RTC hoạt động xác  Độ phân giải timer RTC lên đến 32 bit – tức 2^32 giây tràn cần reset lại  nguồn clock source sử dụng  loại Reset RTC riêng biệt  Có ngắt hỗ trợ : ngắt Alarm, ngắt giây, ngắt tràn đếm 5 Cấu tạo lòng RTC nguồn ●Hãy phân tích giản đồ để hiểu trình hoạt động RTC trước qua số ghi quan trọng RTC ●Bộ RTC gồm phần chính:  Đầu tiên, APB1 Interface sử dụng để giao tiếp với APB1 bus APB1 Interface giúp cho Core đọc ghi liệu đến ghi RTC thơng qua APB1 bus Ngồi ra, APB1 interface APB1 bus clock trình giao tiếp liệu  Tiếp theo, khối RTC chia làm phần chính: o Khối đầu tiên, RTC prescaler sau cấp clock cho RTC qua RTC_DIV để chia tần, lập trình tạo tần số lên đến 1Hz (1s) o Sau xung TR_CLK cấp vào khối 32 bit programmable counter, giá trị RTC_CNT theo với tần số TR_CLK cấp vào, RTC_CNT so sánh với giá trị định sẵn RTC_ALR để tạo ngắt đánh thức hệ thống dậy chế động Standby mode(chế độ tiết kiệm lượng) D ĐÚC KẾT ĐỀ TÀI VÀ DEMO SẢN PHẨM ... 0X: 01 Thuyết minh Hệ điều hành thời gian thực FREERTOS Tìm hiểu hệ thống nhúng hệ điều hành FREERTOS 02 Làm projectcode keilCv5 đo nhiệt độ độ ẩm làm RTCthực RTC Thiết kế? ?ồng đồng hồhồ thời gian... tương tác với người tương tác với phần mềm thiết bị khác  Hệ điều hành thời gian thực (realtime): sinh cho tác vụ cần phản hồi nhanh hệ thống, thường nhúng loại vi điều khiển khơng có giao diện... tần số TR_CLK cấp vào, RTC_CNT so sánh với giá trị định sẵn RTC_ALR để tạo ngắt đánh thức hệ thống dậy chế động Standby mode(chế độ tiết kiệm lượng) D ĐÚC KẾT ĐỀ TÀI VÀ DEMO SẢN PHẨM

Ngày đăng: 06/06/2022, 15:23

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

  • Đang cập nhật ...

Tài liệu liên quan