Hệthố hú hiệ t i Hệ thống nhúng hiện tại
Application
Specific Gates
Analog
I/O
DSP
Code
Processor
Cores
Memory
Hệthống nhúng bao gồm
Hệthống phần cứng (boards, ASICs, FPGAs etc.)
Th thi tiếtkiệ ă l Thực thi, tiết kiệm năng lượng
Chương trình phần mềm. Bộvi xửlý: xửlý tín hiệu sốDSP, μcontrollers etc.
Tính linh động, tính phức hợp
Bộchuyểnđổi
Bộ chuyển đổi
Tích hợp trong hệthống SoC
Đặc trưng của chip : 50 sq. mm., 50M transistors, 1010GHz, 100-1000 MOP/sq.
mm, 10-100 MIPS/mW
40 trang |
Chia sẻ: oanh_nt | Lượt xem: 1389 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Hệ thống nhúng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Hệ thống nhúng
Nội d ung
Giới thiệu hệ thống nhúng
Kiến trúc HW/SW
Đặc trưng và thiết kế hệ thống nhúng
Khái niệm thời gian thực
Đặ t à à b ộ thời i th c rưng v r ng u c g an ực
Những mô hình tính toán thông dụng của
ES
2Vũ Quang Dũng
Phần mềm hệ thống nhúng truyền
thống = CPU + RTOS
3Vũ Quang Dũng
Hệ thố hú hiệ t i ng n ng n ạ
Application
Specific Gates
Analog
I/O
DSP
Code
Processor
Cores Memory
Hệ thống nhúng bao gồm
Hệ thống phần cứng (boards, ASICs, FPGAs etc.)
Th thi tiết kiệ ă l ực , m n ng ượng
Chương trình phần mềm. Bộ vi xử lý: xử lý tín hiệu số DSP, μcontrollers etc.
Tính linh động, tính phức hợp
Bộ chuyển đổi
Tích hợp trong hệ thống SoC
Đặc trưng của chip : 50 sq. mm., 50M transistors, 1010GHz, 100-1000 MOP/sq.
mm, 10-100 MIPS/mW
4Vũ Quang Dũng
Tí h hứ h à khô đồ hấtn p c ợp v ng ng n
control panel
controller
μcontroller
Real-time
OS
processes
UIASIC
processes
Programmable
DSP
Programmable
DSP
DSP
Assembly
Code
DSP
Assembly
Code
Dual-ported
RAM CODEC
Tính không đồng nhất trong phần cứng và phần mềm
S/W: điều khiển định hướng, xử lý tín hiệu số
H/W: ASICs
5Vũ Quang Dũng
Xử lý và nắm bắt tính không đồng
nhất
6Vũ Quang Dũng
M d l hầ ứ à hầ ềo u e p n c ng v p n m m
Hardware = thực thi chức năng thông qua cấu trúc thiết ,
kế
Software = thực thi chức năng phần mềm trên bộ vi xử
lý lập trình được
Từ khóa phân biệt:
Tí h tí h h (M lti l i )
n c ợp u p ex ng
Module phần mềm tích hợp với các thành phần khác trong
bộ vi xử lý (ví dụ như hệ điều hành)
Module phần cứng kết hợp riêng rẽ trong thành phần phần
cứng riêng
Tính song hành (Concurrency)
Trong bộ vi xử lý luôn có sự xử lý luồng “thread of control”
Thành phần phần cứng riêng thường có sự xử lý song song
7Vũ Quang Dũng
Tính tích hợp của thành phần phần mềm
A B A B A B
Call B
Resume B
Resume A
Resume B
Resume A
Return
Thủ tục Các thành phần tương đương Các tiến trình
Có thứ tự Tính cân đối Tính cân đối
Tính liên tiếp Tính liên tiếp Tính song song
8Vũ Quang Dũng
Module
tích hợp
Cá á h thứ tái lậ t ì h i ử lýc c c c p r n v x
Phương thức cũ Hiện tại
Bộ vi xử lý
Vi điều khiển
Xử lý mạng
Xử lý cảm biến
DSP
Đồ h
Xử lý mã hóa
Xử lý t ò h i ọa
Bộ xử lý
r c ơ
Xử lý chuyên dụng
Xử lý di động
9Vũ Quang Dũng
Tái ấ hì h S C c u n o
10Vũ Quang Dũng
Kiế t ú H/W S/Wn r c -
Vấn đề quan trọng trong kiến trúc là xác
định được rõ phần nào cần phần mềm
trong xử lý, phần nào cần phân cứng
Hiện tại:
Kinh nghiệm trong thiết kế
Sự phân chia H/W-S/W được quyết định tại
lúc khởi điểm và được thiết kế riêng biệt
11Vũ Quang Dũng
Các hình thái trong phát triển phần
mềm
Dung lượng lớn, giá thấp, tính tích hợp thấp: CD player
8-bit vi xử lý với RAM, ROM, IO nằm trên chip
mã assembly, đơn tác vụ, 1K-8K bytes mã
Dung lượng trung bình, giá vừa phải, tính hợp trung bình: bộ điều khiển từ xa bằng
tay
16-bit or 32-bit vi xử lý với bộ nhớ và thiết bị ngoại vi
Tùy biến phát triển phần mềm giữa C và assembly
64 KB-1MB mã, đa tác vụ
Dung lượng thấp, giá cao, tính tích hợp cao: hệ thống điều khiển không khí
Tính bảo mật và tin cậy là thước đo chủ yếu của chất lượng
Phát triển và duy trì giá cả
Tính hiệu quả cao
Tính hiệu quả cực cao: modem không dây
Thiết kê phần cứng, phần mềm phải tương thích với phần cứng
Tùy biến bộ lệnh xử lý, môi trường phát triển phức hợp
Tích hợp với thiết kế công cụ phần cứng
Mô phỏng và công cụ tổng hợp
12Vũ Quang Dũng
Thiết kế hệ thố hú ng n ng
Quan hệ các tác vụ con
Đặc tả/mô hình hóa
Phân chia H/W & S/W
Lập lịch và phương thức định
vị
Thực thi H/W & S/WProcessor
Analog I/O
Memory
ASIC
Kiểm chứng và debugging
ố ế ế ế Tính c t y u là sự thi t k tích
hợp và kết nối giữa phần cứng và
phần mềm
DSP
Code
13Vũ Quang Dũng
Luồng thiết kê của hệ thống nhúng
Environ
-ment
Mô hình hóa
Hệ thố đ thiết kế à th hiệ ới áng ược v ực ng m v c c
thuật toán
Phân loại
Chức năng được thực thi sẽ được phân chia
nhỏ hơn, có tác động qua lại lẫn nhau
Phân chia HW-SW : phân rõ thành phần
Các phần tử trong mô hình phân chia gồm (1)
Processor
Analog I/O
Memory
ASIC
HW, hoặc (2) SW chạy trên nền phần cứng
hoặc tương thích với lập trình vi xử lý
Lập lịch
Đưa ra số lần các chức năng được gọi trong
hệ thống. Nó quan trọng khi một số module
trong thành phần chia thành các phần tử phần
ỏ
DSP
C d
cứng nh hơn.
Liên kết (Thực thi)
Chức năng mô phỏng (1) phần mềm chạy trên
i ử lý h ặ (2) á thà h hầ ủ hầ
14Vũ Quang Dũng
o e v x o c c c n p n c a p n
cứng
Cấ t úu r c
Specification App Knowledge
Function & Performance
(e.g. SP)
System
Architecture
Design & Optimization
H/W & S/W
Components
Design Tools
and Languages
F b i tia r ca on
15Vũ Quang Dũng
Testing
Kỹ thuật thiết kế đặc biệt và sự tiếp cận của
hệ thống nhúng
Hướng tiếp cận chung
Phần lớn mã viết trên assembly
ế ầ ấ
Lập trình đo thời gian, các driver liên k t t ng th p, tác vụ và
hàm ngắt
Hoàn thiện khả năng, và bất lợi
Chương trình buồn tẻ
Khó hiểu và duy trì
Khó kiểm tra theo thời gian và giới hạn bộ nhớ
Hệ quả chính là không thể dự đoán được
Hệ thống có thể làm iệc tốt trong một khoảng thời gian nh ng v ư
sẽ có lỗi trong một số điều kiện
16Vũ Quang Dũng
Thiết kế ó hệ thố ủ ES c ng c a
Kiểm tra, mặc dù quan trọng nhưng kết quả không thể
dự đoán trước
L ồ điề khiể h th ộ à á dữ liệ đặ thù à điề kiệ
u ng u n p ụ u c v o c c u c v u n
môi trường, không thể tái tạo một cách toàn diện trong giai đoạn
kiểm tra
ể ỉ ầ ủ ể ử ố
Do vậy, ki m tra ch là một ph n c a ki m th hệ th ng, liên
quan tới các dữ liệu đặc thù trong input
Sự cần thiết trong đảm bảo hệ thống
Sử dụng các phương pháp thiết kế (Design methodologies)
Phân tính tĩnh hệ thống phần cứng và mềm
Thiết kế ổi bật thể hiệ hữ điề khô d đ á t ớ t
n n n ng u ng ự o n rư c rong
kịch bản như các điều kiện, môi trường liên quan
17Vũ Quang Dũng
Công cụ và mô hình cho thiết kế có
hệ thống
Cách tiếp cận đặc biệt trong thiết kế không thuộc về các
thành phần thiết kế phức tạp, được sử dụng phần lớn
trong hệ thống nhúng
Phương pháp, hướng kỹ thuật, công cụ tiếp cận
Đặc điểm kỹ thuật tổng hợp tối ưu hóa kiểm chứng , , ,
Sự phổ biến của phần cứng, và các phần mềm tương ứng
Khía cạnh của mô hình thiết kế
Cụ thể hóa trình bày sự hiểu biết, ý tưởng về hệ thống
Cân nhắc tới sự thay đổi của mô hình hoặc các chi tiết cần thiết,
và cần biết chúng đã được phân tích, tìm hiểu và kiểm tra
Công cụ mang tính hệ thống hóa
18Vũ Quang Dũng
Mô hì h ô ữ à ô n , ng n ng v c ng cụ
19Vũ Quang Dũng
Đặc điểm chung của hệ thống
nhúng
Control System
Sensory System Actuation System
ENVIRONMENT
20Vũ Quang Dũng
Đặc trưng hệ thống nhúng
ốThuật toán
trong điều khiển Giao diện
Hệ th ng
kỹ thuật
Đồng hồ
thời gian thực
Ghi dữ liệu Quá trình truy cập
ốhệ th ng từ xa
Database
Nhân dữ liệu
và hiển thị
Thiết bị
hiển thị
Điề khiể
21Vũ Quang Dũng
u n
giao diện
Lệnh điều khiển Máy tính thời gian thực
Thời i th là ì? g an ực g
Thời i là thà h hầ hâ biệt hí h liê g an n p n p n c n n
quan tới mục đính cơ bản của hệ thống tính
toán
Thời gian: hệ thống đúng đắn phụ thuộc không chỉ
vào kết quả logic của sự tính toán mà con phụ thuộc
vào thời gian diễn ra tiến trình tính toán đó
Hiện thực: là phản ứng của hệ thống với các sự kiện
bên ngoài mà phải xảy ra trong suôt quá trình phát
triển và hoạt động của hệ thống
Thời gian thực trong hệ thống phải được sử dụng
thước đo giống với thước đo cho môi trường thời
gian ngoài hệ thống
22Vũ Quang Dũng
Tá thời i thc vụ g an ực
Khóa chính để phân biệt giữa tác vụ thời gian thực và không thời
gian thực là sự tồn tại của giới hạn thời gian thực hiện (deadline)
Kết quả sau giới hạn không chỉ muộn mà còn sai
Hệ thống phải sử dụng input tiếp theo sau giới hạn
Phần cứng và phần mềm (Hard - Soft)
ế ế
Phụ thuộc vào k t quả của sự thi u hụt giới hạn
Soft: thiếu hụt giới hạn không ảnh hưởng trầm trọng tới môi
trường và không gây nguy hiểm tới sự đúng đắn của hệ thống
Hard: thiếu hụt giới hạn gây ảnh hưởng trầm trọng tới môi
trường hoạt động của hệ thống
Hệ thống thông thường là sự kết hợp giữa hai kiểu tác vụ
23Vũ Quang Dũng
Tí h hất thời i thn c g an ực
Hard real-time — hệ thống hoàn toàn cưỡng chế sự trả
lời trong khoảng thời gian deadline cho phép. Ví dụ như
ố ề ểhệ th ng đi u khi n bay.
Soft real-time — deadline là quan trọng đối với hệ thống,
nhưng cũng tồn tại chức năng để sửa lỗi hệ thống khi
deadline không được đáp ứng kịp thời. Ví dụ như hệ
thống nhận dữ liệu.
Firm real time là hệ thống soft real time trong trường- — -
hợp không có sự ràng buộc gì trong giới hạn cần thiết.
24Vũ Quang Dũng
Điể đặ tm c rưng
Tính đúng lúc
Kết quả cần phải chính xác không chỉ trong giá trị mà còn trong khoảng thời gian
Hệ điều hành phải cung cấp cơ chế hoạt động của nhân trong điều khiển thời gian, nắm
bắt các tác vụ với thời gian chính xac
Tí h đả bả ới h t độ hiệ ất hất n m o v oạ ng u xu cao n
Phải đảm bảo điều kiện hoạt động với hiệu xuất cao nhất
Tính có thể dự đoán được
Hệ thống phải có thể dự đoán được kết quả của bất kỳ trạng thái phân công của
hệ thống
Nếu tác vụ không đảm bảo thời gian trả lời, thì hệ thống phải thông báo đưa ra phương
án dự phòng
Câ hắ khả ă ủ i ử lý h h DMA n n c n ng c a v x n ư cac e,
Cân nhắc tới các đặc trưng của nhân hệ thống như chế độ lập lịch, đồng bộ, quản lý bộ
nhớ, nắm bắt các lệnh ngắt.
Lỗi có thể chấp nhận được
Hệ thống đơn của phần cứng và phần mềm có lỗi chấp nhận được khi không là
nguyên nhân của sự phá hủy hệ thống
Thực thi và nâng cấp
S th đổi ủ hệ thố hải dễ dà th hiệự ay c a ng p ng ực n
25Vũ Quang Dũng
Tí h đú lún ng c
Tính đúng lúc là cơ sở chính tronghoatj động của hệ thống
Tăng khả năng hoạt động có tính chặt chẽ của hệ thống
Tính đúng lúc chặt chẽ (cứng), tính đúng lúc mềm, sự tác
động qua lại
Hai loại của tính đúng lúc
Ràng buộc trong thực thi: giới hạn về thời gian trả lời của hệ
thống
Ràng buộc trong hành vi: sự đòi hỏi về khả năng yêu cầu của
người sử dụng tới hệ thống
Một số loại khác trong ràng buộc
Maximum: không lớn hơn khoảng thời gian t giữa 2 sự kiện
Minimum: không nhỏ hơn khoảng thời gian t giữa 2 sự kiện
Durational: sự kiện phải xảy ra trong khoảng thời gian t
26Vũ Quang Dũng
M i t à b ộ thời iax mum rong r ng u c g an
A. Liên kết S-S (Stimuli - Stimuli): thời gian cực đại cho phép giữa hai tác nhân
kích thích
Ví dụ yêu cầu số thứ 2 phải xảy ra không muôn hơn 20 giây sau số thứ nhất
B. Liên kết S-R (Stimuli - Response): thời gian cực đại cho phép giữa tác nhân
kích thích đầu vào và sự trả lời của hệ thống
Ví dụ người gọi điện sẽ nhận được tín hiệu gọi không muộn hơn 2 giây sau
khi hấ ố h n c ng ng e
C. Liên kết R-S (Response - Stimuli): thời gian cực đại cho phép giữa khoảng
tra lời của hệ thống và tác nhân kích thích tiếp theo từ môi trường
Vi dụ sau khi nhận được tín hiệu gọi người gọi phải ấn số trong vào 30 giây ,
D. Liên kết R-R (Response - Response): thời gian cực đại cho phép giữa 2 lần
trả lời của hệ thống
Ví dụ sau khi kết nối được người gọi sẽ nhận được chuông reo không trễ ,
hơn 0.5 giây sau khi nhân được tin hiệu chuông
27Vũ Quang Dũng
Mi i t à b ộ thời in mum rong r ng u c g an
A. Liên kết S-S: thời gian nhỏ nhất cần thiết giữa hai tác nhân kích thích
Ví dụ 0.5s là thời gian nhỏ nhất xảy ra giữa lần gọi thứ nhất đến lần gọi tiếp
theo
B. Liên kết S-R: thời gian nhỏ nhất cần thiết giữa tác nhân kích thích vào hệ
thống và sự trả lời của hệ thống
Vi dụ sau khi người gọi nhấn 0, hệ thống sẽ đợi khoảng 15 giây sau khi có
tín hiệu
C. Liên kết R-S: thời gian nhỏ nhất cần thiết giữa sự trả lời của hệ thống và tác
nhân kích thích tiếp theo từ môi trường
Vi dụ khi hệ thống bận với quá trình xử lý yêu cầu từ một số cổng và không ,
thể xử lý thêm các thông tin vào các cổng đó tại cùng một thời điểm
D. Liên kết R-R: thời gian nhỏ nhất phải có giữa 2 lần trả lời của hệ thống
Ví dụ người sử dụng cần biết chắc khoảng thời gian sau lần trả lời đầu
28Vũ Quang Dũng
Phâ biệt iữ á d ln g a c c mo e
Trạng thái: có giới hạn và vô hạn
Thời gian: không giới hạn thời gian liên tiếp thứ , ,
tự cục bộ, thứ tự toàn bộ
Tính song song: liên tiếp song song ,
Tính xác định: xác định và không xác định
Giá trị: liên tiếp, mẫu, sự kiện
Sự liên kết trong cơ chế hoạt động
Những phân biệt khác: sự tổ chức, công cụ …
29Vũ Quang Dũng
Những mô hình tính toán thông
dụng của ES
Máy trạng thái(State Machines)
FSM, CFSM
Quá trình liên kết
Mô hình luồng dữ liệu
Mô hình ngôn ngữ
VHDL, Verilog, SystemC, SpecC, Java
Đồng bộ hóa / Ngôn ngữ tác động ngược
Esterel Lustre Signal, ,
Unified Modeling Language (UML)
30Vũ Quang Dũng
Má t thái hữ h (FSM)y rạng u ạn
FSM là mô hình toán học của hệ thống gồm có:
Hệ thống có thể trong giới hạn của điều kiện được gọi là trạng thái
Hành vi hệ thống bên trong trang thái là sự đồng nhất tồn tại
Hệ thố ở t á t thái dà h h từ kh ả thời i hất đị h ng rong c c rạng n c o ng o ng g an n n
Hệ thống có thể thay đổi trạng thái chỉ trong giới hạn được định nghĩa trước, gọi là sụ
chuyển đổi
Sự chuyển đổi là sự trả lời của hệ thống tới các sự kiện bên trong hoặc ngoài hệ thống
ể ể ổ Chức năng hoặc các quá trình gọi là hành động, có th xảy ra khi có sự chuy n đ i,
trạng thái được gọi hoặc thoát khỏi trạng thái
Sự chuyển đổi và hành động sẽ không chiếm một khoảng thời gian nào ví dụ như quá
trình đồng bộ hóa”
ế Sự kiện không được phép trong trạng thái sẽ được loại bỏ hoặc có k t quả sai
FSM = (Đầu vào, đầu ra, trạng thái, khởi tạo trạng thái, trạng thái tiếp theo)
Tương thích giữa điều kiển và các cổng điều khiển
Ít tương thích cho bộ nhớ và dữ liệu
Dễ dàng sử dụng với các thuật toán dành cho mô hình và kiểm chứng
31Vũ Quang Dũng
FSM ổ điể c n
32Vũ Quang Dũng
Thiết kê đồng bộ máy trạng thái
hữu hạn (CFSMs)
Kết hợp các mặt của một số mô hình
FSM kết hợp với sự nắm bắt dữ liệu và kết nối không đồng bộ
Các thành phần FSM: I/O, trạng thái, chuyển đổi và quan hệ đầu ra
Thành phần dữ liệu tính toán: bên ngoài, ngay lập
Kết hợp
Đồng bộ hóa: zero và trễ vô hạn
Không đồng bộ:non-zero, hữu hạn và biên độ trễ
Hệ thống nhúng sử dụng cả đồng bộ hóa lẫn không
đồng bộ
33Vũ Quang Dũng
Ví d CFSM ụ
Wait*Key = On → *Start
Off
*End=5 → *Alarm = On*Key = Off or
*Belt = On →
Alarm*End=10 or
*Belt = On or
*Key = Off→
Trạng thái của CFSM bao gồm những sự kiện mà tại cùng thời
*Alarm = Off
điểm đầu vào và đầu ra cho no
non-zero tương tác thời gian ngược trong lưu trữ
34Vũ Quang Dũng
Quá trình liên kết
Chương trình liên tục, vòng lặp
vô hạn
Kích hoạt song song với
nhiều quá trình
Các cơ chế cơ bản
Khởi tạo và kết thúc
Ngắt và khôi phục lại
Liên kết
Quá trình liên kết
Chia xẻ bộ nhớ
Quan hệ loại trừ
Trao đổi thông tin
Thuộc tính
Liên tục
35Vũ Quang Dũng
Đơn điệu
Mô hình luồng dữ liệu
Chi phối các hình thức dữ liệu
của hệ thống
Mô hình hóa thứ tự từng thành
phần
Xác định hoạt động riêng biệt của
thành phần hệ thống
ử ỏ S dụng cho mô ph ng, lập lịch,
phân vùng bộ nhớ, xử lý tín hiệu
số
Cú pháp và ngữ nghĩa: hành
động, biểu hiện, khởi tạo
Phương án: luồng dữ liệu tĩnh,
luồng dữ liệu boolean, luồng dữ
liệu động
36Vũ Quang Dũng
Đồ thị ô hì h l ồ m n u ng
Control/Data
Flow Graph Implementation
2 3 2 ... 2 1 1 ... Reg Reg
x 4 3 2 ...
Multiplier
+D Reg Reg
4 7 9 ...
0 4 7
Adder
37Vũ Quang Dũng
...
Mô hì h hầ ứ n p n c ng
1. Mức hệ thống
2. Mức thuật toán
3. Mức các tập lệnh
4. Mức trao đổi dữ liệu thanh ghi
5 Mô hình mức cổng (Gate level). -
6. Mô hình mức chuyển đổi (Switch-level)
7. Mô hình mức mạch
8. Mô hình mức thiết bị
9. Mô hình sắp xếp
ế10. Quy trình và mô hình thi t bị
38Vũ Quang Dũng
L h ô hì hựa c ọn m n
Lựa chọn mô hình phụ thuộc vào:
Chương trình
DSP
Điều khiển trạng thái FSM
Theo dõi sự kiện
Nổi bật ủ ô hì h
c a m n
Trong quá trình mô phỏng
Trong quá trình thực hiện và code
Lựa chọn ngôn ngữ:
Ngôn ngữ cơ bản thực thi mô hình
Các công cụ hỗ trợ
Theo yêu cầu
39Vũ Quang Dũng
L h ô hì h (tiế )ựa c ọn m n p
Tích hợp mô hình và ngôn ngữ
Quản lý theo mô hình trừu tượng
Lựa chọn sự đúng đắn
Lựa chọn mô hình phụ thuộc vào
Các lớp ứng dụng
Các thao tác cần thiết (tổng hợp lập lịch ) , , ...
Thiết kế
Chi tiết kỹ th ật
u
Kiến trúc liên kết và mô phỏng
Tổng hợp, ngôn ngữ và lập lịch
ế ế ế
Thi t k chi ti t và thực thi
Mô phỏng toàn hệ thống
40Vũ Quang Dũng
Các file đính kèm theo tài liệu này:
- lecture_01_es_overview_.PDF