PYTANIA EGZAMINACYJNE Z MIKROKONTROLERÓW I MIKROPROCESORÓW
Podstawowe rejestry mikroprocesorów 8051.
Rejestr procesora – miejsce pamiętania pewnej liczby bitów. To:
R0, ..., R7 – 8-bitowe, 4 banki
Rejestry specjalnego przeznaczenia SFR (Special Function Register)
znajduje sie w niespojnym obszarze pamieci danych
umieszczone sa w nim wszystkie rejstry sterujace praca mikrokontrolera
rejestry SFR stanowia rodzaj interfejsu miedzy mikroprocesorem a ukladami pereyferyjnymi umieszczonymi wewnatrz mikrokontrolera.
Cdpowiadają za we/wy cyfrowe, liczniki/zegary, transmisję szeregową, przerwania.
(A / ACC) akumulator - najczesciej zawiera jeden z operandow, zapisywany jest w nim wynik. (8 bitowy)
B - akumulator pomocniczy, wykorzystywany przy operacjach mnozenia i dzielenia, zapisywany jest w nim starszy bajt wyniku mnozenia lub reszta z dzielenia. (8 bitowy)
DPTR - 16 bitowy rejestr wskaznika danych. Wykorzystywany przy adresowaniu zewnetrznych pamieci danych oraz przenoszenia MOVC w ramach pamieci programu. Sklada sie z 8-bitowych polowek DPH I DPL odpowiednio dla starszych i mlodszych bitow.
IE - (0A8h) rejestr zezwolen na przerwanie.
IP - (088h) rejestr priorytetów przerwań, jego bity sa adresowane indywidualnie. IP.n=1 oznacza ustawienie wysokiego priorytetu dla danego przerwania.
PCON - rejestr przeznaczony glownie do sterowania praca mikrokontrolerow przy zmniejszonym poborze mocy.
SCON - rejestr do sterowania łacza szeregowego.
TCON - przeznaczony do sterowania prca ukladow licznikowych TO I T1.
TMOD - (089h) uzywany dla ustawienia pracy ukladu albo jako licznik cykli maszynowych albo locznika sygnalow zewnetrznych wybrania trybu pracy.
SP - wskaznik stosu (07h)
rejestr rozkazów - zapisywany jest w nim kod operacji, która ma wykonac procesor.
Rejestr PSW (Program Status Word) a w nim takie stany jak:
CARRY - zmiana zachodzi gdy nastepuje przeniesienie w operacjach arytemtycznych.
OV = OVERFLOW (przekroczenie zakresu liczby w kodzie dopelnienia U2)
W rejestrze PSW ustawione sa pewne bity po kazdej operacji. np 10000001
Podstawowe rejestry mikroprocesorów AVR.
PORTx -to rejestr danych, ma dwojakie zadanie które zalezy od aktualnego stanu w rejestrze DDRx.
wpisanie wartosci 5E (hex) = 94 (10) do portu B:
PORTB = 0x5E;
DDRx - odpowiada za ustawienie kierunku dostepu do portu we/wy, odpowiednie ustawienie bitów okresla kierunek danych:
- wejscie (in)
- wyjscie (out)
DDRB=0xB0;
c) PINx - wykorzystywnay gdy zachodzi potrzeba odczytania stanu ktoregos z wejsc mikrokontrolera. Zapisane sa w nim binarnie fizyczne stany wybranego portu (1 - stan wysoki, 0 - niski). Nalezy pamietac by odpowiednio ustawic rejestr DDRx by wyprowadzenia na ktorych sprawdzamy stan byly wejsciami (wartosc 0).
Podstawowe rejestry mikroprocesorów ARM.
Procesory ARM mają 15 32-bitowych rejestrów ogólnego przeznaczenia o nazwach od R0 do R14. Rejestr R15, zwany też PC, jest licznikiem programu. Jest jednak również zaliczany do rejestrów ogólnego przeznaczenia i może być używany prawie wszędzie tam, gdzie pozostałe. Zapis do R15 powoduje skok pod wpisywany adres, odczyt zwraca adres bieżącej instrukcji powiększony o 8.
Rejestry stanu (PSW, CPSR ..)
PSW - rejestr specjalny , jego zawartosc opisuje cechy wyniku ostatnio wykonywanej operacji.
CPSR - zawiera znaczniki wyniku wykonywanych operacji arytemtycznych i logicznych, flagi pozwalajace na kontrole przyjmowania przerwan oraz bity ustawien trybu ochrony.
SPSR - kopia CPSR utworzona tuz przed zmiana trybu ochrony na inny.
Zasadnicze roznice architektur CISC i RISC.
procesory typu CISC - komputery o złozonej liście rozkazów
procsory typu RISC - komputery o zredukowanej liście rozkazów
Cechy: |
CISC |
RISC |
Lista rozkazów |
Rozbudowana, zawiera od 100-300 rozkazów. |
Ograniczona, zawiera do 128 rozkazów. |
Rozkazy wewnetrzne |
Skomplikowana tresc, realizuja w jednym rozkazie skomplikowane operacje laczace dostepy dp pamieci operacyjnej z przetwarzaniem danych. |
Prosta tresc, realizuja osobno operacje dostepu do pamieci operacyjnej i operacje przetwarzania danych w rejestrach. |
Ilosc trybow adresowania dostepna w rozkazach wewnwtrznych |
Duza , od 5 - 20. |
Mala, do 4. |
Ilosc rejestrow roboczych w procesorze |
Mala, od kilku do kilkunastu. |
Duza, od 32 - 256. |
Zroznicowanie formatow rozkazow pod wzgledem: |
Podzialu na pola, dlugoci slowa rozkazowego i liczby argumentow. |
Mala liczba formatow, jednakowa dlugosc slowa rozkazowego. |
Czasu wykonania rozkazow. |
Zroznicowany, od 1 do wielu cykli zegara. |
Ujednolicony czas wykonania rozkazow, od 1 do kilku cykli zegara. |
Uklad sterowania pocesora |
mikroprogramowany |
sprzetowy |
ZALETY |
- latwosc w tworzeniu oprogramowania |
Prosta i tania jednostka sterujaca mozliwosc zwiekszenia taktowania procesora - przetwarzanie potokowe |
WADY |
- bogactwo rozkazow maszynowych - komplikuje strukture i dzialanie ukladu sterujacego |
trudnosc w tworzeniu oprogramowania duze obciazenie magistrali pamieciowych |
|
Taktowanie CPU (CISC I RISC).
* RISC - mozliwosc zwiekszenia taktowania procesora. ??
- w ciagu jednego cyklu/taktu zegara potrafily wykonac wiecej operacji bo pracowaly rownolegle.
*CISC - ??
Tryby adresowania CISC (rodzina 51).
* Adresowanie zapewnione sprzetowo:
bezposrednie (operendem jest jawnie podany 8 bitowy adres rejestru SFR)
rejestrowe (operendem jest jeden z rejestrow R0..-R7 z aktywnego banku rejestrow, akumulator, rejestr B lub wskaznik DPTR)
wzgledne
posrednie ( okreslenie adresu za pomoca rejestrow R0 i R1)
* Adresowanie zapewnione przez asemblery:
symboliczne
definicje blokow
Tryby adresowania RISC - AVR.
Tryby adresowania pamieci danych i pamieci programu: (nie jestem przekonana czy to jest RISC) - tryb bezposredniego adresowania rejestrow - wykorzystujacy pojedynczy rejestr.
tryb bezposredniego adresowania rejestow wykorzystujacy 2 rejestry. - tryb bezposredniego adresowania obszaru we/wy.
tryb bezposredniego adresowania pamici danych
tryb posredniego adresowania danych z przemieszczeniem
tryb adresowania posredniego
tryb adresowania posredniego danych z predekrementacja
tryb adresowania posredniego danych z postinkrementacja
tryb adresowania stalych z uzyciem rozkazu LPM
tryb adresowania posredniego pamieci programu (LJMP, LCALL) - tryb adresowania wzglednego pamieci programu (RJMP, RCALL)
Tryby adresowania RISC - ARM.
Proste tryby adresowania.
Grupy instrukcji - przykłady.
* operacje arytmetyczne
ADD, SUBB(odejmowanie), INC (i++), DEC (i--) , MUL (mnożenie), DIV (dzielenie)
* operacje logiczne
ANL (iloczyn logiczny AND ), OR (suma logiczna OR), CLR (zeruj), CPL (neguj)
* operacje logiczne na bitach
CLR (zeruj), SETB (ustaw), CPL (neguj), MOV (kopiuj)
*przesylanie danych
MOV (kopiuj), PUSH (zapisz na stos), POP (odczytaj ze stosu)
*operacje sterujace
LJMP (skok bezwarunkowy), NOP (nic nie rob), CJNE (porownaj, skocz jesli rozne)
TRZEBA PAMIETAC, ZE PO WYKONANIU INSTRUKCJI PUSH wskaznik stosu sie zmienia. Czyli dokladamy na kupke :) Po wykonaniu instrukcji POP nastepuje odczyt i ZDEJMUJEMY jakby z kupki, co powoduje rowniez zmiane wskaznika stosu. Trzeba tez pamietac jak odkladalismy na kupke, zeby dobrze z niej sciagac dane ! :)
Konstrukcja petli.
LJMP START
ORG 100H
START:
...
STOP:
LJMP STOP ;pozostan w petli STOP
//---------------------------------------------------------
LJMP START
ORG 100H
START:
...
KEY_1:
...
KEY_2: ...
SJMP KEY_1 ;zacznij od znacznika KEY_1
//-----------------------------------------------------------
LJMP START
ORG 100H
START:
...
STOP:
LJMP LOOP ;powtorz
//------------------------------------------------------------
LJMP START
ORG 100H
START:
...
STOP:
LJMP $ ;pozostan w petli - symbol $ oznacza aktualny adres pod ktorym w pamieci znajduje sie dany rozkaz. gdyby bylo:
SJMP $ ; to adres do ktorego nalezy wykonac skok jest okreslony wzgledem obecnego polozenia i na okreslenie tego polozenia uzyto 1 bajtu.
12. Operacje logiczne.
a) na bajtach
- ANL <bajt przeznaczenia> <bajt zrodlowy> (logiczny AND)
A 0C3H (11000011B),
R0 0AAH (10101010B),
ANL A, R0 - w akumulatorze bedzie wartość 82H (10000010B).
- ORL <bajt przeznaczenia> <bajt zrodlowy> (suma logiczna OR)
A 0C3H (11000011B),
R0 55H (01010101B),
ORL A, R0 - w akumulatorze bedzie wartość OD7H (11010111B).
XRL (XOR)
CLR (zeruj)
A 5CH (01011100B),
CLR A - spowoduje przyjęcie przez akumulator stanu 00H (00000000B).
- CPL (negacja)
A 5CH (01011100B),
Instrukcja CPL A spowoduje przyjęcie przez akumulator stanu 0A3H (10100011B).
RL (obrot w lewo) , RR ( w prawo) (przesuniecie o 8 bitow w lewo/prawo) A 0C5H (11000101B)
RL A - spowoduje przyj cie przez akumulator wartości 8BH (10001011B)
SWAP (zamien 4 bity) (zamienia miejscami polowki akumulatora) - przesuniecie o 4 bity A 0C5H (11000101B),
SWAP A - powoduje przyjecie przez akumulator wartości 5CH (010111000B)
b) na bitach
CLR <bit> (zeruj)
Rejestr portu P1 zawiera 5DH (01011101B).
Instrukcja CLR P1.2 spowoduje zmianę zawartości rejestru portu na 59H (01011001B).
SETB <bit> (ustaw) wskaźnik przeniesienia jest wyzerowany. Rejestr portu P1 34H (00110100B).
SETB C
SETB P1 1.O - spowoduj ustawienie bitu przeniesienia i zmian zawartości rejestru portu P1 na 35H(00110101B).
CPL <bit> (neguj)
Rejestr portu P1 zawiera 5DH (01011101B). Instrukcje:
CPL P1.1 CPL P1.2 spowoduj zmian zawartości rejestru portu na 5BH (01011011B).
ANL <bit_zrodlowy> (iloczyn logiczny AND) logiczny wskaznik przeniesienia
ANL C, bit
CY := CY ^ (bit)
ORL <bit_zrodlowy> (suma logiczna OR)
ORL C, bit
CY := CY \/ (bit)
MOV <bit przeznaczenia> <bit zrodlowy> (kopiuj)
P3 11000101B
P1 35H (00110101B)
MOV P1.3, C
MOV C, P3.3 MOV P 1.2, C
spowoduje wyzerowanie wskaźnika przeniesienia i zmian zawartości rejestru wyj ciowego portu P1 na 39H (00111001B). (bit z P3.3 zostaje przeniesiony na bit P1.2)
11000101
00110101
00110001
13. Instrukcje warunkowe - rola znaczników.
Znaczniki uzywane sa glownie w instrukcjach arytmetycznych i warunkowych.
CF (wystapilo przeniesienie lub pozyczka z najbardziej znaczacego bitu wyniku)
PF (najmlodsze 8 bitow wyniku zawiera parzysta liczbe jedynek)
-AF (wystapilo przensienie lub pozyczka z najmlodszych 4 bitow rejestru AL (uzywany w arytmetycze dziesietnej)
ZF (wynik jest rowny 0)
SF (najbardziej znaczacy bit wyniku jest rowny 1 )
OF (wynik jest zbyt duzy lub zbyt maly by mogl byc zapisany w kodzie uzupelnien do 2)
przyklad: http://www.mimuw.edu.pl/~marpe/arch/warunkowe.html
ADD ,SUB -brak
INC, DEC - modyfikacja wszystkich znacznikow
MUL - OF, CF
RCL - CF
Zapisz dziesiętny, oktalny (ósemkowy), hexadecymalny. http://blue_rider_hp.republika.pl/articles/tekst/liczby.html
Adresowanie pośrednie.
Pole adresowe odnosi sie do slowa w pamieci, ktore zawiera pelnej dlugosci adres argumentu.
(X) - zawartosci lokacji (rejestr lub adres pamieci)
EA= (A) - znajdz adres (A) pod ktorym jest operand np.
ADD (A) - dodaj zawartosc komorki pamieci wyznaczonej przez zawartosc pod adresem A do akumulatora.
Przy adresowaniu posrednim, rozkaz zawiera adres komorki pamieci operacyjnej, w ktorej zawarty jest finalny adres operendu rozkazu. W tym przypadku komorka pamieci wskazana przez adres rozkazu posredniczy w okresleniu finalnego adresu.
Ten operend stosujemy gdy chcemy aby finalny adres operendu rozkazu mogl byc dynamicznie wstawiony do komorki posredniczacej w adresowaniu w czasie wykonywania programu.
16. Adresowanie symboliczne - odniesienie sprzetowe.
W procesorze nie operujemy konkretnymi adresami tylko ich nazwami symbolicznymi.
Np. gdy mamy adres w pamieci a w niej znajduja sie np SFR (rejestry specjalnego przeznaczenia) to NIE uzywamy czegos takiego:
WEZ BAJT I PRZENIES GO POD ADRES 0X83h co jest jakims tam rejestrem pomocniczym
tylko mowimy procesorowi
WEZ BAJT I WRZUC GO POD REJESTR R0. Procesor juz bedzie wiedzial jak i co ma zrobic i pod jakim adresem sie cos znajduje. Wiec poslugujemy sie nazwami symbolicznymi zamiast konkretnego adresu.
17. Architektura harwardzka / von Neumann'a.
*archiktektura von Neumanna:
Wedlug niej komputer sklada sie z 3 podstawowych czesci:
procesor - z wydzielona czescia sterujaca i czescia arytmetyczno-logiczna
pamiec - dane i instrukcje przechowywane sa we wspolnej pamieci w postaci binarnej - urzadzenia IO (we/wy)
* Architektura harwardzka :
Modyfikacja koncepcji von Neumanna
pamiec danych odzielona od pamieci rozkazow,
procesor pobiera kolejne instrukcje z pamieci programu, opierajac sie na danych zawartych w pamieci danych.
umozliwa to jednoczesne pobieranie instrukcji i danych a takze wywylywanie kolejnych instrukcji podczas zapisu wynikow do pamieci danych.
mozliwosc tworzenia specjalistycznych urzadzen o bardzo wysokiej wydajnosci przy prostej budowie - budowa procesorow sygnalowych DSP stosowanych do budowy ukladow elektroniki przemyslowek (AGD).
18.Organizacja pamieci kodu.
Do przechowywyania informacji sluza rejestry. Poszczegolne rejestry nosza nazwe komorek pamieci, a ich numery to adresy poszczegolnych komorek. Przy kazdej operacji zapisu lub odczytu komorki pamieci musi byc podany jej adres.
RAM - pamiec podreczna , do ktorej informacja moze byc wpisywana i z ktorej moze byc odczytana. Pamiec o dostepie swobodnym. Wszystkie informacje sa bezpowrotnie tracone z momencie wylaczenia zasilania pamieci.
ROM - pamiec stala, w ktorej informacje sa wpisane na stale. W czasie normalnej pracy ukladu noe moze byc wpisana zadna nowa informacja. Informacje moga byc z nie jedynie odczytywane. Wszystkie informacje pozostaja w niej mimo wylaczenia zasilania. Zawartosc pamieci jest ustalana w momencie produkcji i w zaden sposob nie moze byc zmieniona.
EPROM - kasowalna i programowalna pamiec stala. Zachowuje sie dokladnie tak jak pamiec ROM. jednak po wyjeciu z ukladu moze byc skasowana poprzez wystawienie jej na dzialanie promieniowania ultrafioletowego. Po skasowaniu do pamieci moga bys wpisane nowe informacje (poprzez programatory).
19. Podstawy systemow przerwan.
Przerwanie - sygnał powodujący zmianę przepływu sterowania, niezależnie od wykonywanego programu.
Przerwanie powoduje wstrzymanie aktualnie wykonywanego programu i wykonanie kodu procedury obsługi tego przerwania.
Aby móc wrócić do wykonywanego programu należy wcześniej zapamiętać aktualny stan maszyny cyfrowej.
Procesory serii 80x86 stosowane w komputerach PC obsługują następujące rodzaje przerwań:
sprzętowe
zewnętrzne – generowane przez urządzenia zewnętrzne i koordynowane przez kontroler przerwań,
wewnętrzne - generowane przez układy wewnętrzne procesora i zwykle związane z naruszeniem systemu ochrony,
programowe – generowane przez oprogramowanie.
20.System przerwan architektury 8051.
Naturalne sekwencyjne wykonywanie programu moze byc przerwane przez specjalne sygnaly pochodzace od wewnetrznych urzadzen peryferyjnych badz przychodzace z zewnatrz.
Przerwanie oznacza zawsze zmiane stanu licznika rozkazow i rozpoczecie obslugi przerwania. Po zakonczeniu obslugi przerwania kontrole powraca do wykonywania programu do miejsca przerwania.
z kazdym zrodlem przerwania scisle zwiazane sa: adres i priorytet programu obslugi.
przy jednoczenym wystapieniu warunkow dla dwoch lub wicej przerwan w pierwszej kolejnosci obslugiwane jest przerwanie o wyzszym priorytecie.
czas reakcji na przerwanie zalezy od szeregu wynikow. Jest to bardzo istotny czynnik w programowaniu mikrokontrolerow, stosowanych zwykle w systemach o silnym uwarunkowaniu czasowym.
zarowno caly uklad przerwan jak i kazde indywidualne przerwanie moga byc programowo uaktywniane lub wylaczone.
wskazniki przerwan ustawiane sa sprzetowo i ustawienie to jest warunkiem koniecznym dla przerwania.
wskazniki musza byc zerowane przed opuszczeniem procedury obslugi przerwania. w przeciwnym wypadku obsluga przerwania wywolana zostanie natychmiast ponownie.
niektore wskazniki przerwan moga byc ustawiane programowo co daje mozliwosc programowego symulowania zdarzen.
uklad przerwan reaguje na stan wskaznika a nie na moment ustawienia. Stan wskaznikow badany jest w kazdym cyklu maszynowym.
21. System przerwan w architekturze AVR.
ATMega 16 reaguje na 21 roznych rodzajow przerwan
przerwania sa numerowane zgodnie z nich priorytetem od 1 -21
przerwanie RESET ma nr 1 (adres $0000)
kazde przerwanie powoduje skok do specyficznego dla niego adresu pamieci programu
kaze potencjalne zrodlo przerwan mozna indywidualnie wlaczyc lub wylaczyc, wyjatek to RESET
by przerwanie moglo dzialac trzeba ustawic globalny bit przerwan w rejestrze SREG
procedura przerwania k jest umieszczona pod adresem 2(k-1) w pamieci programu
jesli globalny bit przerwan jest ustawiony oraz bit konkretnego przerwania jest ustawiony i zaszedl warunek przerwania to nastapi przerwanie, ale co sie wlasciwie dzieje?
*aktualna wartosc licznika programu PC odkladana jest na stos,
*kasowany jest globalny bit przerwan,
*wlasciwy adres procedury obslugi przerwania jest umieszczany w liczniku programu,
* po zakonczeniu procedury ibslugi przerwania adres jest umieszczony w liczniku programu, ustawiany jest globalny bit przerwan. co pwoduje kontynuacje uprzednio przerwanego programu, przynajmniej jedna instrukcja zostanie wykonana zanim nastapi inne przerwanie
- konfuguracja przerwan zewnetrznych
* wyzwalanie poziomem - gdy stan wejscia jest niski (0)
*wyzwalanie zboczem (stan wejscia zmienil sie -zboczem opadajacym (z 1 na 0), roznacym (z 0 na 1).
22. Systemy przerwan ARM. ??
wywolanie przerwania programowego (instrukcja SWI) powoduje wygenerowanie wyjatku software interrupt i skok pod niezmieniony adres 0x00000008. dodatkowo w momencie zgloszenia wyjatku zmieniany jest tryb ochorny z biezacego na supervisor. Odejmujac od licznika rozkazow liczbe 4 otrzymamy kod adres instrukcji SWI. W wyniku odczytania danych spod tego adresu odczytamy jej kod , a w wyniku zamaskowania 8 najstarszych bitow otrzymamy numer przerwania SWI.
jesli chcemy przekazywac dodatkowe parametry do procedury obslugi danego watku, mozemy to zrobic za pomoca wartosci przekazywanych do rowolnych rejestrow a nastepnie w procedurze przerwania programowego mozemy odczytac ich zawartosc.
Czas reakcji na przerwanie.
Szacowanie czasu na przerwanie jest jednym z najwazniejszych elementow projektowania systemu sterowanego mikrokontrolerami. Systemy takie sa zwykle systemami czasu rzeczywistego, czyli systemami o silnych uwarunkowaniach czasowych. Przynajmniej jeden cykl maszynowy uplywa na interpretacje wskaznikow probkowanych w S5P2, dwa cykle maszynowe na instrukcje LCALL. Na maksymalny czas reakcji moze sklada sie szereg cykli maszynowych, wynikajacych z wczesniej wspomnianych warunkow, ktore wstrzymuja obsluge przerwania. najbardziej znaczasym skladnikiem czasu reakcji przerwania jest sam program obslugi przerwania.
Stos - idea, obsluga.
Liniowa struktura danych, w której dane dokładane są na wierzch stosu i z wierzchołka stosu są pobierane (bufor typu LIFO, Last In, First Out; ostatni na wejściu, pierwszy na wyjściu). Ideę stosu danych można zilustrować jako stos położonych jedna na drugiej książek – nowy egzemplarz kładzie się na wierzch stosu i z wierzchu stosu zdejmuje się kolejne egzemplarze. Elementy stosu poniżej wierzchołka można wyłącznie obejrzeć, aby je ściągnąć, trzeba najpierw po kolei ściągnąć to, co jest nad nimi.Stos jest używany w systemach komputerowych na wszystkich poziomach funkcjonowania systemów informatycznych. Stosowany jest przez procesory do chwilowego zapamiętywania rejestrów procesora.
Jednym z klasycznych zastosowan stosu jest zapamietanie adresu pworotu do programu wywolujacego w przypadku wywolania podprogramu. Poniewaz podprogram moze wywolac inny podprogram, adresy powrotow odklada sie na stos, gdyz musza byc odcyztane z kolejnosci odwrotnej do kolejnosci zapisu.
CIEKAWOSTKA:
wykonujac operacje POP to tak naprawde dana rzecz nie jest sciagan ze stosu fizycznie, tylko jest odczytywana a potem zmieniany jest wskaznik na stosie.
Stos - rola sprzetowa.
Stos jest używany w systemach komputerowych na wszystkich poziomach funkcjonowania systemów informatycznych. Stosowany jest przez procesory do chwilowego zapamiętywania rejestrów procesora.
Licznik rozkazów, działanie,, rola systemu/programisty.
To rejestr procesora zawierający adres aktualnie wykonywanej lub następnej w kolejności instrukcji kodu maszynowego.
Z definicji wynika, ze po wczytaniu kolejnego kodu rozkazu zawartosc licznika rozkazow powinna zostac zmieniona tak by wskazywal on kolejny rozkaz przeznaczony do wczytania do mikroprocesora. Poniewaz przewaznie program jest wykonywany po kolei to pobranie kodu rozkazu z kolejnej komorki pamieci powoduje zwiekszenie zawartosci licznika rozkazow o 1.
27."Endianess" - kolejnosc bitow.
Waznym aspektem dotyczacym przenośności jest kolejnosc bajtow, w jakiej procesor interpretuje liczby. popularne sa nastepujace konwencje:
little endian (bajty poukladane sa w pamieci w kolejnosci od najmniej do najbardziej znaczacego)
big endian (bajty poukladane sa od najbardziej do najmniej znaczacego)
bi-endian (mozliwosc pracy w obu konfiguracjach, wykorzystywane przez ARM)
28. Wewnetrzne uklady peryferyjne - rodzaje.
-uklady licznikowe (T0,T1.. T2..) (uzywane jako czasomierze lub liczniki impulsow zewnetrznych) Wyborem trybu pracy i sterownaiem zarzadzaja SFR: TCON i TMOD. Stan licznikow zawarty jest w rejestrch THn i TLn. T0 i T1 maja 4 tryby pracy.
przetworniki analogowo-cyfrowe (A/C)
komparatory analogowe
-sterowniki komunikacji szeregowej (m.in. UART - standardowy port szeregowy. Pracuje w jednym z czterech trybow. Szeroki wybor czestotliwosci transmisji. )
Interfejsy komunikacyjne: RS232.
Jeden z najbardziej popularnych interfejsow. Wiekszosc mikrokontrolerow wyposazona jest w co najmniej jeden taki modul. Zaleta jest mozliwosc komunikacji na duze odleglosci nawet ponad jednego kilometra. Wada to radykalnie zmniejszajaca sie przepstowosc łącza wraz ze wzrostem odleglosci. Cos za cos.
Porty - funkcje, rejestry portow.
Struktura portów (CISC)
-Porty to grupa 8 linii we/wy mikrokontrolera o podobnych cechach i funkcjach. Wiekszosc linii we/wy moze pelnic dwie lub trzy rozmaite funkcje.
Każdy port posiada dwa podstawowe rejestry:
rejestr danych (DR)
rejestr kierunku danych (DDR)
i jeden rejestr dodatkowy - rejestr opcji (OR)
Bezpieczna kolejnosc przelaczania portu:
01 <--> 00 <--> 10 <--> 11
Struktura portu zalezy od funkcji jakie pelnia linie we/wy.
*we/wy wylacznie cyfrowe
*we/wy sygnalow strobujacych
*we/wy sygnalow impulsowych
*we/wy sygnalow analogowych
*linie adresowe
*linie danych
Odczyt portu mozna dokonac na 2 sposoby:
-odczyt stanu rejestru portu
- odczyt stanu linii portu
Instrukcje ktore odczytuja STAN REJESTRU portu to:
ANL P2,A
ORL,XRL
JBC P1.3,dotego
CPL
INC,DEC
DJNZ
MOV Px.y , C
CLR
SETB Px.y
Stan wysoki 1, stan niski 0.
Instrukcja: ANL P1, #0FFH nie spowoduje zadnej zmiany portu P1.
MOV A, P1 - wczyta stan linii a nie stan rejestru
ANL A,#0FFH MOV P1,A
spowosuje zmiane dwu najmlodszych bitow rejestru portu P1
Obciazalnosc portow
Zwykle wszystkie linie we/wy moga byc obciazone pojedynczym standardowym ukladem TTL. Wyjatek to port P0, ktory ma dwa razy wieksza obciazalnosc.
*TTL - to monolityczne uklady scalone, przeznaczone do realizacji logicznych struktur w urzadzeniach cyfrowych.
31.Interfejsy komunikacyjne I^2 C.
Szeregowa magistrala niskiej szybkosci (o 7-bitowym adresowaniu), sluzaca do komunikacji miedzy procesorami a ukladami cyfrowymi niewymagajacymi czestej i szybkiej obslugi np.
z pamiecia EPROM,
zegarem czasu rzeczywistego,
kontrolery klawiatury,
odczyt z czujnikow i przetwornikow A/C i C/A, - sterowniki wyswietlacza LED i LCD, - wzmacniacz.
Ogolne zalozenia:
podzial urzadzen podlaczonych do szyny na nadrzedne i podrzedne - dzieki temu latwa i tania implementacja interfejsu
transmisja odbywa sie za pomoca dwoch linii sygnalowych SDA (linia danych) i SCL (linia sygnalu taktujacego).
mozliwe przesylanie informacji miedzy wieloma urzadzeniami wykorzystujacymi wspolna szyne
transmisja danych jest dwukierunkowa (nadawanie i odbior)
kazdy z ukladow podlaczonych do szyny posiada niepowtarzalny adres, umozliwiajacy jednoznaczne zaadresowanie danego urzadzenia do nadawania i odbioru
przesylaniem danych steruje uklad nadrzedny, przy czym moze wystapic wiecej niz jeden uklad nadrzedny
w przypadku jednoczesnego rozpoczecia nadawania przez kilka urzadzen nadrzednych mechanizm nie dopuszcza do utraty, ani przeklamania przesylanych danych
max predkosc przesylania danych po szynie wynosi 100 kbodów (stanadarodwy tryb pracy) i 400 kbodów w trybie szybkim
liczba ukladow podlaczonych do szyny ograniczona jest max pojemnoscia szyny = 400pF
32. Interfejsy komunikacyjne SPI. (4-wire) (magistrala do komunikacji typu master-slave) * jeden z najczesciej uzywanych interfejsow komunikacyjnych pomiedzy systemami mikroprocesorowymi a ukladami peryferyjnymi takimi jak:
przetworniki ADC/DAC
uklady RTC
pamiec EPROM
pamiec flesh
*komunikacja odbywa sie synchronicznie za pomoca 3 linii:
MOSI (Master Output Slave Input) - dane DLA ukladu peryferyjnego
MISO - dane Z ukladu peryferyjnego
SCK (Serial Clock) - sygnal zegarowy
SS (Slave Select) - wejscie pozwalajace aktywowac przesylanie danych w dwoch kierunkach
Master zawsze inicjuje transmisje przez przygotowanie zegara. jego czestotliwosc musi byc mniejsza lub rowna max czestotliwosci akceptowanej przez odbiorniki.
Nastepnie master wybiera slave'a przez linie SS, powinien odczekac az zacznie nadawac CLOCK.
W czasie kazdego cyklu zegara odbywa sie transmisja "FULL DUPLEX". Master przesyla bity linia MOSI, a slave odczytuje je s tej samej linii. Rownoczesnie slave wysyla bity linia MISO, a mster czyta je z tej lini.
Taka transmicja wymaga zwykle dwoch rejestrow przesuwnych, jeden u master'a a jeden u slave'a. Moze ona trwac dowlna ilosc cykli, konczy sie zwykle gdy master wstrzymuje zegar.
*do komunikacji wybranego ukladu peryferyjnego sluzy dodatkowo linia CS (Chip Select - wybor ukladu) lub adresacja ukladow. W pierwszej czesci przesylanej wiadomosci zawarty jest adres urzadzenia, ktore po jego rozpoznaniu przyjmuje pozostale bajty.
*czestotliwosc transmicji 1 - 70 Mhz..
33. Interfejsy komunikacyjne CAN - BUS (Control Area Network).
*Szeregowa magistrala komunikacyjna powstala z mysla o zastosowaniu w przemysle samochodowym (ABS, sterowanie silnika), przez BOSH'A.
pracuja z max predkoscia transmisji
nie ma wyodrebnionej jednostki nadrzednej dlatego nalezy do grupy magistral typu multi-master
(moze byc podlaczonych wiele ukladow mogacych kontrolowac transmisje)
komunikacja ma charakter rozgloszeniowy, bo komunikaty nadawane na magistrale odbierane sa przez wszystkie urzadzenia.
*najwazniejsze cechy:
do 8 bajtow danych w komunikacie
komunikaty rozpoznawane przez identyfikatory (11 lub 29 bitow)
automatyczna obsluga dostepu do magistrali
sprzetowa obsluga bledow
-duza odpornosc na zaklocenia
niezawodnosc
*typy wykrywanych bledow:
-bledy bitow (BIT STUFFING ERROR , zwykla niezgodnosc nadawania/odczytu u nadawcy)
bledy komunikatu (suma kontrolna, blad ramki, blad potwierdzenia)
34. Interfejsy komunikacyjne 1-wire.
Magistrala sklada sie z jednej linii. Na magistrali 1-wire jedno urzadzenie MASTER (jest nim zwykle mikro-kontroler lub PC) nadzoruje prace jednego lub wielu urzadzen SLAVE.
Transmisje rozpoczyna MASTER sprowadzajac poziom linii do 0V na 480 us (pozbawia zasilania te odbiorniki ktore z niego korzystaly, co jest sposobem ich zerowania).
W odpowiedzi kazdy czynny odbiornik SLAVE zglasza swoja obecnosc sygnalem presence, przywierajac linie do OV na co najmniej 60 us.
Aby wyslac 1 - MASTER ustawia niski poziom (OV) na lini na 1-15us. Aby wyslac 0 - MASTER ustawia niski stan lini na 60us.
Magistrala moze byc dzielona przez wiele urzadzen, z ktorych kazde ma 64-bitowy identyfikator. Poszczegolne bajty id maja odrebne znaczenia. Najbardziej znaczacy bajt to typ urzadzenia, a najmniej znaczacy bajt to 8bitowa suma kontrola.
Podstawa sekwencja transmisji to wysylanie sekwencji RESET a po niej 8-bitowje komendy.
Dla zidentyfikowania - nawiazania lacznosci z odbiornikiem MASTER rozsyla komende ENUMERATION, a nastepnie bit po bicie identyfikator odbiornika sprawdzajac stale stan linii.
Gdy bity zgadzaja sie to generuje on niski stan linii.
Brak potwierdzenia po wyslaniu kolejnego bitu identyfikatora oznacza, ze dalsze bity juz sa zbedne bo adresowany odbiornik nie jest obecny.
- Urzadzenie MASTER i wszystkie urzadzenia SLAVE sa podlaczone do magistrali wyjsciem tranzystora 'otwart dren' lub bramka trojstanową. Takie podlaczenie umozliwia 'zwolnienie' linii przez kazde z urzadzen po zakonczeniu transmisji.
Magistrala 1-wire nie wymaga zewnetrznego rezystora podciagajacego do zasilania o wartosci ok 5 kilo omów. - Stanem bezczynnym jest stan wysoki.
35. Czasomierz / licznik - podstawy.
Mikrokontroler jestwyposazony w 2 timery (TIMER0 I TIMER1), ktore obslugiwane sa w ten sam sposob. Konfigurowane sa przez dwa rejestry TMOD I TCON. Poza tym do kazdego timra przyporzadkowane sa po dwa rejestry sluzace do zapisu wartosci timera (TH0/TL0 i TH1/TL1).
Moga pracować jako timery (licząc impulsy z rezonatora kwarcowego podzielone przez 12) jak i jako liczniki ( licza impulsy podłączone do linii wejscia mikrokontrolera). Naliczanie 16-bitowe max 65536.
Przepełnienie zaznaczane jest odowiednią flagą.
Tabela 1 Rejestry skojarzone z timerami
SFR |
Opis |
Adres |
TH0 |
starszy bajt TIMERa0 |
8Ch |
TL0 |
młodszy bajt TIMERa0 |
8Ah |
TH1 |
starszy bajt TIMERa1 |
8Dh |
TL1 |
młodszy bajt TIMERa1 |
8Bh |
TCON |
on/off, sygnalizacja przepełnienia |
88h |
TMOD |
konfiguracja pracy timerów |
89h |
Timery mozna uzyc do odmierzania zadanych odcinkow czasu po wstawieniu odpowiednich wartosci do rejestrow THx i TLx i umieszczeniu w programie instrukcji kontrolujacej stan bitu TFx.
Timer mozna uzyc do odmierzania czasu trwania zdarzen poprzez ustawienie bitow GATEx rejestru
TMOD.
Mozna go rowniez uzyc do zliczania zdarzen po ustawieniu bitu C/Tx.
Czasomierz / licznik - konstrukcje zlozone.
Sposób pracy timerów jest kontrolowany poprzez ustawienie odpowiednich bitów rejestru TMOD, co przedstawiono w Tabeli 2.
Tabela 2 Konfiguracja timerów - rejestr TMOD (89h)
Bit |
Nazwa bitu |
Funkcja |
Timer |
7 |
GATE1 |
Po ustawieniu tego bitu timer timer odlicza tylko wtedy gdy na wejściu INT1 (P3.3) jest sygnał 1. Po wyczyszczeniu tego bitu timer odlicza niezależnie od stanu INT1. |
1 |
6 |
C/T1 |
Po ustawieniu tego bitu timer odlicza zdarzenia na wejściu T1 (P3.5), a więc staje się licznikiem. Po wyzerowaniu tego bitu timer jest powiększany o 1 w każdym cyklu maszynowym. |
1 |
5 |
T1M1 |
Tryb pracy |
1 |
4 |
T1M0 |
Tryb pracy |
1 |
3 |
GATE0 |
Po ustawieniu tego bitu timer timer odlicza tylko wtedy gdy na wejściu INT0 (P3.2) jest sygnał 1. Po wyczyszczeniu tego bitu timer odlicza niezależnie od stanu INT0. |
0 |
2 |
C/T0 |
Po ustawieniu tego bitu timer odlicza zdarzenia na wejściu T0 (P3.4), a więc staje się licznikiem. Po wyzerowaniu tego bitu timer jest powiększany o 1 w każdym cyklu maszynowym. |
0 |
1 |
T0M1 |
Tryb pracy |
0 |
0 |
T0M0 |
Tryb pracy |
0 |
Tryb pracy timerów reguluje się ustawiając bity TxM0 i TxM1:
TxM1 |
TxM0 |
Tryb pracy |
Opis |
0 |
0 |
0 |
timer 13-bitowy |
0 |
1 |
1 |
timer 16-bitowy |
1 |
0 |
2 |
timer 8-bitowy, zadana wartość na starcie |
1 |
1 |
3 |
dwa niezależne timery 8-bajtowe |
Przy 2 trybie pracy timera do rejestru THx użytkownik wprowadza swoją wartość, która będzie odtwarzana w rejestrze TLx każdorazowo po wystąpieniu przepełnienia w TLx.
Start/stop odliczania oraz detekcja przepełnienia następuje poprzez odpowiednie ustawienie/odczytanie bitów rejestru TCON, zgodnie z Tabelą 3.
Tabela 3 Bity rejestru TCON (88h)
Bit |
Nazwa |
Adres |
Funkcja |
Timer |
7 |
TF1 |
8Fh |
Bit ustawiany w momencie przepełnienia na timerze 1. |
1 |
6 |
TR1 |
8Eh |
On/off timera: 1-on, 0-off |
1 |
5 |
TF0 |
8Dh |
Bit ustawiany w momencie przepełnienia na timerze 0. |
0 |
4 |
TR0 |
8Ch |
On/off timera: 1-on, 0-off |
0 |
Czasomierz / licznik - PWM.
PWM – metoda regulacji sygnału prądowego lub napięciowego, o stałej amplitudzie i częstotliwości, polegająca na zmianie wypełnienia sygnału, używana wzasilaczach impulsowych, wzmacniaczach impulsowych i układach sterujących pracą silników elektrycznych.
Układ PWM zasila urządzenie bezpośrednio lub przez filtr dolnoprzepustowy wygładzający zmiany nateżenia prądu elektrycznego i napięcia.
PWM jest stosowane do zasilania i kontrolowania pracy urządzeń elektrycznych.
1.Jeśli źródło energii dostarcza napięcie stałe, wówczas PWM wykorzystane w falowniku pozwala na zasilanie urządzeń pracujących pod napięciem przemiennym.
Jeśli źródło energii dostarcza napięcie przemienne, którego częstotliwość musi być dostosowana do warunków pracy, wówczas PWM wykorzystywane jest wprzetwornicach częstotliwości.
38.Przetworniki DAC - zasada dzialania.
Przetwornik cyfrowo-analogowy, przetwornik C/A lub DAC To przyrząd elektroniczny przetwarzający sygnał cyfrowy (zazwyczaj liczbę binarną w postaci danych cyfrowych) na sygnał analogowy w postaci prądu elektrycznego lub napięcia o wartości proporcjonalnej do tej liczby.
Innymi słowy jest to układ przetwarzający dyskretny sygnał cyfrowy na równoważny mu sygnał analogowy.
Przetworniki C/A pracują w oparciu o jedną z czterech metod przetwarzania:
równoległą, w których wszystkie bity sygnału są doprowadzane jednocześnie,
szeregową, w których sygnał wyjściowy jest wytwarzany dopiero po sekwencyjnym przyjęciu wszystkich bitów wejściowych, co sprawia, że są wolniejsze od przetworników połączonych równolegle. wagową
zliczania
39. Przetworniki DAC - tryby pracy.
DACCON rejestr SFR o adresie FDH
MODE 7
RNG1 6
RNG0 5
CLR1 4
CLR0 3
SYNC 2
PD1 1
PD0 0
Bit MODE wybiera pracę DAC-ów jako 8-mio bitowe (MODE=1) lub 12-to bitowe.
Bity RNG wybierają zakres sygnałów wyjściowych dla każdego DAC z osobna. RNG = 1 wybiera zakres 0 – Vdd (napięcie zasilania), RNG = 0 wybiera zakres 0 – Vref.
CLR powinny być ustawione na 1 dla normalnej pracy DAC. Wartość zero forsuje zero sygnału na wyjściu.
SYNC ustawiony na 1 oznacza, że sygnał wyjściowy pojawia się natychmiast po ustawieniu młodszego rejestru danych (DAC0L lub DAC1L). Jest to praca asynchroniczna. Gdy chcemy, by analogowe sygnały wyjściowe pojawiły się równocześnie, wtedy bit SYNC ustawiamy na zero.
Wtedy wpisanie wartości do DAC0L ani do DAC1L nie wyzwala ustawienia wyjścia. Dopiero postawienie bitu SYNC na 1 wyznacza moment jednoczesnego ustawienia analogowych linii wyjściowych procesora.
Rejestry DAC0H i DAC1H służą oczywiście do wpisywania czterech starszych bitów danych i powinny, przy pracy asynchronicznej być wypełniane PRZED wpisaniem wartości do DAC0L/1L.
Przetworniki DAC - metody konwersji.
Ze względu na metodę działania wyróżnia się trzy podstawowe metody konwersji:
metoda bezpośrednia - Przetwornik o przetwarzaniu bezpośrednim (nazywany także Flash) działa na zasadzie bezpośredniego i zazwyczaj jednoczesnego porównania wartości napięcia wejściowego z szeregiem napięć odniesienia reprezentujących poszczególne poziomy kwantowania za pomocą szeregu komparatorów analogowych.
metoda pośrednia - Mierzy się bezpośrednio nie wielkość badaną Y, lecz wielkość A, B, C, ... związane z wielkością Y zależnością funkcyjną
Y= f(a, b, c,...)
metoda kompensacyjna - Kompensatory służą do pomiaru napięcia lub prądu przez porównanie z wartościami wzorcowymi na podstawie zaniku prądu w kontrolnej części układu.
Przetworniki DAC - parametry, tryby pracy.
PARAMETRY:
- Nieliniowość całkowa - jest określana jako max różnica (∆UI)max napięcia wejściowego pomiędzy rzeczywistą charakterystyką przetwarzania N = f(UI) a charakterystyką idealną, odniesiona do max wartości napięcia przetwarzania Umax, wyrażona w procentach.
Nieliniowość różniczkowa - określa się przez wyznaczenie różnic między sąsiednimi wartościami napięcia wejściowego, powodującymi zmianę słowa wyjściowego o wartość najmniej znaczącego bitu. Określa więc błąd jednorodności szerokości kanałów przetwornika.
Błąd przesunięcia zera (błąd niezrównoważenia) jest określany przez wartość napięcia wejściowego potrzebną do przejścia od zerowej wartości słowa wyjściowego do następnej większej wartości. Błąd ten jest mierzony jako przesunięcie w stosunku do charakterystyki idealnej.
Współczynnik zmian cieplnych napięcia przesunięcia zera wyrażany w μV/°C lub w %/°C (w odniesieniu do pełnego zakresu przetwarzania).
Błąd skalowania (błąd wzmocnienia) wynika ze zmiany nachylenia charakterystyki przetwarzania N = f(UI) w stosunku do charakterystyki idealnej i jest określony przez odchylenie rzeczywistej wartości napięcia UI, odpowiadającej maksymalnej wartości słowa wyjściowego, od wartości idealnej.
Szybkość przetwarzania przetwornika a/c może być określana przez:
czas przetwarzania, czyli czas, w którym zachodzi pełny cykl przetwarzania;
częstotliwość przetwarzania, będąca odwrotnością czasu przetwarzania,
tzw. szybkość bitową, określoną przez liczbę bitów wyniku przetwarzania, uzyskanych w jednostce czasu (bitów/s).
TRYBY PRACY
Free Running -wybranie Flagi przerwań przetwornika ADC jako źródła wyzwalania umożliwia rozpoczęcie nowej konwersji po zakoączeniu bieżcej. ADC pracuje wtedy w trybie Free Running, stale uaktualniając rejestry z Wwynikiem.
Tryb Pierwszej konwersji musi - być zapoczątkowana przez wpisanie jedynki do bitu ADSC w rejestrze ADCSRA. W tym trybie ADC dostarcza wyników przetwarzania niezależnie od ustawienia bitu przerwan ADIF.
Tryb auto - rozpoczęcie pracy przetwornika w trybie automatycznego wyzwalania zostanie osiągnięte przez ustawienie bitu ADSC w rejestrze ADCSRA.
http://atmega32.republika.pl/21.htm
Tryb uśpienia
Watch Dog - zasada działania.
Urządzenie lub program, najczęściej układ elektroniczny, wykrywający błędne działanie systemu, bez udziału człowieka próbujący je naprawić i zapobiec poważniejszej awarii.
Potocznie: układ zabezpieczający system mikroprocesorowy przed zbyt długim przebywaniem w stanie zawieszenia.
Watchdog jest układem czasowym oczekującym na potwierdzenie poprawnej pracy od kontrolowanego urządzenia co określony czas. Brak potwierdzenia uważa za błąd i naprawia go najczęściej przez restart lub chwilowe wyłączenie zasilania.
Transmisja danych - suma kontrolna.
Sumę kontrolną wyznacza się dla zawartości przesyłanego komunikatu i umieszcza w ramce po części informacyjnej. Węzeł odbiorczy oblicza sumę kontrolną dla odebranego komunikatu i porównuje jej wartość z wartością otrzymaną. Niezgodność sum świadczy o wystąpieniu błędu.
Przy wyznaczaniu sumy kontrolnej LRC najpierw sumuje się arytmetycznie, z pominięciem przeniesień, wszystkie bajty komunikatu, po czym tworzy się uzupełnienie dwójkowe wyniku poprzez np. zanegowanie wszystkich bitów i dodanie 1 na pozycji najmniej znaczącego bitu.
Obliczanie sumy CRC odbywa się według następującego algorytmu:
1.nadanie CRC wartości początkowej równej FFFFH,
2.pobranie bajtu komunikatu, wykonanie operacji XOR z młodszym bajtem CRC, zapis wyniku do CRC,
3.przesunięcie CRC w prawo o jedną pozycję połączone z wpisaniem 0 na bit najbardziej znaczący,
4.jeżeli wysunięty bit był równy 1, wykonanie operacji XOR CRC ze stałą A001H,
5.ośmiokrotne powtórzenie sekwencji kroków 3...4, co odpowiada przetworzeniu całego bajtu komunikatu,
6.powtórzenie sekwencji kroków 2...5 dla kolejnych bajtów komunikatu. Kontynuacja tego procesu do przetworzenia całego komunikatu.
Po wykonaniu wymienionych operacji CRC zawiera wymaganą wartość.
44. Transmisja danych - kontrola parzystosci.
Przesyłanie informacji następuje w sposób szeregowy bit po bicie.
Stany logiczne 0 i 1 kodowane są stanami napięć (lub wartościami prądu). Najczęściej przesyłane są znaki danych zapisane w kodzie ASCII.
Każdy znak danych zawiera od 5 do 8 bitów i poprzedzony jest bitem START, a zakończony bitem kontroli parzystości (Pa) i 1 do 2 bitami STOP.
Bity danych wraz z bitem kontrolnym i bitami synchronizacji (start, stop) tworzą tzw. jednostkę informacyjną SDU .
Bity danych są przesyłane w kolejności od najmniej znaczącego D0, do najwięcej znaczącego.
Opcjalny bit parzystości ma wartość logiczną równą sumie modulo 2 wszystkich bitów danych.
.Liczba przesyłanych bitów zależy od wybranego rodzaju transmisji, może to być 5, 7 lub 8 bitów danych. Po przesłaniu bitów danych może być przesyłany bit parzystości lub nieparzystości:
bit parzystości ma wartość 0, gdy liczba bitów 1 w danych jest parzysta, lub 1, gdy liczba bitów 1 w danych jest nieparzysta
45. Tryby pracy procesorów ARM (pzykłady).
user (usr): nieuprzywilejowany
system (sys): jak user, ale mozna dowolnie zmieniać rejestr stanu
abort (abt): po błędnym odwołaniu do pamięci
undefined (und): po napotkaniu niezdefiniowanej lub niezaimplementowanej instrukcji
fast interrupt request (fiq) i interrupt request (irq): dla dwóch poziomów przerwań
supervisor (svc): początkowy stan, uzywany także dla jądra systemu operacyjnego i po reset