Bài giảng Hệ thống nhú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ảomậtvàtincậylàthướcđochủyếucủachấtlượ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: 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

pdf40 trang | Chia sẻ: maiphuongdc | Lượt xem: 3963 | Lượt tải: 1download
Bạn đang xem trước 20 trang 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:

  • pdflecture_01_es_overview_.PDF