Từ đó khởi nguồn cho làn sóng ra đời của hàng loạt các chủng loại vi xử lý và gắn liền là các hệ nhúng để thâm nhập rộng khắp trong các ứng dụng hàng ngày của cuộc sống chúng ta ví dụ nh
Trang 1ĐẠI HỌC CÔNG NGHỆ TRƯỜNG ĐẠI HỌC QUỐC GIA HÀ NỘI
TIỂU LUẬN:
TÌM HIỂU VỀ HỆ THÔNG NHÚNG
Giáo viên hướng dẫn: Nhóm học viên thực hiện:
TS Võ Đình Hiếu Nguyễn Thị Thu Hằng
Vũ Thị Quyên Nguyễn Văn Tuân
Hà Nội, 4-2013
Trang 2MỤC LỤC
Contents
LỜI NÓI ĐẦU 3
PHẦN 1: GIỚI THIỆU VỀ HỆ THỐNG NHÚNG 4
1.1 Hệ thống nhúng là gì? 4
1.2 Hệ thời gian thực 4
1.3 Lĩnh vực ứng dụng của hệ thống nhúng 5
1.4 Đặc điểm công nghệ và xu thế phát triển của hệ thống nhúng 5
1.5 Mô hình hệ thống nhúng 7
PHẦN 2: THIẾT KẾ HỆ THỐNG NHÚNG 7
2.1 Các giai đoạn thiết kế 7
2.2 Thiết kế hệ thống nhúng 8
PHẦN 3: MÔ HÌNH KIẾN TRÚC 10
3.1 Mô hình Theo dõi và phản ứng lại 10
3.3 Mô hình Kiểm soát môi trường 12
3.3 Mô hình Đường ống xử lý 13
PHẦN 4: PHÂN TÍCH THỜI GIAN 15
PHẦN 5: HỆ THỐNG THỜI GIAN THỰC 17
5.1 Giới thiệu về hệ thống thời gian thực 17
5.2 Khái niệm hệ thống thời gian thực 18
KẾT LUẬN 19
TÀI LIỆU THAM KHẢO 19
Trang 3LỜI NÓI ĐẦU
Các hệ thống nhúng ngày nay rất phát triển với những ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp và đời sống, đâu đâu ta cũng bắt gặp các ứng dụng của hệ thống nhúng, từ những thiết bị nhỏ như điện thoại, máy nghe nhạc đến các hệ thống phức tạp như ô tô, máy móc công nghiệp Có thể nói đánh dấu sự ra đời và phát triển của hệ nhúng trước tiên phải kể đến sự ra đời của các bộ vi xử lý, vi điều khiển
Thập kỷ 80 có thể được coi là khởi điểm bắt đầu kỷ nguyên của sự bùng nổ về phát triển các hệ nhúng Từ đó khởi nguồn cho làn sóng ra đời của hàng loạt các chủng loại vi xử lý và gắn liền là các hệ nhúng để thâm nhập rộng khắp trong các ứng dụng hàng ngày của cuộc sống chúng ta ví dụ như, các thiết bị điện tử sử dụng cho sinh hoạt hàng ngày (lò vi sóng, TV, tủ lạnh, máy giặt, điều hoà ) và văn phòng làm việc (máy fax, máy in, máy điện thoại ) Các bộ vi xử lý và phần mềm cứng ngày càng được sử dụng rộng rãi trong rất nhiều các hệ thống nhỏ Các loại vi xử lý được sử dụng trong các
hệ thống nhúng hiện nay đã vượt xa so với PC về số lượng chủng loại và vẫn còn tiếp tục phát triển để nhằm đáp ứng và thoả mãn rất nhiều ứng dụng đa dạng
Trong tiểu luận này, chúng tôi sẽ tập trung tìm hiểu khái niệm, thiết kế phần mềm nhúng, vai trò phần mềm nhúng, các lĩnh vực ứng dụng và xu thế phát triển của hệ thống nhúng
Chúng tôi xin chân thành cảm ơn TS Võ Đình Hiếu đã giúp đỡ chúng tôi hoàn thành tiểu luận này
Trang 4NỘI DUNG PHẦN 1: GIỚI THIỆU VỀ HỆ THỐNG NHÚNG
1.1 Hệ thống nhúng là gì?
Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện/điện tử có khả năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị hay hệ nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, các thiết bị phục
vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt, camera Rất dễ dàng có thể kể ra hàng loạt các thiết bị hay hệ thống như vậy đang tồn tại quanh ta, chúng là hệ nhúng Vậy hệ nhúng là một phần hệ thống xử lý thông tin nhúng trong các hệ thống lớn, phức hợp và độc lập Ví dụ như trong ôtô, các thiết bị đo lường, điều khiển, truyền thông và thiết bị thông minh nói chung Chúng là những tổ hợp của phần cứng và phần mềm để thực hiện một hoặc một nhóm chức năng chuyên biệt
1.2 Hệ thời gian thực
Trong các bài toán điều khiển và ứng dụng, chúng ta rất hay gặp thuật ngữ “thời gian thực” Thời gian thực được hiểu là yêu cầu của hệ thống phải đảm bảo thỏa mãn về tính tiền định trong hoạt động của hệ thống Tính tiền định nói lên hành vi của hệ thống thực hiện đúng trong một khung thời gian cho trước hoàn toàn xác định Khung thời gian này được quyết định bởi đặc điểm hoặc yêu cầu của hệ thống, có thể là vài giây cũng có thể là vài nano giây hoặc nhỏ hơn nữa
Người ta phân ra làm hai loại đối với khái niệm thời gian thực là cứng (hard real time) và mềm (soft real time) Thời gian thực cứng là khi hệ thống hoạt động với yêu cầu thoả mãn sự ràng buộc trong khung thời gian cứng tức là nếu vi phạm thì sẽ dẫn dến hoạt động của toàn hệ thống bị sai hoặc bị phá huỷ Ví dụ về hoạt động điều khiển cho một lò phản ứng hạt nhân, nếu chậm ra quyết định có thể dẫn đến thảm họa gây ra do phản ứng phân hạch và dẫn đến bùng nổ cả hệ thống Thời gian thực mềm là khi hệ thống hoạt động với yêu cầu thoả mãn ràng buộc trong khung thời gian mềm, nếu vi phạm và sai lệch nằm trong khoảng cho phép thì hệ thống vẫn có thể hoạt động được và chấp nhận được Ví dụ như hệ thống phát thanh truyền hình, nếu thông tin truyền đi từ trạm phát tới người nghe/nhìn chậm một vài giây thì cũng không ảnh hưởng đáng kể đến tính thời sự của tin được truyền đi và hoàn toàn được chấp nhận bởi người theo dõi
Trang 51.3 Lĩnh vực ứng dụng của hệ thống nhúng
Chúng ta có thể kể ra được rất nhiều các ứng dụng của hệ thống nhúng đang được
sử dụng hiện nay, và xu thế sẽ còn tiếp tục tăng nhanh Một số các lĩnh vực và sản phẩm thị trường rộng lớn của các hệ nhúng có thể được nhóm như sau:
Các thiết bị điều khiển
Ôtô, tàu điện
Truyền thông
Thiết bị y tế
Hệ thống đo lường thẩm dịnh
Toà nhà thông minh
Thiết bị trong các dây truyền sản xuất
Rôbốt
1.4 Đặc điểm công nghệ và xu thế phát triển của hệ thống nhúng
1.4.1 Đặc điểm công nghệ
Các hệ thống như vậy đều có chung một số đặc điểm như yêu cầu về khả năng thời gian thực, độ tin cậy, tính độc lập và hiệu quả Một câu hỏi đặt ra là tại sao hệ thống nhúng lại phát triển và được phổ cập một cách nhanh chóng như hiện nay? Câu trả lời thực ra nằm ở các yêu cầu tăng lên không ngừng trong các ứng dụng công nghệ hiện nay Một trong những yêu cầu cơ bản đó là:
Khả năng độc lập và thông minh hóa: Thể hiện rõ hơn qua các thuộc tính, yêu cầu
cụ thể như:
o Độ tin cậy
o Khả năng bảo trì và nâng cấp
o Sự phổ cập và tiện dụng
o Độ an toàn
o Tính bảo mật
Hiệu quả: Thể hiện qua một số các đặc điểm của hệ thống như sau:
o Năng lực tiêu thụ
o Kích thước về phần cứng và phần mềm
Trang 6o Hiệu quả về thời gian thực hiện
o Kích thước và khối lượng
o Giá thành
Phân hoạch tác vụ và chức năng hóa: Các bộ vi xử lý trong các hệ nhúng thường được sử dụng để đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn mà nó được nhúng vào
Khả năng thời gian thực: Các hệ thống đều gắn liền với việc đảm nhiệm một chức năng chính và phải được thực hiện đúng theo một khung thời gian quy định
Tuy nhiên, trong thực tế không phải hệ nhúng nào cũng đều có thể thỏa mãn tất cả những yêu cầu nêu trên
1.4.2 Xu thế phát triển của hệ nhúng
Vì sự phát triển hệ nhúng là sự kết hợp nhuần nhuyễn giữa phần cứng và phần mềm nên công nghệ gắn liền với nó cũng chính là công nghệ kết hợp giữa các giải pháp cho phần cứng và mềm
Lớp hệ nhúng ưu tiên phát triển the tiêu chí về kích thước nhỏ gọn, tiêu thụ năng lượng ít mà giá thành thấp
Lớp hệ nhúng ưu tiên thực thi khả năng xử lý tính toán với tốc độ thực hiện nhanh
Lớp hệ thống ưu tiên cả hai tiêu chí phát triển của hai lớp trên, tức là kích thước nhỏ gọn, mức tiêu thụ năng lượng thấp, tốc độ tính toán nhanh
Với mỗi một nền phần cứng nhúng thường có những đặc thù riêng và kèm theo một giải pháp phát triển phần mềm tối ưu tương ứng Không có một giải pháp nào chung
và chuẩn tắc cho tất cả các hệ nhúng Chính vì vậy thông thường các nhà phát triển và cung cấp phần cứng cũng lại chính là nhà cung cấp giải pháp phần mềm hoặc công cụ phát triển phần mềm kèm theo
Trang 71.5 Mô hình hệ thống nhúng
Hình 1.1: Mô hình hệ thống nhúng
Hình trên chỉ ra rằng tất cả các hệ thống nhúng đều có chung một thành phần giống nhau ở tầng cao nhất, đó là chúng đều có ít nhất một lớp (phần cứng) hoặc nhiều lớp (phần cứng, phần mềm và ứng dụng) trong đó chứa tất cả các components Phần cứng bao gồm tất cả những thành phần vật lý có trên mạch nhúng, phần mềm và các ứng dụng bao gồm tất cả những thành phần logic có trong hệ thống nhúng
PHẦN 2: THIẾT KẾ HỆ THỐNG NHÚNG 2.1 Các giai đoạn thiết kế
Các yêu cầu: Các yêu cầu chức năng và các yêu cầu không chức năng (kích thước, khối lượng, tiêu thụ công suất và giá)
Đặc tả người dùng: Các chi tiết giao tiếp người dùng cùng với các tác vụ thỏa các yêu cầu của người dùng
Kiến trúc: Các thành phần phần cứng (bộ xử lý, ngoại vi, logic khả lập trình và ASSP[Application Specific Standard Product]), các thành phần phần mềm (các chương trình chính và các tác vụ của chúng)
Thiết kế thành phần: Các thành phần được thiết kế trước, được sửa đổi và các thành phần mới
Tích hợp hệ thống (phần cứng và phần mềm): Sắp xếp kiểm chứng có hệ thống để tìm lỗi nhanh chóng
Thiết kế Hệ thống Nhúng đòi hỏi phải có hiểu biết đa ngành về điện tử, xử lý tín hiệu,
vi xử lý, kĩ thuật điều khiển và lập trình thời gian thực
Trang 8Việc quyết định công nghệ nền cho thiết kế số ở phần kiến trúc phụ thuộc vào một
số ràng buộc sau:
o Tốc độ cập nhật thời gian thật
o Công suất
o Giá thành
o Giải pháp đơn chip
o Dễ lập trình
o Tính khả chuyển của mã (Portability of code)
o Các thư viện mã có thể tái sử dụng
o Các công cụ lập trình
2.2 Thiết kế hệ thống nhúng
Ta có thể sử dụng một số mô hình sau để mô tả chu kỳ thiết kế các hệ thống nhúng Một số mô hình là cơ sở, các mô hình khác được hình thành dựa trên các mô hình
cơ sở này:
Mô hình big-bang: trong mô hình thiết kế này, ta không có khái niệm về kế hoạch hay quá trình trong cả quá trình phát triển hệ thống
Mô hình code-and-fix: đầu tiên các yêu cầu về sản phẩm được làm rõ, sau đó việc thực hiện mã lệnh được tiến hành dựa trên các mô tả yêu cầu này, tiếp theo mã lệnh được thực thi và nếu có lỗi thì lại trở về bước trước đó, nghĩa là thực hiện lại
mã lệnh
Mô hình Waterfall: Quá trình phát triển sản phẩm được chia thành từng bước, kết quả của bước trước sẽ là dữ liệu của bước sau
Mô hình Spiral:cũng dựa trên việc phân chia thành từng bước như waterfall, tuy nhiên trong mỗi một quá trình, các phản hồi của người dùng hoặc người phát triển khác được tiếp thu và được tích hợp lại vào trong quá trình phát triển tiếp theo
Ta xét mô hình Embebded Design and Development Lifecycle Model sau:
Trang 9Hình 2.2: Mô hình Embebded Design and Development Lifecycle
Trang 10PHẦN 3: MÔ HÌNH KIẾN TRÚC
Ba mô hình kiến trúc thời gian thực thường được sử dụng trong hệ thống nhúng đó là:
Mô hình Theo dõi và phản ứng lại: Mô hình này được sử dụng khi bộ cảm
biến được hiển thị và theo dõi thường xuyên Khi bộ cảm biến cho biết một sự kiện xảy ra như cuộc gọi đến trên điện thoại di động thì hệ thống phản ứng lại bằng tiến trình xử lý sự kiện đó
Mô hình Kiểm soát môi trường: Mô hình này được sử dụng khi hệ thống
gồm có nhiều cảm biến cung cấp thông tin về môi trường và các bộ khởi động
mà thông tin này có thể thay đổi bởi môi trường Khi các bộ cảm biến phát hiện ra sự thay đổi của môi trường, tín hiệu điều khiển được gửi tới các bộ khởi động hệ thống
Mô hình Đường ống xử lý: Mô hình này được sử dụng khi dữ liệu được
truyền từ một điểm tới một điểm trước khi nó được xử lý Sự biến đổi này được thực hiện thông qua một chuỗi các bước xử lý, có thể được thực hiện đồng thời Điều này cho phép xử lý dữ liệu rất nhanh bởi vì mỗi bộ xử lý riêng biệt có thể thực hiện mỗi thay đổi
Thông thường người dùng sẽ nhìn thấy các mô hình này được kết hợp kết hợp với nhau trong các hệ thống đơn lẻ
3.1 Mô hình Theo dõi và phản ứng lại
Hệ thống giám sát là một phần quan trọng trong hệ thống nhúng thời gian thực Hệ thống giám sát kiểm tra môi trường thông qua một bộ cảm biến và thường hiển thị trạng thái của môi trường theo một cách nào đó Có thể trên một màn hình tích hợp, trên các màn hình thiết bị chuyên dùng hoặc hiển thị từ xa Nếu hệ thống phát hiện ra một sự kiện nào đó thì hệ thống giám sát đưa ra một hành động cụ thể Thông thường điều này liên quan đến việc gia tăng các cảnh báo để gây sự chú ý tới người điều hành hệ thống Đôi khi hệ thống có thể đưa ra các hành động để ngăn chặn việc này như tắt hệ thống để bảo
vệ hệ thống không bị phá hủy
Mô tả Giá trị đầu vào của các bộ cảm biến giống nhau được thu thập và phân
Trang 11tích Các giá trị này được hiển thị theo một cách cụ thể nào đó
Đầu vào Giá trị đầu vào nhận được từ các bộ cảm biến được gắn vào hệ thống Đầu ra Giá trị đầu ra được dùng để hiển thị, kích hoạt báo động, gửi tín hiệu
đến các hệ thống phản ứng lại
Xử lý Quan sát, phân tích, hiển thị, báo động, phản ứng lại
Sử dụng trong Hệ thống giám sát, hệ thống báo động
Hình 3.1: Mô hình Theo dõi và phản ứng lại
Mô hình Theo dõi và phản ứng lại như hình dưới đây là mô hình thường được sử dụng trong các hệ thống giám sát Các giá trị của bộ cảm biến được theo dõi và khi phát hiện ra các giá trị đặc biệt thì hệ thống sẽ phản ứng lại theo một cách nào đó Các hệ thống giám sát có thể bao gồm một số mô tả của mô hình Theo dõi và phản ứng lại cho mỗi loại cảm biến trong hệ thống Tùy thuộc vào yêu cầu của hệ thống, người dùng có thể tối ưu hóa thiết kế bằng các quy trình kết hợp Ví dụ như người dùng có thể sử dụng quá trình hiển thị duy nhất để hiển thị thông tin cho tất cả các bộ cảm biến khác nhau
Hình 3.2: Quy trình xử lý của mô hình Theo dõi và phản ứng lại.
Trang 123.3 Mô hình Kiểm soát môi trường
Trong phần mềm nhúng các hệ thống điều khiển được sử dụng rộng rãi nhất Trong các hệ thống này, phần mềm điều khiển hoạt động của thiết bị, dựa trên tác động
từ môi trường thiết bị
Mô tả Hệ thống phân tích thông tin từ dữ liệu mà bộ cảm biến thu thập trong
môi trường hệ thống Thông tin chi tiết có thể được thu thập về tình trạng của các bộ khởi động được kết nối tới hệ thống Dựa trên dữ liệu thu thập được từ các bộ cảm biến và các bộ khởi động, tín hiệu điều khiển gửi tới bộ khởi động và sau đó thay đổi môi trường hệ thống Thông tin về các giá trị của bộ bộ cảm biến và trạng thái của các bộ khởi động có thể được hiển thị
Đầu vào Giá trị đầu vào là thông tin từ các bộ cảm biến được gắn vào hệ thống
và trạng thái của các bộ khởi động hệ thống Đầu ra Tín hiệu điều khiển tới bộ khởi động, thông tin hiển thị
Xử lý Giám sát, điều khiển, hiển thị, driver của bộ khởi động, giám sát bộ
khởi động
Sử dụng trong Các hệ thống điều khiển
Hình 3.3: Mô hình Điều khiển môi trường
Hệ thống điều khiển có thể sử dụng mô hình Kiểm soát môi trường Mô hình này được mô tả như trong hình 3.3, với quy trình xử lý được biểu diễn như hình 3.4 Mô hình này có thể là cơ sở cho việc thiết kế các hệ thống điều khiển với mô tả của mô hình Kiểm soát môi trường cho mỗi bộ khởi động đang được điều khiển Người dùng có thể tối ưu hóa thiết kế bằng cách giảm số lượng các tiến trình Ví dụ: Người dùng có thể kết hợp tiến trình giám sát bộ khởi động và điều khiển bộ khởi động, hoặc kết hợp tiến trình điều khiển và tiến trình giám sát đơn cho nhiều bộ khởi động khác nhau Việc tối ưu hóa mà người dùng chọn phụ thuộc vào yêu cầu thời gian
Trang 13Hình 3.4: Quy trình xử lý của mô hình Kiểm soát môi trường
3.3 Mô hình Đường ống xử lý
Nhiều hệ thống thời gian thực liên quan đến việc thu thập dữ liệu từ môi trường hệ thống, sau đó truyền dữ liệu từ nơi thu thập được tới nơi có thể được phân tích và xử lý nhanh hơn Hệ thống này cũng có thể chuyển đổi dữ liệu số sang dữ liệu tương tự và sau
đó gửi ra môi trường Ví dụ: Phần mềm radio chấp nhận các gói tin số từ các đài phát thanh truyền hình và biến đối chúng thành tín hiệu âm thanh mà người dùng có thể nghe được
Quá trình xử lý dữ liệu liên quan tới nhiều hệ thống có thể được thực hiện rất nhanh Nếu không dữ liệu đến có thể bị mất và các tín hiệu gửi đi có thể chia nhỏ bởi vì thông tin cần thiết bị mất Mô hình Đường ống xử lý có thể xử lý nhanh chóng vấn đề này bằng cách đưa dữ liệu cần tìm vào một chuỗi các biến đổi riêng biệt, với mỗi chuyển đổi được thực hiện bởi một quá trình độc lập Đây là kiến trúc phù hợp với các hệ thống
sử dụng nhiều bộ xử ý hoặc xử lý đa lõi Mỗi tiến trình trong đường ống có thể được kết hợp với một bộ xử lý riêng biệt để các bước xử lý được thực hiện song song
Mô tả Mô hình xử lý đường ống được thiết lập với dữ liệu di chuyển theo