Tải bản đầy đủ (.pdf) (12 trang)

Lập trình hệ thống nhúng top down design

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (225.67 KB, 12 trang )

LẬP TRÌNH HỆ THỐNG
NHÚNG

BÙI QUỐC BẢO

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

Top-down design

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

2

1


Analysis phase
ðưa ra những yêu cầu (requirements) và
ràng buộc (constraints) cho hệ thống.
Requirements là các tham số mà hệ
thống phải thỏa mãn
Từ các requirement ta phát triển thành
specifications
Constrain là các giới hạn mà hệ thống
phải thỏa mãn
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

3

Analysis phase
VD:


Khi thiết kế 1 thiết bị ño ñiện áp:
Requirement: Thiết bị phải bỏ ñược trong
túiit
Specification: Kích cỡ là 10cm x 20 cm
Constraint: Giá của thiết bị dưới 1.000.000

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

4

2


Các tham số phải xem xét
ðộ an toàn
ðộ chính xác, ñộ phân giải
Tốc ñộ ñáp ứng, khả năng xử lý
Khả năng sửa ñổi, update (Maintainability)
Khả năng kiểm tra, check lỗi (testability)
ðộ tương thích
Thời gian sử dụng
Kích cỡ, cân nặng
Năng lượng tiêu hao
Chi phí thiết kế và chế tạo mẫu thử (Nonrecurring engineering
cost)
Chi phí sản xuất
Thời gian chế tạo mẫu
Thời gian ñưa sản phẩm vào thương mại

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM


5

IEEE STD 830-1998

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

6

3


High level design
ðưa ra mô hình của hệ thống
Chia hệ thống ra làm nhiều module con
Ước lượng chi phí.
ðưa ra thời gian biểu
ðưa ra sơ ñồ luồng dữ liệu (data flow
graph)
Tại quá trình này, ta biết ñược dự án có
khả thi, mang lại lợi nhuận hay không.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

7

Data flow của 1 bộ ñiều khiển motor

Hình chữ nhật: hardware

Hình oval: software


BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

8

4


Engineering design
Thiết kế sơ khởi hệ thống:
ðưa ra sơ ñồ cấu trúc top-down
Những tín hiệu I/O cơ bản
Những cấu trúc dữ liệu ñược chia sẻ giữa
các module
Sơ ñồ phần mềm tổng quát

Thiết kế phần cơ khí
Phương pháp giao tiếp với máy tính
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

9

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

10

Call graph

5



Flowchart

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

11

Flowchart
Flowchart giúp chương trình
ñược thiết kế một cách có cấu
trúc

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

12

6


On-Page Connector
Program flow chart
Page 1

START

A

init

Do something


A

END

13

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

Off-Page Connector
Program flow chart
Page 2

Program flow chart
Page 1
START

A-1

init
Do something
A-2

END
Khi lập flowchart, không nên có quá nhiều connector

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

14


7


VD: Vẽ flowchart cho 1 máy nướng bánh
mì. Một nút nhấn start sẽ làm máy bắt
ñầu chạy. Máy dùng một sensor ño nhiệt
ñộ và so sánh với 1 nhiệt ñộ cho sẵn.
Dây ñốt (heater) sẽ ñược bật khi nhiệt
ñộ dưới nhiệt ñộ cần thiết, và tắt khi ñã
ñạt ñến nhiệt ñộ ñó.

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

15

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

16

8


Implementation
Hệ thống ñược thực sự xây dựng trong
bước này.
Các khối con có thể ñược phát triển
song song
Các công cụ mô phỏng nên ñược sử
dụng trước khi làm ra sản phẩm thực.


BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

17

Testing
Trong bước này, chúng ta kiểm tra sự hoạt
ñộng của hệ thống.
Trước tiên, kiểm tra các chức năng cơ bản
của hệ thống.
Kiểm tra và tối ưu các tham số như tốc ñộ
thực thi, ñộ chính xác, ñộ ổn ñịnh,…

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

18

9


Maintenance
ðây là bước sau khi ñưa sản phẩm ñến người
dùng
Các yêu cầu có thể có:
Sửa lỗi
Thêm chức năng
Tối ưu tốc ñộ thực thi, kích thước chương trình
Thay ñổi code ñể chạy cho một vi xử lý khác hay
hệ ñiều hành khác
Cấu hình lại hệ thống ñể giải quyết một vấn ñề
tương tự

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

19

Bottom-up design

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

20

10


ðánh giá chất lượng
ðánh giá ñịnh lượng (quantitative):
Tốc ñộ thực thi
Tài nguyên tiêu tốn
ðộ chính xác
ðộ ổn ñịnh

ðánh giá ñịnh tính (qualitative):
Khả năng bảo trì và nâng cấp
(maintenence) phần mềm
Mức ñộ dễ hiểu của phần mềm.
BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

21

You can tell if you are a good programmer
if

1) you can understand your own code 12
months later
2) others can make changes to your
code
(Jonathan W Valvano)

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

22

11


Coding style
ðể làm cho chương trình dễ hiểu, dễ
kiểm tra, mã nguồn chương trình phải
ñược viết theo 1 cách thống nhất.
Mỗi công ty thường có 1 chuẩn (guide
line) riêng.
Sinh viên tham khảo coding style guide
line trên trang web e-learning.

BỘ MÔN KỸ THUẬT ðIỆN TỬ-ðH BK TP.HCM

23

12




×