Wewnętrzna pamięć programu, typu ROM, ma pojemność 4096 (4K) słów 8-bitowych. Może być rozszerzona do 64K bajtów przez dołączenie pamięci zewnętrznej.
Wewnętrzna pamięć danych, typu RAM, ma pojemność 128 bajtów. Możliwe jest dołączenie zewnętrznej pamięci danych o pojemności do 64K słów (w ramach osobnej przestrzeni adresowej).
Układ czasowo-licznikowy zawiera dwa 16-bitowe liczniki, które mogą zliczać wewnętrzne impulsy zegarowe lub impulsy zewnętrzne. Oba liczniki mogą pracować w jednym z czterech, ustawianych indywidualnie, trybów.
Linie wejścia-wyjścia, których jest 32, są zorganizowane w cztery 8-bitowe porty. Część z tych linii (zwłaszcza linie portu P3) może być wykorzystana do realizacji specjalnych funkcji.
Port szeregowy umożliwia niezależne nadawanie i odbieranie transmisji szeregowej. Może pracować w czterech trybach.
Układ przerwań (dwupoziomowy) może obsługiwać dwa przerwania zewnętrzne i dwa z układu czasowo-licznikowego oraz przerwaniez układuszeregowegowejścia-wyjścia(razem 5)
Możliwości sprzętowe:
8 kilobajtów pamięci ROM,
512 bajtów pamięci EEPROM,
256 bajtów pamięci RAM (wartości nie giną po przejściu w stan uśpienia),
posiada 16-bitowe timery:
4 poziomowe programowalne preskalary (dzielniki),
3 funkcyjne wej. przechwytujące,
5 funkcyjnych wyj. przechwytujących,
szeregowy interfejs komunikacyjny SCI,
zewnętrzny interfejs szeregowy SPI (master, slave),
8 kanałów 8-bitowego przetwornika A/C,
przerwania czasu rzeczywistego (watch-dog; sprzętowe sprawdzenie poprawności działania procesora,
Możliwości programowe:
wyposażony w instrukcje programowe procesora M6800/M6801,
bity manipulacji (sterowania),
tryb oczekiwania,
tryb zatrzymania.
Mikroprocesor typu M68HC11 wyposażony jest w moduł konwertera A/C który zamienia nam wartości ciągłe (analogowe) na wartości cyfrowe które procesor może przetwarzać.
Posiada 2 interfejsy komunikacyjne: SPI do komunikacji z zewnętrznymi urządzeniami trybie Master/Slave jak np.: konwertery C/A, zegary czasu rzeczywistego itp. Oraz interfejs szeregowy RS232, RS485 do komunikacji np. z komputerem.
Posiada pamięć zorganizowaną w: 8 kilobajtów pamięci ROM, 512 bajtów EEPROM oraz 256 bajtów podręcznej pamięci RAM. Posiada również jednostkę logiczną obsługującą przerwania: IRQ, XIRQ, RESET; jednostkę kontroli trybu pracy; tryb uśpienia; jednostkę sterującą timerami i licznikami; jednostkę umożliwiającą odczyt i zapis do zewnętrznej pamięci. Główną częścią całego mikroprocesora jest jednostka sterująca czyli CPU.
Wewnętrzna pamięć danych zawarta w układzie mikrokomputera, przeznaczonego na pamięć użytkową, ma pojemność 128 lub 256 słów 8-bitowych, w zależności od typu układu najdogodniejsza do zapamiętania argumentów i wyników wszelkiego rodzaju obliczeń. Większość rozkazów przesłań dotyczy tej pamięci i to z niej są pobierane dane do większości dwuargumentowych operacji arytmetycznych i logicznych. Ponadto, w ramach osobnej przestrzeni adresowej można dołączyć do układu zewnętrzną pamięć danych o pojemności do 64K słów. Programowy dostęp do tej pamięci jest możliwy tylko za pomocą rozkazów MOVX.
operandu (w kodzie instrukcji podawany jest numer tego rejestru)
Wewnętrzną pamięć danych adresujemy przez:
adresowanie przez nazwę rejestru ( dotyczy rejestrów roboczych R0...R7 ze wskazanego przez wskaźnik RS zbioru; akumulatora A – rejestr specjalny ACC, adres224; wskaźnika danych DPTR – rejestry specjalne DPH i DPL, adresy 131 i 130).
adresowanie bezpośrednie (pamięć użytkową RAM, adresy 0...127; obszar rejestrów specjalnych, adresy 128...255, jest to jedyny sposób adresowania rejestrów z obszaru SFR)
adresowanie pośrednie zawartością rejestrów. Adresowanie to dotyczy obszaru pamięci użytkowej RAM
Program, danych i stosu pamięci zajmują ten sam obszar pamięci. Całkowity rozmiar pamięci adresowalnych jest 64 KB.
Pamięć programu - program może być umieszczony w dowolnym miejscu w pamięci. Skacz i podprogramu instrukcji obsługi mogą być używane, aby przejść w dowolnym miejscu w pamięci. Warunkowych i bezwarunkowych oddziały są ograniczone do adresów pamięci, umieszczone nie dalej niż -125 - +129 bajtów z instrukcji oddziału.
Pamięć danych - dane mogą być w dowolnym miejscu w pamięci.
pamięci Stack - stos może być umieszczony w dowolnym miejscu w pamięci.
miejsc w pamięci zastrzeżone:
FFF8h - FFF9h: Pointer do przerwania IRQ rutynowego przetwarzania. FFFAh - FFFBh: Pointer oprogramowania rutynowych przerwania przetwarzania.
FFFCh - FFFDh: Pointer do przerwania NMI rutynowego przetwarzania.
FFFEh - FFFFh: Wskaźnik do obsługi kodów RESET.
Niektóre adresy pamięci mogą być zastrzeżone dla odwzorowany w pamięci I / O, gdyż procesor nie posiada sprzętu I / O możliwości.
Natychmiastowe (immediate) dotyczy argumentu umieszczonego w kodzie instrukcji (instrukcja z operandem bezpośrednim)
Rejestrowe bezpośrednie (register direct) wskazuje jeden z rejestrów procesora jako miejsce operandu (w kodzie instrukcji podawany jest numer tego rejestru)
Bezpośredni (direct) – związany z adresowaniem danych w pamięci, efektywny adres operandu podany jest bezpośrednio w kodzie instrukcji (bezpośrednio mogą być tylko wewn. pamięć RAM i obszar rejestrów SFR)
Rejestrowy pośredni (register indirect) – adres komórki pamięci przechowującej dany operand odczytywany jest z rejestru procesora(przy wykorzystaniu rejestrów R0, R1 wybranego banku rejestrów - możliwe adresowanie pamięci RAM wewn. i zewn.)
Pośrednie- zawartością rejestru bazowego i indeksowego - do 16- bitowego adresu bazowego (DPTR lub PC) jest dodawana 8-bitowa zawartość akumulatora A
Motorola
Dostępne są następujące tryby adresowania: bezpośredniego rejestru danych – Dn bezpośredniego rejestru adresowego – An pośredniego rejestrem adresowym – (An)
pośredniego rejestrem adresowym z postinkrementacją – (An)+
pośredniego rejestrem adresowym z predekrementacją – -(An)
pośredniego rejestrem adresowym z przesunięciem – w(An)
pośredniego rejestrem adresowym z indeksem – b(An,Dn.[L,W]); b(An,Am.[L,W])
absolutnego krótkiego – w absolutnego długiego – l
licznikiem programu z przesunięciem – w(PC)
licznikiem programu z indeksem – b(PC,Dn.[L,W]); b(PC,An.[L,W])
natychmiastowe – #x
rejestru statusowego – SR
rejestru kodów warunków – CCR
Różnica między nimi polega na tym że np. w motoroli pod adresem 0 ukrywa się tylko jedna rzecz a w 51’ adres 0 może odnosić się do kilku miejsc(np. adres 0 w rejestrze R0 itd.). W Motoroli adresowanie jest liniowe a w 51’ nie.
Architektura harwardzka – rodzaj architektury komputera. W odróżnieniu od architektury von Neumanna, pamięć danych programu jest oddzielona od pamięci rozkazów[1].
Podstawowa architektura komputerów zerowej generacji i początkowa komputerów pierwszej generacji.
Prostsza (w stosunku do architektury von Neumanna) budowa przekłada się na większą szybkość działania - dlatego ten typ architektury jest często wykorzystywany w procesorach sygnałowych oraz przy dostępie procesora do pamięci cache.
Architektura von Neumanna – pierwszy rodzaj architektury komputera. Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z instrukcjami, co sprawia, że są kodowane w ten sam sposób.
W architekturze tej komputer składa się z czterech głównych komponentów:
pamięci komputerowej przechowującej dane programu oraz instrukcje programu; każda komórka pamięci ma unikatowy identyfikator nazywany jej adresem
jednostki sterującej odpowiedzialnej za pobieranie danych i instrukcji z pamięci oraz ich sekwencyjne przetwarzanie
jednostki arytmetyczno-logicznej odpowiedzialnej za wykonywanie podstawowych operacji arytmetycznych.
urządzeń wejścia/wyjścia służących do interakcji z operatorem
Zmodyfikowana architektura harwardzka − znana również jako architektura mieszana, łączy w sobie cechy architektury harwardzkiej i architektury von Neumanna. Oddzielone zostały obszary pamięci na dane i rozkazy, lecz wykorzystują one wspólne magistrale danych i adresową. Niniejsza architektura umożliwia łatwe przesyłanie danych pomiędzy rozdzielonymi pamięciami.
Przykładem wykorzystania zmodyfikowanej architektury harwardzkiej jest rodzina mikrokontrolerów 8051.
CHARAKTERYSTYKA OGÓLNA:
Ze względu na zastosowane technologie i związaną z tym miniaturyzację czujniki inteligentne, mimo dużych możliwości będą miały małe wymiary i niewielką względnie cenę. Sygnały pomiarowe tych czujników będą dostarczały więcej informacji po wprowadzeniu norm, ponieważ będą zawierały jednostkę oraz symbol identyfikacyjny czujnika. Będą mogły by skorygowane ze względu na wielkości wpływowe, możliwa jest również kalibracja. Przydatne są bezpośrednio w układach sterujących. Transmisja będzie szybka i niezależna od sieci. Mimo zastosowania techniki cyfrowej, użytkownik ma dostęp do sygnału analogowego.
Algorytm obsługi przetwornika w trybie DMA:
-Wyłączy zasilanie przetwornika (tryb power down: MD1 iMD0 ustawione na 0 w rejestrze ADCCN1)
-Adres wskaźnika przesyłanych danych ustawic na początekobszaru danych, wskaźnik danych określany jest 24-bitowo w rejestrach DMAL, DMAH, DMAP (wpisa w podanej kolejności)
-Przygotowac zewnętrzną pamięc danych, określic numery rzetwarzanych kanałów pomiarowych oraz wielkośc bloku danych
-Przeprowadzic inicjalizację rejestrów ADC SFRs w następującej kolejności:
W ADCCON2 ustaw w tryb DMA (MOV ADCCON2,#40; DMA)
W ADCCON1 ustaw parametry czasowe konwersji i włącz zasilanie przetwornika
Proces konwersji DMA może być wyzwalany sygnałem startu pojedynczej konwersji, z układu licznika L2 lub sygnałem zewnętrznym.
DSP Mikroprocesor z 16-bitową arytmetyką stałopozycyjną z własną pamięcią
rozszerzona architektura Harrwardska z trzema magistralami
niezależne jednostki obliczeniowe: ALU, MAC i Shifter
instrukcje realizowane w 1 cyklu maszynowym
pamięć RAM lub ROM i RAM danych w chipie mikropocesora
zintegrowane urządzenia we/wy: port szeregowy, zegar/licznik, interfejs portu nadrzędnego.
generator adresu danych i sekwenser programu
Cechuje go posiadanie oddzielnych magistral dostępu do pamięci programu i pamięci danych, co pozwala na niezależny dostęp do pamięci danych i pamięci programu i danych jednocześnie. Istnieje moduł który pozwala na komunikację pomiędzy magistralami danych i programu, ale dostęp ten nie jest to dostęp bezpośredni.
16kW(kilo słów) Dane 16-bitów (32 kB) 16kW Program 24-bitów(48kB)
Dzięki oddzieleniu jednostek ALU, MAC i Shifter jest możliwe np. iż wynik dodawania będzie argumentem w operacji mnożenia a wynik całej operacji uzyskuje się w ciągu 1 cyklu rozkazowego.
Bufory cykliczne wykorzystują automatyczną implementację generowania adresów modulo dla dostępu do buforów cyklicznych. Do oblicznia kolejnego adresu wykorzystuje się następujące informacje:
-bieżącą lokalizacją, przechowywaną w rejestrze I (bez znaku)
-wartośc modyfikującą, przechowywaną w rejestrze M (ze znakiem)
-długośc bufora przechowywaną w rejestrze L (bez znaku)
-bazowy adres bufora
Generatory adresu danych DAG są jednostkami zaprojektowanymi do generowania adresów
pośrednich w celu wskazania danych w pamięci. Operują na danych 14-bitowych.
Każda jednostka posiada 3 różne typy rejestrów:
I (rejstry indeksowe): zawierają bieżący adres,
M (rejestry modyfikujące): zawierają różnicę pomiędzy bieżącym i następnym adresem,
L (rejestry długości): zawierają rozmiar bufora cyklicznego (dla zapewnienia normalnego liniowego adresowania ustawiane są
na 0).
Każda jednostka DAG zawiera po 4 rejestry każdego typu, numerowane od 0 do 3 dla DAG1 i od 4 do 7 dla DAG2. Rejestry L
i I są niezależne,
W pamięci użytkowej słowa o adresach 0-31 stanowią cztery zbiory uniwersalnych rejestrów roboczych R0-R7. W danej chwili dostępne są rejestry tylko z jednego zbioru, wskazanego przez 2-bitowy wskaźnik zbioru rejestrów, który z kolei może być zmieniany programowo. Drugi i dalsze zbiory mogą być używane jako rozszerzenie pierwszego, oraz przeznaczone do wykorzystania w programach obsługi przerwań lub podprogramach, kiedy istotne jest zachowanie zawartości rejestrów zbioru pierwszego, używanych w programie głównym. Rejestry R0 i R1 z aktywnego zbioru pełnią funkcję wskaźników danych do adresowania pośredniego zawartością rejestru pamięci danych, wewnętrznej i zewnętrznej. W wewnętrznej pamięci danych za pomocą tych wskaźników jest możliwe adresowanie tylko obszaru pamięci użytkowej (0-7FH). W obszarze o adresach 128-255 jest umieszczona grupa rejestrów specjalnych. Należą do nich: Akumulator, rejestr B, słowo stanu programu, wskaźnik stosu, wskaźnik danych oraz DPTR, porty 0-3, słowo sterujące do ustawiania priorytetów przerwań, słowo sterujące pracą systemu przerwań, słowo sterujące i kontrolne układu czasowo- licznikowego i systemu przerwań, słowo sterujące do ustawiania trybu pracy liczników w układzie czasowo-licznikowym, 16-bitowy licznik T0, 16-bitowy licznik T1, słowo sterujące licznika 2, 16-bitowy licznik T2, słowo ładowane do licznika T2, słowo sterujące portu szeregowego, bufor portu szeregowego, słowo sterujące zasilania.
Układy czasowo – licznikowe zawierają dwa 16 –bitowe liczniki T0 i T1. Mogą one zliczać impulsy zewnętrzne, doprowadzone do wejść, odpowiedni T0 (P3.4) lub T1(P3.5), spełniają w ten sposób funkcję licznika. Mogą też zliczać wewnętrzne impulsy zegarowe, celu odmierzenia opóźnień czy generowania przerwań zegarowych o zadanej częstotliwości. W tym przypadku spełniają funkcję czasomierza. Poza tym każdy z nich może pracować w jednym z czterech indywidualnie ustawionych trybów.
Ustawienia trybu pracy (TMOD słowo to ustawia tryby pracy)
M0, M1 (bity sterujące) – wybór trybu.
Określa tryb pracy licznika Ti: M1 M0 = 00-tyrb 0: 8-bitowy licznik THi taktowany poprzez 5-bitowy dzielnik TLi; M1 M0 = 01- tryb 1: 16- bitowy licznik THi, TLi: M1 M0 = 10- tryb 2: 8 –bitowy licznik TLi z automatycznym wpisywaniem wartości początkowej z THi: M1 M0 =
11 –tryb3: licznik T0 – dwa niezależne 8 –bitowe liczniki: TL0 (sterowany za pomocą bitów sterujących licznika T1) i TH0 (sterowany za pomocą bitów sterujących licznika T1); licznik T1 zatrzymany.
długość słowa licznika L2:N(16) pojemność licznika L2:2^n(65536) liczba przepełnienia licznika L2:Nirq okres sygnału Tx:
Tx=Tosc[(N2-N1)+Nirq*2^n] Częstotliwość fx=1/Tx
Przetworniki obrotowo-impulsowe są przeznaczone do pomiaru przemieszczeń kątowych, a więc zarówno do pomiaru kąta jak i prędkości kątowej. Z pomocą napędu paskowego, zębatki lub koła ciernego mogą być mierzone również przemieszczenia liniowe. Przetworniki te pozwalają na określenie pozycji względnej przez zliczanie impulsów. Przy tym kierunek ruchu może być rozpoznawany dzięki przesunięciu fazowemu kanałów A i B, tak, że elektronika współpracująca musi dodawać lub odejmować przychodzące impulsy (tzw. kwadratura). Kanał zerowy C (indeks) oznacza przy każdym obrocie przetwornika pozycję absolutną, która może służyć do wyznaczania pozycji zerowej układu pomiarowego. Przy zgraniu tego sygnału z sygnałem z inicjatora umieszczonego np. na początku stołu frezarki, uzyskać można precyzyjny punkt zerowy mimo dużej histerezy inicjatora. Rozdzielczość przetwornika określana jest w działkach odpowiadających liczbie kresek na tarczy podziałowej przetwornika lub liczbie okresów fali prostokątnej wychodzącej z jednego kanału przetwornika. Licznik rozróżnia wszystkie zbocza sygnałów prostokątnych, co zwiększa liczbę impulsów 4-krotnie. Przetworniki impulsowe wykonywane są w kilku standardach wyjść: najpopularniejszy OC umozliwia pracę wyjścia z różnym od zasilania przetwornika napięciem układu wejściowego i jest idealny do zapewnienia optoizolacji układu pomiarowego, standard NL z zasilaniem +5V dobrze nadaje się w do dużych prędkości, standard PP chętnie jest stosowany w warunkach przemysłowych ze sterownikami PLC. W szerokiej gamie przetworników oferujemy enkodery do pracy ręcznej jako zadajniki, miniaturowe w obudowie przemysłowej, przemysłowe ze wzmocnioną osią, z otworem na oś, o małej i bardzo dużej rozdzielczości.
Patrz 18. To samo
Dołączanie urządzeń zewnętrznych możliwe jest tylko w ramach przestrzeni adresowej zewnętrznej pamięci danych. Sam procesor nie rozróżnia jakie urządzenie jest dołączone, widzi je jako część pamięci adresowej. Urządzenia te rozróżnia układ GAL, a obsługują je 2 linie (RD,WR) oraz porty P0 i P2. Do rozbudowy pamięci systemu mogą być użyte dowolne uniwersalne układy pamięci, lub specjalizowane układy peryferyjne, przystosowane do współpracy z multipleksowaną magistralą. Do rozbudowy we-wy można wykorzystać dowolne układy we-wy, np. z rodziny MCS80. Należy jednak dodać, że rozbudowa systemu, a zwłaszcza dołączanie zewnętrznej pamięci programu, odbywa się kosztem zmniejszenia linii we-wy (nie mogą być użyte porty P0 i P2), oraz strat części zalet jednoukładowości mikrokomputera.
Watchdog (ang. pies stróżujący) to urządzenie lub program, najczęściej układ elektroniczny, chroniący system mikroprocesorowy przed zbyt długim przebywaniem w stanie zawieszenia. Jego działanie polega na zresetowaniu procesora w przypadku nieotrzymania w określonym czasie sygnału generowanego przez program. Występuje w dwóch głównych wariantach: sprzętowym oraz programowym. Sprzętowy uznawany jest za znacznie bardziej niezawodny. W oprogramowaniu umieszcza się funkcję ustawiającą wartość licznika na pewną wartość początkową. Z upływem czasu mierzonego przez niezależny od procesora zegar, wartość licznika zmienia się (zwykle maleje), co określony czas. Jeśli osiągnie pewną wartość, zwykle jest nią 0, następuje opisane zresetowanie procesora lub generowane jest przerwanie. Jednym z założeń poprawnej pracy systemu z watchdogiem jest ustawianie na nowo wartości licznika co pewien czas. Ta funkcja jest umieszczana w programach tak, by wykonywać się co czas mniejszy od czasu wyzerowania licznika. Jeśli program przestanie działać poprawnie – np.: wpadnie w wieczną pętlę lub zakleszczy się i nie będzie ustawiał licznika na nowo, można założyć że reset jest uzasadniony. W ten sposób watchdog chroni system komputerowy przed nieprzewidzianym zatrzymaniem się.
Watchdog jest instalowany w systemach, które działają często bez obsługi człowieka, ich nieprzerwane działanie jest bardzo ważne lub działanie nieprzewidziane może być niebezpieczne. Są standardem w systemach wbudowanych funkcjonujących w różnych urządzeniach. W większości współczesnych mikrokontrolerów watchdog jest jednym z elementów ich architektury i nie trzeba stosować dodatkowego sprzętu. A system udostępnia rozkazy procesora do ustawiania parametrów i resetowania watchdoga. Niektóre systemy operacyjne udostępniają mechanizmy zapobiegające zawieszeniu się (zablokowaniu) systemu w przypadku jego błędu (panika jądra) oraz oprogramowanie obsługi watchdoga programowego i sprzętowego, np pakiet watchdog w Linuksie.
System A/D jest 8-kanałowym, 8-bitowym przetwornikiem z multipleksowanym wejściem, działającym z dokładnością do najmniej znaczącego bitu. Przetwarzanie realizowane jest metodą kompensacji wagowej. Cztery podstawowe bloki funkcjonalne przetwornika to:
multiplekser
przetwornik analogowy - kondensatory ładowane napięciem odniesienia
blok sterowania - układ porównania
4 rejestry przechowujące wynik Działanie:
Z nóżki wejściowej pobierane jest napięcie i porównywane z napięciem odniesienia w obrębie macierzy kondensatorów. Każda konwersja A/D składa się z 8 operacji porównania, począwszy od najbardziej znaczącego bitu. Wyniki kolejnych konwersji zapisywane są w odpowiednich rejestrach wynikowych. Łącznie można dokonać przetworzenia 16 sygnałów analogowych: 8 wejściowych, 4 wewnętrznych punktów odniesienia i 4 rezerwy.
Cztery tryby pracy:
-4 kolejne konwersje w kanale pojedynczym
-ciągła konwersja w kanale pojedynczym
-po jednym przetwarzaniu w czterech kanałach
-ciągła konwersja w 4 kanałach
To samo co wyżej +
Przykład algorytmu konwersji wyniku przetwarzania A/C przy parametrach:
Przykład uproszczonego algorytmu konwersji wyniku przetwarzania A/C (bez stosowania arytmetyki liczb zmiennoprzecinkowych), wynik konwersji jest liczbą typu int reprezentującą wartość napięcia wejściowego w [mV] :
Zasady tworzenia aplikacji pomiarowych
Aplikacje pomiarowe powinny być tworzone tak aby ich działanie nie wpływało na wynik pomiaru. Jeżeli w pomiarze istotną rolę odgrywa czas, to obliczenia powinny być wykonywane po dokonaniu pomiarów związanych z czasem. Aplikacje powinny być możliwie jak najmniej skomplikowane, nie powinny wykonywać niepotrzebnych operacji. Powinny one być także w miarę przejrzyste, aby można było je później poprawić, lub rozbudować.
Sprzęt powinien być dobierany tak aby mógł spełniać określone wymagania, np. jeżeli aplikacja będzie potrzebowała więcej pamięci, należałoby dołączyć pamięć zewnętrzną, podobnie jest z układami wejścia wyjścia i przerwaniami. Jeżeli nasz układ pomiarowy nie będzie połączony z komputerem należało by przyłączyć wyświetlacz.
Wyzwalanie pomiaru przetwornika A/C
wyzwalanie programowe
wyzwalanie sprzętowe o tryb pracy ciągły
wyzwalanie zewnętrznym źródłem pobudzającym (generator zewn.)
wyzwalanie wewnętrznym źródłem pobudzającym (generator modułu L2)
tryby mieszany
Nieliniowość całkowa (ang. Integral Nonlinearity - INL) – największe odchylenie rzeczywistej charakterystyki przetwarzania od linii prostej
Rozdzielczość – stosunek przedziału kwantyzacji Q do pełnego zakresu prze-
twornika FS, jest równa odwrotności liczby poziomów kwantyzacji, najczęściej określana liczbą bitów N słowa cyfrowego
Dokładność przetwornika (bezwzględna lub względna) – największa różnica między rzeczywistą a przewidywaną wartością sygnału analogowego dla danego słowa cyfrowego
Błąd przesunięcia (bezwzględny lub względny) – różnica między rzeczywistą a idealną wartością sygnału analogowego dla minimalnej lub zerowej wartości cyfrowej
Błąd skalowania (wzmocnienia ang. gain error) – różnica między przewidywaną i ekstrapolowaną wartością rzeczywistą sygnału analogowego dla pełnego zakresu przetwornika
Nieliniowość różniczkowa (ang. Differencial Nonlinearity – DNL ) – charakteryzuje lokalne odchylenia charakterystyki od linii prostej
Czas przełączania – czas zmiany napięcia wyjściowego przetwornika od wartości początkowej do 90% zakresu zmiany napięcia wyjściowego
Maksymalna częstotliwość przetwarzania – maksymalna liczba konwersji na
sekundę, częstotliwość graniczna = 1/czas konwersji
Szpilki napięcia (ang. glitch) – szpilki związane z przenikaniem przez pojemności
pasożytnicze cyfrowych sygnałów przełączających klucze analogowe
Nieliniowość całkowa (ang. Integral Nonlinearity - INL) – największe odchylenie rzeczywistej charakterystyki przetwarzania od linii prostej
Błąd przesunięcia (bezwzględny lub względny) – różnica między rzeczywistą a idealną wartością sygnału analogowego dla minimalnej lub zerowej wartości cyfrowej
Błąd skalowania (wzmocnienia ang. gain error) – różnica między przewidywaną i ekstrapolowaną wartością rzeczywistą sygnału analogowego dla pełnego zakresu przetwornika
Nieliniowość różniczkowa (ang. Differencial Nonlinearity – DNL ) – charakteryzuje lokalne odchylenia charakterystyki od linii prostej
Czas przełączania – czas zmiany napięcia wyjściowego przetwornika od wartości początkowej do 90% zakresu zmiany napięcia wyjściowego
Skuteczna ilość bitów (enob) jest miarą dynamicznych przetwornika analogowo-cyfrowego (ADC) oraz związanego z nim obwody. Rozdzielczość ADC jest określona przez liczbę bitów, która reprezentuje wartość analogową, w zasadzie podając 2N poziomy sygnału dla sygnału N-bitowej. Jednak wszystkie obwody rzeczywistym ADC wprowadzić szumy i zniekształcenia. Enob określa rozdzielczość idealnego obwodu ADC, które mają taką samą rozdzielczość jak obwód pod uwagę.
Enob jest również stosowany jako środek jakości dla innych bloków, takich jak wzmacniacze sample-and-hold. W ten sposób, bloki analogowe mogą być łatwo uwzględnione w obliczeniach sygnału łańcuchowe całkowita enob łańcucha bloków jest zwykle poniżej enob najgorszego bloku.
SINAD jest stosunek wskazujące jakość sygnału.
6,02 Termin na dzielnik konwertuje decybelach (reprezentacja log10) do bitów (reprezentacja log2). [Uwaga 1]
Termin pochodzi od 1.76 błędu kwantyzacji w idealnym ADC. [Uwaga 2]
Uref=2,5mV
U(25)=600mV
dU/dT=-3mV/C
Wbin=3D5hex
Wdec=982
T=25(600-Wdec)/3
T=25(600-981)/3=-102
Umin=(0x53-0x800)*2*1.25/(2^12)=-1,19934082V Umax=(0x8A1-0x800)*2*1.25/(2^12)=0,098266602V
Różnica to napięcie międzyszczytowe czyli 1,19934082V
mały chaczyk przetwornik ADuC812 jest 12 bitowy dlatego do obliczeń Xi=0x03BA
Ux=X*(Uref+ - Uref-)/LX
X -- wartość z przetwornika A/C
Uref(+/-) -- napięcia referencyjne
LX -- liczba możliwych stanów przetwornika czyli 2 do potęgi rozdzielczości przetwornika
ADuC812 - przetwornik 12 bitowy
UWAGA: ADuC812 jest 12-bitowy ale w rejestrach wynikowych sprzedaje również informacje
o numerze przetwarzanego kanału. Chodzi o tą 8-kę z
przodu.
Tx=Tn+(Ux-Un)/Kn
Wzór wynika z funkcji liniowej gdzie mamy jeden punkt i współczynnik kierunkowy.
Tn -- z podanych informacji o czujniku temperatura 25°C
Un -- ==||== napięcie w temperaturze 25st czyli
600mV = 0,6V
Kn -- podany parametr kierunkowy charakterystyki czujnika DU/DT=-3mV/
Ux=0,022788V
Tx=217,404st
TAK JAK POWYŻEJ dochodzi tylko średnia ale to jest proste
Ux=X*(Uref+ - Uref-)/LX
X -- wartość z przetwornika A/C
Uref(+/-) -- napięcia referencyjne
LX -- liczba możliwych stanów przetwornika czyli 2 do potęgi rozdzielczości przetwornika
ADuC812 - przetwornik 12 bitowy
UWAGA: ADuC812 jest 12-bitowy ale w rejestrach wynikowych sprzedaje również informacje o numerze przetwarzanego kanału. Chodzi o tą 8-kę z przodu.
Tx=Tn+(Ux-Un)/Kn
Wzór wynika z funkcji liniowej gdzie mamy jeden punkt i współczynnik kierunkowy.
Tn -- z podanych informacji o czujniku temperatura
25°C
Un -- ==||== napięcie w temperaturze 25st czyli
630mV = 0,63V
Kn -- podany parametr kierunkowy charakterystyki czujnika DU/DT=-3mV/
Xi=40D(hex)
Xi=1037
Ui=0,63293457V
Ti=24,021809896°C
Xi+1=409(hex)Xi+1=1033 Ui+1=0,630493164V Ti+1=24,835611979°C
Xi+2=411(hex)Xi+1=1041 Ui+2=0,635375977V Ti+2=23,208007813°C
T(śtednia)=([Ti]+[Ti+1]+[Ti+2])/3 T(średnia)=24,021809896°C
Dla mikrokonwertera AduC812 zachodzą następujące zależności:
Fsys=11059200Hz
Tosc=12/Fosc -> 1.085us
Tprób = 2 * T2 =2*(Dz*1.085us)
Przy czym dzielnik Dz jest liczbą naturalną, a więc stąd wynikają błędy przy doborze częstotliwości próbkowania. Dla naszego przypadku mamy:
fprób=1/Tprób=1/(2*(Dz*1.085us))
stąd
Dz=1/(2*(fprób*1.085us))=14,4
Czyli dobieramy za Dz=143. Teraz należy sprawdzić jaką w rzeczywistości uzyskaliśmy w ten sposób częstotliwość próbkowania i porównać ją z zakładaną:
fprób[143]=1/(2*(14*1.085us))=32916.39 Hz
Czyli błąd względny doboru częstotliwości wynosi:
delfprób=(fprób[14]- fprób)/ fprób=(32916,39- 32000)/32000=0,02286%
???
1.55/2.5*(2^12)=2539,52 -->100111101011(binarnie)
Fmax(jednego kanału)= 1/tkonw=50kHz
Fmax(16-u kanałów)=Fmax(jednego kanału)/16=3125
Umin=(0x53-0x800)*2*1.25/(2^12)=-1,19934082V Umax=(0x8A1-0x800)*2*1.25/(2^12)=0,098266602V
Różnica to napięcię międzyszczytowe czyli 1,19934082V
???
Szukane:
Dane: Ufs=5V, N=14, W=0.25
wzór:
W=(Ufs*D*2)/(2^N) dla bipolarnego przetwornika
W=(Ufs*D)/(2^N) dla unipolarnego przetwornika
po przeksztalceniu:
D=(W*2^N)/2*Ufs=(0.25*2^14)/(2*5)=410
410=110011010B
i teraz zaminiamy na oszczegolne kodowanie
U2: 00 0000 0110 0110
Binarny przesunięty: 01 0001 1001 1010
Znak-modul: 00 0001 1001 1010
???
???
???
???