kolo II


II. Zagadnienia obowiązujące do drugiego kolokwium z części
 Mikrosystemy :
(notka od twórcy [Redgar] pytanie 15 mnie rozwaliło )
1. Podstawowe zastosowania układów buforów magistrali 8-bitowej w systemach mk.
Dwa zastosowania podstawowe zastosowania :
- Zwiększenie liczby linii sterujących mk Przez podłączenie buforów do portów mk.
Wówczas można sekwencyjnie ustawiać 8*N linii wyjściowych (zapamiętywać je na N
buforach np. z nieodwracającymi rejestrami zatrzaskowymi 74HC541).
- Zwiększenie wydajności prądowej linii wyjściowej. Linie wyjściowe układów scalonych
buforów mają zdecydowanie większe wydajności prądowe niż linie mk, zatem nadają się do
ich buforowania.
2. Schemat logiczny i zasada działania jednokierunkowego nieodwracającego bufora
74HC541.

Układ 74HC541 jest 8-bitowym jednokierunkowym nieodwracającym buforem linii z
8 trójstanowymi liniami wyjściowymi. Stan tych linii jest kontrolowany za pomocą wejść
OE1 i OE2.
Stan wysoki na linii OEn wprowadza linie trójstanowe w stan wysokiej impedancji. Dzięki
tej właściwości układ stosowany jest w systemach magistralowych. Natomiast stan niski
uaktywnia bufory, zatem to co jest podawane na wejście układu pojawia się na jego wyjściu.
Sposób sterowania układem przedstawia tabela 3.1

Tabela 3.1. Sterowanie układem 74HC541
INPUTS OUTPUT
___ ___
OE1 OE2 An Yn
L L L L
L L H H
X H X Z
H X X Z
gdzie: OE1 i OE2  aktywują linie wyjściowe (aktywne
stanem niskim),
An  linie wejściowe,
Yn  trójstanowe linie wyjściowe.
























3.Schemat logiczny i zasada działania dwukierunkowego nieodwracającego bufora 74HC245.
Układ 74HCT245 jest dwukierunkowym 8-bitowym nieodwracającym buforem linii.
Czyli posiada 8 linii, którymi dane mogą być przesyłane w obu kierunkach.
Niski poziom na linii OE (output enable input) uaktywnia bufory, czyli to co jest na
wejściu układu to pojawia się na jego wyjściu, natomiast wysoki poziom na tej linii
wprowadza wszystkie bufory w stan wysokiej impedancji. Odpowiednikiem układu 74HC245
ale z buforami odwracającymi jest układ 74HCT640.
Linia wejściowa DIR służy do wyboru kierunku przepływu danych, tak jak pokazano w
tabeli 3.2.
Tabela 3.2. Sterowanie układem 74HC245
gdzie: An  linia wejściowo/wyjściowa,
Bn  linia wejściowo/wyjściowa,
OE  aktywacja bufora wyjściowego,
DIR  kontrola kierunku przepływu danych.
4.Schemat logiczny i zasada działania 8-bitowego rejestru zatrzaskującego 74HC573.
74HC573. Posiada następujące właściwości:
trzystanowe nieodwracające wyjścia, co pozwala na stosowanie układu w systemach
magistralowych,
zawiera w sobie 8-bitowy rejestr składający się z przerzutników typu D wyzwalanych
poziomem niskim,
każdemu przerzutnikowi przyporządkowana jest linia wejściowa i wyjściowa,
dla wszystkich przerzutników jest wspólny sygnał wprowadzania danych LE (latch
enable) i sygnał sterowania ich buforami wyjściowymi OE.
Gdy na linii LE pojawi się poziom niski, to stan sygnałów na liniach wejściowych układu
(D0  D7) zostaje zapamiętany w rejestrze. Kiedy sygnał OE jest w stanie wysokim wyjścia
układu (Q0  Q7) są w stanie wysokiej impedancji. Stan niski na linii OE spowoduje
wystawienie zawartości rejestru na linie wyjściowe. Linia OE nie wpływa na zawartość
rejestrów układu.
5, Schemat logiczny, znaczenie linii, przebiegi czasowe cyklów odczytu i zapisu
asynchronicznej pamięci SRAM o dostępie równoległym i pojemności np. 512 KB.

Znaczenie linii sterujących pamięcią asynchroniczną SRAM:
Linia CS służy do uaktywnienia układu. Stan niski na tej linii aktywuje układ do
transmisji.
Linia OE jest wykorzystywana w trakcie czytania danej, niski poziom na tej linii
uaktywnia bufory wyjściowe pamięci.
Niski poziom na linii WE uaktywnia bufory wejściowe i dezaktywuje wyjściowe
(niezależnie od stanu na linii OE), czyli służy do wprowadzenia danej do pamięci
za pośrednictwem dwukierunkowych linii I/O1  I/O8,
pod adres wskazany przez linie A0  A18


Rys. 4.3. Przebiegi czasowe cyklu odczytu danych z pamięci (zmiana adresu)
----------------------------------------------------

Rys. 4.4. Przebiegi czasowe cyklu odczytu danych z pamięci (sterowanie sygnałem OE)
----------------------------------------------------


Rys. 4.5. Przebiegi czasowe cyklu zapisu danych do pamięci (sterowanie sygnałem WE)

----------------------------------------------------


Rys. 4.6. Przebiegi czasowe cyklu zapisu danych do pamięci (sterowanie sygnałem CS)
----------------------------------------------------

6. Schemat logiczny, znaczenie linii pamięci FLASH typu NOR o dostępie równoległym
i Pojemności np. 1 MB.
NOR - ma długie czasy zapisu i kasowania, ale umożliwia bezpośredni dostęp do każdej
komórki pamięci. Z tego względu nadaje się do przechowywania danych, które nie
wymagają częstej aktualizacji, ale wymagany jest bezpośredni dostęp do każdej komórki,
np. kod programu mk.
NAND  w stosunku do pamięci typu NOR ma krótszy czas zapisu i kasowania, większą
gęstość upakowania danych, korzystniejszy stosunek kosztu pamięci do jej pojemności
oraz dziesięciokrotnie większą wytrzymałość. Jej główną wadą jest sekwencyjny dostęp
do danych, przez co może być stosowana jako pamięć masowa, np. w kartach pamięci,
lecz jest bezużyteczną jako pamięć trzymająca kod programu.
Znaczenie linii pamięci FLASH z interfejsem standardowym:
A0  An  (n+1)-bitowa magistrala adresowa (dla Am29F080B n = 19), wystawiany jest
na niej n-bitowy adres komórki do odczytu lub zapisu,
DQ0  DQ7  8-bitowa dwukierunkowa magistrala danych służąca do wprowadzania i
wyprowadzania danych spod adresów ustawianych na magistrali adresowej,
CE#  (Chip Enable) wybór (aktywacja) układu poziomem niskim,
WE#  (Write Enable) niski poziom na tej linii powoduje zapis bajta pod wskazany adres
(ale nie zapis bajta do pamięci FLASH  to wymaga uruchomienia procedury
programowania),
OE#  (Output Enable) niski poziom na tej linii powoduje wystawienie na magistrali
danych danej spod wskazanego adresu,
RESET#  sprzętowy reset wprowadzający pamięć w tryb odczytu, aktywny stanem
niskim,
RY/BY#  wyjście służące do sprawdzania czy pamięć zakończyła wewnętrzne
algorytmy kasowania/programowania, stan wysoki oznacza gotowość na przyjęcie
kolejnych poleceń, stan niski informuje, że pamięć jest zajęta (niegotowa), bo jest w
trakcie wykonywania wewnętrznych operacji


7. Rozkazy sterujące pamięcią FLASH. Sekwencja rozkazowa poszczególnych rozkazów
pamięci FLASH.
Aby odczytać dane z pamięci system musi zapewnić niski stan na wejściach CE# i OE#.
Linia CE# aktywuje pamięć. Linia OE# steruje buforem wyjściowym. Sygnał na linii WE#
powinien być na poziomie VIH. Żadna komenda nie jest wymagana w tym trybie. Jest on
trybem domyślnym po włączeniu napięcia zasilania. Zatem mk może podawać na linie
adresowe A0  A19 adresy danych, które chce otrzymać na liniach danych DQ0  DQ7.
Urządzenie pozostaje dostępne do odczytu dopóki nie zmieni się zawartość rejestru komend.
Aby wprowadzić bajt do pamięci (dokładniej: do jej rejestru komend) wchodzący w skład
sekwencji komendy (np. programującej czy czyszczącej wybrane sektory pamięci), system
musi zapewnić następujące stany na wejściach: WE# i CE# stan niski VIL oraz na wejściu
OE# stan wysoki VIH .
Operacja kasowania uruchamiana po wprowadzaniu do pamięci komendy kasowania
może skasować jeden sektor, wiele sektorów lub całe urządzenie. Tablica adresów sektorów
wskazuje na adres w przestrzeni jaką każdy sektor zajmuje.  Adres sektora to najstarsze bity
adresu potrzebne aby jednoznacznie zidentyfikować sektor (patrz tabela 4.4).
sekwencja rozkazowa składa się z:
dwóch cykli odblokowujących:
w pierwszym cyklu następuje wpis wartości AAh pod adres 555h,
w drugim cyklu wpisywana jest wartość 55 pod adres 2AAh,
w trzecim cyklu następuje wprowadzenie kodu polecenia do rejestru komend, czyli zapis
kodu komendy pod adres 555h, po tym cyklu pamięć znajduje się w trybie zgodnym z
wydanym rozkazem,
czwarty cykl zależny jest od wydanej komendy:
w trybie autoselect następuje odczyt danych identyfikacyjnych,
w trybie programowania bajt PD ustawiony na magistrali danych będzie wpisany
pod adres PA ustawiony na magistrali adresowej,
w trybie gotowości do kasowania (po wpisie wartości 80h pod adres 555h w trzecim
cyklu) cykl ten jest ponownie pierwszym cyklem odblokowującym dla sekwencji
rozkazowych kasowania sektora lub całej pamięci.
cykl piąty jest drugim cyklem odblokowującym dla sekwencji rozkazowych kasowania
sektora lub całej pamięci,
w ostatnim szóstym cyklu wprowadzany jest kod rozkazu kasowania całej pamięci
(wartość 10h pod adres 555h) lub kasowania wybranego sektora (wprowadzany kod 30h)
o adresie S.A.
Rozkaz autoselect umożliwia uzyskanie dostępu do kodów producenta i pamięci, a także
pozwala na ustalenie, czy dany sektor jest chroniony. Na sekwencję rozkazową składa się
rozkaz AUTOSELECT poprzedzony zapisem 2 cykli odblokowujących. Następnie pamięć
wchodzi w tryb autoselect i możliwy jest odczyt spod każdego adresu dowolną ilość razy
bez inicjowania kolejnej sekwencji rozkazowej. Cykl odczytu spod adresu XX00h zwraca kod
producenta, a spod adresu XX01h kod urządzenia. Cykl odczytu zawierający adres sektora
(SA) i adres 02h zwraca 01h jeśli ten sektor jest chroniony, a 00h w przeciwnym wypadku. W
celu wyjścia z trybu autoselect do pamięci trzeba przesłać rozkaz RESET.
Sekwencja programowanie bajta pamięci składa się z 4 cykli szyny (rozkaz program).
Na sekwencję rozkazową składa się rozkaz ustawiający tryb programowania poprzedzony
zapisem 2 cykli odblokowujących. Dane i adres są wysyłane w następnej kolejności.
Operacja ta inicjuje wykonanie wbudowanego algorytmu programowania. System
programujący nie musi dostarczać dodatkowych sygnałów sterujących czy taktujących.
Urządzenie samo generuje wewnętrzne impulsy programujące i weryfikuje poprawność
zaprogramowania komórki. Kiedy wbudowany algorytm programowania zakończy działanie
urządzenie wraca do trybu odczytu danych i zwalniany jest przerzutnik "zatrzaskujący"
adresy. System nadrzędny może ustalić status operacji programowania na podstawie stanu
linii DQ6 i DQ7. Wszystkie rozkazy wysyłane do urządzenia podczas wykonywania
wbudowanego algorytmu programowania są ignorowane. Programowanie może odbywać się
w dowolnej kolejności i może przekraczać granice sektorów. Pełny algorytm programowania
pamięci pokazano na .
Sekwencja kasowania pamięci składa się 6 cykli szyny. W jej skład wchodzi rozkaz
ustawienia (set-up), czyli wejścia pamięci w tryb gotowości do kasowania, poprzedzony
zapisem 2 cykli odblokowujących. Po nich następują kolejne 2 cykle odblokowujące zapis i
rozkaz kasowania, który uruchamia wbudowany algorytm kasowania. Wszystkie rozkazy
wysyłane do urządzenia podczas wykonywania wbudowany algorytm kasowania są
ignorowane. Kiedy ten algorytm zakończy działanie urządzenie wraca do trybu odczytu
danych i zwalniany jest przerzutnik "zatrzaskujący" adresy. 50ms. Jakikolwiek rozkaz
wysłany podczas 50ms przerwy przestawia urządzenie w tryb odczytu. System musi ponownie
wysłać sekwencje rozkazową oraz adresy dodatkowych sektorów i rozkazy. System może
nadzorować stan linii DQ3 w celu sprawdzenia, czy minął czas przerwy. Przerwa zaczyna się
od narastającego zbocza ostatniego impulsu w sekwencji rozkazowej na linii WE#. Wszystkie
rozkazy wysyłane do urządzenia podczas kasowania sektora są ignorowane. Kiedy
wbudowany algorytm kasowania zakończy działanie urządzenie wraca do trybu odczytu
danych i zwalniany jest przerzutnik "zatrzaskujący" adresy. System nadrzędny może ustalić
status operacji programowania przy wykorzystaniu linii DQ6 i DQ7.
8 Schemat blokowy układów SPLD standardu GAL16V8 oraz funkcje jego bloków.
SPLD (Simple Programmable Logic Device)  proste układy programowalne,
Do układów SPLD zalicza się układy programowalne o architekturach PLA
(Programmable Logic Array), PAL (Programmable Array Logic) i GAL (Generic Array
Logic). Są to układy o najskromniejszych możliwościach logicznych, a więc i najtańsze ze
wszystkich układów programowalnych. Niemniej jednak ich zasoby logiczne są spore,
zawierają bowiem typowo od 4 do 22 makrokomórek logicznych o dwupoziomowej
strukturze logicznej i mogą zwykle zastąpić kilka standardowych układów scalonych
rodziny
74xx. Każda z komórek jest zwykle w pełni połączona z innymi komórkami w danym
układzie scalonym. Do określenia funkcji realizowanych przez makrokomórki (ich
skonfigurowania) stosowane są łączniki (klucze), którymi są w większości przypadków
przepalane fragmenty ścieżek (łączniki rozwarciowe  dla układów PLA i PAL) lub
tranzystory MOS (dla układów GAL).
Uwaga dotycząca oznaczania układów GAL:
pierwsza liczba po symbolu GAL oznacza łączną ilość cyfrowych linii sygnałowych,
druga liczba (czyli po symbolu V) określa ilość linii, które mogą pełnić funkcję wyjść
cyfrowych.
Układ GAL16V8 składa się z następujących bloków (rys. 5.2):
z 9 buforów wejściowych,
matrycy połączeń logicznych PROGRAMMABLE AND-ARRAY,
z 8 programowalnych logicznych wyjściowych makrokomórek OLMC (Output Logic
MacroCell),
8 trójstanowych buforów wyjściowych konfigurowanych przez użytkownika,
układu ochrony danych przed odczytem,
pamięci E2CMOS trzymającej zaprogramowaną konfigurację połączeń logicznych.
Bufory wejściowe układu GAL16V8 są kompatybilne ze standartowymi poziomami TTL.
Bufory te charakteryzują się wysoka impedancją i reprezentują o wiele mniejsze obciążenie
dla sterującej logiki niż bipolarne układy TTL.
Wejścia układu maja wbudowane aktywne rezystory podwieszające (Active Pull-Up), więc
niepołączone będą w stanie  wysokim (logiczna  1 ). Producent zaleca aby wszystkie
nieużywane wejścia układu i trzystanowe piny I/O były podłączone do zasilania układu lub
masy. Zwiększa to odporność na zakłócenia i redukuje prąd pobierany przez układ.
Matryca połączeń logicznych składa się z programowalnej macierzy typu AND array z
ustalonymi połączeniami do bramek typu OR. Pole logicznych połączeń jest zorganizowane
jako 16 komplementarnych linii wejściowych (z sygnałami i ich negacjami) krzyżujących się
z 64 liniami typu  product term . Na każdym skrzyżowaniu linii znajduje się komórka typu
E2PROM, która w zależności od zaprogramowania zwiera lub rozwiera linię poziomą od
pionowej. Aącznie w matrycy znajduje się 2048 komórek (rys. 5.3).
Każda komórka powinna zapewnić połączenie pomiędzy linią wejściową (sygnał normalny
lub zanegowany) i końcówką wytwarzającą funkcje sygnału. Lina pozioma jest w stanie
logicznym true jeżeli wszystkie linie  podłączane do niej są w wysokim stanie. 64 linii
product term jest zorganizowanych w osiem grup wyjściowych z ośmioma końcówkami
(liniami) każda. Grupa jest przyporządkowana do danego układu OLMC . Siedem z ośmiu
linii product terms w każdej grupie wyjściowej wchodzi do bramki OR układu OLMC, jedna
służy do sterowania buforem trójstanowym.
Dwie linie wejściowe pin 1 (CLK) i pin 11 (OE) mają szczególne znaczenie. Pierwszy z
nich w trybie rejestrowym (rys. 5.3) pełni funkcje sygnału zegarowego podawanego na
wszystkie przerzutniki typu D układów OLMC. Sygnał OE w tym trybie steruje wyjściowymi
buforami trójstanowymi. W pozostałych trybach pracy (rys. 5.4) te zaciski są normalnymi
wejściami.
9. Tryby pracy układów SPLD standardu GAL16V8 oraz ich ograniczenia projektowe.
Komórkę
OLMC można ustawić w trzech trybach:
prostym (simple),
W trybie prostym makrokomórki są skonfigurowane jako dedykowane wejścia lub jako
dedykowane, zawsze aktywne, kombinacyjne wyjścia (rys. 5.7). Do makrokomórki OLMC
dochodzi osiem linii product term kontrolujących jej logikę. Dodatkowo każde wyjście ma
programowalną polaryzację. Piny 1 i 11 są zawsze dostępne jako wejścia danych matrycy
iloczynów logicznych. Dwie środkowe makrokomórki (piny 15 i 16) są zawsze dostępne jako
dedykowane wyjścia.

złożonym (complex),
W trybie złożonym makrokomórki są skonfigurowane tylko jako wyjścia lub jako funkcje
wejściowo-wyjściowe (I/O functions) (rys. 5.6). W tym trybie można uzyskać maksymalnie
sześć linii wejściowo-wyjściowych. Dwie zewnętrzne makrokomórki (piny 12 i 19) nie mają
możliwości pracy jako wejście (input). Projekty wymagające ośmiu I/O mogą być
zaimplementowane w trybie rejestrowym.
Do wszystkich makrokomórek dochodzi siedem linii product term. Ósma linia product
term jest używana do sterowania buforem trójstanowym. Piny 1 i 11 są zawsze dostępne jako
wejścia danych dla matrycy iloczynu logicznego.

rejestrowym (registered).
W trybie rejestrowym makrokomórki OLMC (rys. 5.5) są skonfigurowane jako
dedykowane wyjścia rejestrowe lub jako funkcje wejściowo-wyjściowe (I/O functions).
Wszystkie makrokomórki dzielą wspólny zegar CLK i pin kontroli OE. Każda
makrokomórka
może być skonfigurowana jako rejestrowa lub wejście albo wyjście kombinacyjne.
Dedykowana funkcja wejścia lub wyjścia może być zaimplementowana jako podzestaw
funkcji wejściowo-wyjściowej (I/O function).
ograniczenia poszczególnych trybów układu GAL16V8:
W trybie rejestrowym piny 1 i 11 są stale skonfigurowane odpowiednio jako wejście
zegarowe CLK i wejście sterujące buforami wyjściowymi OE. Nie mogą być one
dedykowanymi wejściami ogólnego przeznaczenia.
W trybie złożonym piny 1 i 11 stają się dedykowanymi wejściami i używają ścieżek
sprzężenia zwrotnego (feedback paths) odpowiednio pinów 19 i 12. Z tego powodu piny
19 i 12 nie mają opcji sprzężenia w tym trybie, są wyłącznie wyjściami.
W trybie prostym piny 1 i 11 są dedykowanymi wejściami, a wszystkie ścieżki
sprzężenia zwrotnego pinów wyjściowych są poprowadzone przez przyległe piny. Z tego
powodu dwa wewnętrzne piny (15 i 16) nie mają opcji sprzężenia zwrotnego i są zawsze
skonfigurowane jako dedykowane kombinacyjne wyjścia.
10. Schemat blokowy architektury układów CPLD np. XC9500 oraz funkcje bloków
zamieszczonych na tym schemacie.
bloki funkcyjne (FB  Function Block)
bloki wejścia/wyjścia (IOB  I/O Block),
matrycę przełączającą (FastCONNECT switch matrix) łączącą powyższe bloki między
sobą .
Każdy blok funkcyjny FB daje możliwość zaprogramowania 36 wejść i 18 wyjść. Matryca
przełączająca łączy wszystkie wyjścia bloku FB z wejściami innego bloku FB. Dla każdego
bloku FB wyjścia w liczbie od 12 do 18 (w zależności od liczby wyprowadzeń obudowy)
skojarzone z sygnałami output enable sterują bezpośrednio blokami IOB. Blok funkcyjny
poprzez generację stanów na 18 wyjściach steruje matrycą przełączającą. Wyjścia te wraz z
sygnałami output enable sterują blokami IOB.
Matryca przełączająca dostarcza sygnały z bloków IOB i FB do wejść bloków FB (rys.
5.20). Wszystkie wyjścia bloków FB i wejścia/wyjścia bloków IOB są podawane na tę
matrycę. Za pomocą matrycy użytkownik wybiera sygnały, które mają dochodzić do danego
bloku FB. Dodatkowo realizuje ona iloczyn logiczny na drucie co zwiększa funkcjonalność
całego układu.
Bloki wejścia/wyjścia IOB między innymi buforują sygnały wejściowe i wyjściowe z
układu oraz zapewniają odpowiednie parametry elektryczne zacisków, czyli stanowią
interfejs
pomiędzy wewnętrzną logiką, a pinami wejścia/wyjścia układu. Każdy blok zawiera bufor
wejściowy, sterownik wyjściowy, multiplekser wyboru output enable oraz programowalne
uziemienie
11 Schemat blokowy bloku funkcyjnego układów CPLD np. układów rodziny XC9500 oraz
funkcje poszczególnych bloków bloku funkcyjnego.
Blok funkcyjny, jak przedstawiono na rys. , składa się z:
Programowalnej matrycy iloczynów logicznych do której dochodzi 36 sygnałów z
matrycy przełączającej, a wychodzi 90 sygnałów product term.
Z bloku Product Term Allocators (PTAs) zarządzającym liniami typu product term.
Poszczególny blok PTA określa sposób wykorzystania 5 linii product term w danej
makrokomórce.
18 niezależnych makrokomórek, z których każda może realizować funkcję
kombinacyjną bądz rejestrową dzięki zawartemu w niej przerzutnikowi. Do tego
przerzutnika doprowadzony jest sygnał zegara oraz sygnały set/reset.
Do programowalnej matrycy iloczynów logicznych dochodzą 72 sygnały (36 normalnych
sygnałów i 36 ich negacji). Sygnały te są przez nią łączone do 90 linii product term
dochodzących do 18 makrokomórek. Wewnątrz każdego bloku FB możliwe jest
zrealizowanie połączeń (ścieżek) z wyjść makrokomórek do matrycy iloczynów logicznych,
bez potrzeby wyprowadzania ich poza dany blok FB. Ścieżki te wykorzystywane są do
tworzenia bardzo szybkich liczników oraz układów stanów, gdzie wszystkie rejestry stanu są
wewnątrz tego samego bloku FB.
Każda makrokomórka w bloku FB układu XC9500 może być indywidualnie
skonfigurowana tak, aby realizować funkcje kombinacyjne lub rejestrowe.
Blok PTA (Product Term Allocator), zawarty w
każdej makrokomórce, służy do wyboru sposobu użycia tych pięciu linii. Rejestr
makrokomórki może być skonfigurowany jako przerzutnik D lub T, lub też może być
przeznaczony do operacji kombinacyjnych. Każdy rejestr wyposażony jest w dwie
asynchroniczne operacje ustawiania (set) i zerowania (reset).
Blok PTA makrokomórki steruje wykorzystaniem pięciu bezpośrednich linii product terms
dochodzących do niej.
Blok PTA może dokonywać zmian wewnątrz FB i przydzielać makrokomórce dodatkowe
linie, oprócz pięciu podstawowych dochodzących już do niej. Każda makrokomórka
wymagająca dodatkowej linii product term może skorzystać z niewykorzystanej linii innej
makrokomórki wewnątrz bloku FB.
12. Metody zapisu i odczytu danych oraz techniki adresowania układów peryferyjnych z
interfejsem SPI.
metodyzapisu/odczytu danych do/z zewnętrznych układów peryferyjnych:
W przypadku prostych układów (o jednym typie danych i niezależnym sygnale zapisu
danych) możliwe jest przepełnienie zawartości odbiorczego rejestru szeregowego.
Zatem w układzie po przesłaniu do niego dowolnej ilości bitów zostaje zapamiętane tylko
N ostatnich bitów w rejestrze odbiorczym (N  długość danych dla danego układu).
Wysyłany po transmisji danych sygnał zapisu przepisze do wnętrza układu te N bitów.
Właściwość ta pozwala na zaokrąglenie w górę długości wysyłanego słowa do
wielokrotności liczby 8, co pozwala na korzystanie z interfejsu SPI mk, który jak
wiadomo operuje na danych 8-bitowych. W tym przypadku pierwsze bity są nieistotne,
gdyż nie są zapamiętywane. Jest ich 8n  N (gdzie n  wielokrotność 8 bitów, tak aby
zawsze 8n > N).
Przy bardziej złożonych układach wprowadza się do formatu danych bit startu. Czyli
układ pomija kolejno przychodzące bity dopóki nie pojawi się pierwsza jedynka będąca
bitem startu. Po niej dane są ważne.
Transmitowane dane są krotnością 8 bitów. Liczba wysyłanych szeregowo bajtów zależy
od typu rozkazu.
W interfejsie SPI stosuje się różne techniki adresowania układów peryferyjnych. Przez
adresowanie układów peryferyjnych rozumie się włączenie (uaktywnienie) ich do transmisji
danych (przyjmowania lub ich wysłania). Techniki te muszą uwzględnić fakt różnorodnych
wymagań wynikających np. z obecności wielu niezależnych układów korzystających z tego
samego portu transmisyjnego, konieczności wysyłania rozkazów przed, w trakcie i po
transmisji danych.
Dwie najpopularniejsze techniki adresowania układów peryferyjnych:
Najczęściej spotykana w przypadku układów pojedynczych technika, polegająca na
wydzieleniu jednej linii adresującej układ (CS- chip select). Wprowadzenie tej linii w
stan aktywny (najczęściej niski) jest jednoznaczne z zaadresowaniem układu do udziału w
transmisji.
Kolejna technika polega na zawarciu adresu w przesyłanym ciągu danych. Gdy układ
odbiorczy stwierdzi zgodność adresu, to odbiera dane zawarte po adresie. Np. stosuje się
tę technikę w układach składających się z wielu niezależnie programowanych bloków, z
których każdy ma swój własny adres.
13. Schemat ogólny, zasada działania (funkcje poszczególnych bloków) układu
peryferyjnego z interfejsem SPI.
Wszystkie układy peryferyjne z interfejsem SPI składają się z dwóch części (rys. 6.1):
bloku interfejsu SPI służącego do komunikacji z układem (wysyłanie i odbiór danych,
wysyłanie rozkazów i odbiór danych statusowych),
bloku warstwy aplikacji realizującej zadania zgodne z przeznaczeniem układu.
Blok interfejsu SPI składa się z:
Rejestru szeregowego, do którego w takt sygnału zegarowego CLK są na linii wejście
danych SDI szeregowo bit po bicie wprowadzane dane (najczęściej 8-bitowe  czyli
bajty). Dane z układu szeregowo są wystawiane na linii wyjście danych SDO. Transmisja
odbywa się, gdy na linii wyboru układu CS jest stan aktywny (najczęściej stan niski).
Układ kontrolny steruje interfejsem SPI za pośrednictwem linii CS oraz podłączonych
do niego cyfrowych sygnałów sterujących, których występowanie (liczba i pełnione
funkcje) zależą od zastosowania układu (warstwy aplikacji). Zarządza również
komunikacją między rejestrem szeregowym a blokiem aplikacji.
Postać bloku warstwy aplikacji i liczby oraz funkcji dołączonych do niego linii
analogowych i cyfrowych zależy od zastosowania układu. Np. dla układów pamięci blok ten
składa się z matrycy komórek pamięci i obsługujących ją bloków, dochodzą do niego tylko
dwie cyfrowe linie sterujące. Natomiast przetworniki A/C posiadają ustaloną ilość wejść
analogowych, a przetworniki C/A wyjść analogowych
14. Schemat blokowy pamięci o dostępie szeregowym z interfejsem SPI, znaczenie linii i
funkcje jej bloków.
Do sterowania pamięci z szeregowym dostępem stosuje się powszechnie dwie metody:
sterowanie przy użyciu linii portów we/wy mk (dla pamięci z niestandardowym
protokołem wymiany danych),
sterowanie przez interfejs komunikacji szeregowej (dla pamięci z interfejsem SPI i I2C).
Znaczenie linii dla szeregowych pamięci:
Vcc  zasilanie pamięci, Vss  masa.
CS  wybór układu do transmisji (aktywny poziomem niskim). Gdy CS jest w stanie niskim
można do pamięci wprowadzać rozkazy oraz dane i wyprowadzać dane oraz zawartość
rejestru statusu. Pamięć zaczyna wykonywać wprowadzony rozkaz, gdy na CS pojawi
się zbocze narastające.
SO  szeregowe wyjście danych służące do wyprowadzania danych oraz zawartości rejestru
statusu.
SI  szeregowe wejście danych przeznaczone do wprowadzania rozkazów i danych do
pamięci.
SCK  zegar taktujący transmisją szeregową (najczęściej polaryzacja  0 i faza  0 ).
WP   write protect  gdy na tej linii jest stan aktywny (stan niski) i jest ustawiony
odpowiedni bit w rejestrze statusu, to nie można modyfikować zawartości rejestru
statusu.
HOLD  aktywny stanem niskim. Linia służy do wstrzymania (zamrożenia) transmisji
szeregowej w dowolnym momencie i wprowadzenia linii SO w stan wysokiej
impedancji.
Pamięć szeregowa składa się z (rys. 6.3):
bloku interfejsu SPI służącego do komunikacji z otoczeniem,
rejestru statusu służącego do konfiguracji pamięci oraz zawierającego jej stan,
układu kontrolnego pamięci kontrolującego jej pracę i realizującego wbudowane
algorytmy programowania i odczytu danych,
bloków obsługi pamięci składających się z układów obsługujących dostęp do matrycy
pamięci, dla pamięci EEPROM i FLASH z bloków generujących napięcia potrzebne do
programowania i kasowania pamięci oraz z układów wykrywających spadek napięcia
zasilania,
matrycy pamięci składającej się z komórek pamięci danego typu (w danej technologii)
zorganizowanych w wiersze i kolumny.
15. Przebiegi czasowe instrukcji sterujących pamięciami o dostępie szeregowym z interfejsem
SPI o pojemnościach do 64 kB. (O_o)
Rys. 6.5. Przebieg czasowy rozkazu READ
----------------------------------------------------
Rys. 6.6. Przebieg czasowy rozkazu WRITE dla zapisu pojedynczego bajta
----------------------------------------------------
Rys. 6.7. Przebieg czasowy rozkazu WRITE dla zapisu wielu bajtów
----------------------------------------------------
Rys. 6.8. Przebieg czasowy rozkazu WREN Rys. 6.9. Przebieg czasowy rozkazu WRDI
-------------------------------------------------------------------------------------------------------
Rys. 6.10. Przebieg czasowy rozkazu RDSR
----------------------------------------------------
Rys. 6.11. Przebieg czasowy rozkazu WRSR
----------------------------------------------------
No po prostu haba baba tu jest jeszcze z 10 przebiegów dla różnych trybów wiec&
powodzenia
16. Uogólniony schemat blokowy N-bitowych K-kanałowych przetworników A/C
wyposażonych w interfejs SPI, funkcje poszczególnych bloków przetwornika A/C.
Przetworniki A/C z interfejsem SPI składają się z następujących części:
Części cyfrowej składającej się z:
Bloku interfejsu SPI zapewniającego komunikację między przetwornikiem A/C a
otoczeniem. Dołączone są do niego linie: szeregowe wejście danych SDI (w prostych
przetwornikach niewymagających konfiguracji nie występuje) dla danych
konfiguracyjnych np. wybór kanału, zródła napięcia referencyjnego, itp., szeregowego
wyjścia danych SDO służącego do wyprowadzania wyniku konwersji, zegara
taktującego transmisję szeregową SCLK i wejścia wyboru układu CS
uaktywniającego układ do udziału w transmisji, i dla przetworników SAR
uruchamiającego przetwarzanie analogowo-cyfrowe w takt sygnału zegarowego na
linii SCLK.
Układu kontrolnego sterującego wyborem zródła napięcia referencyjnego, kanału
przetwarzania oraz zwłaszcza dla przetworników S - D ustawianiem parametrów
konwersji A/C.
Części analogowej, w której skład wchodzą:
Dla przetworników wielokanałowych multiplekser analogowy służący do wyboru
kanału, z którego będzie pobierane napięcie do przetwarzania A/C.
Układ próbkująco-pamiętający (S&H) zapamiętujący stan napięcia mierzonego i
utrzymujący niezmienną jego wartość przez cały czas konwersji A/C.
Blok przetwarzania A/C  właściwy blok dokonujący konwersji napięcia
mierzonego na kod cyfrowy bazując na metodzie SAR lub metodzie S - D.
Układ napięcia referencyjnego dostarczający za pośrednictwem bufora napięcia
referencyjnego dla bloku przetwarzania A/C. Napięcie referencyjne może pochodzić z
zewnątrz  wówczas podawane jest na pin REFin lub może być wytwarzane przez
wewnętrzne zródło referencyjne (typowo 2,5 V).
17. Schemat blokowy układów przetworników pracujących na zasadzie SAR (np. AD7475,
AD7495), znaczenie linii układu, przebiegi czasowe interfejsu SPI.
Rys. 6.20. Przebiegi czasowe interfejsu SPI dla układów AD7475 i AD7495
18. Schemat blokowy przetworników typu sigma-delta (S - D) (np. AD7791), znaczenie linii
układu, przebiegi czasowe interfejsu SPI, funkcje rejestrów wewnętrznych układów.
Rys. 6.23. Schemat blokowy układu AD7791 przedstawiciela przetworników S - D

Rejestr komunikacyjny
Rejestr komunikacyjny jest 8-bitowym rejestrem tylko do zapisu. Każda komunikacja z
układem musi rozpocząć się od zapisu do niego.
Rejestr statusu (RS1, RS0 = 0, 0; wartość po resecie = 0X8C)
Rejestr statusu jest 8-bitowym rejestrem tylko do odczytu. Dostęp do tego rejestru wymaga
od użytkownika zapisania do rejestru komunikacyjnego informacji o tym, że następną
operacją będzie odczyt, a bity RS1 i RS0 są wyzerowane. Tabela 6.10 zawiera opis bitów w
rejestrze statusu. SR0 do SR7 wskazują na położenie w rejestrze określonego bitu, przy czym
SR7 jest pierwszym bitem strumienia danych.
Rejestr trybu pracy (RS1, RS0 = 0, 1, wartość po resecie = 0x02)
Jest 8-bitowym rejestrem z możliwością zapisu i odczytu danych. Służy do konfiguracji
przetwornika A/C. Można wybrać tryb bipolarny lub unipolarny, uaktywnienie lub
wyłączenie bufora, czy wprowadzić urządzenie w stan obniżonego poboru mocy. W tabeli
6.11 MR0 do MR7 wskazują lokalizacje bitów. MR7 jest pierwszym bitem w strumieniu
danych. Każdy zapis do rejestru resetuje modulator i filtr oraz ustawia bit RDY .
Rejestr filtra (RS1, RS0 = 1, 0 wartość po resecie = 0X04)
8-bitowy rejestr z możliwością zapisu oraz odczytu danych. Jest on używany do ustalania
prędkości przetwarzania. Tabela 6.13 zawiera opis bitów, przy czym FR7 jest pierwszym
bitem w strumieniu danych.
Rejestr danych (RS1,RS0 = 1, 1; wartość po resecie = 0X000000)
Zawiera wynik konwersji (dane). Jest to rejestr tylko do odczytu. Po zakończeniu odczytu
z tego rejestru ustawiany jest bit/pin RDY .
Rys. 6.26. Przebiegi dla trybu pojedynczej konwersji
----------------------------------------------------
Rys. 6.27. Przebiegi dla ciągłego trybu przetwarzania
----------------------------------------------------
Rys. 6.28. Przebiegi dla ciągłego trybu odczytu
----------------------------------------------------
19. Schemat blokowy układu cyfrowego czujnika temperatury z interfejsem SPI (np.
AD7814), funkcje poszczególnych jego bloków, znaczenie linii układu, przebiegi czasowe
interfejsu SPI.
20. Schemat blokowy kontrolera czujników pojemnościowych sterowanego interfejsem SPI
(np.AD7147), znaczenie linii układu, przebiegi czasowe interfejsu SPI.
21. Ogólny schemat przetwornika cyfrowo-analogowego (C/A), funkcje poszczególnych
bloków układu.
22. Schemat blokowy jednokanałowego przetwornika C/A z wyjściem napięciowym (np.
AD5060),znaczenie linii układu, format danych wprowadzanych do rejestru szeregowego,
przebiegi czasowe interfejsu SPI.
23. Schemat blokowy pojedynczego kanału wielokanałowego przetwornika C/A sterowanego
interfejsem SPI (np. AD5390), funkcje rejestrów kanału, format danych wprowadzanych do
rejestru szeregowego, przebiegi czasowe interfejsu SPI.
24. Schemat blokowy układu potencjometru cyfrowego sterowanego interfejsem SPI
(np. AD5260), znaczenie linii układu, przebiegi czasowe interfejsu SPI.
25. Schemat blokowy wzmacniacza o programowalnym wzmocnieniu ustawianym za pomocą
interfejsu SPI (np. MCP6S218), funkcje rejestrów, znaczenie linii układu, przebiegi czasowe
interfejsu SPI.
26. Schemat blokowy układu z pojedynczymi dwukierunkowymi kluczami analogowymi
sterowanego interfejsem SPI (np. ADG714), znaczenie linii układu, przebiegi czasowe
interfejsu SPI.
27. Schemat blokowy układu z przełączającymi matrycami analogowymi sterowanego
interfejsem SPI (np. ADG738), znaczenie linii układu, przebiegi czasowe interfejsu SPI.
28. Uproszczony schemat blokowy generatora przebiegów analogowych z DDS (Direct
Digital Sintesis) sterowanego interfejsem SPI (np. AD9833), funkcje rejestrów, znaczenie
linii układu, przebiegi czasowe interfejsu SPI.
29. Przyczyny stosowania zewnętrznych kontrolerów interfejsów szeregowych np. USB,
CAN, Ethernet, czy radiowych układów nadawczo-odbiorczych na 2,4 GHz.
30. Schemat blokowy kontrolerów interfejsów szeregowych sterowanych interfejsem
SPI, funkcje poszczególnych ich bloków, znaczenie linii układów.
31. Uproszczony schemat blokowy kontrolera Ethernet sterowanego interfejsem SPI (np.
ENC28J60), funkcje poszczególnych bloków
32. Schemat blokowy mikroserwera TCP/IP bazującego na kontrolerze Ethernet (np.
ENC28J60) sterowanym interfejsem SPI, funkcje poszczególnych bloków mikroserwera
TCP/IP.
33. Schemat blokowy bezprzewodowego systemu elektronicznego bazującego na
kontrolerze ZigBee(np. AT86RF230), główne cechy standardu ZigBee.
34. Schemat blokowy układów MEMS sterowanych interfejsem SPI, funkcje
poszczególnych bloków układów, znaczenie linii układów.


Wyszukiwarka

Podobne podstrony:
koło II Grupa A
Ściąga koło II
KOŁO II
gis kolo II
Zag kolo II ZOD
Jakość Koło II PremiumPack
Zagadnienia koło II
Koło II
Tajemnice Budowa koło Złocieńca w Koszalinskim cz II
Chemia II kolo
II koło
II kolo sciaga
Notatki ze Stryera II koło

więcej podobnych podstron