1. Trang chủ
  2. » Thể loại khác

Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS

52 8 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 52
Dung lượng 2,72 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

RTOS-ARM Cortex M-3 4Giới thiệu CoOS  CoOS là sản phẩm của CooCox Team, một nhóm nghiên cứu chuyên cung cấp các tiện ích hỗ trợ vi điều khiển họ ARM.. RTOS-ARM Cortex M-3 9Tiện ích quản

Trang 1

Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3

trên nền CoOS-RTOS

Trang 3

RTOS-ARM Cortex M-3 3

Hệ điều hành CoOS

 Nội dung:

 Giới thiệu CoOS

 Các tiện ích chính của CoOS

Trang 4

RTOS-ARM Cortex M-3 4

Giới thiệu CoOS

 CoOS là sản phẩm của CooCox Team, một nhóm nghiên cứu chuyên cung cấp các tiện ích hỗ trợ vi điều khiển họ ARM

 CoOS là hệ điều hành nhúng, hỗ trợ đa

nhiệm và thời gian thực

 CoOS hỗ trợ LPC1766, MCU xây dựng trên nền CPU ARM Cortex-M3

 CoOS là một hệ điều hành nhỏ và tương đối đơn giản

Trang 5

RTOS-ARM Cortex M-3 5

Các tiện ích chính của CoOS

 Quản lý task

 Quản lý thời gian

 Đồng bộ các task với nhau

 Giao tiếp giữa các task

Trang 6

RTOS-ARM Cortex M-3 6

Tiện ích quản lý Task

Task là một công việc cụ thể cần MCU thực

hiện Một task có 3 thuộc tính quan trọng là: mức ưu tiên, stack và con trỏ hàm trỏ đến hàm quy định công việc cần làm

Các trạng thái của task: Running, Ready,

Waiting

Task Control Block (TCB) dùng để lưu trữ

các thông tin của task: con trỏ stack, mức

ưu tiên, trạng thái, ID, …

Trang 7

RTOS-ARM Cortex M-3 7

Tiện ích quản lý Task (2)

Ready Task List dùng để quản lý các task ở

trạng thái Ready Khi một task chuyển vào trạng thái Ready, TCB của nó sẽ được đưa vào list theo đúng mức ưu tiên

Trang 8

RTOS-ARM Cortex M-3 8

Tiện ích quản lý Task (3)

Các cơ chế định thời gồm có Round robin và

Preemtive Thời gian thực hiện của task ở cơ chế

Round robin được quy định ở biến timeSlice

      U8         state;      /*Trạng thái của task */

OS_TID taskID; /*ID của task */

            

#if CFG_ROBIN_EN >0 U16        timeSlice;

#endif

}OSTCB,*P_OSTCB;

Trang 9

RTOS-ARM Cortex M-3 9

Tiện ích quản lý thời gian

 Sau một khoảng thời gian xác định, một

ngắt được tạo ra và CoOS làm các công việc liên quan đến hệ thống trong hàm ngắt:

định thời task, xử lý software timer, … Ngắt

mà CoOS sử dụng là SYSTICK exception

được MCU hỗ trợ

 Khoảng thời gian giữa 2 SYSTICK có thể thay đổi được

Trang 10

RTOS-ARM Cortex M-3 10

Tiện ích quản lý thời gian (2)

đếm CoOS tổ chức các Software Timer

thành một Timer List

Trang 11

task Mỗi flag tương ứng với một điều kiện, điều kiện đó xảy ra thì task mới được thực hiện tiếp

 Ví dụ:

Trang 12

RTOS-ARM Cortex M-3 12

Tiện ích giao tiếp các task

CoOS cung cấp Mailbox để giúp các task

giao tiếp, trao đổi thông tin với nhau

Mỗi mailbox có một mailbox ID để định danh và một con trỏ trỏ đến dữ liệu cần

chia sẻ

Trang 13

RTOS-ARM Cortex M-3 13

Tiện ích giao tiếp các task

(2)

 Thực chất cơ chế mailbox là task gửi mail

tạo ra một vùng nhớ rồi trỏ con trỏ mailbox đến vùng nhớ đó

 Task nhận mail đọc vùng nhớ được trỏ bởi

con trỏ mail, sau đó clear con trỏ mail

Trang 17

RTOS-ARM Cortex M-3 17

Kênh giao tiếp SPI

Giao tiếp nối tiếp, “byte-oriented”

SD Card: chế độ SPI Bus, đóng vai trò Slave

Module SPI trong LPC1766: chế độ master (host), truyền 8 bit

Trao đổi dữ liệu: tích cực CS -> ghi dữ liệu cần truyền vào S0SPDR -> chờ bit SPIF tích cực -> đọc S0SPSR -> đọc dữ liệu nhận từ S0SDR/xóa bit SPIF

Trang 18

RTOS-ARM Cortex M-3 18

Định dạng thông tin

 Command Token: gửi bởi host, là một yêu cầu đến card (đọc/ghi card, đọc thanh ghi…) Ký hiệu: CMDx (x là chỉ số lệnh)

 Responde Token: luôn gửi bởi card ngay sau khi nhận CMDx, báo cáo sự thực thi lệnh Ký hiệu: Rx (R1 là thông dụng nhất)

 Data Block: dữ liệu thực sự cần trao đổi

 Control Token: điều khiển việc truyền Data

Block, gồm Data Responde Token, Start Block Token, Stop Tran Token và Data Error Token

Trang 19

nhận Start Block Token -> nhận Data Block

512 byte (1 sector) từ card

Đọc thanh ghi: gửi CMD9 (đọc CSD) hay

CMD10 (đọc CID)/nhận R1 = 0 -> nhận

Start Block Token -> nhận các byte chứa

nội dung thanh ghi

Trang 21

RTOS-ARM Cortex M-3 21

Cấu trúc dữ liệu của SD

Card

Gồm 2 vùng: Partiton Area và Regular Area

Partition Area: chứa Master Boot Record

và Partition Table, giúp xác định vị trí, kích thước các phân vùng hiện có trên card

Regular Area: nơi chứa phân vùng của card (thường thì card chỉ có một phân vùng) Dữ liệu trong phân vùng được tổ chức theo

chuẩn tập tin FAT (phổ biến nhất là FAT16)

Trang 22

RTOS-ARM Cortex M-3 22

Cấu trúc phân vùng FAT

Boot Sector: dùng để xác định các tham số quan trọng như kích thước sector và

cluster; vị trí và kích thước của bảng FAT, của Root Directory và của vùng Data

Trang 23

RTOS-ARM Cortex M-3 23

Bảng FAT

Mỗi file được lưu trong vùng Data theo

một chuỗi các cluster không liên tục

Bảng FAT (File Allocation Table): ánh xạ

toàn bộ cluster trong vùng Data, mỗi entry trong bảng FAT mang một trong các thông tin sau:

 Chỉ số cluster kế tiếp

 Đánh dấu cluster cuối cùng

 Cluster trống, chưa được cấp phát

 Cluster xấu hoặc không được phép cấp phát

Trang 24

RTOS-ARM Cortex M-3 24

Thư mục (Directory)

Thư mục là bảng các Directory Entry, cung cấp thông tin về các file, thư mục con trong thư mục, về thư mục cha hoặc về tên của phân vùng

Cấu trúc một Directory Entry

Trang 26

RTOS-ARM Cortex M-3 26

Cấu hình EFSL trên LPC1766

 Hiện thực Hardware Endpoint tương ứng với LPC1766 để đảm nhận việc trao đổi cấp SPI

với SD Card

 Tinh chỉnh các thông số trong file cấu hình

 Kiến trúc bộ nhớ: byte alignment? Endian?

 Số lượng RAM dành cho Caching

 Cơ chế tiền cấp phát (Pre-allocate)

 Chức năng báo lỗi

 Chức năng debug

Trang 28

RTOS-ARM Cortex M-3 28

Cấu trúc thư viện EFSL

Trang 30

RTOS-ARM Cortex M-3 30

TFT LCD 2.4’

 Sự dụng chip điều khiển ILI9320

 one-chip SoC 262,144 màu

 240RGBx320 điểm ảnh

 172,800 bytes RAM cho dữ liệu graphic

System interface

 i-80 system (8-/9-/16-/18-bit bus width)

 Serial Peripheral Interface (SPI)

 RGB interface …

Trang 33

RTOS-ARM Cortex M-3 33

Touch Pad

Loại 4 dây , sử dụng nguyên tắc cầu phần áp

 Sử dụng ADC để lấy mẫu

 Touch đơn điểm

 Sử dụng ngắt ngoài để

xác định sự kiện

Trang 36

RTOS-ARM Cortex M-3 36

Hardware

Chip LPC1766

 Dòng Arm Cotex-M3 của NXP

 Tiết kiệm năng lượng => ứng dụng

có tính di động

 Xung thạch anh 20MHZ với bộ PLL nhân 5 lần

 Các chức năng ngoại vi : Ethernet ; USB Host, devide, Otg, ADC, DAC Hầu hết hỗ trợ DMA hiệu suất cao

Trang 37

RTOS-ARM Cortex M-3 37

Hardware

Trang 39

RTOS-ARM Cortex M-3 39

WAVPlayer Task

 Định dạng file WAV

 Hiện thực WAVPlayer

Trang 40

RTOS-ARM Cortex M-3 40

Định dạng file WAV

Phần miêu tả của RIFF

Định dạng ở đây l à “WAVE”, yêu cầu có thêm hai sub-chunk là fmt

và data

Sub-chunk fmt

Miêu tả c ác thông tin liên quan đến định dạng âm thanh ở phần sub- chunk data

Sub-chunk data

Chỉ ra kích thước của file và chứa dữ liệu âm thanh thô

Trang 42

RTOS-ARM Cortex M-3 42

Trang 44

RTOS-ARM Cortex M-3 44

Định dạng file BMP

Header DIB Header Palette Data

Trang 45

RTOS-ARM Cortex M-3 45

Module BMP

Hỗ trợ định dạng BMP 24 bit, cho phép mở đóng file BMP, đọc và hiển thị ra LCD

Trang 46

RTOS-ARM Cortex M-3 46

Hiện thực BMPViewer

Trang 47

RTOS-ARM Cortex M-3 47

GUIMain Task

 Task quản lý, luôn được chạy

 Tạo một task mới, hủy task

 Quản lý giao diện, nút nhất của tất cả các task khác

 Các task được định thời theo cơ chế

round_robin

 Quản lý các task thông qua các API của OS

 CoCreateTask()

 CoDelTask()

Trang 49

RTOS-ARM Cortex M-3 49

Trang 50

RTOS-ARM Cortex M-3 50

Tài liệu tham khảo

1 CooCox_CoOS_User's_Guide.

3 The Definitive Guide to the ARM Cortex-M3, Joseph Yui

4 SD Group, SD specification, Part1: Physical Layer Simplified

Trang 51

RTOS-ARM Cortex M-3 51

Demo

Trang 52

RTOS-ARM Cortex M-3 52

Ngày đăng: 18/04/2022, 18:45

HÌNH ẢNH LIÊN QUAN

cluster; vị trí và kích thước của bảng FAT, của Root Directory và của vùng Data - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
cluster ; vị trí và kích thước của bảng FAT, của Root Directory và của vùng Data (Trang 22)
Bảng FAT - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
ng FAT (Trang 23)
Bảng FAT (File Allocation Table): ánh xạ - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
ng FAT (File Allocation Table): ánh xạ (Trang 23)
Thư mục (Directory) - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
h ư mục (Directory) (Trang 24)
Thư mục là bảng các Directory Entry, cung cấp thông tin về các file, thư mục con trong  thư mục, về thư mục cha hoặc về tên của  phân vùng. - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
h ư mục là bảng các Directory Entry, cung cấp thông tin về các file, thư mục con trong thư mục, về thư mục cha hoặc về tên của phân vùng (Trang 24)
Cấu hình EFSL trên LPC1766 - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
u hình EFSL trên LPC1766 (Trang 26)
Tinh chỉnh các thông số trong file cấu hình - Thiết kế và xấy dựng ứng dụng với ARM Cortex M-3 trên nền CoOS-RTOS
inh chỉnh các thông số trong file cấu hình (Trang 26)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm