. Flashcards

l

1
Q

W zależności od typu struktury mapy pamięci, procesory rdzeniowe mogą mieć następującą architekturę:

A
  • Architektura harwardzka -obszary adresowe pamięci danych i programu (wewnętrznych i czasami zewnętrznych) są rozdzielone. Magistrale danych i rozkazów mają różną szerokość długość słowa).
  • Zmodyfikowaną architekturę harwardzką - jest rozwiązaniem pośrednim, starającym się połączyć zalety architektury harwardzkiej i Von-Neumanna. Obszary pamięci ROM i RAM są rozdzielone, ale charakteryzują się taką samą długością słowa.
  • Architektura Von-Neumanna - cechuje się jednolitą przestrzenią adresową.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Architektury mikroprocesorów:

A
  • von Neumanna, Harvard
  • RISC i CISC
  • VLIW i EPIC
  • ARM, MIPS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

CISC

A
  • rozbudowane instrukcje
  • operacje arytmetyczne bezpośrednio na lokalizacjach w pamięci
  • możliwość zawansowanego programowania w języku maszynowym
  • różna długość instrukcji
  • często występujące instrukcje - 8 bitów
  • rzadsze, rozbudowane instrukcje o większej długości
  • znaczne różnice czasu wykonania poszczególnych instrukcji
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

RISC

A
  • znacznie ograniczony zestaw instrukcji
  • operacje ALU tylko na rejestrach
  • prosty tryb adresowania - uproszczone odwołania do pamięci
  • wszystkie instrukcje identycznej długości (32 bity)
  • znacznie prostsza konstrukcja procesora
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cechy architektury RISC (Reduced Instruction Set Computer):

A
  • Zredukowana liczba rozkazów. Upraszcza to znacznie dekoder rozkazów.
  • Redukcja trybów adresowania, dzięki czemu kody rozkazów są prostsze, procesor jest zbudowany zgodnie z architekturą harwardzką,
  • Ograniczenie komunikacji pomiędzy pamięcią, a procesorem. Do przesyłania danych pomiędzy pamięcią, a rejestrami służą dedykowane instrukcje (load, store) .
  • Zwiększenie liczby rejestrów (np. 32, 192, 256),
  • Dzięki przetwarzaniu potokowemu (ang. pipeling) wszystkie rozkazy wykonują się w jednym cyklu maszynowym.
  • Zbiór realizowanych instrukcji jest ograniczony i spełnia warunki ortogonalności (symetrii).
  • Procesor tego typu zamiast prostego rejestru instrukcji stosuje pamięć FIFO (first-in first-out), która gromadzi kolejkę instrukcji.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cechy architektury von Neumanna:

A
  • rozkazy i dane przechowywane są w tej samej pamięci,
  • nie da się rozróżnić danych od rozkazów (instrukcji),
  • dane nie maja przypisanego znaczenia,
  • pamięć traktowana jest jako liniowa tablica komórek, które identyfikowane są przy pomocy dostarczanego przez procesor adresu,
  • procesor ma dostęp do przestrzeni adresowej, dekodery adresowe zapewniają mapowanie pamięci na rzeczywiste układy.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cechy architektury Harwardzkiej:

A
  • rozkazy i dane przechowywane są w oddzielnych pamięciach,
  • organizacja pamięci może być różna (inne długości słowa danych i rozkazów),
  • możliwość pracy równoległej – jednoczesny odczyt danych z pamięci programu oraz danych,
  • stosowana w mikrokontrolerach jednoukładowych.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Architektura ARM Cortex-M4

A

 Wysoce wydajna, tania i energooszczędna, wykorzystywana w milionach urządzeń
 Cortex-M należy do wersji nazw ARM, ARMv7. Wcześniejsze wersje ARM: ARMv4, ARMv5, ARMv6
 Cortex-M: Procesory w tych profilach są wykorzystywane do rozwoju systemów wbudowanych opartych na mikrokontrolerach. Rodzina Cortex-M: Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4 i Cortex-M7.
 Cortex-A: Procesory w tym profilu są używane w urządzeniach o wysokiej wydajności, takich jak telefony komórkowe / komórkowe.
 Cortex-R: Główny rynek procesorów tego profilu znajduje się w aplikacji w czasie rzeczywistym, gdzie głównym celem jest planowanie czasu reakcji.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mikrokontrolery rodziny AVR – architektura

A

 Rodzina 8- i 32-bitowych mikrokontrolerów o zmodyfikowanej architekturze harwardzkiej RISC, rozwijanych i produkowanych przez firmę Atmel
 Jedna z najpopularniejszych rodzin mikrokontrolerów wykorzystywanych w dydaktyce, prostych projektach amatorskich, niewielka liczba projektów komercyjnych
 Dzielą się na kilka rodzin, kompatybilnych binarnie, ale różniących się znacząco rozmiarem pamięci, częstotliwością taktowania i liczbą
 wbudowanych układów peryferyjnych, najpopularniejsze to: ATtiny, ATmega, ATxmega
 Dostępne są również modele przewidziane do specjalistycznych zastosowań, z wbudowanym kontrolerem CAN czy obsługujące zaawansowane tryby PWM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Mikrokontrolery rodziny AVR – architektura 
Zalety

A
  • Jedna z najpopularniejszych architektur, duża liczba użytkowników zgrupowana w społecznościach, duża ilością gotowego kodu, przykładów, tutoriali i narzędzi
  • Mininalna liczba elementów potrzebna do działania mikrokontrolera
  • Są ławo dostępne i tanie, nie ma zróżnicowania na modele łatwiej i trudniej dostępne
  • Wiele wersji programatorów, większość bardzo prostych w budowie
  • Wysoka wydajność
  • Bardzo duże zróżnicowanie wersji, umożliwiające wybór optymalnego mikrokontrolera do danego zastosowania
  • Posiadają obudowy „przyjazne” do prototypowania
  • Mogą być zasilane napięciem od 3 do 5V
  • Cena i dostępność
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Rodzina UC3 układy wyposażoną w rdzeń AVR32 i pamięć Flash

A
  • Rdzeń AVR32 zaprojektowany został w oparciu o architekturę harwardzką
  • Posiada Hmatrix - wielopoziomową wewnętrzną magistrale komunikacyjną, która zapewnia szybki transfer pomiędzy modułami wewnętrznymi mikrokontrolera
  • Wyposażona jest w szybkie interfejsy komunikacyjne, w tym ethernet i duży stopień integracji peryferii.
  • Zewnętrzna magistrala obsługuje pamięci SRAM, SDRAM, ROM, Flash oraz inne urządzenia o organizacji pamięci (LCD, FPGA)
  • Realizuje jednocyklowe instrukcje DSP- mnożenie i mnożenie z akumulacją. Wyniki operacji mogą być 32-, 48- i 64-bitowe
  • Przy częstotliwości taktowania 66 MHz układ UC3 pracuje z wydajnością 80 MIPS. Porównywalny z ARM 7
  • Dla układów z rdzeniem AVR32 powstało środowisko programowe AVR32 Studio oraz kompilator GNU GCC (obecnie zintegrowane w ATMEL studio 7) oraz FreeRTOS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Mikrokontrolery rodziny AVR – architektura, lista rozkazów
 Peryferia komunikacyjne.

A
  • Konfigurowalny Ethernet MAC 10/100 wspiera zarówno tryb pracy MII. Ethernet MAC ma dedykowany kanał DMA.
  • USB 2.0 FS 12Mbps z funkcją hosta OTG.
  • TWI (I2C), 2xSPI, SSC i aż cztery USART-y ze sprzętową kontrolą transmisji.
  • Jeden port USART posiada wsparcie dla: IrDA, modemu i ISO7816.
  • Wielofunkcyjne linie I/O - alternatywne funkcje specjalne, np. USART i SPI, użycie jednego z nich uniemożliwia korzystanie z drugiego.
  • Kontroler portów I/O zawiera osobne rejestry do ustawiania stanów wysokich, niskich oraz osobny do zmiany stanu na przeciwny.
  • standardowe peryferia takie jak timery, przetwornik A/C, watchdog oraz układy nadzorujące zasilanie.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

 Programowanie i narzędzia

A
  • Układy UC3A i UC3B dostarczane są z bootloaderem USB zaprogramowanym w początkowej części Flasha (8kB).
  • Kolejnym sposobem jest programowanie przez interfejs JTAG, do którego można użyć JTAG ICE mkII.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cechy mikrokontrolera ATmega32

A
  • Architektura RISC - 131 instrukcji procesora (wykonywanych w jednym cyklu zegara), 32 ×8 -bitowych rejestrów ogólnego przeznaczenia,
  • Nieulotna pamięćprogramu i danych - 32kB pamięci programu, ISP, z opcją Bootloadera, 1024 bajty pamięci danych EEPROM, 2kB wewnętrznej pamięci SRAM,
  • Peryferia - 8-bitowe i 16-bitowy timery/liczniki z opcją preskalera, cztery kanały PWM, 8×10 − bitowych przetworników ADC, interface Two-wire, programowalny Serial USART, interface Master/Slave SPI, programowalny Watchdog, komparator analogowy,
  • Inne cechy - wewnętrzny generator RC, wewnętrzne i zewnętrzne źródła przerwań, układy oszczędności energii, zasilanie 4.5 − 5.5V, częstotliwość pracy zegara do 16MHz.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pamięć danych EEPROM mikrokontrolera AVR ATmega32

A

ATmega32 posiada nieulotną pamięć danych o rozmiarze 1024 bajty, zorganizowanej w osobnej przestrzeni adresowej.
 W przestrzeni tej mogą być zapisane lub odczytane pojedyncze bajty.
 Dostęp do tej pamięci możliwy jest za pomocą rejestrów EEARH, EEARL, EEDR i EECR. Rejestry te pełnią następujące funkcje: EEARH i EEARL - adres, EEDR - wpisywane lub odczytywane dane, EECR - rejestr kontrolny.
 PamięćEEPROM data jest chroniona przed zniszczeniem, które może powodować zbyt niskie napięcie zasilania VCC .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pamięć urządzeń wejścia/wyjścia mikrokontrolera AVR ATmega32

A

 Do wszystkich peryferii mikrokontrolera AVR ATmega32 odwołuje się za pomocą rejestrów I/O umieszczonych w tej samej przestrzeni adresowej co Rejestry ogólnego przeznaczenia i pamięćSRAM (ścieżka danych),
 Używając mnemoników IN lub OUT należy używać adresów $00 − $3F, w przypadku, gdy odwołujemy siędo nich używając instrukcji LD i ST należy dodać $20H E X tj. 3210 do ich adresu (gdyż poprzedzają je 32 rejestry ogólnegoprzeznaczenia).
 Niektóre rejestry I/O, w zależności od pełnionej funkcji w urządzeniach peryferynych, sąchronione przed zapisem. Do niektórych rejestrów można się odwołać dopiero po ustawieniu odpowiedniej flagi (patrz dokumentacja).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Struktura portu – AVR

A

 Wszystkie porty AVR mają funkcjonalność : Read/Modify/Write
 Każdy pin w porcie może być modyfikowany selektywnie
 Rejestrom przydzielono trzy adresy w pamięci We/Wy
 dla każdego portu:
* rejestr danych — PORTx (odczyt/zapis)
* rejestr kierunku danych — DDRx (odczyt/zapis)
* piny wejściowe portu – PINx (odczyt)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Cechy portu – AVR
Port jako wejście:
 Port jako wyjście:

A

Port jako wejście:
* histereza (około 50 mV), pozwalająca na eliminację błędów przy sygnałach wolnozmiennych i zaszumionych,
* przy odczycie portu po jego zapisaniu należy odczekać około 1 takt zegara (wewnętrzny układ synchronizujący).
 Port jako wyjście:
* stan pinu może się pojawiać z opóźnieniem jednego taktu zegara przy zmianie PORTxn,
* typowe obciążenie linii portu wynosi 20mA, maksymalnie 40mA

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Timery/Liczniki - AVR

A
  • 2 liczniki 8-bitowe
  • licznik impulsów wewnętrznych i zewnętrznych, odczytanie i zapisanie wartości licznika
  • ustalenie zakresu licznika
  • porównanie bieżącej wartości licznika z zadaną wartością, przełączenie napięcia portu binarnego
  • 1 licznik 16-bitowy - dodatkowo
  • porównanie wartości licznika z dwoma zadanymi wartościami
  • rejestracja wartości licznika w momencie pojawienia się impulsu zewnętrznego
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Timery/Liczniki – AVR: 8-mio bitowy licznik czasomierz T0 z funkcją PWM
Cechy

A
  • Licznik z pojedynczym komparatorem
  • Tryb CTC (Clear Timer on Compare)
  • Tryb PWM z korekcją fazy
  • Tryb PWM (fast PWM)
  • Zewnętrzny licznik zdarzeń
  • 10-bitowy Prescaler (1, 8, 64, 256, 1024)
  • Flagi przerwań TOV0 – flaga przepełnienia; OCF0 – flaga porównania (komparatora)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

System przerwań - AVR

A
  • Zmiana stanu pewnych wejść (przerwania INT0, INT1, INT2, ICP1).
  • Określony stan pewnych wejść (przerwania INT0, INT1).
  • Przepełnienie licznika (TIMER0 OVF, TIMER1 OVF, TIMER2 OVF).
  • Osiągnięcie przez licznik zadanej wartości (TIMER0 COMP, TIMER1 COMPA, TIMER1 COMPB, TIMER2 COMP).
  • Zakończenie przetwarzania analogowo-cyfrowego (ADC).
  • Zakończenie transmisji przez interfejs szeregowy (SPI STC, USART TXC, TWI).
  • Odebranie danych przez interfejs szeregowy (USART RXC).
  • Gotowość pamięci EEPROM (EERDY).
  • Zmiana stanu wyjścia komparatora (ANACOMP).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

System przerwań – AVR: Tablica przerwań

A
  • W standardowej konfiguracji mikrokontrolera 42 najniższe adresy w pamięci programu zajmuje tablica przerwań.
  • Im mniejszy adres, tym wyższy priorytet przerwania.
  • Najwyższy priorytet ma RESET, potem przerwanie zewnętrzne INT0 itd.
  • Przerwania są numerowane od 1 do 21.
  • Obsługując przerwanie o numerze x, mikrokontroler ładuje do licznika programu wartość 2(x – 1)
  • Powoduje to wykonanie rozkazu spod tego adresu w pamięci programu.
  • Najczęściej jest to skok (rjmp lub jmp) do właściwej procedury obsługi przerwania.
  • Uwaga: ATmega16 i ATmega32 obsługują ten sam zbiór przerwań, ale są one inaczej ponumerowane.
  • sei() – uaktywnia obsługę przerwań
  • cli() – wyłącza obsługę przerwań (domyślnie po sygnale RESET)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Port szeregowy synchroniczny-asynchroniczny USART

A
  • Możliwość pracy synchronicznej i synchronicznej
  • Ramka od 5 do 9 bitów
  • 1 lub 2 bity stopu
  • Dwa rodzaje kontroli parzystości
  • Wykrywanie błędu ramki
  • Eliminacja szumów
  • Możliwość współpracy wieloprocesorowej
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Układy peryferyjne mikrokontrolera AVR – zarządzanie energią
Programowe sposoby zarządzania energią

A

 zredukowanie częstotliwościzegara,
 wykorzystania trybów wstrzymania (sleep modes).
Wstrzymywanie systemu możliwe przy użyciu instrukcji SLEEP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Interakcje w mikrokontrolerze:

A

 nie pracuje jednostka centralna,
 pamięć danych zachowywana,
 rejestry wejścia wyjścia zachowywane,
 układy peryferyjne pracują w zależności od trybu uśpienia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

TABLICE

A

 Tablicę definiuje się pisząc kolejno: typ danych, nazwę tablicy i objętą parą nawiasów kwadratowych [] liczbę elementów tablicy. Definicję należy zakończyć średnikiem.
 Elementami tablic mogą być wartości typów: char, int, float, double oraz: struktury, unie, pola bitowe i wskaźniki.
 Elementami tablicy mogą być też same tablice; w taki sposób tworzy się w języku C tablice wielowymiarowe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Interfejsy programowania i uruchomieniowe
AVRISP mkII
Podstawowe cechy:

A
  • programowanie pamięci Flash i EEPROM,
  • ustawianie/kasowanie fuse bitów i lock bitów,
  • funkcja aktualizacji oprogramowania celem współpracy z nowymi mikrokontrolerami,
  • praca w zakresie napięć 1,8-5,5V,
  • regulacja szybkości programowania (od 50 Hz do 8 MHz),
  • kompatybilny z interfejsem USB 2.0 (full speed, 12 Mbps),
  • zasilany z USB, przez co nie wymaga dodatkowego źródła zasilania,
  • zabezpieczenie interfejsu programowanego mikrokontrolera, zabezpieczenie przeciwzwarciowe.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

AVR Dragon Podstawowe cechy:

A
  • wspierane interfejsy: SPI, JTAG, PDI, HVSP, PP, aWire,
  • do 3 sprzętowych breakpointów,
  • do 32 programowych breakpointów,
  • wbudowane 128 kB pamięci SRAM,
  • wysoka szybkość (256 Kb w 60 s dla XMEGA przez JTAG),
  • funkcja aktualizacji oprogramowania celem współpracy z nowymi mikrokontrolerami,
  • kompatybilny z interfejsem USB 2.0 (full speed, 12 Mbps),
  • wspiera NanoTrace,
  • zasilany z USB,
  • może zasilać zewnętrzne układy,
  • miejsce na wbudowanie podstawek do programowania równoległego (HVSP, PP).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

AVR JTAGICE mkII

A
  • programowanie mikrokontrolerów AVR zarówno 8-bitowych, jak i 32-bitowych
    Podstawowe cechy:
  • do 3 sprzętowych breakpointów,
  • obsługuje złożone typy zmiennych wraz z zakresem ich dostępności,
  • do 128 programowych breakpointów,
  • wbudowane 512 kB pamięci SRAM,
  • praca w zakresie napięć 1,8-5,5 V,
  • wysoka szybkość (256 Kb w 30 s dla XMEGA przez JTAG),
  • kompatybilny z interfejsem USB 2.0 (full speed, 12 Mbps), zasilany z USB, przez co nie wymaga dodatkowego źródła zasilania
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

JTAGICE 3

A

 JTAGICE 3 jest następcą popularnego JTAGICE mkII i przeznaczony został do prac rozwojowych systemów opartych na mikrokontrolerach AVR i AVR32.
 Podobnie jak poprzednik, jest w pełni funkcjonalnym programatorem układów tinyAVR, megaAVR, XMEGA i UC3.
 Narzędzie obsługuje wszystkie interfejsy wykorzystywane do debugowania i programowania AVR i AVR32 (JTAG, SPI, dWire, PDI).
 Zwiększono również odporność urządzenia na wszelkiego rodzaju zakłócenia i uszkodzenia pochodzące z układu programowanego (ESD, odwrotna polaryzacja złącza, zbyt wysokie napięcie zasilania).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Architektura RISC (Reduced Instruction Set Computers)

A
  • ograniczona lista wykonywanych rozkazów,
  • ograniczona ilość trybów adresowania,
  • operacje wykonywane na rejestrach (brak rozkazów operujących na pamięci – poza rozkazami LOAD i STORE)
  • operacje na danych w pamięci wykonywane są według schematu Read-Modify-Write,
  • proste kody rozkazów -> uproszczenie dekodera rozkazów,
  • prosta budowa rdzenia -> mniejsza ilość elementów -> zmniejszony pobór prądu.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Rdzeń ARMv4T (ARM7)
Rejestry mikrokontrolerów RISC

A
  • zwiększona liczba rejestrów roboczych,
  • wszystkie rejestry są 32-bitowe.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Architektura von Neumana Rdzeń ARMv4T (ARM7)

A
  • brak podziału pamięci na pamięć danych i programu
  • możliwość wykonywania kodu programu zarówno z pamięci Flash jak i RAM (możliwość modyfikacji kodu w trakcie wykonywania programu).
  • 32-bitowa magistrala danych – możliwość jednoczesnego odczytu i zapisu danych, jednostkami 8, 16 lub 32-bitowymi (problem wyrównywania danych).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Rdzeń ARMv4T (ARM7)
Wyjątki obsługiwane przez rdzeń ARM7TDMI

A
  • SWI – napotkanie specjalnej instrukcji SWI
  • Abort – próba wykonania instrukcji, przy pobieraniu której wystąpił błąd w dostępie do pamięci lub próba zapisu/odczytu niewyrównanych danych,
  • Undefined – napotkanie instrukcji, której rdzeń nie jest w stanie zdekodować,
  • nIRQ – przerwanie – pojawienie się na linii wejściowej nIRQ stanu niskiego,
  • nFIQ – przerwanie o wyższym priorytecie od nIRQ – wykorzystywane tam gdzie konieczna jest szybka reakcja,
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Tryby pracy rdzenia

A
  • tryby zależne od rodzaju obsługiwanego wyjątku (np. po wystąpieniu wyjątku Abort rdzeń pracuje w trybie Abort),
  • tryby pracy w czasie wykonywania programu głównego: Supervisor, System, User (różnią się poziomem praw dostępu do zasobów oraz obszarów pamięci mikrokontrolera),
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Rdzeń ARMv4T (ARM7)
Tryby pracy rdzenia (z punktu widzenia instrukcji)
tryb ARM – rozkazy zakodowane na 32 bitach:

A
  • dostępna pełna lista rozkazów,
  • rozkazy mogą przyjmować większą liczbę parametrów,
  • program złożony z instrukcji ARM działa szybciej,
  • rozmiar programu jest większy.
37
Q

tryb Thumb – rozkazy zakodowane na 16 bitach:

A
  • program wykonywany jest wolniej ze względu na konieczność konwersji każdej instrukcji do pełnej instrukcji ARM przed jej wykonaniem,
  • rozmiar programu jest mniejszy.
38
Q

Fazy wykonania rozkazu – praca potokowa

A
  • każdy rozkaz wykonywany jest w trzech cyklach - pobranie, dekodowanie, wykonanie,
  • przetwarzanie odbywa się z zastosowaniem potoku trójpoziomowego,
  • efektywny czas wykonania rozkazu to jeden cykl
39
Q

Rdzeń ARMv4T (ARM7)

A

Kontroler przerwań Przerwania są charakterystycznym elementem architektury mikroukładów. Model kontrolera przerwań omawianego układu można uprościć do dwu obwodów:
 Obwód żądania przerwania - odpowiada za to aby zgłosić zapotrzebowanie.
 Obwód obsługi przerwania – wystawia on odpowiedni adres obsługi procedury.
 Wyjątki IRQ oraz FIQ są zgłaszane przez urządzenia peryferyjne (zwane przerwaniami), natomiast źródłem pozostałych jest rdzeń SAM7.
 Aby mogło zaistnieć przerwanie – mając na myśli skok do adresu 0x18 lub 0x1C - musi zostać wyzerowany bit 6 (FIQ) i/lub bit 7 (IRQ).
 Są 32 linie przerwań, każda z linii (źródeł) przerwań może mieć nadany priorytet w zakresie 0-7. Każdej z tych linii możliwe jest przyporządkowanie indywidualnej procedury obsługi.

40
Q

Rdzeń ARMv4T (ARM7)
Przerwanie programowe

A
  • Wyjątek SWI (Software Interrupt) można rozumieć jako „przerwanie wywołane w programie”.
  • Rdzeń ARM, napotykając w kodzie maszynowym specjalną instrukcję SWI wywołującą ten wyjątek, przechodzi do jego obsługi.
  • Wyjątek SWI zgłaszany może być np. przez program użytkownika pracujący pod kontrolą systemu operacyjnego w celu poinformowania o awarii lub zapotrzebowaniu na pewien zasób sprzętowy.
  • Wyjątek SWI można bez większych problemów zgłaszać w programie pisanym w języku C - wystarczy umieścić w kodzie prościutką, jednolinijkową wstawkę asemblera zawierającą samą instrukcję o mnemoniku SWI.
41
Q

Rdzeń ARMv4T (ARM7)
Przerwania współdzielone

A

Blok urządzeń systemowy (AT91C_ID_SYS) dysponuje jednym, wspólnym przerwaniem SYS (ang. shared interrupt) o numerze ID=1, które obejmuje następujące urządzenia:
* timery PIT, RTT, WDT,
* interfejs diagnostyczny DBGU,
* Sterownik DMA PMC, * Układ zerowania procesora RSTC,
* Sterownik pamięci MC.
W procedurze obsługi przerwania SYS należy sprawdzić kolejno stan wszystkich urządzeń, czy występują przerwania odmaskowane. Jeżeli przerwanie jest aktywne należy sprawdzić flagę sygnalizującą przerwanie w rejestrze statusu danego urządzenia. Jeżeli flaga jest ustawiona należy wykonać program związany z obsługą przerwania od danego urządzenia.

42
Q

Rdzeń ARMv4T (ARM7)
Kontroler PIO

A
  • Rdzeń AT91SAM7X256/128 posiada dwa kontrolery PIO: PIOA i PIOB. Zadaniem każdego z kontrolerów jest multipleksowanie zestawu wyprowadzeń urządzeń peryferyjnych.
  • Każdy kontroler steruje 32 liniami. Każda linia może być przypisana do jednego z dwu urządzeń peryferyjnych A lub B. Lub też działać jako uniwersalne wyjście/wejście. Na każdej linii
43
Q

System wbudowany dla układu SAM7TDMI
System wbudowany dla mikrokontrolera SAM7TDMI, zawiera mikrojądro obejmujące (model systemu monolitycznego):

A
  • planistę,
  • obsługę Timera systemowego,
  • system przerwań.
44
Q

Środowisko deweloperskie

A
  • Kompilator GCC - główn kompilator dla systemu Linux, dzięki niemu możliwe jest skompilowanie całego systemu wraz z programami dla wielu architektur.
  • Uzupełnieniem jest program make automatyzujący proces kompilacji oraz standardowe programy zarządzające pilikami projektu GNU.
  • Rolą dostawcy – CodeSourcery – jest przygotowanie paczki binarnej oraz dostarczanie płatnego wsparcia technicznego. Paczki dostępne są na systemy Linuks oraz Windows.
  • Istnieją skrypty pozwalające samemu przygotować narzędzia do kompilacji bezpośrednio ze źródeł np. summon-arm-toolchain.
45
Q

Wywołania systemowe

A
  • Obsługa wywołań systemowych w autorskim systemie wbudowanym odbywa się w kilku krokach:
  • Wywołanie funkcji obudowywującej
  • Przerwanie programowe SWI przekazanie sterowania do systemu
  • Wybranie odpowiedniej f systemowej z tabeli (dispatch table) w zależności od nr
  • Wybranie deskryptora z tablicy otwartych deskryptorów lub deskryptorów zainicjowanych
  • Wykonanie operacji za pomocą funkcji z wybranego deskryptora
  • Oddanie sterowania do programu
46
Q

Wątki i przełącznik wątków

A

System dedykowany posiada ograniczoną ilość procesów do 1 z powodu braku MMU. Dla uproszczenia oraz w wyniku braku możliwości efektywnego wyegzekwowania ochrony pamięci. Czy też realnej izolacji.
Wyróżniono minimum 3 elementy systemu potrzebne do uzyskania wielowątkowości.
* odpowiednio przyszykowana procedura obsługi przerywania zapewniająca zachowanie kontekstu procesu oraz jego przywrócenie tuż przed zakończeniem
* procedura wywoływana co interwał czasowy, rozpoczynająca epoki i zmieniająca kontekst
* procedura szeregująca planisty

47
Q

Zarządzanie zasobami

A

Zarządzenia zasobami odbywa się poprzez deskryptory. Deskryptor posiadają :
* Każdy sterownik urządzenia
* Każdy wątek
* Zbiory danych (w tym pliki)

48
Q

Każdy deskryptor ma dostępną podstawową grupę operacji, dodatkowo w zależności od rodzaju posiada dodatkowy zestaw pól. Funkcje/pola dostępne dla każdego deskryptora jest to:

A
  • Otwarcie
  • Zamknięcie
  • Zapis
  • Odczyt
  • Sprawdzenie gotowości
  • Stan deskryptora (otwarty, zamknięty)
49
Q

Funkcje/pola dostępne dla deskryptora wątku

A
  • Zestaw rejestrów określający stan procesora
  • Stan wątku
  • Punkt rozpoczęcia
50
Q

Funkcje/pola dostępne dla deskryptora urządzenia

A
  • Zapis do rejestrów kontrolnych urządzenia
  • Procedura obsługi przerwania
  • Niektóre deskryptory mogą być współdzielone.
51
Q

Organizacja pamięci systemu wbudowanego

A
  • Mapowanie pamięci po uruchomieniu płytki SAM7-EX256, w lokacje 0x0000 0000 mapuje pamięć flash czyli sekcje .text. Z stąd też wykonywany jest program. Wartości adresów zostały odczytane za pomocą narzędzi nm oraz objdump.
  • Struktury jądra przechowywane są w statycznych strukturach przechowywanych w rejonie zmiennych globalnych. W statycznych tablicach.
52
Q

Lokalne interfejsy cyfrowe w systemach wbudowanych

EIA-232

A

prosty, wiekowy, standardowy interfejs szeregowy, służący do komunikacji pomiędzy urządzeniem nadrzędnym, a peryferyjnym.

53
Q

I2C (TWI)

A

interfejs będący poprzednikiem innych współczesnych interfejsów szeregowych w tym CAN. Pozwala na szybka komunikację (do 400kb/s, dla trybu multimaster do 3,4 Mb/s).

54
Q

SPI –

A

interfejs o możliwościach i właściwościach podobnych do I2C, o większej szybkości transmisji danych sięgającej kilka Mb/s. Stworzony przez Motorolę, obecnie jest dość często wykorzystywany przez innych producentów. Interfejs ten został standardowo wbudowany w wiele mikrokontrolerów.

55
Q

USB (od ang. Universal Serial Bus), uniwersalna magistrala szeregowa

A

port lub lokalny interfejs szeregowy opracowany przez firmy Microsoft, Intel, Compaq, IBM i DEC.
* USB 1.1 – prędkość transmisji (full speed) 12 Mbit/s i (low speed) 1,5 Mbit/s
* USB 2.0 (high speed) 480 Mbit/s
* USB 3.1 Gen 1 (SuperSpeed) (wcześniej noszący nazwę USB 3.0) Urządzenia zgodne z warunkami nowej specyfikacji mogą pracować z szybkością 5 Gbit/s.
* USB 3.1 Gen 2 (SuperSpeed+) - prędkość maksymalna to 10 Gbit/s, a moc może wynosić 100 W.
* USB 3.2 - wprowadza dwa nowe tryby SuperSpeed+ przez złącze USB typ C o szybkości transmisji danych wynoszące 10 i 20 Gbit/s (1250 i 2500 MB/s).

56
Q

UART – Universal Asynchronous Receiver Transmitter:

A
  • Standard rozwinięty już w latach 60’,
  • Prosty, uniwersalny, dobrze udokumentowany,
  • Wolna komunikacja: max. 1Mbit/s,
  • Po jednym przewodzie komunikacyjnym w każdym z kierunków plus wspólna masa sygnałowa,
  • Asynchroniczna – odbiornik i nadajnik muszą wcześniej znać szybkość transmisji oraz format ramki,
  • Bity START i STOP normują przesyłanie,
  • Możliwe dołączenie informacji o parzystości (kontrola błędów).
57
Q

Dwa podstawowe typy komunikacji szeregowej:

A
  • synchroniczna – równolegle z ciągiem bitów przesyłany jest sygnał synchronizujący, określający kiedy dane są ważne ,
  • asynchroniczny – dane nie są związane z żadnym sygnałem synchronizującym – parametry transmisji trzeba ustawić wcześniej – ręcznie, a do danych trzeba dodać pewne informacje mogące zsynchronizować dane przesyłane i odbierane (np.: ramka 8, N, 1; 8, E, 2),
58
Q

USART - Universal Synchronous and Asynchronous Reciever and Transmitter

A
  • Interfejs komunikacyjny, dostępny w większości popularnych mikrokontrolerów.
  • W niektórych występuje kilka pracujących niezależnie od siebie USART-ów.
59
Q

Ramka danych w transmisji UART wygląda następująco:

A
  • Zawiera bit startu, sygnalizujący początek kolejnej ramki (od 5 do 9 bitów danych), bit parzystości, służący do kontroli błędów odbioru.
  • Może działać w trzech trybach - brak kontroli (no), suma zawsze parzysta (even), suma zawsze nieparzysta (odd).
  • Każdą ramkę zamyka od jednego do dwóch bitów stopu. Najpopularniejszą konfiguracją jest 8 bitów danych, brak kontroli parzystości i 1 bit stopu.
60
Q

Moduł diagnostyczny DBGU
Cechy portu diagnostycznego DBGU (DeBuG Unit):

A
  • Asynchroniczna transmisja danych zgodna ze standardem EIA-232 (8 bitów danych, jeden bit parzystości z możliwością wyłączenia),
  • Możliwość zgłaszania przerwań systemowych współdzielonych (PIT, RTT, WDT,DMA, PMC, RSTC, MC),
  • Analiza poprawności odebranych ramek,
  • Sygnalizacja przepełnionego bufora TxD lub RxD,
  • Trzy tryby diagnostyczne: zdalny loopback, lokalny loopback oraz echo,
  • Maksymalna szybkość transmisji rzędu 1 Mbit/s,
  • Możliwość komunikacji z rdzeniem procesora COMMRx/COMMTx.
61
Q

FIFO (ang. First In, First Out) –

A

przeciwieństwem stosu LIFO jest kolejka, bufor typu FIFO (pierwszy na wejściu, pierwszy na wyjściu), w którym dane obsługiwane są w takiej kolejności, w jakiej zostały dostarczone (jak w kolejce do kasy)

62
Q

Kolejka FIFO

A
  • Dane do kolejki FIFO mogą być wpisywane przez kilka niezależnych aplikacji, wątków lub urządzeń. W takiej sytuacji dostęp do kolejki kontrolowany jest przez Semafor (zmienna globalna).
  • Dane zgromadzone w kolejce wysyłane są w kolejności w jakiej zostały wpisane.
    Zapis danej do kolejki FIFO:
  • Zwiększ wskaźnik Head o jeden, zapisz daną.
    Odczyt danej z kolejki FIFO:
  • Odczytaj daną, zwiększ wskaźnik Tail o 1.
    W przypadku, gdy Tail lub Head wskazuje na ostatni dostępny element kolejki zamiast inkrementacji wskaźnik jest zerowany. Pozwala to na płynne przesuwanie wskaźników – bufor kołowy (ang. circular buffer)
63
Q

Ramka w I2C

A
  • Bit startu (S) SDA 10 dla SCL = 1
  • Bit stopu (P) SDA 01 dla SCL = 1
  • powtórzenie startu (Sr) start jest generowany zamiast stopu
  • Stany magistrali
  • busy … po S i przed następnym P
  • Wolna … po P i przed następnym S
64
Q

Data Transfer MagistraIa I2C

A
  • Bity danych wysyłane są po bicie startu (S lu Sr)
  • Transmitowany jest pojedynczy bajt
  • Bajt = 8 bits + jeden acknowledge bit (ACK)
  • Bit MSB (most significant bit) nadawany jako pierwszy
  • slave adres jest traktowany jako dana
  • Transmitowany jest pierwszy bajt * W trakcie transferu:
  • master jest nadajnikiem
  • Adresowany slave jest odbiornikiem
  • Następny bajt: wysyłany jest po ostatnim bicie w bajcie adresowym
  • master ustawia SCL = 0 i generuje impulsy dla innych bitów danych
  • 8 impulsów dla bitów danych są zakończone przez impuls dla bitu ack.
  • po ack. * master przygotowuje się do generowania impulsów pod następny bajt
  • slave jest w stanie HOLD SCL low  master przechodzi do stanu oczekiwania
65
Q

Masters and Slaves

A
  • Urządzenie typu Master
  • Kontroluje linię SCL
  • Generuje bity startu i stopu
  • Kontroluje (generuje) adresy innych urządzeń
  • Urządzenie typu Slave
  • Urządzenie adresowane (podległe) master
  • Nadajnik/ Odbiornik (Transmitter/Receiver)
  • master lub slave
  • master-nadaje (wysyła) daną do slave-odbiornika
  • master-odbiera żądaną daną z urządzenia slave-nadajnika
66
Q

Cechy interfejsu TWI procesora ARM firmy ATMEL:

A

Moduł TWI procesorów ARM jest odpowiednikiem standardu opracowanego przez firmę Philips (firma Philips posiada patent na interfejs I2C). Cechy interfejsu TWI procesora ARM f:
* Zgodny ze standardem I2C,
* Praca w trybie Master, Multimaster lub Slave,
* Umożliwia dołączenie urządzeń zasilanych napięciem 3,3 V,
* Transmisja danych z częstotliwością zegara do 400 kHz,
* Transfery poszczególnych bajtów wyzwalane przerwaniami,
* Automatycznie przejście do trybu Slave w przypadku kolizji na magistrali
* (Arbitration-lost interrupt),
* Przerwanie zgłaszane, gdy zostanie wykryty adres urządzenia w trybie Slave,
* Automatyczne wykrywanie stanu zajętością magistrali,
* Obsługa adresów 7 i 10-cio bitowych.

67
Q

Cechy interfejsu SPI:

A
  • Szeregowa transmisja synchroniczna,
  • Transfer full duplex, master-slave lub master-multi-slave,
  • Duża szybkość transmisji (>12 Mbit/s),
  • Zastosowanie:
  • układy peryferyjne (ADC, DAC, RTC, EEPROM, termometry, itp),
  • sterowanie pomocnicze (matryca CCD z szybkim interfejsem równoległym),
  • karty pamięci z interfejsem szeregowym SD/SDHC/MMC
68
Q

Cechy modułu SPI układu SAM7X:

A
  • Obsługa transferów w trybie Master lub Slave,
  • Bufor nadawczy, odbiorczy oraz bufor transceivera,
  • Transfery danych od 8 do 16 bitów,
  • Cztery programowalne wyjścia aktywujące urządzenia dołączone do SPI (obsługa do 15 urządzeń),
  • Programowalne opóźnienia pomiędzy transferami,
  • Programowalna polaryzacja i faza zegara.
69
Q

Charakterystyka magistrali USB Standardy USB:

A
  • USB 1.1 - jego transfer wynosi, w zależności od typu urządzenia 1.5 lub 12 Mbit/s.
  • USB 2.0 - osiąga transfer do 480 Mbit/s.
  • USB 3.0 – transfer powyżej => 5 Gb/s.
    Magistrala USB tworzy strukturę warstwową, jednak zachowuje logiczną strukturę gwiazdy, a komunikacja przebiega tak, jakby urządzenia były podłączone bezpośrednio do hosta. Gdy hub jest odłączony, wszystkie urządzenia podłączone do huba zostają usunięte z logicznej topologii hosta.
70
Q

Przepływ danych w systemie USB

A

Punkty końcowe posiadają cechy, które determinują typu transferów pomiędzy nimi a oprogramowaniem klienckim. Endpointy opisywane są przez:
* zalecenia częstotliwości taktowania magistrali,
* numer endpointu,
* rozmiar pakietów,
* zachowanie w wypadku błędów w transmisji,
* typ transferu,
* kierunek przepływu danych.

71
Q

Proces konfiguracji

A

Enumeracja (ang. Enumeration) – konfiguracja urządzeń przeprowadzana po dołączeniu lub odłączeniu nowego urządzenia od magistrali. Proces konfiguracji przeprowadzany jest przez urządzenie nadrzędne (Master). Master przypisuje indywidualne adresy do urządzeń oraz ustanawia podstawowe parametry transmisji:
* Adres urządzenia w przestrzeni USB,
* Rodzaj transferu,
* Kierunek transmisji danych (read, write, read-write),
* Rozmiar przesyłanych pakietów,
* Szybkość transmisji,
* Adresy buforów używanych przez sterowniki urządzenia,
* Prąd pobierany przez urządzenie.

72
Q

Rodzaje sygnałów sterowania w magistrali USB :

A
  • Sygnał zerowania SE0 (single ended zero) - napięcie pary przewodów sygnałowych D+ i D- wprowadzone w stan 0 logicznego na 2,5 mikrosekundy.
  • Zawieszenie działania urządzenia ma miejsce w razie wykrycia stanu spoczynkowego linii sygnałowych przez co najmniej 3 ms. Zawieszenie trwa nie dłużej niż 10 ms.
  • Wznowienie działalności urządzenia następuje w razie wykrycia stanu logicznego K linii sygnałowych, czyli 0 dla trybu FS lub 1 dla LS. Wznowienie działania wymusza kontroler USB przez ustawienie stanu logicznego K szyny przez co najmniej 20 ms.
  • Znacznik końca pakietu EOP (End of Packet) składa się z 2-bitowego sygnału zerowania SE0 oraz 1-bitowego sygnału o stanie logicznym J, tzn. 1 dla FS lub 0 dla LS.
73
Q

Rodzaje transferu danych

A
  • masowy (asynchroniczny);
  • izochroniczny (synchroniczny);
  • obsługi przerwania;
  • sterująco-kontrolny.
74
Q

Blok UDP w układzie SAM7

A

Typowe podłączenie mikrokontrolera SAM7 do magistrali USB Aby host wykrył, że urządzenie full-speed zostało podłączone do magistrali USB, należy zagwarantować podciągnięcie linii DP do plusa zasilania. Obecność hosta na magistrali można wykryć przez monitorowanie linii zasilającej w interfejsie USB.
Blok UDP obsługuje wszystkie cztery transmisje zdefiniowane w standardzie:
* kontrolny (ang. Control) – EP0,
* masowy (ang. Bulk),
* przerwaniowy (ang. Interrupt),
* izochroniczny (ang. Isochronous).
Mikrokontrolery SAM7 posiadają 6 punktów końcowych (endpointów) EP0 .. EP5, z których każdy może obsługiwać różne typy transferów.
* Konfiguracja endpointu polega na określeniu jego numeru, kierunku, maksymalnego pakietu danych oraz rodzaju transferu, w jakim będzie pracował dany endpoint.
* Każde urządzenie USB musi obsługiwać transfer kontrolny, który wykorzystywany jest do konfiguracji urządzenia podczas enumeracji.

75
Q

Blok UDP w układzie SAM7
Potwierdzenie STALL

A
  • Urządzenie USB przesyła do hosta potwierdzenie STALL aby poinformować go o braku możliwości przekazu danych ze względu na wystąpienie poważnego błędu w urządzeniu.
  • Aby układ UDP wygenerował pakiet STALL należy ustawić bit FORCESTALL w rejestrze CSR odpowiedniego endpointu.
  • Po pomyślnym wysłaniu pakietu STALL zostanie ustawiony bit STALLSENT w rejestrze CSR
76
Q

Transakcja Setup

A
  • Setup - specjalny typ transakcji wykorzystywanej podczas transferu kontrolnego.
  • Host wysyła do urządzenia pakiet-token Setup oraz pakiet danych Data0, a następnie urządzenie wysyła do hosta pakiet ACK potwierdzający odebranie danych.
77
Q

Transakcja Data IN

A
  • Podczas tej transakcji host wysyła do urządzenia pakiet-token IN, następnie urządzenie w odpowiedzi wysyła do hosta pakiet Data IN.
  • Na końcu w zależności od poprawności danych host wysyła pakiet potwierdzający ACK, NAK lub w przypadku błędu STALL
78
Q

Transakcja Data OUT

A
  • Podobnie jak Data IN transakcja ta jest wykorzystywana jest przez wszystkie rodzaje transferów USB.
  • Host wysyła do urządzenia pakiet-token OUT a następnie pakiet danych Data OUT
  • Po odebraniu danych urządzenie przesyła do hosta pakiet potwierdzający ACK, NAK lub w przypadku błędu STALL.
  • Po odebraniu pakietu-tokena, układ UDP mikrokontrolera automatycznie przyjmuje dane i wysyła pakiet potwierdzający ACK do hosta.
  • Jeżeli poprawnie odebrano pakiet danych bit RX_DATA_BK0 w rejestrze CSR odpowiedniego endpointu zostaje ustawiony.
  • Liczbę odebranych bajtów wskazuje pole bitowe RXBYTECNT.
  • Następnie program użytkownika powinien odczytać odpowiednią ilość bajtów danych z kolejki FIFO po przez rejestr FDR odpowiedniego endpointu.
  • Po odczycie przesłanych danych program użytkownika musi wyzerować bit RX_DATA_BK0 powiadamiając układ o dostępności kolejki FIFO.
79
Q

Blok UDP w układzie SAM7

A
  • Stan „Attached” (podłączenia) występuje, gdy urządzenie jest podłączone do magistrali oraz urządzenie sygnalizuje swoją obecność przez podciągnięcie linii DP do plusa zasilania.
  • Urządzenie przechodzi do stanu „Powerd” (zasilania). W tym stanie do układu UDP musi być załączony sygnał zegarowy.
  • Nadajnik i odbiornik mogą pozostać zablokowane. Po podłączeniu urządzenie oczekuje na tzw. „end-of-bus reset” sygnał oznaczający rozpoczęcie procesu enumeracji.
  • Jeżeli układ UDP wykryje to zdarzenie bit ENDBUSRES w rejestrze ISR zostaje ustawiony. Dodatkowo ustawienie tego bitu może powodować przerwanie.
  • Po obsłużeniu tego przerwania urządzenie przechodzi do stanu „Default” (domyślny). W tym stanie należy uaktywnić endpoint 0 przez ustawienie bitu EPEDS w rejestrze CSR[0].
  • Uaktywniamy nadajnik i odbiornik przez wyzerowanie bitu TXVDIS w rejestrze TXVC.
  • Po odebraniu standardowego żądania hosta SET_ADDRESS, urządzenie przechodzi do stanu „Addressed” (zaadresowane). W tym stanie należy ustawić bit FADDEN w rejestrze GLB_STAT, oraz wpisać adres przydzielony przez hosta do rejestru FADDR.
  • Kiedy urządzenie odbierze standardowe żądanie hosta SET_CONFIGURATION, przechodzi do stanu „Configured” (skonfigurowane). W tym stanie należy skonfigurować odpowiednio wszystkie używane endpointy.
  • Po okresie bezczynności na magistrali urządzenie powinno przejść do stanu „Suspend” (obniżonego poboru mocy). Po wykryciu bezczynności przez układ UDP mikrokontrolera, bit RXSUSP w rejestrze ISR zostaje ustawiony.
  • Należy wyzerować bit RXSUSP przez zapisanie rejestru ICR, a następnie zmienić stan mikrokontrolera na „Suspend”.
80
Q

Sterownik UDP i USB

A

Magistrala USB jest bardzo skomplikowana.
Sterownik interfejsu podzieli się na dwie części:
sterownika 1 poziomu (UDP) – obsługującego blok UDP mikrokontrolera,
sterownika 2 poziomu (USB) – obsługującego stos USB.
Z uwagi na dużą ilość funkcji należących do sterownika przedstawiono załączniku 3 definicje wszystkich funkcji. Opis najważniejszych funkcji – patrz: Blok UDP SAM7 materiały do wykładu.pdf - str. 16 – 17

81
Q

Komunikacja między urządzeniami MODBUS

A

 Urządzenia MODBUS komunikują się:
* za pomocą techniki master-slave, w której tylko jedno urządzenie (master) może inicjować transakcje (zwane zapytaniami).
* urządzenia (urządzenia podrzędne – slave) odpowiadają, dostarczając żądane dane do urządzenia master lub podejmując żądane działanie w zapytaniu.
* slave to dowolne urządzenie peryferyjne (przetwornik we / wy, zawór, napęd sieciowy lub inne urządzenie pomiarowe), które przetwarza informacje i wysyła je do urządzenia master za pomocą MODBUS.
* master mogą zwracać się do indywidualnych slave lub mogą inicjować wiadomość rozgłoszeniową dla wszystkich slave
* slave zwracają odpowiedź na wszystkie zapytania kierowane do nich indywidualnie, ale nie odpowiadają na zapytania o transmisję.

82
Q

MODBUS REGISTER MAP

A

 Urządzenia MODBUS zwykle zawierają mapę rejestru.
 Działają funkcje MODBUS:
* rejestrowanie rejestrów map w celu monitorowania,
* konfigurowania
* sterowania we / wy modułu.
 wymagana znajomość mapy rejestrów urządzenia, aby lepiej zrozumieć jego działanie.
 przesyłanie danych było zorganizowane pod kątem rejestrów 16-bitowych (format całkowity) lub jako informacja o statusie pod względem bajtów danych.
 dodano nowe typy danych, zwłaszcza w celu uzyskania wyższej rozdzielczości przesyłanej wartości.
 protokół został przyjęty dla nowych mediów przekazu, powstały dialekty, takie jak Modbus Plus lub Modbus / TCP.

83
Q

Szeregowe tryby transmisji sieci MODBUS

A

 ASCII Transmission Mode - każdy bajt znaków w wiadomości jest wysyłany jako 2 znaki ASCII. Ten tryb umożliwia interwały czasowe do jednej sekundy pomiędzy znakami podczas transmisji bez generowania błędów.
RTU (Remote Terminal Unit) Transmission Mode – każdy bajt wiadomości zawiera dwa 4-bitowe znaki szesnastkowe, a wiadomość jest przesyłana ciągłym strumieniem. Większa efektywna gęstość znaków zwiększa przepustowość w trybie ASCII przy tej samej szybkości transmisji.

84
Q

MODBUS MESSAGE FRAMING

A
  • Ramka wiadomości służy do oznaczania początkowego i końcowego punktu wiadomości, umożliwiając urządzeniu odbierającemu określenie, które urządzenie jest adresowane, oraz określenie, kiedy wiadomość zostanie ukończona.
  • Umożliwia także wykrycie częściowych komunikatów i zgłoszenie błędów.
  • Komunikat MODBUS jest umieszczany w ramce danych przez urządzenie nadawcze. Każde słowo tej wiadomości (w tym ramka) jest również umieszczane w ramce danych, która dołącza bit początkowy, bit zatrzymania i bit parzystości.
  • W trybie ASCII rozmiar słowa wynosi 7 bitów, podczas gdy w trybie RTU; rozmiar słowa to 8 bitów (efektywnie 11 bitami, gdy uwzględnione są bity startu, stopu i parzystości ramki danych).
    Nie należy mylić ramki danych z ramką danych pojedynczego bajtu (tryb RTU) lub 7- bitową (tryb ASCII). Struktura ramki danych zależy od trybu transmisji (ASCII lub RTU). W MODBUS Plus protokół sieciowy obsługuje tworzenie ramek wiadomości i używa końcowe ograniczniki charakterystyczne dla sieci.
85
Q

ASCII Mode Message Frames

A
  • komunikaty rozpoczynają się od znaku dwukropka “:” (ASCII 3AH) i kończą znakiem pary znaków końca linii karetki (CRLF, ASCII 0DH i 0AH).
  • Jedynymi dopuszczalnymi znakami dla wszystkich pozostałych pól są cyfry szesnastkowe 0-F.
86
Q

RTU Mode Message Frames

A
  • Komunikaty rozpoczynają się od cichego interwału o długości co najmniej 3,5 znaków wprowadzonych jako wielokrotność czasów znaków przy prędkości transmisji używanej w sieci.
  • Pierwsze przesyłane pole to adres urządzenia. Dopuszczalne znaki przesyłane dla wszystkich pól są wartościami szesnastkowymi 0-F.
  • Urządzenie sieciowe stale monitoruje sieć, łącznie z cichymi interwałami, a gdy pierwsze pole jest odbierane (adres) po cichym interwale wynoszącym co najmniej 3,5 znaków czasu, urządzenie dekoduje go, aby określić, czy jest to adresowane urządzenie.
  • Po ostatnim przesłanym znaku podobny cichy interwał o długości 3,5 znaku oznacza koniec wiadomości, a po tym interwale może rozpocząć się nowa wiadomość.
  • Cała wiadomość musi być przesłana jako ciągły strumień. Jeśli cichy interwał więcej niż 1,5 znaków pojawia się przed zakończeniem ramki (nie ciągły strumień), urządzenie odbierające usuwa niekompletną wiadomość i zakłada, że następny bajt będzie polem adresu nowej wiadomości.
87
Q

MODBUS FUNCTIONS

A
  • Pole kodu funkcji ramki wiadomości będzie zawierało dwa znaki (w trybie ASCII) lub 8 bitów (w trybie RTU), które informują slave, jaki rodzaj akcji należy podjąć.
  • Poprawne kody funkcji są z zakresu od 1 do 255, ale nie wszystkie kody będą dotyczyły modułu, a niektóre kody są zarezerwowane do wykorzystania w przyszłości
88
Q

Zadania realizowane przez sterowniki

A
  • Sterowanie maszynami lub procesami zgodnie z zapisanym programem
  • Realizacja funkcji diagnostycznych sterowanych urządzeń i procesów (również autodiagnostyka)
  • Kontrola układów zabezpieczeń (specjalne sterowniki bezpieczeństwa np. Wieland)
  • Komunikacja z systemami zarządzania produkcją i urządzeniami typu HMI (panele operatorskie, monitory itp.) umożliwiająca na bieżąco prezentację i archiwizację stanu procesów produkcyjnych (współpraca z systemami SCADA)
89
Q

CECHY STEROWNIKÓW PLC

A
  • programowalność – zapisywanie algorytmu działania sterownika do pamięci sterownika w postaci programu,
  • uniwersalność – wykonywanie różnych algorytmów bez konieczności zmian w budowie systemów automatyki,
  • funkcjonalność – współpraca z układami pomiarowymi, elementami wykonawczymi i innymi urządzeniami sterującymi,
  • elastyczność – możliwość dostosowania odpowiedniego sterownika do danego systemu automatyki,
  • niezawodność – wynikająca z zastosowania różnych elementów sprzętowych i programowych zabezpieczających przed uszkodzeniem sterownika,
  • komfort obsługi – dzięki dobrze rozwiniętemu oprogramowaniu narzędziowemu,
  • niskie koszty – nawet przy zastosowaniu sterowników PLC do małych zadań automatyki.