1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo tiểu luận môn thiết kế hệ thống nhúng Đề tài thiết kế mô phỏng máy rửa bát mini sử dụng hệ Điều hành seos

29 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Thiết kế mô phỏng máy rửa bát mini sử dụng hệ điều hành sEOS
Tác giả Nguyễn Thị Hương
Người hướng dẫn PGS.TS. Nguyễn Lê Cường
Trường học Trường Đại Học Điện Lực
Chuyên ngành Thiết kế Hệ thống Nhúng
Thể loại báo cáo tiểu luận
Năm xuất bản 2024-2026
Thành phố Hà Nội
Định dạng
Số trang 29
Dung lượng 3,91 MB

Nội dung

Việc thiết kế môphỏng này được thực hiện để hiểu rõ về quá trình xây dựng một hệ thống nhúng thôngqua việc thiết kế mô phỏng phần cứng, phần mềm, cách tạo hệ điều hành thời gian thực và

Trang 1

KHOA ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO TIỂU LUẬN Môn: Thiết kế Hệ thống Nhúng

Đề tài: Thiết kế mô phỏng máy rửa bát mini

: CH12 - KTĐT1

Hà Nội – 2024

Trang 2

Báo cáo tiểu

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO TIỂU LUẬN Môn: Thiết kế Hệ thống Nhúng

Đề tài: Thiết kế mô phỏng máy rửa bát mini

: CH12 - KTĐT1

NIÊN KHÓA: 2024-2026

Trang 3

Báo cáo tiểu

Bài tiểu luận này sẽ giới thiệu cơ sở lý thuyết thiết kế hệ thống nhúng và thực hiệnthiết kế mô phỏng thiết bị máy rửa bát mini trên hệ điều hành sEOS Việc thiết kế môphỏng này được thực hiện để hiểu rõ về quá trình xây dựng một hệ thống nhúng thôngqua việc thiết kế mô phỏng phần cứng, phần mềm, cách tạo hệ điều hành thời gian thực

và các kỹ năng lập trình cho vi điều khiển

Trang 4

Báo cáo tiểu

Mục lục

CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG NHÚNG 6

1.1 Giới thiệu về hệ thống nhúng 6

1.1.1 Khái niệm về hệ thống nhúng 6

1.1.2 Lịch sử phát triển của hệ thống nhúng 6

1.1.3 Các đặc điểm cơ bản của hệ thống nhúng 6

1.1.4 Những yêu cầu cho việc phát triển một hệ thống nhúng 8

1.2 Các thành phần của hệ thống nhúng 10

1.2.1 Các thành phần của Board hệ thống nhúng 10

1.2.2 Các thành phần phần mềm của hệ thống nhúng 13

1.3 Hệ điều hành thời gian thực 13

1.3.1 Yêu cầu chung cho các hệ điều hành thời gian thực 14

1.3.2 Các chức năng chính của phần lõi trong hệ điều hành 16

1.4 Các công cụ thiết và mô phỏng hệ thống nhúng 22

CHƯƠNG 2: THIẾT KẾ MÔ PHỎNG THIẾT BỊ MÁY RỬA BÁT MINI 24

2.1 Thiết kế phần cứng 24

2.1.1 Thiết kế mô hình máy rửa bát mini 24

2.1.2 Thiết kế mô phỏng nguyên lý phần cứng trên Proteus 24

2.2 Thiết kế phần mềm nhúng mô phỏng hoạt động máy rửa bát mini 24

2.2.1 Main.c và Port.H 24

2.2.2 Phục vụ ngắt sEOS_ISR() 25

CHƯƠNG 3: MÔ PHỎNG VÀ ĐÁNH GIÁ THIẾT BỊ 26

3.1 Mô phỏng trên Proteus 26

3.2 Mô phỏng trên Keil C 27

TÀI LIỆU THAM KHẢO 29

Trang 5

Báo cáo tiểu

H nh 5: Mức ưu tiên giữa các tác vụ và khả năng chiếm quyền thực thi

H nh 10: Phần mềm viết chương tr nh Keil C

H nh 11: Sản phẩm máy rửa bát mini

H nh 12: Các trạng thái máy rửa bát mini

H nh 13: Sơ đồ khối hệ thống máy rửa bát mini

H nh 14: Thiết kế mô phỏng phần cứng trên proteus

H nh 15: Trạng thái khởi tạo của máy rửa bát mini

H nh 16: Chế độ hoạt động bằng tay (manual) của máy rửa bát mini

H nh 17: Chế độ tự động rửa với công suất cao nhất.

H nh 18: Mô phỏng trên Keil C

Trang 6

Báo cáo tiểu

CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG NHÚNG

1.1 Giới thiệu về hệ thống nhúng

1.1.1 Khái niệm về hệ thống nhúng

Hệ thống nhúng là hệ thống bao gồm ít nhất một phần tử lập trình được, thường là các vi xử

lý (VXL) hoặc vi điều khiển (VĐK), trừ một số thiết bị như máy tính PC, Laptop, điện thoại thôngminh

Ví dụ:

 Các thiết bị gia dụng: TV, máy giặt tủ lạnh, máy rửa bát mini , máy ảnh, camera, cảnh báochống trộm, cửa cuốn

 Trong công nghiệp: robot, dây chuyền tự động

 Các thiết thông tin liên lạc: bộ đàm, điện thoại di động, kiểm soát dẫn đường, khí tượng, dẫn

 Hệ thống điều khiển trên phương tiện giao thông: phanh, phun xăng, quản lý động cơ, lái tựđộng

 Thiết bị y tế: chuẩn đoán hình ảnh, sinh hóa, dao mổ điện tử

 Quân sự: ra đa, định vị, dẫn đường, vũ khí có điều khiển

1.1.3 Các đặc điểm cơ bản của hệ thống nhúng

 Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng Không đóng vaitrò là các hệ thống máy tính đa chức năng Có thể đòi hỏi ràng buộc về tính hoạt động thời gianthực để đảm bảo độ an toàn và tính ứng dụng Một số hệ thống không đòi hỏi hoặc ràng buộcchặt chẽ Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống

Trang 7

Báo cáo tiểu

phức tạp nằm trong thiết bị mà nó điều khiển Phần mềm được viết cho các hệ thống nhúngđược gọi là firmware và được lưu trữ trong các chip bộ nhớ chỉ đọc (read-only memory) hoặc

bộ nhớ flash

 Phần mềm thường chạy với số tài nguyên phần cứng hạn chế:

 Không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ

 Hệ điều hành thường sử dụng DOS, Linux, NetBSD hoặc các hệ điều hành nhúng thời gianthực như QNX hay VxWorks

 Các hệ thống nhúng có kích thước rất lớn thường sử dụng một cấu hình thông dụng:

 Hệ thống on-chip (System on a chip –SoC)

 Một chíp ASIC (application - specific integrated circuit), sau đó nhân CPU được mua và thêmvào như một phần của thiết kế chip

 Công cụ phát triển:

 Các trình biên dịch (compilers)

 Các công cụ gỡ rối (debuggers)

 Các công cụ mô phỏng (simulators, emulators)

 Một hệ thống nhúng có thể có ngôn ngữ lập trình và công cụ thiết kế riêng của nó hoặc sử dụng

và cải tiến từ một ngôn ngữ đã có sẵn

 Các công cụ phần mềm có thể được tạo ra bởi các công ty phần mềm chuyên dụng

 Hoặc chuyển đổi từ các công cụ phát triển phần mềm GNU

 Vấn đề độ tin cậy của hệ thống:

 Thường được kỳ vọng là sẽ chạy hàng năm trời liên tục mà không bị lỗi hoặc có thể khôi phục

hệ thống khi gặp lỗi

 Các phần mềm hệ thống nhúng được phát triển và kiểm thử một cách cẩn thận

Trang 8

Báo cáo tiểu

 Các thiết bị rời không đáng tin cậy như ổ đĩa, thường bị hạn chế sử dụng

 Khôi phục hệ thống khi gặp lỗi có thể được thực hiện bằng cách sử dụng các kỹ thuật nhưwatchdog timer

 Hệ thống không thể ngừng để sửa chữa một cách an toàn: các hệ thống không gian, hệ thốngdây cáp dưới đáy biển, các đèn hiệu dẫn đường Giải pháp là chuyển sang sử dụng các hệ thốngcon dự trữ hoặc các phần mềm cung cấp một phần chức năng

 Hệ thống phải được chạy liên tục vì tính an toàn: các thiết bị dẫn đường máy bay, thiết bị kiểmsoát độ an toàn trong các nhà máy hóa chất, điện lực Giải pháp đưa ra là lựa chọn backup hệthống

 Hệ thống không thể ngừng để sửa chữa một cách an toàn: các hệ thống không gian, hệ thốngdây cáp dưới đáy biển, các đèn hiệu dẫn đường Giải pháp là chuyển sang sử dụng các hệ thốngcon dự trữ hoặc các phần mềm cung cấp một phần chức năng

 Hệ thống phải được chạy liên tục vì tính an toàn: các thiết bị dẫn đường máy bay, thiết bị kiểmsoát độ an toàn trong các nhà máy hóa chất, điện lực Giải pháp đưa ra là lựa chọn backup hệthống

1.1.4 Những yêu cầu cho việc phát triển một hệ thống nhúng

 Tổng quan về thiết kế các hệ nhúng

 Mô hình hoá hệ thống: Mô tả các khối chức năng với các đặc tính và thuật toán xử lý

 Chi tiết hoá các khối chức năng

 Phân bố chức năng cho phần cứng và mềm (HW-SW)

 Đồng bộ hoạt động của hệ thống

 Cài đặt các chức năng thiết kế vào phần cứng (hardware) và phần mềm (software) hoặcfirmware

 Cách thiết kế cổ điển:

 Các chức năng phần mềm (SW) và phần cứng (HW) được xác định trước

 Các bước thiết kế chi tiết được tiến hành một cách độc lập ở hai khối

 Hiện nay:

 Các hệ thống nhúng sử dụng đồng thời nhiều công nghệ như vi xử lý, DSP, mạng và các chuẩnphối ghép, các giao thức

 Nay đòi hỏi có khả năng thay đổi mềm dẻo hơn trong quá trình thiết kế 2 phần HW và SW

 Quá trình thiết kế SW và HW phải phối hợp với nhau chặt chẽ

Trang 9

Báo cáo tiểu

H nh 3: Những yêu cầu để phát triển một hệ thống nhúng

Trang 10

Báo cáo tiểu

 Một thiết bị điện tử có chứa ít nhất một bộ xử lý chủ (master processor) có thể bổ sung các bộ

xử lý tớ (slave processors) cùng làm việc và điều khiển bởi bộ xử lý chủ

 Slave processors có thể tham gia và các chỉ lệnh của master processor hoặc thi hành quản lý bộnhớ, các bus và các thiết bị vào ra

 Hệ thống nhúng được thiết kế xung quanh bộ xử lý chủ

 Các bộ vi xử lý chứa một lượng nhỏ bộ nhớ tích hợp và thành phần vào ra (I/O) Các bộ vi điềukhiển có phần lớn bộ nhớ hệ thống và các thành phần vào ra tích hợp trên chip

 Các bộ xử lý nhúng có thể tách thành các nhóm dựa trên kiến trúc Khác biệt giữa các nhómkiến trúc này là tập hợp các mã máy hướng dẫn các bộ xử lý trong các nhóm kiến trúc có thểthực thi

 Bộ nhớ:

 Trên hệ thống có thể có nhiều loại bộ nhớ khác nhau

 Các phần mềm cũng chạy trên các loại bộ nhớ khác nhau

 Nền tảng nhúng có sự phân cấp bộ nhớ, 1 tập hợp gồm các loại bộ nhớ khác nhau, mỗi loại đều

có tốc độ, kích cỡ và cách sử dụng riêng biệt

Trang 11

Báo cáo tiểu

H nh 6: Level bộ nhớ trong vi điều khiển

 Bộ nhớ sơ cấp có thể được tích hợp sẵn trong bộ xử lý, như các thanh ghi và các loại bộ nhớ sơcấp, là nơi mà bộ nhớ có thể kết nối trực tiếp hay tích hợp trong bộ xử lý như ROM, RAM vàlevel-1 cache

 Bộ nhớ ngoài: thường dùng để lưu trữ một lượng dữ liệu ổn định, và/hoặc dự phòng dữ liệu,trong một khoảng thời gian dài bất định bộ nhớ cấp2/ cấp3 (như CDROM, ổ cứng, ổ từ…)

 Hệ thống Bus:

 Bus hệ thống: kết nối bộ nhớ ngoài và bộ nhớ đệm đến CPU chỉ và/hoặc cầu nối đến bus khác

 Bus Backplane: kết nối bộ nhớ, CPU, IO trên 1 bus

 Bus I/O: phần mở rộng của hệ thống bus để kết nối các thành phần còn lại cho CPU với nhau,đến hệ thống bus qua cầu nối và/hoặc đến các hệ thống nhúng của riêng mình, qua cổng thôngtin I/O

H nh 4: Kiến trúc hệ thống Bus

 PCMCIA, PCI, IDE, SCSI, USB, I2C, SPI

 Cổng vào/ra (I/O): Là thiết bị chịu trách nhiệm di chuyển thông tin đến và đi của bảng mạch đến thiết bị vào/ra kết nối tới một hệ thống nhúng

Trang 12

Báo cáo tiểu

 Thiết bị ra nhận dữ liệu từ những bộ phận bảng mạch I/O và hiển thị dữ liệu đó theo một sốcách thức, ví dụ : in dữ liệu ra giấy, in ra đĩa, hiển thị lên màn hình hoặc là nhấp nháy đèn LED

 Thiết bị vào ví dụ như chuột, bàn phím hoặc là điều khiển từ xa truyền dữ liệu đến bảng mạch I/O

 Dữ liệu có thể được truyền nối tiếp hoặc song song, đồng bộ hoặc không đồng bộ, trong 1chiều, 2 chiều lần lượt, 2 chiều đồng thời

 Chuyển đổi tương tự/số:

 Flash A/D converter

Trang 13

Báo cáo tiểu

1.2.2 Các thành phần phần mềm của hệ thống nhúng

 Trình điều khiển thiết bị:

 Phần lớn các phần cứng nhúng cần phần mềm khởi tạo và quản lý

 Phần mềm giao diện và quản lý phần cứng gọi là trình điều khiển thiết bị

 Trình điều khiển thiết bị quản lý việc truy cập tới phần cứng của các lớp phần mềm cao hơn,

 Liên kết giữa phần cứng và OS, middleware, và lớp ứng dụng

 Hệ điều hành nhúng:

 Là một sự tùy chọn trong hệ thống nhúng

 Trong phân lớp, OS nằm trên driver hoặc BSP (board support package)

 Có 2 nhiệm vụ chính: tạo một lớp trừu tượng của phần cứng, quản lý các hệ thống phần cứng vàphần mềm

 Tối thiểu có một nhân bao gồm các tính năng chính của hệ điều hành (kernel)

 Middleware:

 Middleware là phần mềm hệ thống bất kì, không chỉ là một bộ phận chính của hệ điều hành, các

bộ điều khiển thiết bị, hay các phần mềm ứng dụng

 Middleware thường là phần mềm trung gian giữa các phần mềm ứng dụng với bộ phận chínhhay là phần mềm điều khiển thiết bị

 Middleware cũng là phần mềm trung gian và điều khiển các phần mềm ứng dụng khác

1.3 Hệ điều hành thời gian thực

Khái niệm hệ thống thời gian thực: Một hệ điều hành thời gian thực (tiếng Anh: real-timeoperating system, viết tắt: RTOS) là một hệ điều hành (OS) nhằm phục vụ các ứng dụng thời gianthực, với việc xử lý dữ liệu đầu vào mà không có sự chậm trễ của bộ đệm (buffer) Các yêu cầu vềthời gian xử lý (bao gồm cả sự chậm trễ của hệ điều hành) được tính bằng phần mười của giâyhoặc bằng thời gian ngắn hơn nữa Một hệ thống thời gian thực là một hệ thống giới hạn thời gianvới các các ràng buộc thời gian cố định được định nghĩa rõ ràng Quá trình xử lý phải được thựchiện trong một khoản thời gian cố định, nếu không thì hệ thống sẽ gặp sự cố Việc này có thể được

Trang 14

Báo cáo tiểu

thực hiện thông qua cơ chế hướng sự kiện (event-driven) hoặc chia sẻ thời gian (time-sharing).Các hệ thống hướng sự kiện sẽ chuyển đổi giữa các tác vụ (task) nhiệm vụ dựa trên độ ưu tiên củachúng trong khi các hệ thống chia sẻ thời gian sẽ chuyển đổi các tác vụ dựa trên ngắt của xungnhịp Phần lớn các hệ điều hành thời gian thực đều sử dụng giải thuật pre-emptive scheduling (tạmdịch: lập lịch trước)

Theo nghĩa đen, hệ thống phải phản ứng tức thì, thích hợp theo yêu cầu Theo đúng ý nghĩa,thời gian thực của một sự kiện nghĩa là nó xảy ra ngay lập tức

1.3.1 Yêu cầu chung cho các hệ điều hành thời gian thực

Hệ thống thời gian thực cần phải tin cậy và chính xác Đối với các hệ thống điều khiển như trong ô

tô, trong dây chuyển sản xuất, độ chính xác rất quan trọng

POSIX 1003.1b định nghĩa thời gian thực cho hệ điều hành là khả năng của hệ điều hành để cungcấp mức độ của dịch vụ trong một thời gian giới hạn

 Các tính chất cần thiết của một RTOS:

 Thời gian thực cứng (hard real-time):

 Một hệ thống thời gian thực cứng cần một sự đảm bảo về thời gian đáp ứng trong trường hợpxấu nhất

 Cả hệ thống bao gồm hệ điều hành, ứng dụng, phần cứng… phải được thiết kế đảm bảo cácyêu cầu về thời gian đáp ứng Nếu không có thể sẽ có những hậu quả nghiêm trọng

 Ví dụ như các hệ thống quốc phòng, các hệ thống điều khiển xe cộ hoặc máy bay, các thiết bị ytế…

 Thời gian thực mềm (soft real-time):

 Đối với hệ thống thời gian thực mềm, việc đáp ứng yêu cầu về thời gian không phải lúc nàocũng cần thiết

 Ví dụ như hệ thống xem phim, thỉnh thoảng có thể hệ thống bị treo, hoặc giật hình Những sự

cố này không có hậu quả lớn

Trang 15

Báo cáo tiểu

 Trễ ngắt (Interrupt latency): Thời gian trễ ngắt là thời gian từ khi một ngắt từ phần cứng xảy rađến khi hàm xử lý ngắt chạy Một hệ điều hành thời gian thực cần có trễ ngắt có thể đoán được

và thường càng nhỏ càng tốt

 Trễ lập lịch (Scheduler latency): Đây là thời gian bắt đầu từ khi tác vụ có khả năng chạy đếnkhi tác vụ thực sự chạy Một hệ điều hành thời gian thực cần có trễn lập lịch có thể xác địnhđược

 Đồng bộ và thông tin giữa các process (Interprocess communication and synchronization): Kiểuthông tin phổ biến nhất giữa các tác vụ trong một hệ thống nhúng là gửi các bản tin Một hệđiều hành thời gian thực cần có một cơ chế xử lý bản tin ở thời gian không đổi

 Phân phối bộ nhớ động (Dynamic memory allocation): Một hệ điều hành thời gian thực cầncung cấp các hàm cung cấp bộ nhớ với thời gian cố định:

Trang 16

Báo cáo tiểu

1.3.2 Các chức năng chính của phần lõi trong hệ điều hành

Hạt nhân chính là phần lõi của hệ điều hành Nó được sử dụng để phục vụ cho các bộ quản lýquá trình, bộ lập lịch bộ quản lý tài nguyên và bộ quản lý vào ra Phần hạt nhân đảm nhiệmchức năng lập lịch, đồng bộ và bảo vệ hệ thống bởi việc sử dụng sai, xử lý ngắt…Chức năngđiều khiển chính của nó là phục vụ điều khiển phần cứng bao gồm ngắt, các thanh ghi điều khiển,các từ trạng thái và các bộ định thời gian Nó nạp các phần mềm điều khiển thiết bị để cung cấpcác tiện ích chung và phối hợp với các hoạt động vào ra với hệ thống Phần hạt nhân có vai tròđiều khiển rất quan trọng để đảm bảo tất cả các phần của hệ thống có thể làm việc ổn định vàthống nhất

Hai kiến trúc thiết kế phần hạt nhân kinh điển nhất là kiến trúc vi hạt nhân và đơn hạt nhân(monolithic)

Vi hạt nhân: Các vi hạt nhân cung cấp các chức năng điều hành cơ bản cốt lõi (thô) theo cơ chếcác module tương đối độc lập đảm nhiệm các tác vụ cụ thể và chuyển rời rất nhiều các dịch vụđiển hình điều hành hệ thống thực thi trong không gian người sử dụng Nhờ cơ chế này mà cácdịch vụ có thể được khởi tạo hoặc cấu hình lại mà không nhất thiết phải khởi tạo lại toàn bộ hệthống Kiến trúc vi hạt nhân cung cấp độ an toàn cao bởi vì dịch vụ hệ thống chạy ở tầng người sửdụng với hạn chế về truy nhập vào tài nguyên của hệ thống và có thể được giám sát Kiến trúc vihạt nhân có thể được xây dựng một cách mềm dẻo để phù hợp với cấu hình phần cứng khác nhaumột cách linh hoạt hơn so với kiểu kiến trúc hạt nhân monilithic Tuy nhiên do tính độc lập tươngđối giữa các module trong vi hạt nhân nên cần thiết phải có một cơ chế trao đổi thông tin haytruyền thông giữa các module đó vì vậy có thể là lý do làm chậm tốc độ và giảm tính hiệu quảhoạt động của hệ thống Đặc điểm nổi bật và cốt lõi của kiến trúc vi hạt nhân là kích thước nhỏ và

dễ dàng sửa đổi cũng như xây dựng linh hoạt hơn Các dịch vụ thực thi ở tầng trên của hạt nhân vìvậy đạt được độ an toàn cao Kiến trúc vi hạt nhân được phát triển mạnh mẽ trong các hệ thống

đa xử lý ví dụ như Windows 2000, Mach và QNX

Đơn hạt nhân: Kiểu kiến trúc monolithic cung cấp tất cả chức năng/dịch vụ chính yếu thôngqua một qua trình xử lý đơn lẻ Chính vì vậy kích thước của chúng thường lớn hơn kiểu kiến trúc

vi hạt nhân Loại hình kiến trúc này thường được áp dụng chủ yếu cho các phần cứng cụ thể màhạt nhân monolithic có sự tương tác trực tiếp với phần cứng nhờ vậy mà khả năng tối ưu cũng dễdàng hơn so với áp dụng kiểu kiến trúc vi hạt nhân Chính vì vậy cũng là lý do tại sao kiến trúcmonolithic không thể thay đổi mềm dẻo linh hoạt như kiểu vi hạt nhân Ví dụ điển hình về loạihình kiến trúc hạt nhân monolithic bao gồm Linux, MacOS, và DOS

Ngày đăng: 22/01/2025, 14:42

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

TÀI LIỆU LIÊN QUAN

w