Gigasystemy
Embedded Systems Proficiency Quiz
Test your knowledge on embedded systems with our comprehensive 87-question quiz! This quiz is designed for electronics enthusiasts, students, and professionals alike to assess their understanding of management processes, system architecture, and real-time operating systems.
- Evaluate your grasp of key concepts in embedded systems.
- Challenge yourself with questions ranging from basic to advanced topics.
- Discover areas for improvement in your knowledge base.
Zarządzanie procesami w systemie wbudowanym polega na :
Wszystkie odpowiedzi są poprawne
Synchronizację współpracy procesów.
Alokowanie zasobów dla procesów
Organizacji wymiany informacji między procesami
Tworzenie, blokowanie I usuwanie procesów.
Architektura systemu wbudowanego (SCR) dla układu SAM7
Przyjmuje model mikrojądra z wyszczególnioną magistralą programową
Posiada budowę monolityczną ze sterownikami urządzeń umieszczonymi w jądrze systemu
To prosty program wbudowany z szeregiem procedur wywoływanych zgodnie z logiką programu
Zbudowana jest wg modelu klasycznego z mechanizmem współdzielenia zasobów
Blok kontrolny procesu PCB zawiera wiele informacji związanych z danym procesem, które obejmują:
Informacje o zarządzaniu pamięcią: Mogą to być informacje takie, jak zawartości rejestrów indeksowych I wskaźnikowych, tablice stron zależnie od organizacji pamięci używanej przez system operacyjny.
Rejestry specjalne zależne od architektury mikrokontrolera, takie jak: rejestry indeksowe, rejestry używanych układów we/wy, timerów, itp.
Informacje o planowaniu przydziału czasu procesora: numer I liczba kwantów pracy procesora w ramach epoki.
Licznik rozkazów: Licznik ten wskazuje adres następnego rozkazu do wykonania w procesie.
Funkcje systemowe w systemach wbudowanych wielowątkowych:
Wywołanie funkcji wymaga pracy w trybie supervisor (w ARM7)
Numer funkcji przekazywany jest przez rejestr ogólnego przeznaczenia eax (w x86) a status potwierdzenia przez ebx (w x86)
Wszystkie odpowiedzi są prawidłowe
Zapewniają sterowanie przepływem danych pomiędzy aplikacją a plikami umieszczonymi w pamięci rozszerzonej systemu np. Na karcie SD na której zastosowano system plików FAT32
Przekazywanie parametrów do funkcji obudowującej wywołanie systemowe odbywa się w przerwaniu programowym INT 80 za pomocą stosu
Hard real-time systems to system, który cechuje:
Zadania wykonywane są tak szybko jak to możliwe
Umożliwia współpracę z systemami z podziałem czasu
Wymaga pamięci pomocniczej w celu organizacji bloków wymiany danych między procesami;
Rzadkie niedotrzymanie terminów ukończenia zadań jest dopuszczalne, ale może pogorszyć jakość usług systemu
. Nie posiada pamięci wirtualnej;
Planuje ograniczenia opóźnień w systemie dla zadań RT I non-RT;
Planista jako algorytm szeregujący rozwiązujący jedno z najważniejszych zagadnień programowania systemów czasu rzeczywistego:
Wszystkie odpowiedzi są poprawne
Planista krótkoterminowy wybiera jeden proces spośród procesów gotowych do wykonania I przydziela mu czas pracy procesora (przydziela procesor)
Planista długoterminowy wybiera procesy aktywne I ładuje je do kolejki procesów gotowych
Przydziela czas pracy procesora oraz dostęp do urządzeń we/wy dla procesów aperiodycznych
Proces systemu wbudowanego posiada następujące atrybuty/zasoby:
pamięć (wirtualną), dane, unikalny PID, timer systemowy, listę deskryptorów otwartych plików
Blok PCB, który zawiera Stan procesu, listę otwartych plików oraz listę używanych rejestrów specjalnych I instrukcji uprzywilejowanych
Blok PCB, który zawiera listę otwartych deskryptorów oraz informacje o zarządzaniu pamięcią
Blok PCB, który zawiera Stan procesu, Licznik rozkazów, Rejestry procesora oraz zaplanowane operacje we/wy
Przerwania są specyficzną odmianą wyjątku. Wszystkie dostępne wyjątki w rdzeniu
Przerwanie programowe, zwane także wyjątkiem, jest to przerwanie które jest spowodowane przez wywołanie instrukcji SWI w trybie supervisor.
Przerwania (wyjątki) programowe I sprzętowe są obsługiwane bezpośrednio przez CPU
Przerwania od urządzeń systemowych (timer PIT, port DBGU, ... są uprzywilejowane I występują dla ID=0
Wyjątki IRQ oraz FIQ są zgłaszane przez urządzenia peryferyjne, aby mogły zaistnieć musi zostać wyzerowany bit 6 (FIQ) i/lub bit 7 (IRQ).
Dwupoziomowy system przerwań (współdzielonych) zapewnia poprzez maskowanie możliwość zmian domyślnych priorytetów
Startup układu SAM7 (inicjalizacja mikrokontrolera po Resecie):
Jest to konfiguracja modelu pamięci dla aplikacji użytkownika
To inaczej nagłówek programu umieszczony w module głównym _main()_
Jest to programowa realizacja resetu mikrokontrolera
Jest to zbiór procedur inicjujących pracę mikrokotrolera przed wywołaniem modułu głównego _main()_
Wywłaszczanie w systemach wbudowanych polega na wstrzymanie aktualnie wykonywanego zadania (np. Proces lub wątek), aby umożliwić działanie innemu zadaniu. Jakie korzyści daje wywłaszczanie:
Nie ingeruje w system przerwań
Zapewnia szybszą odpowiedź na nowe zdarzenie w systemie;
Umożliwia bezkolizyjne blokowanie zadań odpowiedzialne za obsługę przerwań sprzętowych
Zabiera więcej czasu I zasobów na zachowanie aktualnego stanu ale umożliwia to szybkie wznowienie wywłaszczonego procesu
Układ pamięciowy sterownika PLC
Ustawia na wyjściu Q elementu pamięciowego „0”
Realizuje samopodtrzymanie z wykorzystaniem układu pamięci R-S dla zbocza opadającego
Ustawia na wyjściu Q elementu pamięciowego „1”
Realizuje samopodtrzymanie z wykorzystaniem układu pamięci R-S dla zbocza narastającego
Fukcję XOR można zapisać w języku strukturalnym, następująco:
0%
0
0%
0
0%
0
0%
0
Schemat logiczny sterownika PLC jako rozwiązanie systemu wbudowanego:
Posiada budowę warstwową, w której występują: jednostki ALU, sterowniki urządzeń we/wy, interpreter poleceń, interfejsy
Definiuje interfejsy komunikacyjne oraz interfejs użytkownika
Definiuje zasoby systemowe, zadania (ang. tasks), zmienne globalne ,ścieżki dostępu, programy I bloki funkcji.
Posiada budowę warstwową, w której występują: układy we I układy wy, Markery, Liczniki, Timery oraz Rejestry.
Pewność systemu jest miarą jego zdolności do nieprzerwanego poprawnego działania w pewnym przedziale czasowym. Może być mierzona jako:
średni czas pomiędzy awariami (MTTF).
Wszystkie odpowiedzi są poprawne
średni czas do awarii – MTTF
średni czas naprawy - MTTR
Inwersja priorytetów jako mechanizm ograniczają zjawisko zakleszczenia realizowana jest poprzez algorytm:
RMS – Rate Monotonic Scheduling Algorithm
SJF (shortest job first)
Ceiling Semaphore Protocol
FCFS (first come, first serve)
Jądro systemów czasu rzeczywistego stanowi swoiste spoiwem łączący cały system. Jego funkcje to – wskaż NIEPOPRAWNĄ odpowiedź:
Programy mają do czynienia z jądrem za pomocą specjalnych procedur bibliotecznych, nazywanych „wywołaniami jądra” ang. „kernel calls”, które wykonują kod umieszczony w jądrze;
Wywołania jądra powoduje wykonywanie kodu w jądrze podczas np.: komunikacji IPC lub podczas obsługi przerwań, timerów, wątków itp.;
Wywołania jądra są wywłaszczające co powoduje blokadę/ zatrzymanie aktualnie wykonywanych zadań
Wszystkie podsystemy, włączając aplikacje użytkownika, komunikują się nawzajem używając mechanizmu przekazywania wiadomości, dostarczanego przez jądro za pomocą „wywołań jądra”.
System RTOS przewidziany do działania w urządzeniu opartym na mikrokontrolerze, musi spełniać szereg warunków:
Wszelkie opóźnienia systemu operacyjnego są mierzone jak dla systemu Firm real-time systems (w dziesiątych częściach sekundy lub krótszych odstępach czasu).
Zapewnia współbieżność tylko dla zadań RT
Wykorzystywać specyfikę architektury urządzenia, w tym pamięci wbudowanej na którym działa w odniesieniu do budowy sterowników urządzeń
Reagować płynnie na zadania zależne od czasu I innych zdarzeń zachodzących w otoczeniu
Algorytm RMS – Rate Monotonic Scheduling Algorithm
Wszystkie odpowiedzi są poprawne
Posiada duży limit szeregowalności – wszystkie zadania będą wykonane na czas.
Cechuje się 100% szeregowalnością zadań - im bliższy deadline, tym wyższy priorytet;
Pozwala na szeregowanie zadań aperiodycznych –jest gwarantowane ich wykonanie na czas
Algorytm szeregowania bazujący na statycznych priorytetach, pierwsze zadania, które zostaną szeregowane posiadają krótszy czas wykonania – wyższy jego priorytet
Przełączanie wątków dla systemu wbudowanego na platformę AT91SA7 odbywa się:
W przerwaniu od timera PIT na końcu każdej epoki.
W przerwaniu od timera PIT z uwzględnieniem zadań szeregowanych oraz planowanego czasu wykonania bieżącego zadania
W przerwaniu SW1 poprzez przywrócenie sterowania do funkcji obsługującej wektor przerwań
W przerwaniu SW1 poprzez wywłaszczenie jądra systemu
Wykres czasowy timera TOFF sterownika PLC
0%
0
0%
0
0%
0
Planista jako algorytm szeregujący rozwiązujący jedno z najważniejszych zagadnień programowania systemów czasu rzeczywistego:
Przydziela czas pracy procesora oraz dostęp do urządzeń we/wy dla procesów aperiodycznych
Planista długoterminowy wybiera procesy aktywne I ładuje je do kolejki procesów gotowych.
Wszystkie odpowiedzi są poprawne
Planista krótkoterminowy wybiera jeden proces spośród procesów gotowych do wykonania I przydziela mu czas pracy procesora (przydziela procesor).
Cykl pracy sterownika PLC:
Zatrzymanie pracy sterownika, wykonywany jest na fazie wykonania programu
Posiada następujące fazy: odczyt wejść, wykonanie programu, zapis wyjść, testowanie I komunikacja
Cykl fazy wykonawczej dotyczy operacji na danych na bieżąco czytanych z wejść sterownika
Faza komunikacji I testu mogą być pominiętee przy autonomicznej pracy sterownika
Dostęp do urządzeń zewnętrznych uzyskujemy poprzez rejestry specjalne. Który tryb dotyczy dostępu z wykorzystaniem adresu bazowego
Adres bazowy jest adresem fizycznym początku przestrzeni adresowej układów we/wypPioSodrRegister = (uint32_t*) 0xF0000000;*pPioSodrRegister = (1<<<23);
Adresem bazowym jest adres fizyczny rejestru w górnej części przestrzeni adresowej zarezerwowanej dla układów we/wy pPioSodrRegister = (uint32_t*)0xFFFFF630;*pPioSodrRegister = (1<<23);
Adres bazowy jest adresem początku segmentu pamięci sterowników urządzeń odwzorowanej wewnętrznej pamięciRAMpPioSodrRegister = (uint32_t*) 0x00200000;*pPioSodrRegister = (1<<23);
Adres bazowy jest adresem fizycznym pierwszego rejestru specjalnego umieszczonego w przestrzeni adresowej zarezerwowanej dla danego układu we/wy #define AT91C_BASE_PI0B ((AT91PS_PI0)0xFFFFF600)AT91C_BASE_PIOA->PIO_SODR = 0xFF;
Sterownik przerwań AIC układu SAM7:
Obsługuje przerwania niemaskowalne do których należą przerwania o ID=1.
Obsługuje przerwania SWI, IRQ I FIQ.
Służy do synchronizacji zadań synchronicznych I asynchronicznych zgłaszanych przez układy peryferyjne
Obsługuje zgłoszenia żądania przerwania od wewnętrznych układów peryferyjnych generując sygnał IRQ lub FIQ dla jednostki CPU (ARM7)
Standard USB:
Umożliwia dostarczenie napięcia zasilającego 12V
Umożliwia transmisje danych w trybie izochronicznym
Umożliwia dołączenie do 255 urządzeń do magistrali
Posiada 32 logiczne zakończenia potoków
Do jednych z najważniejszych funkcji sterownika SPI należy: void SPI_Konfiguracja(pS_SPI pSpi, int tryb){pSpi->MR = tryb;}
Funkcja konfigurująca główne parametry pracy układu SPI. Parametrami wejściowymi są: wskaźnik do struktury S_SPI oraz zmienna tryb, który zostanie wpisany do rejestru MR.
Funkcja umożliwia konfigurację parametrów transmisji dla poszczególnych urządzeń. Parametrami wejściowymi są: wskaźnik do struktury S_SPI, numer konfigurowanego urządzenia lub konfiguracja tego urządzenia,
Funkcja konfigurująca, uniwersalność funkcji umożliwia wykonanie każdej operacji związanej z ustawieniami głównych parametrów pracy, parametrów transmisji dla poszczególnych urządzeń oraz zmianę urządzenia, z którym przeprowadzana jest transmisja danych.
. Funkcja umożliwia zmianę urządzenia, z którym przeprowadzana jest transmisja danych. Parametrami wejściowymi są: wskaźnik do struktury S_SPI oraz tryb (master/slave)
Jednostka centralna ARM 7 zbudowana jest :
Z dwóch buforów magistrali adresowej I danych. Podwójny bufor magistrali adresowej umożliwiający schemat dostępu do pamięci _Read-Modify-Write._
Posiada równoległą mnożarkę 32x32 wykonującą operacje na liczbach U2 oraz rejestr skalujący umożliwiający wykonywanie operacji z akumulacją
Jednostki stałoprzecinkowej ALU oraz zmiennoprzecinkowej FPU
Z bloku 31 rejestrów ogólnego przeznaczenia, rejestru stanu CPSR I 6 rejestrów pomocniczych SPSR dla wyjątków obsługiwanych przez rdzeń.
Makrodefinicja *AT91C_PIOB_SODR = AT91C_PIO_PB23; wymaga:
Definicji wskanika: typedef unsigned int AT91_REG;
Definicji bitu #define AT91C_PIO_PA23 ((unsigned double int) 1 <<; 23)
Definicji rejestru PIO_SODR: #define AT91C_PIOB_SODR ((AT91_REG *) 0xFFFFF600)
Definicji bitu #define AT91C_PIO_PB23 ((unsigned int) 1 << 23)
.Moduł TWI procesorów ARM jest odpowiednikiem standardu opracowanego przez firmę Philips (firma Philips posiada patent na interfejs I2C). Cechy interfejsu SWI procesora AMR firmy ATMEL:
Wszystkie odpowiedzi są poprawne
Transfery poszczególnych bajtów wyzwalane są przerwaniami
Automatyczne wykrywanie stanu zajętością magistrali oraz automatycznie przejście do trybu Slave w przypadku kolizji na magistrali (Arbitration-lost interrupt),
Transmisja danych master -slave z częstotliwością zegara do 400 kHz
Organizacja bufora danych opiera się na kolejce FIFO (First In First Out).
H -T > 0
T -H = 0
T -H = -1
T -H = 1
Procedura przerwania od timera PIT _void PIT_interrupt ():
Ponieważ timer PIT jest timer-em systemowym automatycznie zeruje liczniki timera
Wymaga sprawdzenie, czy przerwanie pochodzi od timera PIT
Przekazuje informację o zakończeniu obsługi przerwania po sprawdzeniu flag od innych urządzeń systemowych
Automatycznie kasuje flagę timera PITS
Przestrzeń adresowa przyporządkowana portom mikrokontrolera rodziny SAM7
Znajduje się w górnej przestrzeni adresowej układu SAM7, od adresu 0xF000 000 do której mamy dostęp bezpośredni
. Znajduje się w przestrzeni adresowej zarezerwowanej dla CPU I urządzeń systemowych
Znajduje się w dolnej przestrzeni adresowej układu SAM7, doktórej mamy dostęp rejestrowy
Znajduje się w górnej przestrzeni adresowej układu SAM7, od adresu 0x1000 000 do której mamy dostęp bezpośredni
Rejestr statusowy CPSR (Current Program Status Register) procesora ARM:
Umożliwia zgłoszenie wyjątku Abort
. Zawiera informacje o bieżącym trybie pracy Thumb/ARM
Umożliwia zgłoszenie wyjątku UNDEF
Wszystkie odpowiedzi są poprawne
Tryby pracy procesora ARM, w którym obsługiwane są przerwania
SUPERVISOR, USER, SYSTEM
USER, SYSTEM, ABORT
SYSTEM, IRQ, FIQ
SWI, IRQ, FIQ
Tryby pracy procesora ARM, w którym wykonywany jest program główny, to:
USER, SYSTEM, ABORT
USER, IRQ, FIQ
SYSTEM, IRQ, FIQ
SUPERVISOR, USER, SYSTEM
Tryb pracy Abort procesora ARM wykorzystywany jest w przypadku, gdy:
Procesor wykona operację zapisu rejestru CPSR pracując w trybie User
Procesor rozpocznie wykonywanie nieznanego rozkazu
Zostanie zgłoszone przerwanie
Podczas wystąpienia wyjątku związanego z dostępem do pamięci
Cechy portu diagnostycznego DBGU (DeBuG Unit) –wskaż niepoprawną odpowiedź:
Analiza poprawności odebranych ramek
Możliwość zgłaszania przerwań systemowych współdzielonych (PIT, RTT, WDT,DMA, PMC, RSTC, MC)
Sygnalizacja przepełnionego bufora TxD lub RxD
Synchroniczna transmisja danych zgodna ze standardem RS232
Cechy interfejsu SPI:
Wykorzystuje bity wyboru (chip select) do adresowania urządzeń zewnętrznych
Posiada dwa tryby transmisji: Mode 1 (master - slave) I Mode 2 (slave - master).
Umożliwia zaadresowanie do 16 urządzeń zewnętrznych w trybie synchronicznym I asynchronicznym
Wymiana danych odbywa się w trybie transmisji półdupleksowej
Metody synchronizacji potoku w procesorach CISC polegają na:
Stosowanie szybkich pamięci o dostępie podwojnym
Grupowanie instrukcji I oznaczaniu ich wzajemnych relacji już na etapie kompilacji programu
Stosowania dodatkowych szyn obejściowych pełniących rolę pamięci dynamicznej
Wykorzystanie wielu rozgałęzień programu do czasu sprawdzenia warunku rozgałęzienia.
Blok rejestrów pomocniczych ARx procesora TM32C50 służy do:
Operacji skalowania danych
Adresowania pośredniego wewnętrznej pamięci danych
Wspomagaja akumulator procesora w operacjach logicznych I stałoprzecinkowych operacjach arytmetycznych
Blokowego kopiowania danych w trybie mikrokontroler
Praca i486 w trybie chronionym:
Wystepuje mechanizm stronicowania pamięci bazując na adresie liniowym powstałym w procesie segmentacji pamięć
Wspomaga akumulator procesora w operacjach logicznych I stałoprzecinkowych operacjach arytmetycznych
Umożliwia zaadresowanie do 16 urządzeń zewnętrznych w trybie synchronicznym I asynchronicznym
Praca i486 w trybie rzeczywistym:
Pamiec podzielona jest na stalej dlugosci segmenty po 64k, segmenty mogą na siebie zachodzić; fizyczna komorka pamięci może posiadac rozne adresy logiczne
Wystepuje mechanizm stronicowania pamięci bazując na adresie liniowym powstałym w procesie segmentacji pamięć
Wspomaga akumulator procesora w operacjach logicznych I sta
Umożliwia zaadresowanie do 16 urządzeń zewnętrznych w trybie synchronicznym I asynchronicznym
Prawo Amdahl's mówi o:
Wzrost wydajności zależy od szybszego trybu pracy I ograniczony jest czasem używania takiego trybu pracy
Wzrost wydajności rosnie wraz z nowa generacja procesow
Wzrost wydajności jest funkcja stosunku czestotliwosci pracy rdzenia do strat mocy
Wzrost wydajności zależy od glebokosci potoku
Jednosta centralna ARM7:
Podwojny bufor magistrali adresowej umozliwiajacy schemat dostępu do pamięci Read-Modify-Write
Posiada rownolegla mnozarke 32x32 wykonujaca operacje na liczbach U2
Posiada rejestr stanu CPSR I 6 rejestrow pomocniczych SPSR dla wyjatkow obsługiwanych przez rdzen. Rejestry SPSR nie sa dostępne w trybie USER
Rejestry ogolnego przeznaczenia podzielone sa na dwie grupy po 16 rejestrow od R0 do R15, w których R15 pełni funkcje PC, a R14 funkcje LR
Przerwania maskowalne sprzętowe są zgłaszana przez układy wewnętrzne mikrokontrolera do systemu przerwan. Przerwaniami maskowalnymi nie sa:
Porty szeregowe (UART, USART, SPI, I2C, CAN…)
Układy czasowo-licznikowe (Timers,Counters)
Przetworniki A/C
Reset systemu, dzielenie przez zero, bledny kod rozkazu
Mikrokontroler AT91SAM7 z rdzeniem ARM7 to:
Procesor RISC zbudowany w architekturze szeregowej von Neuman
Procesor CISC zbudowany w architekturze szeregowej von Neuman
Procesor RISC zbudowany w architekturze rownoleglej Harvard
Procesor CISC zbudowany w architekturze rownoleglej von Harvard
Wektor przerwań to:
Miejsce w pamięci programu gdzie znajduje się rozkaz skoku do innego miejsca w pamięci gdzie zlokalizaowana jest procedura programu
Wspomagaja akumulator procesora w operacjach logicznych I stałoprzecinkowych operacjach arytmetycznych
Wykorzystanie wielu rozgałęzień programu do czasu sprawdzenia warunku rozgałęzienia
Umożliwia zaadresowanie do 16 urządzeń zewnętrznych w trybie synchronicznym I asynchronicznym
Cykl rozkazowy procesora jest ciągiem czynnośći wykonywany przez CPU w celu wykonania jednej instrukcji przez procesor. Cykl rozkazowy procesora CISCO na przykładzie x86 sklada się:
Rozkaz zaczyna się od fazy FETCH – pobranie instrukcji w której wystawiany jest adres z PC do pamięci (CODE) przez bufor MBR
Pamiec programu posiada organizacje 8kx16, adresowana jest przez 13 bitowy licznik rozkazow
Licznik rozkazów
Procesor rozpocznie wykonywanie nieznanego rozkazu
Ścieżka danych procesora VUW danych odpowiada za wykonywanie faktycznych obliczeń. Na przykładzie procesora DSP ścieżka danych zawiera:
Moduly L, S, M, D
Pamiec wbudowana o organizacji macierzowej ACC I ALU
R0-R15, ALU, FPU
ACC, rejestr skalujący, mnozarke rownolegla I pamięć wbudowana
Sytuacja gdy dochodzi do konfliktu w czasie dostępu do lokalizacji operandu. Dwie instrukcje zostaną wykonane kolejno po sobie I obie odwołuą się do konkretnej lokalizacji w pamięci lub rejestru operandu:
Data hazards
Control dependences
Control hazard
True data dependences
Procesory sygnałowe posiadają kilka cech, niespotykanych w innych procesorach, zapewniajacyh wysoka wydajność:
Posiada zestaw instrukcji z rownoleglymi operacjami matematycznymi I sprawna realizacja petli licznikowych
Rownolegle mnożenie z akumulacja, wykonywane w jednym cyklu pozwalające na realizacje roznych operacji np. splotu
Posiada wewnętrzny koprocesor I pamięć spleciona dla jednoczesnych operacji wykonywanych przez CPU I układy we/wy
Posiada wbudowany generator adresow do pamięci RAM wspierający segmentacje pamięci danych
Dodatkowe cechy wyniku operacji wykonywanej przez jednostke arytmetyczno-logiczna ALU (np. Nadmiar w dodawaniu) zawiera:
Rejestr flagowy
Wskaźnik stosu
Akumulator
Licznik rozkazow
Przerwanie od linii INT0 wyzwalanej zboczem opadającym wymaga konfiguracji ISR(INT0_vect) { … }
Tmp = MCUCR; tmp &= ~(1 << ISC00); tmp |= 1 << ISC01; MCUCR = tmp; GICR |= 1 << INT0
Obsługa timerów w mikrokontrolerach AVR. Sygnalizacja zdarzeń:
Compare Match
Timer Overflow
Input Capture
Compare Match
Jesdnostka centralna CPU mikrokontrolera ARmega32 to:
Procesor RISC zbudowany w architekturze szeregowej von Neuman
Procesor CISC zbudowany w architekturze szeregowej von Neuman
Procesor RISC zbudowany w architekturze rownoleglej Harvard
Procesor CISC zbudowany w architekturze rownoleglej von Harvard
Na czym polega zasada odejmowani I dodawania w kodzie uzupełnienia do 2. Odejmowanie dwóch liczb dodatnich A-B o jednakowej podstawie można realizować przez dodanie do odjemnej p-tego uzupełnienia odejmnika, przy czym:
Uzupelnienie U(p-1) liczby dodatniej otrzymuje się przez odjecie każdej cyfry tej liczby od (p-1)
Jeżeli wystapi przeniesienie z pozycji najbardziej znaczącej to należy dodac 1 do najmniej znaczącej cyfry
Jeżeli wystapi przeniesienie z pozycji najbardziej znaczącej, to należy go odrzucić
Jeżeli nie wystapi przeniesienie z pozycji najbardziej znaczącej, to należy wziąć ze znakiem minus p-te uzupełnienie uzyskanego rezultatu
Procesory CISC charakteryzują się:
Prosta I szybka jednostka sterujaca
Niewielka liczba trybow adresowania
Ograniczona komunikacja pomiędzy pamiecia a procesorem
Duza liczba rozkazow prostych I niewielka zlozonych
Struktura pamięci – AVR na przykładzie układu atmega 16:
Pamiec programu posiada organizacje 8kx16, adresowana jest przez 13 bitowy licznik rozkazow
Pamiec programu posiada organizacje 16kx16, adresowana jest przez 13 bitowy licznik rozkazow
Pamiec programu posiada organizacje 8kx16, adresowana jest przez 63 bitowy licznik rozkazow
Pamiec programu posiada organizacje 16kx16, adresowana jest przez 63 bitowy licznik rozkazow
Opracje selektywne umożliwiają dokonywania manipulacji bitów w rejestrach procesora. Która instrukcja realizuje selektywne ustawienie linii 5 I 7 w rejestrze konfiguracyjnym portu A?
. PORTA |= 0b1010000
. PORTA |= 0b1010011
. PORTA |= 0b1110001
. PORTA |= 0b1011111
Instrukcja sterująca If (~PIND & _BV(4)){…}, realizuje zadanie:
Testuj bit 4 I zeruj
Testuj I ustaw bit 4
Testuj I neguj bit 4
Testuj I zeruj bit 4
Kod BCD stosujemy do reprezentacji liczb:
Cyfry dziesiętne prezentowane sa w kodzie dwójkowym binarnym
Cyfry dziesiętne prezentowane sa w kodzie szesnastkowym
Cyfry dziesiętne prezentowane sa w kodzie
Mikrooperacje to:
Elementarna czynność układu sekwencyjnego, która układ ten może zrealizować bez potrzeby rozkładania na czynności proste
Suma liczb binarnych 1010 + 111 w systemie dziesiętnym wyniesie:
1010(2) = 2+8 = 10
111(2) = 1+2+4 = 7
10 + 7 = 17
W językach programowania zmienna typu int przechowuje:
Liczby całkowite
Cechą/funkcją rejestru rozkazu jest:
Zawiera Opcode mikrooperacji realizowanej przez procesor na ALU
Jaką rolę pełni jednostka ALU w procesorach CISC:
Służy do wykonywania operacji arytmetycznych stałoprzecinkowych na liczbach binarnych
Służy do wykonywania operacji arytmetycznych zmiennoprzecinkowych na liczbach binarnych
Liczba 100.1100.1100 w hex ma postac:
4CC
Cykl pracy sterownika PLC podzielony jest na fazy, które wykonywane są sekwencyjnie: Wybierz jedną odpowiedź:
Cykl fazy wykonawczej dotyczy operacji na danych na bieżąco czytanych z wejść sterownika (praca w czasie rzeczywistym)
Cykl pracy posiada następujące fazy: odczyt wejść, wykonanie programu, zapis wyjść, testowanie I komunikacja
Zatrzymanie pracy sterownika (Warunek STOP) wykonywany jest w fazie wykonania programu
Faza komunikacji I testu mogą być pominięte przy automatycznej pracy sterownika
Na podstawie wartości jakiego rejestru możliwe jest identyfikowanie która z aktywnych linii I/O PIOA zmieniła stan wywołując obsługę procedury obsługi przerwania której źródłem jest PIOA?
PIOA_IMR
PIOA_IDR
PIOA_ISR
PIOA_IER
Funkcje systemowe: Wybierz jedną odpowiedź:
Wykonują operacje na deskryptorach systemowych (zainicjowanych zasobów)
Stanowią interfejs pomiędzy aplikacją użytkownika a jądrem systemu
Pod Linuksem dostępne są poprzez przerwanie SWI
Są dostarczane przez jądro systemu
Mikrokontroler SAM7 ze wzg. Na swoją budowę modułową w swojej strukturze zawiera: CPU, pamięć wbudowaną, układy otoczenia CPU(układy systemowe), PMC-moduł dystrybucji zegara systemowego, układy peryferyjne np.: porty,sterowniki transmisji szeregowej oraz inne. Po Resecie układ ten wymaga programowej konfiguracji (Startup) zarówno otoczenia CPU jak I innych układów peryferyjnych wykorzystywanych w systemie:
Jest to zbiór procedur inicjujących pracę mikrokontrolera przed wywołaniem modułu głównego main()
Jest to konfiguracja pamięci wbudowanej dla aplikacji użytkownika
Inaczej nagłówek programu umieszczony w module głównym main()
Jest to oprogramowanie wektora przerwań oraz resetu mikrokontrolera
.Programowanie Interfejsu SPI – transfer danych – wskaż poprawną budowę pętli warunkowej while, w której prawidłowo następuje odczyt lub wysyłanie danych:
While(!(SPI->SPI_SR S AT91C_SPI_RDRF))
żadna odpowiedź nie jest poprawna
While(!(SPI->SPI_SR S AT91C_SPI_TDRF ) ); receivedData=(uint16_t)(SPI- >SPIR_RDR);
While(!(SPI->SPI_SR S AT91C_SPI_RDRF ) ); receivedData=(uint16_t)(SPI- >SPIR_RDR);
W jaki sposób możliwe jest dokonanie zmiany trybu dostępu do bitu 11 rejestru PIOA_ODSR z read-write na read only?
PIOA_OWSR=1<<11;
PIOA_OWER=1<<11;
PIOA_OWDR=1<<11;
Architektura systemu wbudowanego (SCR) dla układu SAM7 oparta na modelu systemu Linuks:
Zbudowana jest wg modelu klasycznego z mechanizmem współdzielenia zasobów
To prosty program wbudowany jest szeregiem procedur wywoływanych zgodnie z logiką programu
Posiada budowę monolityczną ze sterownikami urządzeń umieszczonymi w jądrze systemu
Przyjmuje model mikrojądra z wyszczególnioną magistralą programową
Sterownik przerwań AIC(jak na rys.) posiada następujące cechy:
W sterowniku AIC nie występują przerwania współdzielne
Przerwania skierowane tylko do kolejki FIQ są obsługiwane z 9 poziomowym 1priorytetem
Zapewnia maskowanie (konfigurację) dowolnego przerwania obsługiwanego przez AIC
Przerwanie o numerze 1 (FIQ) jest zawsze przerwaniem typu FIQ
Funkcje systemowe w systemach wbudowanych wielozadaniowych I wielowątkowych:
Stanowią interfejs pomiędzy aplikacją użytkownika a jądrem systemu
Pod Linuksem dostępne są poprzez przerwanie SWI
Są dostarczane przez jądro systemu
Wykonują operacje na deskryptorach systemowych (zainicjowanych zasobów
Mikrokontroler rodziny AVR zbudowany jest w oparciu o model pamięci:
Równoległy (Harvard)
Mieszany (zmodyfikowany Von Neumann)
Mieszany (Zmodyfikowany Harvard)
Szeregowy (Von Neumann)
Interfejs zgodny ze standardem EIA RS-232:
Umożliwia realizację transmisji równoległej
Umożliwia realizację transmisji w trybie synchronicznym w obu kierunkach jednocześnie full-duplex
Umożliwia obsługę kilku urządzeń podrzędnych
Umożliwia realizację transmisji w jednym kierunku w danym czasie (halfduplex)
Umożliwia realizację transmisji różnicowej
Ramka danych interfejsu zgodnego ze standardem EIA RS-232 może składać się z:
Podwojnego bita stopu I bitu ACK
8 bitow danych
Podwójnego bitu startu
Pojedynczego bita stopu I bitu ACK
10 bitów danych dla trybu 8N1
Procedura: ISR(BADISR_vect) { Kod użytkownika tutaj }
Występuje dla współdzielonych przerwań, w sytuacji gdy nie zainstalowano programu obsługi przerwania.
Wskazuje na błąd systemu I pozwala na przejście do opcji resetu aplikacji
Procedura ta zastępuje procedurę ISR_ALIAS(wektor, target_vector) dla sterownika poziomu 2, gdy sygnalizacja zdarzenia (zgłoszenie żądania przerwania) jest niezależna od rzeczywistego urządzenia
Zostaje utworzona nowa użyteczna funkcja, która jako funkcja przerwania nie jest w rzeczywistości podłaczona do tabeli wektorów przerwan
Programowanie timera PIT (wskaż poprawną instrukcje w programowej obsłudze timera):
Aktywowanie timera PIT odbywa się: PIT_MR = PIT_MR_PITIEN|) 0xFFFFF& PIT_MR_PIV_MASK;
Sprawdzenie flagi PITS odbywa się za pomocą instrukcji if(PIT_PITS & 0x00000001)
Zerowanie timera PIT: PIT_PIVR
Wszystkie odpowiedzi sa poprawne
Do urządzeń systemowych a AT91SAM7 zaliczamy:
Timery PIT, RTT, TC0
Moduł zarzadzania pamięci MMU
Sterownik przerwań AIC
Sterowniki DMA PMC
Pewność systemu jest miarą jego zdolności do nieprzerwanego działania w pewnym przedziale czasowym. Może być mierzona jako:
średni czas naprawy – MTTR
średni czas pomiędzy awariami (MTTF)
Wszystkie odpowiedzi są poprawne
średni czas do awarii – MTTF
System RTOS przewidziany do działania w urządzeniu opartym na mikrokontrolerze, musi spełniać szereg warunków:
Wszelkie opóźnienia systemu operacyjnego sa mierzone jak dla systemu Firm real-time systems
Reagować płynnie na zadania zależne od czasu I innych zdarzeń zachodzących w otoczeniu
Zapewnia wspolbieznosc tylko dla zadań RT
Wykorzystywać specyfikę architektury urządzenia, w tym pamięci wbudowanej na którym działa w odniesieniu do budowy sterownika urzadzen
Algorytm RMS – Tare Monotonic Scheduling Algorithm
Wszystkie od psa poprawne
Posiada duzy limit szeregowalnosci
Pozwala na szeregowanie zadań aperiodycznych
Cechuje się 100% szeregowalnoscia zadań
Algorytm szeregowania bazujący na statycznych priorytetach, pierwsze zadania, które zostaną szeregowane posiadaja krótszy czas wykonanai – wyższy jego priorytet
Przelaczanie watkow dla systemu wbudowanego na platformę AT91SA7 odbywa się:
W przerwaniu od timera PIT z uwzględnieniem zadań szeregowanych I planowanego czasu wykonania bieżącego zadania
W przerwaniu sw1 poprzez wywłaszczenie jadra systemu
W przerwaniu od timera PIT na końcu każdej epoki
W przerwaniu SW1 poprzez przywrócenie sterowania do funkcji obslugujacej wektor przerwan
WAR(write after read) - INSTRb probuje zapisu do lokalizacji docelowej zanim INSTRa odczyta z tej lokalizacji. INSTRa niepoprawnie odczytuje nowa wartość. Hazard ten jest wynikiem:
Output dependence
True Data Dependence
Antidependence
Control dependences
{"name":"Gigasystemy", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge on embedded systems with our comprehensive 87-question quiz! This quiz is designed for electronics enthusiasts, students, and professionals alike to assess their understanding of management processes, system architecture, and real-time operating systems.Evaluate your grasp of key concepts in embedded systems.Challenge yourself with questions ranging from basic to advanced topics.Discover areas for improvement in your knowledge base.","img":"https:/images/course7.png"}