You are on page 1of 114

Mở rộng

Embedded System Design


2. Embedded System Features
2. Embedded System Features

• Embedded processor is a heart of the embedded


system:
– micro-processor: 8086, ARM7, …
– micro-controller: 8051, ARM Cortex-M, PIC16F,
68HC11,..
• Memory
– ROM: embedded program
– RAM: processing data
2. Embedded System Features

• Embedded program
– OS / non-OS supported
– realtime / non-realtime
– timer, interrupt, serial port…
• Clock:
– crystal
• Power:
– +5V / +3.3V / +2.5V
2. Embedded System Features
• Peripherals:
– I/O port
– UART
– I2C
– ADC
– PWM
• User interface:
– Button / keypad / switch
– LCD / 7-segment LED / LED indicator
• Sensors:
– temperature, light, ultrasound, pressure, …
• Actuators:
– motor, solenoid, relay, …
2. Embedded System Features
• Những đặc điểm chung:
- Đơn chức năng, thực hiện một chương trình duy
nhất/lặp đi lặp lại.
• Bị ràng buộc chặt chẽ
- Chi phí thấp, công suất thấp, nhỏ, nhanh, v.v.
• Phản ứng và thời gian thực
- Liên tục phản ứng với những thay đổi trong môi
trường hệ thống.
- Phải tính kết quả chính xác trong thời gian thực,
không chậm trễ.
Lưu ý: HTN thường
• Thực hiện một chức năng duy nhất
• Đó là một phần của hệ thống lớn hơn (được kiểm soát)
• Chi phí và độ tin cậy thường là những khía cạnh quan
trọng nhất
• Hàng tỷ đơn vị được sản xuất hàng năm, so với hàng
triệu máy tính đa mục đích chung
• Tổng quát, nó không cung cấp khả năng lập trình cho
người dùng cuối
• Kiểu vi xử lý: phong phú (trên 300 loại).
2. Example: An embedded system
• A digital camera

• Chức năng đơn - luôn là máy ảnh kỹ thuật số


• Yêu cầu bắt buộc - Chi phí thấp, công suất thấp, nhỏ, nhanh
• Phản ứng và thời gian thực - chỉ ở một mức độ nhỏ.
3. Embedded System Models
3. Embedded System Models

• Phần mềm ứng dụng (Application software):


- Chương trình ứng dụng, GUI, chương trình điều khiển…
• Phần mềm hệ thống (System software)
– Hệ điều hành, trình điều khiển hệ thống, thư viện hệ thống
• Phần cứng (Hardware)
– Processors, memory, peripherals, input/output devices,
PCB
Embedded System Requirements
5 yêu cầu cơ bản cho một hệ thống nhúng:
Hoạt động thời
gian thực/ đáp ứng

Kích thước
Giá cả / nguồn
nhỏ/ trọng
dự trữ
lượng nhẹ

An toàn và Năng lượng


tin cậy thấp, làm mát
Embedded System Quality
8 thông số cơ bản của chất lượng
1. Hiệu suất: Các đặc tính hoạt động chính của sản phẩm.
2. Đặc tính: Các đặc điểm bổ sung cho chức năng cơ bản của
3. Độ tin cậy: Xác suất sản phẩm bị trục trặc
4. Độ bền: Một thước đo lượng sử dụng mà người ta nhận
được từ một sản phẩm trước khi nó bị hỏng
5. Khả năng bảo trì: Dễ dàng và thời gian để sửa chữa sau
khi sự cố
6. Sự phù hợp: mức độ đáp ứng tiêu chuẩn
7. Tính thẩm mỹ: Một sản phẩm trông như thế nào
8. Chất lượng cảm nhận: Kích thước này được liên kết với
danh tiếng
4. Real-time
Embedded Systems

• Định nghĩa:
- Hệ thống thời gian thực là hệ
thống phải xử lý thông tin và
tạo phản hồi trong một thời
gian xác định.
- Bất kỳ hệ thống nào trong đó
thời gian mà đầu ra được coi
là quan trọng.
• Hầu hết các hệ thống
nhúng là thời gian thực
4. Real-time Embedded Systems
• Hệ thống thời gian thực cứng:
- thiếu thời hạn có một lỗi toàn bộ hệ thống.
- Nhiều trong số các hệ thống này được coi là an toàn
quan trọng
- Nói chung có một hàm chi phí liên quan đến hệ thống
4. Real-time Embedded Systems
Soft real time
– the system's quality of service degrades after its deadline
– Deadline overruns are tolerable, but not desired
– Often connected to Quality of Service (QoS)
4. Real-time Embedded Systems
Ví dụ
• Hệ thống thời gian thực cứng
- Hệ thống điều khiển động cơ xe hơi là hệ thống thời
gian thực cứng vì tín hiệu bị trễ có thể gây ra hỏng
hóc hoặc hư hỏng động cơ.
- Máy tạo nhịp tim là một hệ thống thời gian thực
cứng
• Hệ thống thời gian thực mềm
- Hệ thống đa phương tiện
- Hệ thống điều khiển hiển thị LED
5. Qui trình thiết kế
hệ thống nhúng
Embedded System Design Process
Quy trình thiết kế hệ thống nhúng
• Quy trình thiết kế đại khái tuân theo
các mô hình quy trình phần mềm
• Các biến thể của công nghệ phần mềm
điển hình
• Có thể áp dụng các mô hình quy trình:
• Mô hình thác nước
• Mô hình xoắn ốc
• Mô hình lặp
• Phương pháp Agile, v.v.

• Mô hình thác nước rất dễ sử dụng và


đủ cho các dự án nhỏ.
Quy trình thiết kế hệ thống nhúng
• -Đặc tả: Tạo ra một tài liệu với một mô tả chính xác về
yêu cầu hệ thống. Một tài liệu tốt sử dụng Ngôn ngữ lập
mô hình thống nhất (UML).
• Kiến trúc: Hệ thống được phân vùng thành h/w & s/w
chính các thành phần. H/w: lựa chọn bộ xử lý, thiết bị
ngoại vi, v.v. S/w: các mô-đun chính & chức năng của
chúng.
• Các kỹ sư thiết kế H/w và s/w làm việc độc lập. Cách
phân vùng chính được tinh chỉnh xuống cấp thiết bị
hoặc lớp. Công việc kỹ thuật chi tiết được thực hiện.
• Tích hợp: Các thành phần được ghép lại cùng nhau khi
đó các lỗi sẽ được phát hiện và quá trình gỡ lỗi được
tiến hành.
• Thử nghiệm: Sản phẩm được thử nghiệm như một thiết
bị duy nhất. Việc kiểm tra nghiêm ngặt hơn các ứng
dụng.
5. Embedded System Design Process
• Khi tiếp cập kiển trúc hệ thống nhúng dưới góc nhìn kỹ
thuật có thể sử dụng một số mô hình để miêu tả chu
kỳ thiết kế. Một số mô hình điển hình như sau:
• Mô hình big-bang
• Mô hình code anh fix
• Mô hình waterfall (thác nước)
• Mô hình spiral (xoáy ốc)
Cụ thể:
• Mô hình big-bang: Mô hình này về cơ bản là không cần có
kế hoạch và quy trình trước và trong quá trình thiết kế.
• Mô hình code anh fix: Đưa ra ra các yêu cầu nhưng không
có quy trình trước khi bắt đầu phát triển dự án.
5. Embedded System Design Process
• Mô hình waterfall (thác nước): Phát triển hệ thống
theo từng bước, có được kết quả của bước trước
mới thực hiện bước sau và lặp lại từ đầu
5. Embedded System Design Process
• Mô hình spiral (xoáy ốc): Là một quy trình phát triển
hệ thống theo từng bước, trong đó có một quy trình để
phát triển một hệ thống theo các bước và trong suốt các
bước khác nhau, phản hồi được thu thập và đưa lại vào
quy trình.
5. Embedded System Design Process
• Thực tế người ta thường kết hợp các mô hình, như mô
hình chu kỳ thời gian sống là sự kết hợp của mô hình
waterfall và mô hình spiral
5. Embedded System Design Process
Tổng quan qui trình thiết kế
• Mục tiêu:
• Cung cấp cho chúng ta các bước khác nhau trong thiết kế hệ thống nhúng trước
khi chúng ta đi sâu vào nghiên cứu chi tiết từng bước.
• Cho phép chúng ta hiểu hơn về bản thân phương pháp thiết kế.
• Phương pháp thiêt kế:
• Cho phép chúng ta giữ một bảng ghi chú về một thiết kế để đảm bảo rằng chúng
ta đã làm mọi thứ ta cần làm (chẳng hạn: có cần /không cần tối ưu hóa hiệu
năng; khi nào thực hiện kiểm tra chức năng của thiết kế)
• Cho phép chúng ta phát triển các công cụ thiết kế được hỗ trợ bởi máy tính. Phát
triển một công cụ duy nhất để hỗ trợ toàn bộ quá trình thiết kế một hệ thống
nhúng sẽ là một nhiệm vụ khó khăn, nhưng bằng cách chia quy trình thiết kế
thành các bước nhỏ có thể quản lý, chúng ta có thể tạo ra các công cụ tự động
hóa (hoặc ít nhất là bán tự động hóa) quá trình thiết kế cho mỗi bước trong quy
trình.
• Phương pháp thiết kế giúp các thành viên của nhóm thiết kế trao đổi với nhau dễ
dàng hơn. Bằng cách xác định một quy trình thiết kế tổng thể, các thành viên
trong nhóm có thể dễ dàng hiểu những gì họ phải làm, những gì họ sẽ nhận được
từ các thành viên khác trong nhóm vào những thời điểm nhất định và những gì
họ phải bàn giao khi hoàn thành các bước được giao. Bởi vì phần lớn các hệ
thống nhúng được thiết kế và thực hiện bởi các nhóm, sự phối hợp nhịp nhàng
giữa các nhóm thể hiện vai trò quan trọng nhất trong phương pháp thiết kế.
25
Qui trình thiết kế
Trình tự các bước chính trong quy trình thiết kế hệ thống
nhúng theo luồng từ trên xuống:
• Bắt đầu với việc đưa ra các yêu cầu thiết kế
(Requirements) của hệ thống.
• Xây dựng đặc tả kỹ thuật (specification), chúng ta tạo ra
một bản mô tả chi tiết hơn về những gì chúng ta muốn
thiết kế. (Tuy nhiên, bản đặc tả chỉ nêu ra cách hệ thống
hoạt động mà không phải cách nó được xây dựng thế
nào).
• Thiết kế kiến trúc - Các chi tiết bên trong của hệ thống
bắt đầu hình thành khi chúng ta phát triển kiến trúc
• Thiết kế sơ đồ khối chỉ ra cấu trúc của hệ thống dưới
dạng các khối chức năng. Khi chúng ta xác định các khối
chức năng chính cấu thành lên hệ thống chúng ta có thể
thiết kế các khối chức năng đó, bao gồm cả các khối
chức năng phần mềm và bất kỳ khối chức năng phần
cứng chuyên dụng nào mà chúng ta cần.
• Dựa trên các khối chức năng đó, cuối cùng chúng ta có
thể tích hợp chúng lại với nhau để xây dựng một hệ
thống hoàn chỉnh. Đưa ra các yêu cầy test
26
Qui trình thiết kế
Các bước trong quy trình thiết chỉ là một trục mà chúng ta thực
hiện, bên cạnh đó chúng ta cũng cần xem xét thêm các mục tiêu
chính của thiết kế:
 Chi phí sản xuất
 Hiệu năng (bao gồm tốc độ tính toán và deadline)
 Sự tiêu thụ năng lượng.
Chúng ta cũng cần xem xét các nhiệm vụ mà chúng ta cần thực hiện
ở mọi bước trong thiết kế, cụ thể như:
 Cần phải phân tích thiết kế ở mỗi bước để xác định cách cthức có thể
thỏa mãn các yêu cầu kỹ thuật trong bản đặc tả
 Phải tinh chỉnh thiết kế để đi sâu vào thiết kế chi tiết
 Chúng ta cần kiểm thử thiết kế để đảm bảo rằng nó vẫn đáp ứng
được tất cả các mục tiêu của hệ thống chẳng hạn như chi phí, tốc độ,

27
Yêu cầu thiết kế theo chức năng (Requirements)
• Xác định rõ những yêu cầu cần phải thiết kế (Các giai đoạn đầu tiên của quy
trình thiết kế nhằm thu thập những thông tin này để sử dụng cho việc xây dựng
kiến trúc và các khối chức năng). Chúng ta thường tiến hành theo hai bước:
• Thu thập một bản mô tả không chính thức từ các khách hàng được là gọi bản yêu cầu

• tiếp tục tinh chỉnh các yêu cầu đó thành một bản đặc tả có đủ thông tin để bắt đầu
thiết kế kiến trúc của hệ thống.
• So sánh yêu cầu và đặc tả kỹ thuật:
Việc phân tích yêu cầu và đặc tả kỹ thuật là cần thiết do sự khác biệt lớn giữa những gì
khách hàng mô tả về hệ thống mà họ muốn và những gì mà người kỹ sư cần thiết kế.
Người đặt hàng các hệ thống nhúng thường không phải là người có chuyên môn về thiết
kế hệ thống nhúng hay sản phẩm chứa hệ thống nhúng đó. Sự hiểu biết của họ về hệ thống
nhúng thường dựa trên cách họ hình dung về người dùng tương tác với hệ thống. Họ có
thể có những mong muốn không thực tế về những gì có thể thực hiện trong phạm vi ngân
sách của họ và họ cũng có thể thể hiện mong muốn của họ bằng ngôn ngữ rất khác so với
những gì kỹ sư thiết kế phải làm. Thu thập một tập hợp phù hợp các yêu cầu từ khách
hàng và sau đó đưa chúng vào một bản đặc tả chính thức là một cách quản lý quá trình
chuyển dịch từ ngôn ngữ của người đặt hàng sang ngôn ngữ của kỹ sư thiết kế.

28
Yêu cầu thiết kế phi chức năng (non- function
Requirements)
Các yêu cầu về đặc điểm phi chức năng của hệ thống nhúng bao gồm:
 Hiệu năng (Performance): hiệu năng có thể là sự kết hợp của hiệu năng mềm như thời
gian xấp xỉ để thực hiện một chức mức người dùng và thời hạn cứng mà một hoạt động
nhất định phải hoàn thành.
 Chi phí (Cost): Chi phí mục tiêu hoặc giá mua hệ thống hầu như luôn là một nhân tố
phải được xem xét khi thiết kế hệ thống nhúng. Chi phí thường có hai thành phần chính:
chi phí sản xuất bao gồm chi phí mua linh kiện và chi phí công lắp ráp sản phẩm; chi phí
trả trước cho một lần nghiên cứu, thiết kế, phát triển và thử nghiệm sản phẩm NRE
(nonrecurring engineering) bao gồm chi phí cho nhân sự và các chi phí khác khi thiết kế
hệ thống.
 Kích thước vật lý và trọng lượng: Các đặc tính vật lý của hệ thống có thể thay đổi rất
nhiều tùy thuộc vào ứng dụng. Chẳng hạn, một hệ thống điều khiển dây chuyền lắp ráp
công nghiệp có thể được thiết kế để phù hợp với giá đỡ kích thước tiêu chuẩn mà không
có giới hạn nghiêm ngặt về trọng lượng. Tuy nhiên, một thiết bị cầm tay thường có các
yêu cầu chặt chẽ cả về kích thước và trọng lượng.
 Sự tiêu thụ năng lượng: công suất rất quan trọng trong các hệ thống chạy bằng pin và
thường cũng quan trọng trong các loại ứng dụng khác. Công suất có thể được chỉ định
trong giai đoạn phân tích yêu cầu như thời lượng sử dụng pin vì có thể khách hàng không
thể miêu tả công suất theo đơn vị Wat.
29
Phân tích yêu cầu đơn giản
• Phân tích yêu cầu cho một hệ thống lớn có thể là một công việc
phức tạp và tiêu tốn nhiều thời gian. Tuy nhiên, thu thập một
lượng thông tin tương đối nhỏ trong một định dạng đơn giản, rõ
ràng là khởi đầu tốt để hiểu được các yêu cầu về hệ thống.
• Để thực hành phương pháp phân tích yêu cầu trong quy trình
thiết kế hệ thống, chúng ta sẽ sử dụng một biểu mẫu thu thập
yêu cầu đơn giản như :
• Name
• Pupose
• Inputs
• Outputs
• Functions
• Performance
• Manufacturing cost
• Power
• Physical size and weight

30
phân tích yêu cầu
 Tên (Name): Thông tin của mục này tuy đơn giản nhưng lại rất hữu ích. Đặt tên cho dự
án không chỉ đơn giản trong trao đổi công việc với người khác mà còn có thể cô đọng
được mục đích của dự án.
 Mục đích (Purpose): là một đoạn mô tả ngắn gọn một hoặc hai dòng về những gì hệ
thống phải làm. Nếu chúng ta có thể mô tả bản chất của hệ thống trong một hoặc hai dòng
chứng tỏ chúng đã hiểu đủ rõ về điều chúng ta phải làm.
 Các đầu vào và đầu ra (Inputs and outputs): Hai mục này phức tạp hơn vẻ ngoài của
chúng. Các đầu vào và đầu ra của hệ thống bao gồm rất nhiều thông tin chi tiết như:
o Loại dữ liệu (Types of data): Tín hiệu là tín hiệu điện tương tự hay dữ liệu số? Có
các đầu vào cơ khí hay không?
o Đặc điểm của dữ liệu (Data characteristics): Dữ liệu đến một cách tuần hoàn hay
không? Đầu vào từ người dùng có xảy ra thường xuyên hay không? Sử dụng bao
nhiều bit cho mỗi phần tử dữ liệu?
o Các loại thiết bị vào/ra (Types of I/O devices): Có sử dụng nút bấm hay không?
Có sử dụng các bộ chuyển đổi tương tự/số hay không? Có dữ liệu hiển thị dạng
video hay không?

31
mẫu phân tích yêu cầu
 Chức năng (Functions): Đây là một đoạn mô tả chi tiết hơn về những gì hệ thống phải làm. Một cách
tiếp cận hợp lý là mô tả chức năng của hệ thống theo luồng xử lý tín hiệu từ từ đầu vào đến đầu ra: Khi hệ
thống nhận được dữ liệu đầu vào nó sẽ làm gì? Các đầu vào giao diện người dùng ảnh hưởng đến các
chức năng hệ thống như thế nào? Các chức năng khác nhau của hệ thống tương tác với nhau như thế nào?
 Hiệu năng (Performance): Nhiều hệ thống máy tính nhúng dành ít nhất một khoảng thời gian để điều
khiển các thiết bị vật lý hoặc xử lý dữ liệu đến từ thế giới vật lý. Trong hầu hết các trường hợp này, việc
tính toán phải được thực hiện trong một khung thời gian quy định. Điều cần thiết là các yêu cầu về hiệu
năng phải được xác định sớm vì chúng phải được đo lường cẩn thận trong quá trình thực hiện để đảm bảo
hệ thống hoạt động đúng.
 Chi phí sản xuất (Manufacturing cost): Mục này bao gồm chủ yếu là chi phí của các thành phần phần
cứng. Ngay cả khi chúng ta không biết chính xác cần chi bao nhiêu cho các thành phần hệ thống, chúng ta
cũng nên có một số ý tưởng về khoảng chi phí cuối cùng. Chi phí có ảnh hưởng đáng kể đến kiến trúc:
Một hệ thống có giá bán ở mức 10 đô-la có thể có cấu trúc bên trong rất khác so với hệ thống 100 đô-la.
 Công suất (Power): Tương tự, chúng ta có thể chỉ có một ý tưởng sơ bộ về việc hệ thống có thể tiêu thụ
bao nhiêu năng lượng, nhưng một ít thông tin đó có thể giúp người thiết kế đưa ra những quyết định quan
trọng về kiến trúc của hệ thống cần thiết kế. Thông thường, quyết định quan trọng nhất là liệu máy sẽ
chạy bằng pin hay sử dụng nguồn điện lưới. Hệ thống chạy bằng pin phải được cân nhắc cẩn thận hơn về
cách chúng tiêu thụ năng lượng.
 Kích thước vật lý và trọng lượng (Physical size and weight): Chúng ta nên đưa ra một số chỉ dẫn về
kích thước vật lý của hệ thống để giúp định hướng các quyết định thiết kế kiến trúc hệ thống. Cho ví dụ,
thiết kế một máy tính để bàn có sự linh hoạt hơn nhiều trong việc lựa chọn các linh kiện được sử dụng so
với thiết kế một máy ghi âm gắn trên ve áo.
32
Một biểu mẫu phân tích yêu cầu
 Tên (Name): Thông tin của mục này tuy đơn giản nhưng lại rất hữu ích. Đặt tên cho dự
án không chỉ đơn giản trong trao đổi công việc với người khác mà còn có thể cô đọng
được mục đích của dự án.
 Mục đích (Purpose): là một đoạn mô tả ngắn gọn một hoặc hai dòng về những gì hệ
thống phải làm. Nếu chúng ta có thể mô tả bản chất của hệ thống trong một hoặc hai dòng
chứng tỏ chúng đã hiểu đủ rõ về điều chúng ta phải làm.
 Các đầu vào và đầu ra (Inputs and outputs): Hai mục này phức tạp hơn vẻ ngoài của
chúng. Các đầu vào và đầu ra của hệ thống bao gồm rất nhiều thông tin chi tiết như:
o Loại dữ liệu (Types of data): Tín hiệu là tín hiệu điện tương tự hay dữ liệu số? Có
các đầu vào cơ khí hay không?
o Đặc điểm của dữ liệu (Data characteristics): Dữ liệu đến một cách tuần hoàn hay
không? Đầu vào từ người dùng có xảy ra thường xuyên hay không? Sử dụng bao
nhiều bit cho mỗi phần tử dữ liệu?
o Các loại thiết bị vào/ra (Types of I/O devices): Có sử dụng nút bấm hay không?
Có sử dụng các bộ chuyển đổi tương tự/số hay không? Có dữ liệu hiển thị dạng
video hay không?

33
Tính thống nhất của các yêu cầu

• Sau khi viết các yêu cầu, bạn nên kiểm tra chúng để đảm bảo tính thống
nhất giữa các hạng mục, chẳng hạn:
• Có quên gán một chức năng cho đầu vào hoặc đầu ra hay không?
• xem xét tất cả các chế độ mà bạn muốn hệ thống hoạt động chưa?
• Có áp đặt một số tính năng không thực tế vào một hệ thống chi phí
thấp và chạy bằng pin hay không?...

34
Đặc tả kỹ thuật
• Bản đặc tả kỹ thuật mô tả chính xác hơn về hệ thống cần thiết kế
và đóng vai trò là hợp đồng giữa khách hàng và kỹ sư thiết kế. Do
đó, bản đặc tả kỹ thuật phải được viết cẩn thận để nó phản ánh
chính xác các yêu cầu của khách hàng làm căn cứ trong suốt quá
trình thiết kế.
• Bản đặc tả kỹ thuật phải đủ dễ hiểu để bất cứ ai cũng có thể xác
minh rằng nó thỏa mãn các yêu cầu của hệ thống cần thiết kế cũng
như những kỳ vọng của người đặt hàng. Nó cũng phải đủ rõ ràng
để các kỹ sư thiết kế biết họ cần phải xây dựng cái gì. Các kỹ sư
thiết kế có thể gặp phải một số loại vấn đề khác nhau do thông số
kỹ thuật không rõ ràng. Nếu một số tính năng trong một tình
huống cụ thể không rõ ràng từ đặc tả, kỹ sư thiết kế có thể thực
hiện chức năng sai. Nếu các đặc tính toàn cục của đặc tả là sai
hoặc không đầy đủ, kiến trúc hệ thống tổng thể được đề xuất từ
đặc tả đó có thể không đủ để thỏa mãn các yêu cầu cần thực hiện.
35
Thiết kế kiến trúc (Architecture Design)
• Đặc tả không chỉ ra cách hệ thống thực hiện các chức năng được yêu
cầu mà chỉ cho biết những gì hệ thống làm. Mô tả cách hệ thống thực
hiện các chức năng đó là mục đích của thiết kế kiến trúc.
• Kiến trúc là một bản kế hoạch chỉ ra cấu trúc tổng thể của hệ thống sẽ
được sử dụng sau này để thiết kế các khối chức năng thành phần tạo
nên kiến trúc. Việc tạo ra kiến trúc là giai đoạn đầu tiên trong quy
trình kỹ sư được đặt hàng thiết kế ra hệ thống.
• Các bản mô tả kiến trúc phải được thiết kế để đáp ứng cả hai yêu cầu
chức năng và phi chức năng. Tức là, nó không chỉ phải thỏa mãn tất
cả các chức năng cần thiết mà còn phải thỏa mãn các tiêu chí về chi
phí, tốc độ, công suất và các ràng buộc phi chức năng khác.
• Bắt đầu với kiến trúc hệ thống và tinh chỉnh nó thành kiến trúc phần
cứng và phần mềm là một cách tốt để đảm bảo hệ thống được thiết kế
ra đáp ứng tất cả các thông số kỹ thuật. Chúng ta có thể tập trung vào
các yếu tố chức năng trong sơ đồ khối hệ thống, sau đó xem xét các
ràng buộc phi chức năng khi tạo phần cứng và kiến trúc phần mềm.
36
Thiết kế kiến trúc (Architecture Design)
• Làm thế nào để chúng ta biết rằng kiến trúc phần cứng và phần
mềm của chúng ta trên thực tế thỏa mãn ràng buộc về tốc độ, chi
phí, v.v.?
• Thường bằng cách nào đó ước tính các thuộc tính của các thành
phần của sơ đồ khối, chẳng hạn như các chức năng tìm kiếm và
hiển thị thông tin trong hệ thống bản đồ di chuyển. Ước tính
chính xác thường được suy ra từ một phần từ kinh nghiệm, bao
gồm cả kinh nghiệm thiết kế chung và kinh nghiệm cụ thể với các
hệ thống tương tự, của kỹ sư thiết kế.
• Tuy nhiên, đôi khi chúng ta có thể tạo ra các mô hình đơn giản
hóa để giúp chúng ta ước tính chính xác hơn. Ước tính của tất cả
các ràng buộc phi chức năng trong giai đoạn thiết kế kiến trúc là
rất quan trọng bởi vì các quyết định dựa trên dữ liệu xấu sẽ xuất
hiện trong các giai đoạn cuối cùng của thiết kế cho thấy trên thực
tế hệ thống không thỏa mãn các đặc tả kỹ thuật.

37
Thiết kế các thành phần phần cứng và phần mềm

• Thiết kế những thành phần này là nhằm mục đích xây dựng các thành
phần đó phù hợp với kiến trúc và bản đặc tả kỹ thuật:
• Các thành phần nói chung sẽ bao gồm cả các mảng cổng lập trình
(FPGA), bo mạch chủ, và các mô-đun phần mềm:
• Phần cứng: Một số thành phần đã được tạo sẵn. Ví dụ, CPU cũng như
các chip bộ nhớ và nhiều thành phần khác sẽ là một thành phần tiêu
chuẩn trong hầu hết các trường hợp.
• Phàn mềm: Có thể sử dụng các mô-đun phần mềm tiêu chuẩn.
• Bên cạnh đó, chúng ta sẽ phải tự thiết kế một số thành phần. Ngay cả khi
chúng ta chỉ sử dụng các mạch tích hợp tiêu chuẩn, chúng ta có thể phải
thiết kế bản mạch in để kết nối chúng lại với nhau. Chúng ta có thể cũng
sẽ phải làm rất nhiều chương trình chuyên dụng theo yêu cầu riêng của
hệ thống mà chúng ta đang phát triển. Khi tạo các mô-đun phần mềm
nhúng này, chúng ta phải sử dụng chuyên môn của mình để đảm bảo hệ
thống chạy đúng theo thời gian thực và nó không chiếm nhiều dung
lượng bộ nhớ hơn mức cho phép.

38
Tích hợp hệ thống (System Integration)
• Khi các thành phần chức năng được xây dựng xong, cần kết hợp chúng lại với nhau
thành một hệ thống làm việc hoàn chỉnh.
• Nên hiểu giai đoạn này không đơn giản chỉ là lắp ráp mọi thứ lại với nhau. Lỗi
thường xuất hiện trong quá trình tích hợp hệ thống. Bằng cách xây dựng hệ thống theo
từng giai đoạn và chạy các phép thử nghiệm được chọn đúng cho mỗi giai đoạn, chúng
ta thường có thể tìm thấy các lỗi dễ dàng hơn. Nếu chúng ta chỉ gỡ lỗi một vài mô-đun
tại một thời điểm, chúng ta có nhiều khả năng phát hiện ra các lỗi đơn giản và sửa
chúng. Chỉ sau khi đã sửa sớm các lỗi đơn giản, chúng ta mới có thể dùng các phép
kiểm thử khó để phát hiện ra các lỗi phức tạp hơn hoặc các lỗi bị che khuất không thể
phát hiện bằng các phép thử đơn giản. Nếu chúng ta đảm bảo được việc thực hiện các
giai đoạn thiết kế kiến trúc và thiết kế các mô-đun thành phần đúng quy trình thì giai
đoạn lắp ráp hệ thống và kiểm tra chức năng sẽ diễn ra tương đối dễ dàng.
• Tích hợp hệ thống là quá trình đầy thách thức vì nó thường rất khó để quan sát hệ
thống ở mức đủ chi tiết để xác định chính xác xem cái gì sai bên trong. Bên cạnh đó, các
phương tiện gỡ lỗi cho các hệ thống nhúng thường có nhiều giới hạn hơn so với những
công cụ dùng cho các hệ thống máy tính để bàn. Kết quả là, xác định lý do tại sao mọi
thứ không hoạt động chính xác và làm thế nào chúng có thể được sửa chữa bàn thân nó
đã là một thách thức. Cần cẩn thận sử dụng các phương tiện sửa lỗi thích hợp trong quá
trình thiết kế từ đó có thể giúp giảm bớt các vấn đề tích hợp hệ thống.
39
Thiết kế kiến trúc
• Xem đặc tả kỹ thuật để thiết kế mô hình kiến trúc
• Từ đó xá định các:
• đầu vào
• đầu ra
• các giao diện
• Nếu hệ thống phức tạp cần thiết
• Mô hình kiến trúc phần cứng
• Mô hình kiến trúc phần mềm
Thiết kế phần cứng
• Xem đặc tả phần cứng.
• Phải vẽ
• sơ đồ khối chức năng
• sơ đồ khối chi tiết ( tên và nhiệm vụ các thành phần )
• sơ đồ nguyên lý – tóm tắt hoạt động hệ thống được
thiết kế

41
Thiết kế phần mềm – giao diện
• Chức năng các thành phần phần mềm cần đảm
nhiệm thực hiện theo yêu cầu hệ thống
• Vẽ được lưu đồ giải thuật chương trình chính và
chương trình con cần thiết …

42
Tích hợp các thành phần
• Ghép các thành phần
• Các thành phối hợp đáp ứng yêu cầu đặt ra của bài toán

43
Test các thành phần và hệ thống
• Tét các thông số/thành phần theo yêu cầu kệ thống

44
Một số bước cần lưu ý
5.1 System Specification
Hồ sơ đặc tả hệ thống
1. Mô tả sản phẩm sẽ như thế nào.
2. Mô tả những Board mạch, hệ thống
con, và phần sụn sẽ được sử dụng ntn.
3. Mô tả cách thức Board mạch sẽ
được thực hiện và cách thức hoạt động.
4. Mô tả cách phần mềm sẽ được thực
hiện.
5 Mô tả hệ thống sẽ được kiểm định
như thế nào?
5.1. System Specification
1. Đặc tả sản phẩm:
- Hệ thống phải làm gì
- Giao diện người dùng là gì
- I/O thực tế bao gồm những gì?
- Giao diện với hệ thống khác là gì (nếu có)
- Những hạn chế là gì? (tốc độ, ổn định, công suất thấp, chi phí)

Ví dụ: Hệ thống kiểm soát nhiệt độ lò


- Chức năng: điều khiển lò sưởi và quạt của lò nướng
- I/O: cảm biến nhiệt độ, cổng nóng, cổng quạt
- Giao diện người dùng: Màn hình LCD, bàn phím
- Giao diện ngoài: UART
5.1. System Specification
2. Đặc tả kỹ thuật:
- Loại phần cứng nào sẽ được sử dụng.
- Các yêu cầu cho phần cứng và phần mềm là gì?

Ví dụ: Hệ thống kiểm soát nhiệt độ lò


- Vi điều khiển 8051, PIC, AVR, cảm biến LM35, LCD 16x2-B, ADC0809,
IC RS232
- Yêu cầu
• Thuật toán điều khiển PID
• xử lý thời gian thực
• Hiển thị giá trị nhiệt độ hiện tại
• có thể đặt giá trị nhiệt độ hoạt động
• Truyền dữ liệu sang máy tính thông qua UART
5.1. System Specification
3. Đặc điểm kỹ thuật phần cứng:
- Các yêu cầu từ tài liệu kỹ thuật
- Phần cứng thực hiện chức năng như thế nào
- Phần mềm giao diện với phần cứng

Ví dụ: Hệ thống kiểm soát nhiệt độ lò


- Vi điều khiển PIC 12 MHz/cảm biến LM35/LCD 16x2/ Bàn phím-
16phím, ADC0809/ FET IRF260 /để điều khiển quạt/lò sưởi.
- Vi điều khiển đọc giá trị nhiệt độ từ LM35 thông qua ADC, hiển thị
giá trị này sang LCD, sau đó điều khiển lò sưởi và quạt dựa trên
thuật toán điều khiển PID.
5.1. System Specification
4. Đặc tả phần mềm:
- Các yêu cầu từ đặc điểm kỹ thuật
- Giao diện với phần mềm khác
- Phần mềm thực hiện các yêu cầu như thế nào

• Ví dụ: Hệ thống kiểm soát nhiệt độ lò


- Thuật toán điều khiển nhiệt độ
- Chức năng phần mềm:
• LCD_display (Chuỗi str)
• Điều khiển int PID_ (int temp, int data …)
5.1. System Specification
5. Đặc tả kiểm tra:
- Thiết bị, môi trường để thử nghiệm
- Nguyên mẫu thử nghiệm
- Quá trình thử nghiệm

• Ví dụ: Hệ thống kiểm soát nhiệt độ lò nướng


- Đồng hồ đo điện áp, đồng hồ đo nhiệt độ
- Mẫu đo: bảng mạch đế
- Quá trình thử nghiệm:
-Hiệu chỉnh cảm biến nhiệt độ"
-kiểm tra LCD, bàn phím
-kiểm tra cổng đầu ra (lò sưởi, quạt )
-thẩm định thuật toán điều khiển PID
5.2. System partitioning
Phân hệ thống: chia hệ thống thành ba phần:
- Phần cứng (HW): vi điều khiển, bộ nhớ, thiết bị ngoại vi,
- phần mềm (SW): Hệ điều hành, chương trình, phần mềm
ứng dụng
- Giao diện : Trình điều khiển, giao diện HW, giao diện người
dùng

Cách khác: chia hệ thống thành HW và SW


- Chức năng nào sẽ được thực hiện trong phần cứng và
chức năng nào trong phần mềm?
- Phần mềm càng nhiều chức năng, giá thành sản phẩm
càng thấp
5.2. System partitioning
• Ví dụ phân chia Hệ thống kiểm soát nhiệt độ lò
No Functions Hardware Software
-ADC reading function
- Sensor LM35 -Calculate temperature
1 Measure temperature
- AD converter value from the sensor
input value
Display temperature - LCD control function
2 - LCD 1602
value - Display function
3 Heating - Heater -Heater control function
- Button reading function
4 Change the heating level - Button - Heating level setup
function
5 Change heating time - Button - Timer function
6. Embedded System Design Issues
Đây là những vấn đề gây khó khăn khi thiết kế
hệ thống nhúng phải chú ý:
a. Constraints
b. Functional
c. Real time
d. Concurrent
e. Reactive
6. Embedded System Design Issues
a. Những ràng buộc (hạn chế )
- chi phí có thể quan trọng hơn tốc độ
- vòng đời dài
- Độ tin cậy / an toàn
- Powe thấp
- Kích thước / trọng lượng

Ví dụ: Máy đo nhịp tim di động


- Vòng đời dài (10 năm)
- Độ tin cậy (độ chính xác 99%)
- Công suất thấp (5 ngày sử dụng)
- Trọng lượng nhẹ (<1kg)
6. Embedded System Design Issues
1. Những ràng buộc
Ví dụ cho hệ thống nhà thông minh

Constraints are limitations or restriction of


some parameter of system
Các ràng buộc là các giới hạn hoặc sự thu hẹp một số tham số của hệ thống
6. Embedded System Design Issues
b. Các vấn đề chức năng
- an toàn, ứng dụng quan trọng
- thiệt hại cho cuộc sống, sức khỏe, kinh tế
- ảnh hưởng đến môi trường, xã hội, chính trị

Ví dụ:
• Đèn LED thông báo cửa hàng
- Hiển thị thông điệp cho khách hàng
- Trục trặc dẫn đến thiệt hại nhỏ
• Đèn LED thông báo thị trường chứng khoán
- Hiển thị dữ liệu chứng khoán
- Trục trặc có thể gây thiệt hại cho nền kinh tế
• Sạc pin
-?
6. Embedded System Design Issues
2. Các vấn đề về chức năng
Ví dụ cho bộ sạc pin

Các vấn đề chức năng là những rắc rối có thể ảnh hưởng đến cuộc sống, sức khỏe, kinh tế, môi trường, xã hội, chính trị, đạo đức.
6. Embedded System Design Issues
3. Vấn đề thời gian thực
- Không chỉ đúng ở đầu ra mà đúng thời điểm
- Thời gian (tốc độ) xử lý là quan trọng nhất
- Đầu ra không đúng thời điểm có thể gây thiệt hại

Thí dụ
Báo động cửa ra vào
- Hệ thống không thời gian thực: độ trễ <1 2s
Máy quay video
- Hệ thống thời gian thực thực quan trọng: độ trễ <1ms
Hệ thống túi khí xe hơi
- -?
Theo dõi nhiệt độ thời tiết
-?
6. Embedded System Design Issues
4. Các hệ thống đồng thời
- Hệ thống và môi trường
- Đa chức năng
- Giao tiếp với các hệ thống khác
- Có thể cần một bộ lập lịch để quản lý các nhiệm vụ
đồng thời
Ví dụ: Theo dõi nhiệt độ thời tiết
Đa chức năng:
- đọc các giá trị To từ cảm biến
- Ghi dữ liệu vào bộ nhớ
- Hiển thị dữ liệu trên LCD
6. Embedded System Design Issues
5. Các hệ thống đáp ứng
- Tương tác liên tục / không liên tục
- Nguồn điện đáp ứng theo yêu cầu
- Bật khi sử dụng

• ví dụ: "Máy nghe nhạc MP3, hệ thống Tivi"


- Luôn ON, một lần khi bắt đầu và luôn chạy
- Tương tác liên tục với môi trường của chúng
- Kết thúc khi có hành vi kém => định thời watdog
- ví dụ: Hệ thống giám sát camera, hệ thống thu thập dữ liệu

• Phản ứng với các sự kiện định kỳ / không định kỳ bên ngoài
• Các sự kiện định kỳ: hệ thống cần một bộ lập lịch để nắm bắt các sự kiện
• Các sự kiện không định kỳ: hệ thống cần đánh giá các trường hợp sự
kiện bỏ sót.
Ví dụ thực tế
Cho một hệ thống nhúng điều khiển đèn đường sử dụng năng
lượng mặt trời. Hệ thống sử dụng chip ARM7 LPC2103, sử
dụng thời gian thực RTC. Hệ thống có chức năng sạc điện từ
tấm pin năng lượng mặt trời vào bình ắc quy, và điều khiển
đèn sáng khi trời tối theo thời gian định sẵn. Dữ liệu đồng hồ
thời gian có được từ RTC trong VĐK;
Hãy phân tích 5 vấn đề cơ bản của hệ thống nhúng trên bao
gồm:
- constraints,
- functions,
- real-time system,
- concurrent systems,
- reactive systems
Gợi ý
• Phân tích theo 5 vấn đề được nêu phần trước ta có:
-Tiết kiệm năng lượng, công suất thấp (vì HTN dùng bình ắc quy)
-Chịu được điều kiện thời tiết ngoài trời (chống ẩm, chống nước…)
Constraints
-Tuổi thọ cao (vì cần hoạt động liên tục trong thời gian dài)
……………

-Đọc thời gian từ quản lý thời gian RTC trong ARM


-Điều khiển đèn theo thời gian định sẵn
Functions
-Điều khiển sạc bình ắc quy, ngắt sạc khi bình đầy
-………..
-Hệ thống không yêu cầu xử lý thời gian thực khắc khe (vì độ trễ
Real-time system thời gian khi điều khiển đèn không ảnh hưởng nghiêm trọng đến hệ
thống)……………
-Hệ thống phải đồng thời quản lý được bộ sạc và điều khiển được
Concurrent
tắt mở đèn
system
………….
-Hệ thống hoạt động liên tục (once start, run forever)
Reactive system -Hệ thống cần có chế độ tự reset nếu hệ thống bị treo
…………….
Ví dụ 2 thực tê
• Xét một hệ thống nhúng điều khiển điều khiển đèn giao thông được
mô tả như sau. Hệ thống bao gồm 2 module sử dụng vi điều khiển
ARM7 (LPC2103) có khả năng điều khiển hai cột đèn giao thông.
Cột đèn giao thông có hiển thị thời gian (2 chữ số), và 3 đèn xanh,
đỏ, vàng. Hai module giao tiếp với nhau qua giao tiếp nối tiếp RS-
232 sử dụng IC Max232. Module có sử dụng quản lý thời gian RTC
để có thể điều khiển đèn ở chế độ nghỉ từ 11h đêm đến 5h sáng hôm
sau. Hệ thống sử dụng nguồn từ điện lưới 220V. Hệ thống yêu cầu
hoạt động 24/24 giờ để đảm bảo giao thông ổn định. Hai module cần
đảm bảo giao tiếp chính xác, nếu không sẽ gây ra lỗi điều khiển đèn
giao thông.
• Chúng ta hãy phân tích 5 vấn đề cơ bản của hệ thống nhúng trên bao gồm:
• constraints,
• functions,
• realtime system,
• concurrent systems,
• reactive systems.
Gợi ý
• Phân tích theo 5 vấn đề được nêu phần trước ta có:
-Chịu được điều kiện thời tiết ngoài trời ( chống ẩm, chống nước)
-Tuổi thọ cao (vì cần hoạt động liên tục trong thời gian dài)
Constraints
-Hoạt động ổn định
……………
-Đảm bảo điều khiển đèn giao thông chính xác, nếu sai sẽ làm ảnh
hưởng giao thông gây thiệt hại lớn
Functions
-Đảm bảo giao tiếp đồng bộ giữa 2 module
-………..
-Hệ thống không yêu cầu xử lý thời gian thực khắc khe (độ
Real-time system
trễ cho phép nhỏ ( ví dụ < 100ms)
--Hệ thống phải đồng thời quản lý được những tác vụ sau
+kiểm tra thời gian
Concurrent +truyền dữ liệu nối tiếp RS-232
system +hiển thị thời gian chờ đèn
+hiển thị đèn báo hiệu giao thông
………….
-Hệ thống hoạt động liên tục (once start, run forever)
Reactive system -Hệ thống cần có chế độ tự reset nếu hệ thống bị treo
…………….
Build a team
• Important points about teams
– Teams bring together complementary skills
and experiences
– Teams establish communication to support
real time problem solving
– Teams develop decisions by consensus
rather than by authority.
Project plan example (1)
Project planning
Team name C_ES
Product name Home security system
-Fire alarm
Main features -Door alarm
-Send warning to home owner
3 months (8 hours / a day)
Estimated Time Start: 20 Mar. 2019 End: 20 april. 2019
Components : ?300,000 VNĐ
Tools : ?100,000 VNĐ
Estimated Cost Materials : ?100,000 VNĐ
Total : ?500,000 VNĐ
Student 1: leader
Team members Student 2: hardware design
Student 3: software design
Schedule
Project plan example (2)
• Project planning
Class assignment
• Design a embedded system for washing machine
No. Specification Describe
-Washing process: soak, wash, rinse, spin
Product
1 -Mode: manual, fuzzy
specification
-Constraints
-Inputs:
Engineering
2 -Outputs:
specification
-Use interface:
-Microcontroller:
Hardware
3 -Sensors:
specification
-Actuators:
Software -Functions:
4
specification -Control algorithm:
Test -Platform:
5
specification -Test process:
Xác định các đơn vị và số liệu thiết kế:
• Số liệu thiết kế: được định nghĩa là một tính năng có thể đo
lường được của việc triển khai hệ thống.
• Chi phí NRE (Chi phí kỹ thuật không định kỳ) Chi phí tiền một lần
để thiết kế hệ thống
• Chi phí đơn vị: Chi phí bằng tiền để sản xuất mỗi bản sao của hệ
thống, không bao gồm chi phí NRE
• Thời gian đưa ra thị trường: Thời gian cần thiết để phát triển một
hệ thống đến mức nó có thể được phát hành và bán cho khách
hàng
• Hiệu suất
• Kích cỡ
• Cân nặng
• Quyền lực
• ...
• Cải thiện một số liệu này có thể làm xấu đi những số liệu
khác
NRE and Unit Costs Metrics
Tổn thất đo lường theo thời gian tiếp cận thị
trường do gia nhập thị trường bị trì hoãn
• -Mô hình doanh thu đơn giản
• -Diện tích dưới đường cong
bằng doanh thu
• - Các sản phẩm có thời gian
thiết kế dài đồng nghĩa với
chi phí NRE cao hơn và tổng
doanh thu ít hơn
Số liệu hiệu suất
• Tốc độ bộ xử lý
• Tốc độ clock, số lệnh mỗi giây, số toán tử mỗi giây
• Đa phần: Biện pháp không tốt, bị lạm dụng
• Độ trễ/thời gian phản hồi
• Thời gian giữa bắt đầu nhiệm vụ và kết thúc nhiệm vụ
• Thông lượng
• Nhiệm vụ/mỗi giây
• Sự tăng tốc
• Tỷ số thông lượng của 2 hệ thống được so sánh
NHẮC LẠI MỘT SỐ KIẾN THỨC
2. Nhắc lại Design block diagram
• Hardware block diagram
– Use a rectangle for a hardware block

– Use an arrow for a connection


2. Nhắc lại Design block diagram
• Hardware block diagram
– Use a symbol for a special block
2. Nhắc lại Design block diagram
Block diagram features:
– Block diagram name
– Physical blocks
• Block name
• Have at least one connection
– Connections
• One direction / two directions/ multiple directions
• Single / multiple connections
• Data type of connections
– Special block
• Block name
• Extra informatio
Ví dụ Hardware block diagram
• Home security system

=> Make this block diagram better


3. nhắc lại Design detail schematics
Schematic components:
– Information table
• Title
• Description
• Author
• Date
• Revision
– Schematic circuit
• ICs
• Devices
• Connections
– Extra information
• Explanation of operations
• Parameters
• Acronyms
Group discussion
• Discus about below block diagram:

Digital door lock


Software diagram
• Draw a software diagram:
– Use a rectangle for a process
– Use a rounded rectangle for a terminator
– Use a diamond shape for a decision
– Use a parallelogram for data
– Use a rectangle with two vertical lines for predefine process

process terminator decision data predefine


process
Software diagram
• Software block diagram - Example
Program flowchart State machine diagram
Group discussion
• Discus about below software diagram:
Decision block must have
YES/NO branches
A process block must have 1
input and 1 output

Oven control system


Comparison of While and Do..While Loop

Break, Continue, and Goto
-Đôi khi có thể cần phải ngắt việc thực hiện một vòng lặp
hoặc khối ở giữa trình tự của nó ( Hình bên). Khối phải
được thoát ra một cách có trật tự và sẽ rất hữu ích nếu có
tùy chọn khởi động lại khối (tiếp tục) hoặc chuyển sang
khối tiếp theo (ngắt).
-Đôi khi, có thể cần phải nhảy vô điều kiện, nhưng điều
này nên được coi là phương sách cuối cùng, vì nó có xu
hướng đe dọa sự ổn định của chương trình. Nó đạt được
bằng cách gán nhãn cho đích nhảy và thực hiện
goto..label.
-Việc sử dụng các câu lệnh điều khiển này được minh
họa trong Liệt kê 2.10. Các sự kiện kích hoạt ngắt và tiếp
tục là các đầu vào không đồng bộ (không phụ thuộc vào
thời gian của chương trình) từ các công tắc bên ngoài,
điều này cho phép thoát hoặc khởi động lại vòng lặp đếm
bất kỳ lúc nào.
Comparison of If and If..Else
Switch..case branching structure
CÁC VÍ DỤ VÀ TÓM TẮT
Đối chiếu
thực hiện Hồ sơ
(1). Đặc tả sản phẩm cần xác định thông tin
yêu cầu về hệ thống từ Customers
(2). Đặc tả kỹ thuật (System Specification)
(3). Thiết kế phát triển kiến trúc hệ thống
(4). Thiết kế các thành phần
(phần (3) và (5) có thể kết hợp trong các hệ thống đơn giản)
(5). Tích hợp hệ thống
(6). Đối sánh hệ thống đã được tích hợp với
yêu cầu đặt ra ( đặc tả test - ở đây kết hợp cách
tiếp cận từ dưới lên + trên xuống).
Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS
Mục đích cần đạt được:
Lấy vị trí từ GPS, vẽ bản đồ từ cơ sở dữ liệu cục bộ.
(1) Các yêu cầu chức năng và phi chức năng:
Yêu cầu bản đồ di chuyển dùng GPS
• Chức năng
• Dùng cho lái xe ô tô, không dùng cho máy bay hoặc thuyền
• Hiển thị đường chính và địa danh.
• Giao diện người dùng
• Màn hình ít nhất 400 x 600 pixel.
• Tối đa ba nút nhấn (điều khiển).
• Trình đơn xuất hiện dạng kéo lên.
• Hiệu suất
• Khởi động không quá 1 giây.
• Chốt (khóa) nhận ( dữ liệu) GPS trong vòng 15 giây.
• Cập nhật vị trí cứ sau 0,25 giây.
• Chi phí: giá thấp < $100
• Kích thước/trọng lượng vật lý: Nên cầm vừa tay.
• Điện năng tiêu thụ: Nên chạy ít nhất 8 tiếng trên bốn pin AA.
Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS

Mô tả rút gọn của yêu cầu


• Yêu cầu rút gọn bản đồ GPS chi tiết
• name: Bản đồ di chuyển GPS
• mục đích: bản đồ di chuyển cấp độ người tiêu dùng để lái xe
• đầu vào: nút nguồn, hai nút điều khiển
• đầu ra: LCD có đèn nền 400 X 600
• chức năng: 5 máy thu GPS; ba dộ phân giải; hiển thị lat/lon hiện tại
• hiệu suất: cập nhật màn hình trong vòng 0,25 giây chuyển động
• chi phí sản xuất $100 giá vốn hàng bán công suất 100 mW
• kích thước/trọng lượng vật lý không quá …

Ở đây có các đặc điểm được chỉ rõ


• Mô tả chính xác hơn về hệ thống:
• không nên ám chỉ một kiến trúc cụ thể;
• cung cấp đầu vào cho quá trình thiết kế kiến trúc.
• Có thể bao gồm các yếu tố chức năng và phi chức năng.
• UML: Ngôn ngữ mô hình hóa thống nhất
Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS

(2) Đặc tả về kỹ thuật GPS


Bao gồm giải quyết những vấn đề
• những gì nhận được từ GPS;
• dữ liệu bản đồ, định dạng;
• giao diện người dùng, các mục menu;
• các thao tác cần thiết để đáp ứng yêu cầu của người dùng;
• hoạt động nền cần thiết để giữ cho hệ thống chạy
• Theo sự kiện hay định kỳ?.

Thiết kế kiến trúc


• Những thành phần chính nào có thể đáp ứng các thông số kỹ thuật?
• Linh kiện phần cứng:
• CPU, bộ nhớ, bộ thu GPS, v.v.
• Các thành phần phần mềm:
• Cơ sở dữ liệu địa hình, chức năng truy cập, v.v.
• Phải tính đến các đặc tả chức năng và phi chức năng.
Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS
(2) Đặc tả về kỹ thuật GPS
Từ phân tích trên có
Sơ đồ khối bản đồ di chuyển GPS 

Bản đồ di chuyển GPS Kiến trúc phần cứng


Bản đồ di chuyển GPS Kiến trúc phần mềm



Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS
• (3,4) Thiết kế các thành phần phần cứng và phần
mềm
• Phải dành thời gian thiết kế hệ thống trước khi bạn
bắt đầu viết mã.
(3) Thiết kế phần cứng (hãy trình bày trong đặc tả
phần cứng)
• Phân tích và chọn các thành phần phần cứng (Linh
kiện có thể làm sẵn/sửa đổi từ thiết kế hiện có/ được
thiết kế từ đầu) theo các thành phần được chỉ ra mô
hình kiến trúc phần cứng.
• Vẽ sơ đồ nguyên lý - hoạt động của hệ thống
( các thành phần phức tạp nên không vẽ ở đây)
(4) – thiết kế phần mềm và giao diện (hãy trình bày
trong đặc tả phần mềm)
Chức năng của phần mền
Các trình ứng dụng thành phần đặc thù được thiết kế
theo mô hình kiến trúc phần mềm
Đề tài 1: Thiết kế hệ thống hiển thị bản đồ di chuyển dùng định vị GPS
(5) Hệ thống tích hợp
• Tập hợp các thành phần lại với nhau.
• Nhiều sai phạm/hỏng hóc xuất hiện ở giai đoạn này
cần sửa đổi và khắc phục về giải pháp kỹ thuật .
• Cần lưu ý Các thành phần riêng lẻ cần được kiểm tra
Trong quá trình tích hợp
(6). Đối sánh hệ thống đã được tích hợp với yêu cầu
đặt ra ( đặc tả test - ở đây kết hợp cách tiếp cận từ
dưới lên + trên xuống) để kiểm tả các thông số kỹ thuật
của hệ thống.. Độ chính xác, tốc độ xử lý, tiêu thị năng
lượng…theo yêu cầu hệ thống được đặt ra

Thường kết hợp phần (5) và (6) làm một trong quá
trình thiết kế các hệ thống đơn giản
Đề tài 2: Thiết kế hệ thống nhúng điều khiển điều khiển đèn giao thông
Đây là dạng đề tài thiết kế ứng dụng theo chức năng cụ thể ( Đk giao thông, máy giặt…)
(1) Xác định yêu cầu (đặc tả sản phẩm):
Chỉ cần xác định yêu cầu để hệ thống thực hiện đơn giản nhất
- Điều khiển giao thông cho hai hướng đi tại một ngã tư, với 2 trục đường vuông góc; có chỉ báo cho phép đi:
khi đèn xanh, đợi/đi chậm: khi đèn vàng và dừng lại khi đèn đỏ; có hiện thị thời gian cho các mức ( tùy.. nếu
thêm chuyển trạng thái điều khiển tự động hay bằng tay? Thêm tự động tắt điều khiển giao thông sang trạng
thái nhấp nháy đèn vàng từ 23h-05g?..)
(2) đặc tả kỹ thuật – thiết kế kiến trúc
Mô hình kiến trúc cho hệ thống
Vẽ sơ đồ khối chức năng hệ thống gồm 2 module,
mỗi modul gồm… giao tiếp giữa 2 modul …
 xác định đầu vào; đầu ra; giao diện
(3)đặc tả phần cứng
- chọn VĐK (kể cả Arduino), các thành phần theo yêu cầu cho các chức năng thành phần hệ thống…, các giao
tiếp truyền thông sử dụng……
- Vẽ sơ đồ khối chi tiết (vẽ tất cả các kết nối IC MAXS232…, nếu dùng STM32.. Thì không cần IC DS1320..)
- Vẽ sơ đồ nguyên lý

- Ví dụ nguyên lý của một trụ;


- cần vẽ giao tiếp RS232 giữa 2 module

- Tóm tắt hoạt động


- Hoạt động hệ thống: ví dụ chọn Hệ thống bao gồm 2 module giao tiếp với nhau qua truyền thông nối tiếp
RS232. Mỗi module bao gồm: vi điều khiển PIC16F877, IC quản lý thời gian DS1302, LED 7 đoạn, đèn giao
thông. Vi điều khiển nhận thông tin thời gian từ DS1302 để có thể điều khiển đèn ở chế độ nghỉ từ 11h đêm
đến 5h sáng hôm sau. Đèn giao thông và LED 7 đoạn hiển thị thời gian chờ của đèn được điều khiển thông
qua IO port của PIC16F877 thông qua transistor đệm dòng. Hai module điều khiển đèn giao thông giao tiếp
nối tiếp RS232 với nhau qua IC MAX232.
Đề tài 2: Thiết kế hệ thống nhúng điều khiển điều khiển đèn giao thông
(4) đặc tả phần phần mềm
- Từ sơ đồ nguyên lý và hoạt độngchức năng chỉ ra
- Các thành phần phần mềm – chức năng của nó
- Vẽ lưu đồ giải thuật chương trình chính

(5) Tích hợp các thành phần và test (đặc tả test)


- Cần chỉ ra việc hợp nhất các thành phần đáp ứng yêu cầu đề tài đã xác định .
- Các yêu cầu test đê xác thực hệ thống làm việc đúng…..

- SV tự đối chieeud và bổ sung


Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được
Đây là hệ thống giám sát và lưu trũ nhiệu độ cho: ( ngôi nhà thông minh, vườn thông minh
(1) Đặc tả hệ thống
Hệ thống nhúng có chức năng đo và lưu trữ dữ liệu nhiệt độ phòng; hoặc khu vườn thông minh
(2) Đặc tả kỹ thuật:
Sử dụng phương án 1. đo nhiệt độ từ cảm biến TC72 giao tiếp nối tiếp SPI. Sau khi
reset, hệ thống liên tục đọc giá trị nhiệt độ từ cảm biến và ghi vào bộ nhớ EEPROM
nội
Vẽ mô hình kiến trúc hệ thống :
Từ đó xác định đầu vào; đầu ra và giao diện
(3) đặc tả phần cúng
Từ lựa chọn giải pháp của đặc tả kỹ thuật chọn các thành phần phần cứng
Ví dụ Hệ thống sử dụng vi xử lý PIC16F877, thạch anh 20MHz, đọc nhiệt độ từ cảm biến
TC72 giao tiếp nối tiếp SPI và ghi vào bộ nhớ EEPROM.
Sử dụng giao tiếp SPI

vẽ sơ đồ khối tự vẽ

Vẽ sơ đồ nguyên lý chi tiết tự vẽ đầy đủ

Hoạt động của hệ thống theo phương án giải pháp đưa ra


Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được
Đây là hệ thống giám sát và
lưu trũ nhiệu độ cho: ( ngôi
nhà thông minh, vườn thông
minh

(4) Đặc tả phần mềm


Phần mềm hệ thống cần thực
hiện các chức năng sau:
Giao tiếp cảm biến TC72
qua ngõ SPI và đọc giá trị
nhiệt độ
Ghi dữ liệu nhiệt độ vào
EEPROM
Lưu đồ giải thuật:
Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được
Đây là hệ thống giám sát và lưu trũ nhiệu độ cho: ( ngôi nhà thông
minh, vườn thông minh

(5) Tích hợp hệ thống và TEST


- Tích hợp hệ thống theo thiết kế là phù hợp
- Các nội dung cần test:
- Các phần kiểm tra phần cứng, phần mềm
- Chuẩn hóa nhiệt độ…
- Kiểm tra thực hiện giám sta nhiệt độ thông qua đọc lại các giá trị
được lưu trữ…..
-
Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được

phương án khác sử dụng cảm biến nhiệt độ LM35, bộ nhớ


EEPROM 24FC256 (theo chuẩn I2C)
(1) Đặc tả hệ thống
Hệ thống nhúng có chức năng đo và lưu trữ dữ liệu nhiệt độ phòng;
hoặc khu vườn thông minh….
(2) Đặc tả kỹ thuật:
Sử dụng phương án đo nhiệt độ từ cảm biến LM35 bộ nhớ lưu
trữ EEPROM 24FC256 ( giao tiếp chuẩn I2C). Sau khi reset, khi
nhấn nút START vi điều khiển đọc giấ nhiệt độ từ cảm biến
và ghi vào bộ nhớ EEPROM đã cho, đồng thời hiển thị ra
LCD chu trình đọc/ghi thực hiện liên tục các nhau 1s. Khi
STOP dừng ghi.
Vẽ mô hình kiến trúc hệ thống :
Từ đó xác định đầu vào; đầu ra và giao diện
Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được
Bổ sung phương án khác sử dụng cảm
biến nhiệt độ LM35, bộ nhớ EEPROM
24FC256 (theo chuẩn I2C)
(3) đặc tả phần cúng
Từ lựa chọn giải pháp của đặc tả kỹ
thuật chọn các thành phần phần cứng
Ví dụ Hệ thống sử dụng vi xử lý
PIC16F877, thạch anh 20MHz, đọc
nhiệt độ từ cảm biến LM35 và ghi vào
bộ nhớ Serial EEPROM 24FC256
thông qua chuẩn I2C.

vẽ sơ đồ khối tự vẽ

Vẽ sơ đồ nguyên lý chi tiết tự vẽ đầy


đủ

Hoạt động của hệ thống theo phương


án giải pháp đưa ra
Đề tài 3: Thiết kế hệ thống nhúng đo và lưu trữ dữ liệu nhiệt độ đo được
Đây là hệ thống giám sát và lưu trũ
nhiệu độ cho: ( ngôi nhà thông minh,
vườn thông minh

(4) Đặc tả phần mềm


Phần mềm hệ thống cần thực hiện các
chức năng sau:
Giao tiếp cảm biến LM35 qua ngõ
ADCi đọc giá trị nhiệt độ
Ghi dữ liệu nhiệt độ vào Serial
EEPROM 24FC256 giao tiếp theo chuẩn
I2C

Lưu đồ giải thuật:


Đề tài 4: Thiết kế HTN cầm tay dùng để đếm số khách lên máy bay
Đây là hệ thống giám sát và lưu trữ số lượng ( người ra vào thư viện.. Công viên,
lên xuống máy bay …)
Các bước thiết kế
(1) Xác định yêu cầu (đặc tả sản phẩm)
Hệ thống có thể đếm và lưu trữ số lượng hành khác lên máy bay
(2) Đặc tả kỹ thuật – thiết kế kiến trúc
với yêu cầu HT đặt ra, ở đây ta sử dụng các giải pháp kỹ thuật sau: sử dụng các
nút nhấn COUNT, CLEAR, SAVE, TOTAL, và một màn hình hiển thị số đếm; khi
đếm khách lên ở cửa máy bay bằng cách nhấn nút COUNT, số đếm sẽ tăng lên 1;
sau khi đếm xong tiếp viên nhấn nút SAVE để lưu số đếm vào bộ nhớ ( có thể
dùng..bộ nhớ tạm hay ..). Khi nhấn nút TOTAL sẽ hiện số đếm đã lưu. Khi nhấn
nút XOA số đếm sẽ về 0.
Có thể xác định yêu cầu: số đếm cần 3 chữ số 0-999; nguồn pin 5V thời gian sử
dụng 8h , giá rẻ; khối lượng nhẹ ( cầm tay)

Vẽ mô hình kiến trúc cho hệ (tự vẽ)


Đề tài 4: Thiết kế HTN cầm tay dùng để đếm số khách lên máy bay
Đây là hệ thống giám sát và lưu trữ số lượng ( người ra vào thư viện.. Công viên,
lên xuống máy bay …)
Các bước thiết kế
(3)Thiết kế phần cứng
SV tự lựa chọn các thành phần cho hệ thống theo đặc tả kỹ thuật

Vẽ sơ đồ khối và
Dễ tự vẽ

sơ đồ nguyên lý

Hoạt động của hệ theo giải pháp


kỹ thuật (đặc tử phần cứng)
Đề tài 4: Thiết kế HTN cầm tay dùng để đếm số khách lên máy bay
Đây là hệ thống giám sát và lưu trữ số
lượng ( người ra vào thư viện.. Công
viên, lên xuống máy bay …)
Các bước thiết kế
(4)Thiết kế phần mềm
Yêu cầu phần mềm:
- Đọc trạng thái nút nhấn, thực hiện đếm số
lượng hành khách, và hiển thị lên LCD
Các hàm chức năng:
- Hàm đọc phím: đọc trạng thái các phím, có
chống rung phím
- Hàm hiển thị LCD: hiển thị số tối đa 999
(cần số 16bit)
- Hàm chính điều khiển: đọc trạng thái nút
nhấn, thay đổi dữ liệu đếm, và hiển thị LCD
Đề tài 4: Thiết kế HTN cầm tay dùng để đếm số khách lên máy bay
Đây là hệ thống giám sát và lưu trữ số lượng ( người ra vào thư viện.. Công
viên, lên xuống máy bay …)
Các bước thiết kế
(5)Tích hợp hệ thống và TEST (đặc tả test )

Kết quả tích hợp hệ thống đáp ứng yêu cầu đặt ra
Giao tiếp USB
Một ứng dụng
Thực hiện giao tiêp PC – VDK qua cổng COM
Giao tiếp VĐK với PC qua cổng Com
Một ứng dụng khác

You might also like