Các hình thái trong phát triển phầnCá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ã
Trang 1Hệ thống nhúng
Trang 2 Những mô hình tính toán thông dụng của g g ụ g ES
Trang 3Phần mềm hệ thống nhúng truyền Phần mềm hệ thống nhúng truyền thống = CPU + RTOS
Trang 4Hệ thố hú hiệ t i
Hệ thống nhúng hiện tại
Application Specific Gates Analog I/O
DSP Code
Processor
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
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
Trang 6Xử lý và nắm bắt tính không đồng
Xử lý và nắm bắt tính không đồng nhất
Trang 7M d l hầ ứ à hầ ề
Module phần cứng và phần mềm
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
Trang 8Thủ 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 đốiTính liên tiếp Tính liên tiếp Tính song songModule
tích hợp
Trang 9Cá á h thứ tái lậ t ì h i ử lý Các cách thức tái lập trình vi xử lý
Trang 10Tái ấ hì h S C
Trang 11Kinh nghiệm trong thiết kế g ệ g
lúc khởi điểm và được thiết kế riêng biệt
lúc khởi điểm và được thiết kế riêng biệt
Trang 12Các hình thái trong phát triển phần
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
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
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:ệu quả cực cao modem không dâyode ô g 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
Trang 13hợp và kết nối giữa phần cứng và phần mềm
DSP
Code
phần mềm
Trang 14Luồ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 á
thuật toán
Phân loại
Chức năng được thực thi sẽ được phân chia
Chức năng được thực thi sẽ được phân chianhỏ 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
Các phần tử trong mô hình phân chia gồm (1)
HW, hoặc (2) SW chạy trên nền phần cứnghoặc tương thích với lập trình vi xử lý
Lập lịch ập ị
Đư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
Trang 15Design & Optimization
H/W & S/W Components
Design Tools
and Languages
F b i ti Fabrication Testing
Trang 16Kỹ thuật thiết kế đặc biệt và sự tiếp cận của
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
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
Hệ thống có thể làm việc tốt trong một khoảng thời gian nhưng
sẽ có lỗi trong một số điều kiện
Trang 17Thiết kế ó hệ thố ủ ES
Thiết kế có hệ thống của ES
dự đoán trước
L ồ điề khiể h th ộ à á dữ liệ đặ thù à điề kiệ
Luồng điều khiển phụ thuộc vào các dữ liệu đặc thù và điều kiệ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ự cầ ế o g đả bảo ệ ố g
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
Thiết kế nổi bật thể hiện những điều không dự đoán trước trong kịch bản như các điều kiện, môi trường liên quan
Trang 18Công cụ và mô hình cho thiết kế có
Công cụ và mô hình cho thiết kế có
hệ thống
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
Đặc điểm kỹ thuật tổng hợp tối ưu hóa kiểm chứng
Đặ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
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
Trang 19Mô hì h ô ữ à ô
Mô hình, ngôn ngữ và công cụ
Trang 20Đặc điểm chung của hệ thống
Đặc điểm chung của hệ thống
nhúng
Control System
ENVIRONMENT ENVIRONMENT
Trang 21Đặc trưng hệ thống nhúng
ố
Thuật toán trong điều khiển Giao diện Hệ thống
Điề khiể
Điều khiển giao diện
Lệnh điều khiển Máy tính thời gian thực
Trang 22Thời i th là ì?
Thời gian thực là gì?
quan tới mục đính cơ bản của hệ thống tính
toán
vào kết quả logic của sự tính toán mà con phụ thuộc
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 đó
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ước đo giống với thước đo cho môi trường thời gian ngoài hệ thống
Trang 23Tá thời i th
Tác vụ thời gian thự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
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 g g g y g y g g
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ụ
Hệ thống thông thường là sự kết hợp giữa hai kiểu tác vụ
Trang 24hệ thống điều khiển bay.
Soft real-time — deadline là quan trọng đối với hệ thống
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
thống nhận dữ liệu.
Firm real time là hệ thống soft real time trong trường
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.
Trang 25Điể đặ t
Điểm đặc trưng
Tính đúng lúc
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
Tính đảm bảo với hoạt động hiệu xuất cao nhất
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 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
Cân nhắc khả năng của vi xử lý như cache, DMA
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ệ
Sự thay đổi của hệ thống phải dễ dàng thực hiện
Trang 26Tí h đú lú
Tính đúng lú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
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
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
Trang 27M i t à b ộ thời i
Maximum trong ràng buộc thời gian
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 nhấc ống nghe
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
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ễ
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
Trang 28Mi i t à b ộ thời i
Minimum trong ràng buộc thời gian
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
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ụ g ụ g g g
Trang 29Phâ biệt iữ á d l
Phân biệt giữa các model
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ộ
Giá trị: liên tiếp, mẫu, sự kiện
Sự liên kết trong cơ chế hoạt động ự g ạ ộ g
Trang 30Những mô hình tính toán thông
Những mô hình tính toán thông
VHDL, Verilog, SystemC, SpecC, Java
Đồng bộ hóa / Ngôn ngữ tác động ngược
Esterel Lustre Signal
Esterel, Lustre, Signal
Unified Modeling Language (UML)
Trang 31Má t thái hữ h (FSM)
Máy trạng thái hữu hạn(FSM)
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
Hệ thống ở trong các trạng thái dành cho từng khoảng thời gian nhất định
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
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
Í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
Trang 32FSM ổ điể
FSM cổ điển
Trang 33Thiết kê đồng bộ máy trạng thái
Thiết kê đồng bộ máy trạng thái
hữu hạn (CFSMs)
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
Đồng bộ hóa: zero và trễ vô hạn
Không đồng bộ:non-zero, hữu hạn và biên độ trễ
Không đồng bộ:non zero, hữu hạn và biên độ trễ
Trang 35Trao đổi thông tin
Trao đổi thông tin
Thuộc tính
Liên tục
Đơn điệu
Trang 36Mô hình luồng dữ liệu
Chi phối các hình thức dữ liệu
Chi phối các hình thức dữ liệu
động, biểu hiện, khởi tạo
Phương án: luồng dữ liệu tĩnh, g g ệ ,
luồng dữ liệu boolean, luồng dữ
liệu động
Trang 384 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)
Trang 39 Điều khiển trạng thái FSM
Theo dõi sự kiệnNổi bật ủ ô hì h
Nổi bật của mô hình
Trong quá trình mô phỏng
Trong quá trình thực hiện và code
Trang 40Chi tiết kỹ thuật
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