Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałJulian Wójcik Został zmieniony 6 lat temu
1
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Systemy Wbudowane Cykl życia produktu / technologii Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Na podstawie: Valvano J.W.: Embedded Systems: Introduction to Arm® Cortex(TM)-M Microcontrollers, Jonathan W.Valvano 2013 i inne
2
Czas życia produktu Zygmunt Kubiak
3
Czas życia produktu Zygmunt Kubiak
4
Cykl popularności układy logiczne
Czas życia produktu Cykl popularności układy logiczne Zygmunt Kubiak
5
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
6
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
7
Czas życia projektu Faza analizy
Podczas fazy analizy, odkrywane są wymagania i ograniczenia dla proponowanego systemu. Wywiad wśród potencjalnych klientów i ewentualnie zatrudnieni konsultanci pozwoli na zebranie krytycznych informacji. Wymaganie jest to specyficzny parametr, który system musi spełniać. Rozpoczyna się od przepisywania wymagań systemowych, które są zwykle napisane w formie ogólnej, na listę szczegółowych specyfikacji. Ogólnie rzecz biorąc, specyfikacje są szczegółowymi parametrami opisującymi w jaki sposób system powinien pracować. Na przykład, urządzenie powinno mieścić się w kieszeni, należy określić dokładne wymiary i ciężar urządzenia. Zygmunt Kubiak
8
Na przykład, należy zbudować sterownik silnika.
Czas życia projektu Faza analizy Na przykład, należy zbudować sterownik silnika. Podczas fazy analizy, chcemy ustalić oczywiste dane, takie jak zakres, stabilność, dokładność i czas odpowiedzi. Powinny być również spełnione wymagania, takie jak waga, gabaryty, żywotność baterii, długość „życia”, łatwość obsługi, czytelność wyświetlacza i niezawodność. Często zdarza się, że poprawiając jeden parametr, pogarsza się inny (-e). Podczas projektowania produktu inżynier musi uwzględniać sztukę kompromisu. Zygmunt Kubiak
9
Czas życia projektu Faza analizy Ograniczenia wynikają ze środowiska, w którym system musi działać. Mogą to być takie czynniki jak koszty, bezpieczeństwo, kompatybilność z innymi produktami, wykorzystanie poszczególnych części elektronicznych i mechanicznych, interfejsów z innymi urządzeniami i wyposażeniem testującym, oraz plan uruchamiania. W fazie analizy projektu często uwzględnia się następujące parametry: Bezpieczeństwo: zagrożenia dla ludzi lub środowiska Dokładność: różnica między przewidywanym a rzeczywistym parametrem Zygmunt Kubiak
10
Rozdzielczość: najmniejsza zmiana, która może być wiarygodnie wykryta
Czas życia projektu Faza analizy Rozdzielczość: najmniejsza zmiana, która może być wiarygodnie wykryta Czas reakcji: czas pomiędzy podaniem wymuszenia a odpowiedzią Pasmo: ilość informacji przetwarzanych na czas Testowalność: łatwość, z jaką prawidłowe działanie urządzenia można sprawdzić Kompatybilność: zgodność urządzenia do istniejących standardów Średni czas międzyawaryjny: niezawodność urządzenia , czas życia produktu Rozmiar i waga Zygmunt Kubiak
11
Zasilanie: ilość energii potrzebna do działania systemu
Czas życia projektu Faza analizy Zasilanie: ilość energii potrzebna do działania systemu Jednorazowe koszty inżynieryjne (koszt NRE): jednorazowy koszt projektowania i badań Koszt jednostkowy : koszt potrzebny do wytworzenia jednostki produktu Czasu prototypowania: czas potrzebny na zaprojektowanie, budowę i testowanie modelu systemu Czasu wdrożenia: czas potrzebny do dostarczenia produktu do klienta Czynniki ludzkie: stopień, w jakim klienci lubią / doceniają produkt Zygmunt Kubiak
12
Czas życia projektu Faza analizy
Istnieje norma IEEE definiująca szablon wymagań. Głównym celem dokumentu wymagań jest tworzenie porozumienia między projektantem i klientów, przez opis co system robi. Umowa ta może stać się prawnie wiążącym kontraktem. Należy przygotować dokument tak, aby był łatwe do odczytania i zrozumienia przez innych. Dokument powinien być jednoznaczny, kompletny, sprawdzalny i modyfikowalny. 1. Przegląd 1.1. Cele: Dlaczego robimy ten projekt? Jaki jest cel? 1.2. Proces: Jak projekt będzie opracowany? 1.3. Role i obowiązki: Kto co zrobi? Kim są klienci? Zygmunt Kubiak
13
Czas życia projektu Faza analizy 1.4. Interakcje z istniejącymi systemami: Jak to będzie pasować? 1.5. Terminologia: Zdefiniuj sformułowania użyte w dokumencie 1.6. Bezpieczeństwo : Jak zarządzać własnością intelektualną? 2. Opis funkcji 2.1. Funkcjonalność: Co urządzenie dokładnie będzie robić? 2.2. Zakres: Podział na fazy i określenie co zostanie dostarczone w każdej fazie Prototypy: Jak pokazać postępy? Zygmunt Kubiak
14
Czas życia projektu Faza analizy
2.4. Wydajność : W jaki sposób określić i jak zmierzyć? 2.5. Użyteczność : Opisać interfejsy. Najlepiej ilościowo, jeśli to możliwe. 2.6. Bezpieczeństwo : Wyjaśnij wszelkie wymogi bezpieczeństwa oraz w jaki sposób będą mierzone. 3. Elementy usługi 3.1. Raporty : Jak system opisany? 3.2. Audyty : Jak klienci oceniają postępy? 3.3. Wyniki : Jakie są rezultaty? Skąd wiemy, że zostały osiągnięte. Zygmunt Kubiak
15
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
16
Projekt jest podzielony na moduły lub komponenty podrzędne.
Czas życia projektu Faza projektu W fazie projektu tworzony jest model koncepcyjny systemu sprzętu / oprogramowania. Projekt jest podzielony na moduły lub komponenty podrzędne. Podczas tej fazy, szacujemy koszt, harmonogram i oczekiwaną wydajność systemu. W tym momencie możemy zdecydować, czy projekt ma wystarczająco wysoki potencjał zysku. Zygmunt Kubiak
17
Strzałki wskazują kierunek od źródła do miejsca przeznaczenia.
Czas życia projektu Faza projektu Diagram przepływu danych jest schematem blokowym systemu, pokazującym przepływ informacji. Strzałki wskazują kierunek od źródła do miejsca przeznaczenia. Prostokąty reprezentują komponenty sprzętowe, a owale są modułami oprogramowania. Wykresów przepływu danych używamy w projekcie wysokiego poziomu, ponieważ opisują one ogólne działanie systemu bez szczegółów. Zygmunt Kubiak
18
Czas życia projektu Faza projektu Na tym etapie należy uwzględniać takie kwestie jak bezpieczeństwo (np. pierwszej ustawy Robotyki Isaaca Asimova : „Robot nie może skrzywdzić człowieka, ani przez zaniechanie działania dopuścić aby istota ludzka poniosła szkodę") i testowanie (np. musimy zweryfikować działanie systemu). Zygmunt Kubiak
19
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: Na rysunku pokazano diagram przepływu danych dla prostego układu pomiaru położenia. Czujnik zamienia pozycję w wartość oporności elektrycznej. Układ analogowy przekształca opór w wartość napięcia z przedziału od 0 do +3 V, wymaganego przez ADC. ADC przekształca napięcie analogowe do próbki cyfrowe. Mikrokontroler, przy użyciu ADC i timera, zbiera próbki i przetwarza wyniki pomiarów. Wewnątrz mikrokontrolera napięcia i położenia są reprezentowane w postaci liczb stałoprzecinkowych. Dane są przekazywane do sterownika wyświetlacza OLED (ang. Organic Light Emitting Diode) w postaci ciągów znaków ASCII. Zygmunt Kubiak
20
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: Zygmunt Kubiak
21
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: Wstępny projekt zawiera ogólną strukturę systemu, podstawowe sygnały I/O, struktury danych oraz ogólny schemat oprogramowania. Na tym etapie nie ma prostego i bezpośredniego związku między systemami sprzętu /oprogramowania i modelem koncepcyjnym, opracowanym w projekcie wysokiego poziomu. Następnie należy zbudować makiety części mechanicznych (złącza, obudowy, kable itp.) oraz interfejs oprogramowania użytkownika. Zaawansowane systemy CAD 3-D mogą tworzyć realistyczne obrazy naszego systemu. Szczegółowe projekty sprzętowe muszą zawierać rysunki mechaniczne. Zygmunt Kubiak
22
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: Dobrym pomysłem jest uwzględnienie różnych dostawców podzespołów. Diagram powiązań (ang. call graph) ilustruje relacje między modułami programu. Zagadnienia bezpieczeństwa i testowania należy ponownie podjąć na niższych poziomach projektu. Zygmunt Kubiak
23
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: Na rysunku pokazano diagram powiązań dla prostego układu pomiaru położenia. Prostokąty reprezentują komponenty sprzętowe a owale pokazują moduły oprogramowania. Strzałka wskazuje kierunek od podprogramu wywołującego do modułu wywoływanego. Porty I/O są podzielone na grupy i umieszczone w dolnej części wykresu. Diagramu ogólny, zawiera tylko moduły sprzętowe / oprogramowania na wysokim poziomie abstrakcji. Zygmunt Kubiak
24
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: !Uwaga: Jeśli moduł A wywołuje moduł B, a B zwraca dane, to wykres przepływu danych pokaże strzałkę z B do A, ale wykres powiązań pokaże strzałkę z A do B. Zwykle sprzęt jest bierny i oprogramowanie inicjuje komunikację sprzętu/oprogramowania, ale możliwe jest użycie przerwania sprzętowego do uruchomienia określonych modułów programowych. Zygmunt Kubiak
25
Faza projektu - przykład:
Czas życia projektu Faza projektu - przykład: W tym systemie, sprzęt czasowy uruchamia oprogramowanie ADC do zbierania próbek. Podprogram obsługi przerwania timera (ISR) dostaje kolejną próbkę z oprogramowania ADC, przekształca ją na pozycję i wyświetla wynik, wywołując oprogramowanie interfejsu OLED . Dwukierunkowa strzałka między ISR i sprzętem, oznacza wyzwalanie sprzętowego przerwania a także dostęp oprogramowania do sprzętu. Zygmunt Kubiak
26
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
27
Czas życia projektu Faza rozwoju Kolejny etap polega na opracowaniu implementacji. Zaletą projektu tworzonego „od góry do dołu” jest to, że wdrożenie składowych może następować równocześnie. W początkowej fazie, to jest dość skuteczne, aby wspomagać się symulacją w realizacji sprzętu/ programu. Główną zaletą jest to, że symulacja zapewnia dużą szybkość pozyskania wyników produktu końcowego w porównaniu ze skonstruowaniem fizycznego urządzenia z rzeczywistych elementów. Zygmunt Kubiak
28
Czas życia projektu Faza rozwoju Szybkie prototypowanie jest ważne we wczesnych etapach rozwoju produktu. Pozwala to na przeanalizowanie większej liczby wstępnych rozwiązań projektu, co z kolei prowadzi do bardziej skomplikowanego urządzenia. Zygmunt Kubiak
29
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
30
Nie oznacza to, że urządzenie będzie poprawnie działać.
Czas życia projektu Faza testowania Najnowsze programowe i sprzętowe rozwiązania technologiczne wniosły znaczący wpływ dla rozwoju oprogramowania dla systemów wbudowanych. Najprostszym sposobem uruchamiania mikrokontrolerów jest użycie cross-assemblera lub cross-kompilatora do konwersji kodu źródłowego do postaci kodu maszynowego dla systemu docelowego. Po usunięciu błędów formalnych uzyskuje się w wyniku kompilacji kod maszynowy, który może być ładowany do urządzenia docelowego. Nie oznacza to, że urządzenie będzie poprawnie działać. Zygmunt Kubiak
31
Czas życia projektu Faza testowania Debugowanie systemów wbudowanych tą prostą metodą jest bardzo trudne z dwóch powodów. Po pierwsze, w systemie wbudowanym brakuje zwykłej klawiatury i wyświetlacza, które pomagają nam, gdy debugowaniu standardowego oprogramowania. Po drugie, w systemach wbudowanych występują, w czasie rzeczywistym, złożone interakcje między sprzętem i oprogramowaniem. Te interakcje uniemożliwiają przetestowanie oprogramowania korzystając z pracy krokowej oraz drukowania stanów. Zygmunt Kubiak
32
Czas życia projektu Faza testowania
Postęp technologiczny spowodował, że w procesie projektowania systemów wbudowanych uwzględnia się symulację. Ze względu na wysokie koszty i długi czas wymagany do stworzenia prototypów sprzętu, wiele badań wstępnych jest wykonywanych za pomocą symulacji sprzętu / oprogramowania. Symulator jest aplikacją programową, która uwzględnia modele zachowań systemu sprzętu / oprogramowania. Jeśli zarówno sprzęt jak i oprogramowanie zewnętrzne symulowane są razem, to chociaż czas symulowany jest wolniejszy niż czas rzeczywisty, to jednak interakcje sprzętu / oprogramowania mogą być badane ( w przybliżeniu) w czasie rzeczywistym. Zygmunt Kubiak
33
Czas życia projektu Faza testowania
Podczas fazy testowania , możemy ocenić wydajność naszego systemu. Po pierwsze, debugowanie i sprawdzania poprawności systemu podstawowych funkcji. Następnie używamy dokładne pomiary w celu optymalizacji wydajności, takie jak wydajność pamięci statycznej (wymagania), dynamiczną wydajność (szybkość realizacji), dokładność (różnica między oczekiwanym prawdy i zmierzone) i stabilności (konsekwentnego działania.) Zygmunt Kubiak
34
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
35
Czas życia projektu Faza wdrażania Konserwacja/utrzymanie jest procesem korygowania błędów, dodawania nowych funkcji, optymalizacji dla szybkości wykonania i wielkości programu, przenoszenia do nowych komputerów lub systemów operacyjnych i rekonfiguracji systemu, aby rozwiązać podobny problem. Żaden system nie jest statyczny. Klienci mogą zmienić lub dodać wymogi lub ograniczenia. Produkt powinien być opłacalny a projektant prawdopodobnie będzie chciał dostosować każdy system do indywidualnych potrzeb każdego klienta. Konserwacja nie jest oddzielną fazą, ale pociąga za sobą dodatkowe pętle na całym cyklu życia. Zygmunt Kubiak
36
Czas życia produktu Schematy blokowe Specyfikacje
Analiza problemu Projekt Rozwój Testowanie Wdrożenie Wymagania Ograniczenia Specyfikacje Schematy blokowe Grafy przepływu danych Sprzęt Program Gotowy Nowe wymagania Nowe ograniczenia Zygmunt Kubiak
37
Odwrotnym podejściem jest projektowanie oddolne
Czas życia projektu Rysunek opisuje projekt top-down jako proces cykliczny, począwszy od zdefiniowania problemu, a kończąc na rozwiązaniu. Odwrotnym podejściem jest projektowanie oddolne Wiele innowacji rozpoczyna się od pomysłu, "co jeśli ...?" W projekcie oddolnym, zaczyna się od projektowania, budowy i testowania komponentów niskiego poziomu. Projekty niskiego poziomu może być rozwijane równolegle. Oddolny projekt może być nieefektywny, ponieważ niektóre podzespoły mogą być zaprojektowane, zbudowane i przetestowane, ale nigdy nie były/będą używane. Zygmunt Kubiak
38
Proces projektowania oddolnego sprzyja kreatywnym pomysłom
Czas życia projektu Różne elementy projektu są rozwijane równolegle dając w efekcie system bardziej złożony. Dopiero gdy system jest całkowicie zbudowany i przetestowany sposób można zdefiniować ogólną specyfikację systemu. Proces projektowania oddolnego sprzyja kreatywnym pomysłom Pozwala również na szybkie zbadanie wykonalności pomysłu. Jeśli ktoś w pełni rozumie zakres problemu i zakres potencjalnych rozwiązań, a następnie przejdzie do projektowania odgórnego to najszybciej osiągnie skuteczne rozwiązanie. Z drugiej strony, jeśli ktoś nie rozumie problemu lub zakresu jego rozwiązań, oddolne podejście pozwala rozpoznanie problemu. Zygmunt Kubiak
39
Dziękuję Zygmunt Kubiak
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.