Cytron Technologies

Giờ làm việc: 8:00 - 17:00

Thứ 2 - Thứ 6 (trừ ngày lễ)

Hotline 0362917357 

pyRTOS 1 Cover

Đa Nhiệm Thời Gian Thực trên Maker Pi Pico bằng cách dùng pyRTOS

Tổng Quát

Chạy nhiều nhiệm vụ trên bộ vi điều khiển có thể hơi phức tạp khi sử dụng kiểu mã hóa truyền thống (Hình 1). Đôi khi chúng ta phải sắp xếp lại cả mã code vừa được thêm vào tính năng mới đến hệ thống. Sử dụng kiểu mã hóa hệ thống điều hành thời gian thực (RTOS) (Hình 2), việc quản lý nhiệm vụ trở nên dễ dàng hơn. Trong phần hướng dẫn này mình sẽ sử dụng pyRTOS trên Maker Pi Pico.

Super Loop Structure
 Hình 1: Cấu trúc siêu vòng lập
Basic RTOS Structure
 Hình 2: Cấu trúc cơ bản RTOS

RTOS là gì ?

Hệ thống điều hành thời gian thực (RTOS) à một linh kiện phần mềm chuyển đổi nhanh chóng giữa các tác vụ, tạo cảm giác rằng nhiều chương trình đang được thực thi cùng một lúc (xem Hình 3). Các hệ thống đa lõi có thể thực sự chạy các tác vụ đồng thời bằng cách sử dụng các lõi khác nhau để chạy các tác vụ khác nhau. RTOS hữu ích để chạy nhiều tác vụ có thời gian thực thi nghiêm ngặt. Ví dụ: máy dò độ bền của NASA sử dụng RTOS (VxWorks) để vận hành các công cụ khoa học khác nhau trong thời gian thực.

RTOS Execution Timeline
 Hình 3: Dòng thời gian thể hiện RTOS

Tại sao sử dụng RTOS?

RTOS làm cho nhiều dự án phát triển dễ dàng hơn và nó làm cho chúng có thể mở rộng, bảo trì, di động và an toàn hơn. Tiết kiệm thời gian và chi phí cho việc phát triển. Một chương trình lặp đơn giản sẽ ngày càng lộn xộn hơn, biến thành mã spaghetti, trở nên khó quản lý khi các tính năng mới được thêm vào mã. Nó sẽ khó khăn hơn để duy trì, sửa đổi và mở rộng.

Đa nhiệm, một mình, là đủ lý do để sử dụng RTOS trong nhiều hệ thống. Nó cho phép bạn chia một vấn đề phức tạp thành các phần đơn giản hơn và tập trung vào sự phát triển của từng nhiệm vụ hơn là lên lịch khi mọi thứ chạy. Nó cũng giúp cho việc phân quyền giữa các thành viên trong nhóm trở nên dễ dàng hơn. RTOS cũng cho phép chúng tôi sử dụng khả năng tối đa của vi điều khiển, thậm chí còn hơn thế nữa trên vi điều khiển lõi kép như Pico.

Phần Cứng

 

Cài đặt pyRTOS trên Maker Pi Pico

StepCircuitPythonMicroPython
1Download Mu EditorDownload Thonny
2Download libraries for Maker Pi Pico
3Copy pyRTOS folder from CircuitPython example code to Maker Pi Pico lib folderCopy pyRTOS folder from MicroPython example code to Maker Pi Pico through Thonny (video below)

Viết mã với pyRTOS (Ví Dụ MicroPython)

1. Nhập pyRTOS và các phụ thuộc nhiệm vụ

import pyRTOS
import machine                                # import task dependencies

2. Xác định nhiệm vụ

def task1(self):
    ledpin1 = machine.Pin(0, machine.Pin.OUT)           # Task1 setup
    ledpin1.value(0)
    yield
    while True:                               
        ledpin1.toggle()                      # Task1 loop      
        yield [pyRTOS.timeout(1)]             # Delay for 1 second (Other task can run)

3. Thêm nhiệm vụ.

pyRTOS.add_task(pyRTOS.Task(task1))

4. Khởi động RTOS

pyRTOS.start()

Video Hướng Dẫn (Ví Dụ MicroPython)

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận