Bài giảng Hệ thống nhúng
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống nhúng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_he_thong_nhung.pdf
Nội dung text: Bài giảng Hệ thống nhúng
- Hệ thống nhúng
- Nộidi dung Giớithiệuhệ thống nhúng Kiến trúc HW/SW Đặctrưng và thiếtkế hệ thống nhúng Khái niệmthời gian thực Đặc trưng và ràng buộc thời gian thực Những mô hình tính toán thông dụng của ES Vũ Quang Dũng 2
- Phầnmn mềmmh hệ thống nhúng truyền thống = CPU + RTOS Vũ Quang Dũng 3
- Hệ thống nhúng hiện tại DSP Application Analog Code Specific Gates I/O Processor Memory Cores Hệ thống nhúng bao gồm Hệ thống phần cứng (boards, ASICs, FPGAs etc.) Thực thi, ti ếttki 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 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 Vũ Quang Dũng 4
- Tính ph ức hợp vàkhôà không đồng nhất controller control panel processes Real-time UI ASIC μcontroller OS processes DSP Programmable Programmable DSP Assembly DSP DSP Assembly Code Code Dual-ported CODEC RAM Tính không đồng nhất trong phầncứng và phầnmềm S/W: điềukhiển định hướng, xử lý tín hiệusố H/W: ASICs Vũ Quang Dũng 5
- Xử lý và nắmmb bắt tính không đồng nhất Vũ Quang Dũng 6
- MdlModule p hần cứng vààh phần mềm Hardware = thực thi chức năng thông qua cấu trúc, thiết kế Software = thựcthichứcnăng phầnmềmtrênbộ vi xử lý lậptrìnhđược Từ khóa phân biệt: Tính tích hợp (Multi p lex ing ) Module phầnmềm tích hợpvới các thành phần khác trong bộ vi xử lý (ví dụ như hệđiều hành) Module phầncứng kếthợp riêng rẽ trong thành phầnphầ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ầnphầncứng riêng thường có sự xử lý song song Vũ Quang Dũng 7
- Tính tích hợppc của thành phầnnph phầnmn mềm A B A B A B Resume A Resume B Call B Resume A Resume B 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 Module tích hợp Vũ Quang Dũng 8
- Các c ác h thức tái lập ttìrình vi xử lý Phương thức cũ Hiện tại Bộ vi xử lý Xử lý mạng Vi điềuukhi khiển Xử lý cảmmbi biến DSP Xử lý mã hóa Đồ họa Xử lý trò c hơi Bộ xử lý Xử lý chuyên dụng Xử lý di động Vũ Quang Dũng 9
- Tái cấu hình So C Vũ Quang Dũng 10
- Kiến ttúrúc H/W -S/W Vấn đề quan trọng trong kiến trúc là xác định đượcrõphc rõ phần nào cầnphn phầnmn 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ểmvàm và đượcthic thiếtkt kế riêng biệt Vũ Quang Dũng 11
- Các hình thái trong phát triểnphn 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 ểnphn phầnmn mềmgim 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ảomo mậtvàtinct và tin cậylàthy là thước đocho chủ yếucu củacha chấtlt lượng Phát triển và duy trì giá cả Tính hiệu quả cao Tính hiệuuqu quả cựcccao cao: modem kh ôn 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 Vũ Quang Dũng 12
- Thiếtkt kế hệ thống nhúng Quan hệ các tác vụ con Đặctả/mô hình hóa Phân chia H/W & S/W Lậplịch và phương thức định ASIC Analog I/O vị Processor Memory Thực thi H/W & S/W Kiểmchứng và debugging Tính cốtyếulàsự thiếtkế tích DSP hợpvàkếtnốigiữaphầncứng và Code phần mềm Vũ Quang Dũng 13
- Luồng thiếtkêct kê củaha hệ thống nhúng Environ Mô hình hóa -ment Hệ thống được thiết kế và thựcnghiệmvới 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ạilẫ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) HW, hoặc(2) SW chạytrênnềnphầncứng ASIC Analog I/O hoặctương thích vớilậptrìnhvi xử lý Processor Memory Lập lịch Đưarasố lầncácchứcnăng đượcgọi trong hệ thống. Nó quan trọng khi mộtsố module trong thành phần chia thành các phầntử phần cứng nhỏ hơn. Liên kết(Thựcthi) DSP Chứcnăng mô phỏng (1) phầnmềmchạytrên CdCode vi xử lý hoặc (2) các thàn h phầncủaphần cứng Vũ Quang Dũng 14
- Cấu tútrúc Specification App Knowledge Function & Performance (e.g. SP) Design Tools System H/W & S/W and Languages Architecture Components Design & Optimization FbiFabrica tion Testing Vũ Quang Dũng 15
- Kỹ thuậtthit thiếtkt kế đặcbic biệtvàst và sự tiếpcp cậncn 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 ệnkhn khả năng, và b ấttl 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 v iệctc tốt trong mộttkho khoảng th ờiigiannh gian nhưng sẽ có lỗi trong một số điều kiện Vũ Quang Dũng 16
- Thiếtkt kế cóhó hệ thống của ES Kiểm tra, mặc dù quan trọng nhưng kết quả không thể dự đoán trước Luồng điều khiển phụ thuộc vàádà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 troogng đả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ếtkt kế nổiib bậttth thể hiện những điều không d ự đoáátn trước trong kịch bản như các điều kiện, môi trường liên quan Vũ Quang Dũng 17
- Công cụ và mô hình cho thiếtkt 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ểmmk kỹ thuậttt, tổng hợppt, tối ưu hóa , ki ểmmch 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ầnbin biết chúng đã được phân tích, tìm hiểuuvàki và kiểmmtra tra Công cụ mang tính hệ thống hóa Vũ Quang Dũng 18
- Mô hình , ng ôn ngữ vààô công cụ Vũ Quang Dũng 19
- Đặc điểm chung củaah hệ thống nhúng Control System Sensory System Actuation System ENVIRONMENT Vũ Quang Dũng 20
- Đặctrc trưng hệ thống nhúng Hệ thống Đồng hồ Thuật toán Giao diện thời gian thực trong điều khiển kỹ thuật Ghi dữ liệu Quá trình truy cập hệ thống từ xa Database Nhân dữ liệu Thiết bị và hiển thị hiển thị Lệnh điều khiển Điều khiển Máy tính thời gian thực giao diện Vũ Quang Dũng 21
- Thờiii gian thực là g ì? Thời g ian là thàn h p hần phân biệt chí nh liê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ếtqut quả logic củaas 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ờigianthi gian thực trong hệ thống phải đượccs 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 Vũ Quang Dũng 22
- Tácvụ thời gian thực Khóa chính để phân biệtgiữatácvụ thờigianthực và không thời gian thựclàsự tồntạicủagiớihạnthờigianthựchiện (deadline) Kết quả sau giới hạn không chỉ muộn mà còn sai Hệ thống phảisử dụng input tiếptheosaugiớihạn Phầncứng và phầnmềm (Hard - Soft) Phụ thuộcvàokếtquả củasự thiếuhụtgiớihạn Soft: thiếuhụtgiớihạn không ảnh hưởng trầmtrọng tớimôi trường và không ggyây nggyuy hiểmtớisựđúng đắncủahệ thống Hard: thiếuhụtgiớihạn gây ảnh hưởng trầmtrọng tớimôi trường hoạt động củahệ thống Hệ thống thông thường là sự kết hợp giữa hai kiểu tác vụ Vũ Quang Dũng 23
- Tính chấttht thờiii gian thự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ềukhiển bay. Soft real-time — deadline là quan trọng đối với hệ thống, nhưng cũng tồntạichứcnăng để sửalỗihệ thống khi deadline không được đáp ứng kịp thời. Ví dụ như hệ thống nhậndữ 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ớihạncầnthiết. Vũ Quang Dũng 24
- Điểm đặc trư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ính đảm bảo vớihi hoạt động hiệu xuấtht 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ảicóthi có thể dự đoán đượcck kếtqut quả củaba bấttk 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ân n hắc khả năng của vi xử lý n hư cachhDMAe, 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ự thay đổi của hệ thống phảidi dễ dàng th ực hiện Vũ Quang Dũng 25
- Tính đúúlú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ạiic 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ỏiiv về khả năng yêu cầucu 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ớnhn hơnkhon khoảng th ờiigiantgi gian t giữaa2s 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 Vũ Quang Dũng 26
- MiMaximum trong r àng buộc thờiii 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 n hấ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ệugu gọingi, ngườigi gọiphi phải ấnsn 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ếtnt nối đượcngc, ngườigi gọisi 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 Vũ Quang Dũng 27
- Min imum trong r àng buộc thờiii 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ậnvn với quá trình xử lý yêu cầutu từ mộtst 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 Vũ Quang Dũng 28
- Phân biệtti giữa cádlác model Trạng thái: có giới hạn và vô hạn Thời gian: không giớihi hạnthn, thời gian liên tiếpthp, 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ụ Vũ Quang Dũng 29
- 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ìnhliênkQuá 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) Vũ Quang Dũng 30
- 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ống ở táttrong các trạng thái dàn h c ho từng khoảng thờiii gian n hấ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 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 Vũ Quang Dũng 31
- FSM cổ điển Vũ Quang Dũng 32
- Thiếtkê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ếtht hợp Đồng bộ hóa: zero và trễ vô hạn Không đồng bộ:non-zero, h ữuuh hạnnvàbiên và biên độ trễ Hệ thống nhúng sử dụng cả đồng bộ hóa lẫn không đồng bộ Vũ Quang Dũng 33
- Ví d ụ CFSM *Key = On → *Start Wait *Key = Off or *End=5 → *Alarm = On Off *Belt = On → *End=10 or Alarm *Belt = On or *Key = Off → *Alarm = Off Trạng thái của CFSM bao gồm những sự kiện mà tại cùng thời điểm đầuvàovàđầu ra cho no non-zero tương tác thờigianngược trong lưutrữ Vũ Quang Dũng 34
- 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ởitạovà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ạitrừ Trao đổi thông tin Thuộc tính Liên tục Đơn điệu Vũ Quang Dũng 35
- Mô hình luồng dữ liệu Chi phối các hình thức dữ liệu củahệ thống Mô hình hóa thứ tự từng thành phần Xác định hoạt động riêng biệtcủa thành phầnhệ thống Sử dụngchomôphỏng, lậplị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ểuhiện, khởitạo Phương án: luồng dữ liệutĩnh, luồng dữ liệu boolean, luồng dữ liệu động Vũ Quang Dũng 36
- Đồ thị môhìhlô hình luồng Control/Data Implementation Flow Graph 2 3 2 2 1 1 Reg Reg Multiplier x 4 3 2 D + Reg Reg 4 7 9 Adder 0 4 7 Vũ Quang Dũng 37
- Mô hình p hần cứng 1. Mứchệ thống 2. Mứcthuật toán 3. Mứccáctậplệnh 4. Mứctraođổidữ 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ứcmạch 8. Mô hình mứcthiếtbị 9. Mô hình sắpxếp 10. Quy trình và mô hình thiếtbị Vũ Quang Dũng 38
- Lựa chọn môhìhô hình 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ổibi bật của môhìhô hình 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 Vũ Quang Dũng 39
- Lựa chọn môhìh(tiô hình (tiếp) Tích hợp mô hình và ngôn ngữ Quản lý theo mô hình trừu tượng Lựacha chọnsn 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ầnthin thiếtt(t (tổng hợplp, lậplp lịch, ) Thiết kế Chi tiếtkt 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 Vũ Quang Dũng 40