BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TIỂU LUẬN XÂY DỰNG CÁC HỆ THỐNG NHÚNG Đề tài : Specification and Design of Embedded Hardware and Software systems Đặc
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TIỂU LUẬN XÂY DỰNG CÁC HỆ THỐNG NHÚNG
Đề tài :
Specification and Design of Embedded Hardware and Software systems Đặc điểm kỹ thuật và thiết kế của hệ thống phần cứng và phần mềm nhúng
Giảng viên: Thầy Huỳnh Thúc Cước
Nhóm môn học: 04
Nhóm bài tập: 11
Sinh viên thực hiện:
HÀ NỘI – 30/6/2021
Trang 2Nội dung
A Khái quát chung
B Đặc điểm kỹ thuật và thiết kế của phần cứng-phần mềm hệ nhúng
1 Nắm bắt thông số kỹ thuật
2 Tìm hiểu
3 Tinh chỉnh đặc điểm kỹ thuật
4 Tổ hợp phần mềm
5 Tổ hợp phần cứng
6 Giả lập và đồng giả lập
C Kết luận
A Khái quát chung:
Hệ thống nhúng (tiếng Anh embedded system) là một thuật ngữ để chỉ một hệ thống
có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng
Trang 3trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin
Hệ thống nhúng trở nên phổ biến trong những năm gần đây Ví dụ bao gồm kiểm soát hành trình tự động, hệ thống phun nhiên liệu, lái máy bay tự động, sản phẩm viễn thông, bộ xử lý truyền hình tương tác, thiết bị chuyển mạch mạng, bộ lấy nét video, bộ điều khiển robot và nhiều thiết bị y tế
hệ thống bộ xử lý TV tương tác (ITVP) cho cổng sup của đa phương tiện tương tác.
B Đặc điểm kỹ thuật và thiết kế của phần cứng-phần mềm hệ nhúng:
1 Nắm bắt thông số kỹ thuật
2 Tìm hiểu
3 Tinh chỉnh đặc điểm kỹ thuật
4 Thiết kế phần mềm và phần cứng
5 Thiết kế vật lý
InXử lý TV tương tác
Audio_in
Hệ thống tương tự
Audio_out Video_out Hệ thống con tương tự
Audio+
receiver IC
Bo mạch máy tính
I
II C
Video
Av_cmd Video_in
Hệ thống con kỹ thuật số
Trang 41 Nắm bắt thông số kỹ thuật
Bao gồm ba nhiệm vụ con: tạo mô hình, tạo mô tả và mô phỏng
1.1 Tạo mô hình
Để chỉ định chức năng của hệ thống, trước tiên chúng ta phả phân rã chức năng đó và
hủy ghi lại mối quan hệ giữa các mảnh Ví dụ: chúng ta đã phân hủy chức năng của ITVP thành các chức năng như lưu trữ video, lưu trữ âm thanh, tạo video và tạo âm thanh
Có nhiều mô hình để mô tả chức năng của hệ thống
+ Một là biểu đồ luồng dữ liệu
+ Hai là máy trạng thái hữu hạn (FSM),
+ Ba là truyền đạt các quy trình tuần tự (CSP)
+ Thứ tư, máy trạng thái chương trình (PSM),
Không có mô hình nào là lý tưởng cho tất cả các lớp hệ thống Mô hình FSM có thể phù hợp nhất cho một hệ thống không thực hiện tính toán phức tạp nhưng phải đáp ứng với các chuỗi phức tạp của các sự kiện bên ngoài Mô hình CSP phù hợp nhất cho các hệ thống thực hiện chuyển đổi dữ liệu phức tạp Mô hình PSM theo nhiều cách phụ thuộc vào các mô hình FSM và CSP, vì vậy nó phù hợp không chỉ cho các hệ thống thống trị kiểm soát mà còn cho các hệ thống thống trị dữ liệu như các ứng dụng phần mềm mềm
1.2 Tạo mô tả
Việc lựa chọn một mô hình là yếu tố quan trọng nhất ảnh hưởng đến khả năng hiểu
và xác định chức năng hệ thống trong quá trình đặc tả Khi chúng ta đã chọn mô hình thích hợp, chức năng hệ thống phải được nắm bắt trong một đặc tả chức năng Một đặc điểm kỹ thuật như vậy có thể được nắm bắt bằng nhiều ngôn ngữ khác nhau Một đặc tả chức năng dễ dàng tạo ra nếu có sự tương ứng 1-1 giữa các đặc điểm của mô hình và cấu trúc ngôn ngữ Nếu một ngôn ngữ cấu trúc không tồn tại cho một đặc tính
cụ thể, khi đó chúng ta phải áp dụng một số nỗ lực để sử dụng một tập hợp cấu trúc
mô tả đặc điểm đó, do đó dẫn đến mô tả ít dễ đọc hơn, có thể có nhiều lỗi chức năng
Trang 5Ngôn ngữ
VHDL
Verilog Hardware( CSP
Statecharts SDL
Silage Esterel
SpecCharts
Đặc điểm hệ thống nhúng
N p s s
N s s s
N p s s
N s s s
s s s N
s p s N N/A N/A s N/A
N s s s
s s s s
Ngoại lệ
N
s
N N
s
N N/A
s s
Hành vi hoàn thành
s s s s
N
s
N/A
s s
2 Tìm hiểu cụ thể
Với đặc điểm kỹ thuật chức năng của một hệ thống, nhà thiết kế phải tạo ra một thiết
kế cấp hệ thống của các thành phần được kết nối với nhau, mỗi thành phần thực hiện Một phần của đặc điểm kỹ thuật đó Khả năng chấp nhận của thiết kế phụ thuộc vào mức độ thỏa mãn ràng buộc về số liệu thiết kế như hiệu suất, kích thước, công suất và chi phí Đánh giá thời gian và công sức thiết kế thời gian và nỗ lưc đáng kể
Bằng cách sử dụng một thông số kỹ thuật chính thức, chúng ta có thể tự động khám phá nhanh chóng số lượng lớn các thiết kế tiềm năng Việc khám phá liên quan đến bốn bài toán con phụ thuộc lẫn nhau: phân bổ, phân vùng, chuyển đổi và ước lượng
2.1 Cấp phát
Là vấn đề tìm kiếm tập hợp các thành phần hệ thống để thực hiện các chức năng của
hệ thống
Chúng bao gồm sự đa dạng của bộ vi xử lý, bộ vi điều khiển, FPGA, bộ xử lý song song và bộ xử lý bộ hướng dẫn ứng dụng cụ thể đang phát triển mới Ngoài ra, hàng
Trang 6trăm thành phần được thiết kế trước thực hiện một chức năng cụ thể có sẵn… Chúng
ta có thể mô tả đặc điểm của các thành phần bằng các tập cấu trúc, các khối mô tả được tham số hóa, hoặc số lượng các đối tượng phần cứng Các bộ xử lý mục đích chung được phân loại bởi các tập lệnh Bất kỳ phần nào của một thông số kỹ thuật được thực hiện với một vi xử lý phải được chuyển đổi thành một chuỗi hướng dẫn Nhiều mục đích đặc biệt của com, chẳng hạn như đa số dấu phẩy động, phép biến đổi Fourier và bộ điều khiển OMA
2.2 Phân vùng
- Phân vùng cấu trúc, hệ thống được triển khai lần đầu tiên với các chốt cấu trúc chi
tiết mới, chẳng hạn như cổng, và các điểm nối ob đó sau đó được phân vùng giữa một
số thành phần tùy chỉnh Mặc dù dễ dàng tự động hóa, nhưng cách tiếp cận này không không xem xét việc triển khai phần mềm
- Phân vùng chức năng, các chức năng hệ thống khác nhau trước tiên được phân
vùng thành các nhóm chức năng, trong đó mỗi nhóm được gán cho một thành phần hệ thống Mỗi nhóm sau đó được triển khai dưới dạng phần mềm (cho một thành phần bộ
xử lý) hoặc dưới dạng phần cứng (đối với thành phần ASIC)
Khi phát triển một kỹ thuật phân vùng chức năng, chúng ta phải xem xét một số vấn đề
- Chúng ta phải xác định mức độ chi tiết của đối tượng
- Chúng ta phải chọn các chỉ số thiết kế sẽ được sử dụng để tạo ra một phân vùng tốt
- Chúng ta phải chọn các chỉ số thiết kế sẽ được sử dụng để tạo ra một phân vùng tốt
- Dùng một đối tượng chức năng
- Chúng ta cần các thuật toán phân vùng
2.3 Chuyển đổi
Thủ tục nội tuyến và quy trình hợp nhất là những ví dụ phổ biến về các phép biến đổi
hư cấu cụ thể
Trang 7Một chuyển đổi tổ chức lại đặc tả cụ thể, do đó thay đổi tổ chức của bất kỳ hành động tiếp Các biến đổi khác bao gồm tham gia hệ thống phân cấp, quy trình chia tách, nhóm câu lệnh thành thủ tục và hợp nhất các biến thành mảng
2.4 Ước tính
Chúng ta mô tả các phương pháp ước tính các chỉ số phổ biến về kích thước phần cứng, kích thước phần mềm và hiệu suất Như chúng ta sẽ thấy, kích thước phần mềm, phần cứng và các kỹ thuật ước tính hiệu suất không hoàn toàn chính xác vì ánh xạ mô
tả hành vi vào phần cứng hoặc phần mềm không đơn giản (1-1) Sự phức tạp được giới thiệu bằng cách tối ưu hóa trên sự trừu tượng khác nhau các cấp độ Kích thước phần cứng của một tập hợp các chức năng nhất định có thể được ước tính bằng cách tổng hợp gần như một bộ điều khiển và đường dẫn dữ liệu để triển khai các chức năng
đó, để dự đoán giảm mã hoặc nâng cao hiệu suất do tối ưu hóa
Kích thước phần mềm của một nhóm chức năng nhất định có thể được ước tính bằng cách biên dịch các chức năng thành tập lệnh của một bộ xử lý nhất định
Nói chung, chỉ những ước tính sơ bộ là cần thiết trong quá trình thiết kế hệ thống
3 Tinh chỉnh đặc điểm kỹ thuật
Kết hợp phong cách triển khai và chi tiết mà chúng ta đã chọn Để tạo mô tả cấp hệ thống, trước tiên phải thêm một số chi tiết vào chức năng, bao gồm các chi tiết liên quan đến ký ức, giao diện và tùy chọn:
3.1 Bộ nhớ
Trong giai đoạn nghiên cứu thiết kế hệ thống, chúng ta có thể đã nhóm các biến để lưu trữ trong một bộ nhớ cụ thể Mỗi quá trình không còn có thể truy cập trực tiếp các biến này nữa
3.2 Giao diện.
Trang 8Chức năng phân vùng giữa các thành phần hệ thống thường đưa ra nhu cầu giao tiếp
dữ liệu giữa các thành phần Ví dụ, một đặc tả có thể bao gồm một hàm đọc một biến Nếu hàm và biến được gán cho các thành phần khác nhau, thì giá trị của biến đó phải được chuyển qua một bus Việc bổ sung các chi tiết đặc tả mô tả giao tiếp giữa các thành phần được gọi là giao diện Giao diện liên quan đến một số vấn đề: tạo kích thước bus, tạo giao thức và khớp giao thức
3.3 Phân vùng
Khi các quá trình thực thi đồng thời truy cập vào cùng một tài nguyên, chẳng hạn như một bus hoặc một bộ nhớ, chúng ta cần đảm bảo rằng chỉ có một tiến trình truy cập tài nguyên đó tại một thời điểm nhất định Trọng tài giải quyết yêu cầu truy cập đồng thời bằng cách chỉ cấp quyền cho một quy trình tại một thời điểm
Có hai loại các chương trình để xác định quyền ưu tiên trong quá trình phân xử Lược
đồ ưu tiên chỉ định mức độ ưu tiên cho mỗi quy trình tĩnh; ưu tiên của quy trình không bao giờ thay đổi Lược đồ ưu tiên động xác định mức độ ưu tiên của một quy trình tại thời điểm chạy, dựa trên kiểu truy cập của các quy trình
3.4 Quá trình sinh
Chúng ta cần tái lập biểu tượng đặc tả chức năng thành một mô tả cấp hệ thống Khi làm như vậy, chúng tôi phải đảm bảo rằng mô tả mới có thể đọc được, có thể sửa đổi,
và được mô-đun hóa, và rằng các nhà thiết kế khác nhau có thể triển khai các phần khác nhau Chúng ta cũng phải đảm bảo rằng mô tả phù hợp để xử lý thêm bằng các công cụ tổng hợp hoặc biên dịch Cuối cùng, chúng ta phải đảm bảo rằng mô tả có thể
mô phỏng được, để chúng tôi có thể tiếp tục xác minh chức năng hệ thống
4 Tổ hợp phần mềm
Mô tả cấp hệ thống thường sở hữu các tính năng phức tạp không có trong lập trình truyền thống ngôn ngữ, chẳng hạn như ngôn ngữ C Một trình biên dịch điển hình
Trang 9thường không thể biên dịch các tính năng này Phần mềm tổng hợp là nhiệm vụ chuyển đổi một mô tả phức tạp thành một chương trình phần mềm truyền thống có thể được biên dịch bởi các trình biên dịch truyền thống
Một tính năng phức tạp của mô tả cấp hệ thống là định nghĩa các tác vụ đồng thời Nếu hai tác vụ đồng thời được ánh xạ tới một bộ xử lý, sau đó các tác vụ phải được lên lịch để thực thi một cách tuần tự Trong việc lập lịch trình như vậy, điều quan trọng là phải đảm bảo rằng mọi nhiệm vụ đều có cơ hội thực thi, hay nói cách khác, không có nhiệm vụ nào bị bỏ lại Một vấn đề khác là giảm thiểu số lượng busy-wait: thời gian bộ xử lý dành để đợi một số sự kiện bên ngoài Vấn đề thứ ba là đảm bảo rằng các ràng buộc về thời gian cho mỗi nhiệm vụ được thỏa mãn
6 Tổ hợp phần cứng
Sau khi tạo mô tả cấp hệ thống đã tinh chỉnh, chúng ta phải tạo hoặc tổng hợp phần cứng để các phần mô tả được thực hiện trên các thành phần tùy chỉnh Tổng hợp phần cứng kết hợp tổng hợp cấp cao, tổng hợp tuần tự, tổng hợp logic và ánh xạ công nghệ
Có một số nhiệm vụ phụ thuộc lẫn nhau tạo nên sự tổng hợp cấp cao Biểu diễn nội
bộ cho thấy sự phụ thuộc vào dữ liệu và kiểm soát giữa các phép toán số học, chẳng hạn như giữa bổ sung và so sánh Phân bổ chọn, từ một thành phần chuyển đăng ký cơ
sở dữ liệu, các đơn vị lưu trữ, chức năng và bus được sử dụng trong thiết kế Lập lịch hoạt động bản đồ để điều khiển các bước, mỗi bước thường đại diện cho một chu kỳ đồng hồ hoặc pha đồng hồ Lập lịch là cần thiết vì tất cả các hoạt động thường không thể được thực hiện cùng một lúc do phụ thuộc dữ liệu
7 Mô phỏng và đồng mô phỏng
Ngày nay, mô phỏng là kỹ thuật xác minh phổ biến nhất Mô phỏng hữu ích không chỉ để xác minh đặc điểm kỹ thuật chức năng ban đầu mà còn để xác minh các mô tả
ký hiệu chi tiết hơn được tạo ra trong suốt quá trình thiết kế Đặc biệt, chúng ta phải đảm bảo rằng chức năng của một thiết kế phù hợp với đặc điểm kỹ thuật ban đầu, phát hiện các tắc nghẽn hiệu suất có thể phát sinh từ việc ánh xạ đặc điểm kỹ thuật trừu
Trang 10tượng tới các thành phần thực với tài nguyên hạn chế và đảm bảo rằng thiết kế thỏa mãn các ràng buộc thời gian chi tiết để giao tiếp và đồng bộ hóa
Mô phỏng phần cứng-phần mềm có hai mục tiêu cạnh tranh: tốc độ và độ chính xác Tốc độ là tốc độ thời gian mô phỏng tiếp tục Mục tiêu thứ ba, thường cạnh tranh với tốc độ, là gỡ lỗi tương tác khả năng từng bước thực thi hệ thống, kiểm tra các giá trị trung gian và quay lại để gỡ lỗi hệ thống
Đối với cả phần cứng và phần mềm, tốc độ thay đổi tùy thuộc vào kỹ thuật xác minh
đã chọn Đối với phần mềm, cách tiếp cận chậm nhất nhưng "có thể gỡ lỗi" nhất là
sử dụng mô phỏng mô hình
C Kết Luận
Hệ thống nhúng là sự kết hợp của phần cứng và phần mềm cũng như các thành phần khác mà chúng ta đã biết như điện thoại di động, máy nghe nhạc, bộ định tuyến mạng…
Cách tiếp cận thiết kế truyền thống:
+ Thiết kế các thành phần phần cứng
+ Thiết kế các thành phần phần mềm
+ Tích hợp
+ Kiểm tra và gỡ lỗi hệ thống
Các lĩnh vực chính của quá trình thiết kế là
+ Đảm bảo đặc điểm kỹ thuật phần cứng và phần mềm âm thanh
+ Xây dựng kiến trúc cho hệ thống được thiết kế
+ Phân vùng
+ Cung cấp cách tiếp cận lặp đi lặp lại để thiết kế
Trang 11Thiết kế không chính thức
Đối với phần mềm nhúng hoặc các hệ thống phần cứng, cần phải có một phương pháp mới, dựa trên hệ thống phân cấp của các mô hình ở các mức độ trừu tượng khác nhau, là cần thiết Sử dụng phương pháp luận này, chúng tôi bắt đầu với một đặc tả chức năng chính thức và lấy ra mô hình cấp thấp hơn tiếp theo bằng cách khám phá các vấn đề triển khai và tinh chỉnh mô hình cấp cao hơn với các lựa chọn triển khai được thực hiện trong quá trình thăm dò
Phương pháp xác định-khám phá-tinh chỉnh này có thể giúp các nhà quản lý và nhà thiết kế đối phó với các yêu cầu phát triển sản phẩm ngày nay Nó có thể dẫn đến tăng năng suất đáng kể thông qua việc phát hiện sớm các lỗi chức năng và thông qua việc khám phá nhanh hơn các phương án thiết kế