fpga Ac.doc

(1178 KB) Pobierz
FPGA

FPGA

Współczesne systemy elektroniczne charakteryzują się ogromną dynamiką zmian zarówno w zakresie funkcjonalności jak i możliwości szybkiej adaptacji. Układy FPGA to układy scalone zawierające wiele (64 do 20.000) identycznych komórek logicznych, które mogą być rozpatrywane jako standardowe komponenty. Każda komórka logiczna może niezależnie przyjąć jeden z ograniczonych zbiorów właściwości. Pojedyncze komórki są zintegrowane ze sobą przez matrycę połączeń i programowalnych przełączników. Projekt użytkownika układu FPGA jest implementowany w układzie przez przypisywanie każdej komórce prostych funkcji logicznych i selektywne zamykanie przełączników w matrycy połączeń. Cały projekt jest tworzony przez łączenie takich podstawowych bloków w układ elektroniczny realizujący zadane funkcje.

Cecha swobodnego programowania (Field Programable) oznacza, że funkcja układu FPGA jest definiowana raczej przez program użytkownika, niż przez producenta układu scalonego. W zależności od rodzaju układu, program jest albo "wgrywany" na stałe albo w sposób częściowo odwracalny w procesie składania płyty lub jest przesyłany z pamięci zewnętrznej za każdym razem, gdy układ jest zasilany.

 

Układy FPGA posiadają trzy główne konfigurowalne elementy: konfigurowalne bloki logiki (CLB - configurable logic blocks), bloki wejścia / wyjścia oraz elementy połączeń między blokami. Bloki logiki są zbiorem elementów funkcjonalnych przeznaczonych do konstruowania funkcji logicznych definiowanych przez użytkownika. Boki wejścia / wyjścia służą do definiowania interfejsu pomiędzy końcówkami obudowy układu a wewnętrznymi liniami sygnałowymi. Zbiór programowalnych elementów połączeń umożliwia tworzenie ścieżek połączeń pomiędzy wejściami i wyjściami bloków logiki i bloków wejść/wyjść, tak aby otrzymać właściwą sieć połączeń.

Programowane swobodnie matryce bramek (FPGA) mają korzystne własności cechujące technologię CMOS VLSI, równocześnie pozwalając uniknąć początkowych kosztów, opóźnień czasowych i nieodłącznego ryzyka, jakie niesie wykorzystanie konwencjonalnie maskowanej matrycy bramek. Funkcje układu FPGA dostosowuje się do wymagań użytkownika poprzez wgrywanie danych konfiguracyjnych do wewnętrznych komórek pamięci.

 

              Obszary zastosowań technologii FPGA

 

Naturalnym obszarem zastosowań układów FPGA są wszelkiego rodzaju układy logiki przeznaczone do łączenia standardowych elementów (procesory, pamięci, interfejsy sygnałów) w system elektroniczny. Przetwarzanie sygnałów w dziedzinie cyfrowej tradycyjnie realizowane było przez wykorzystywanie mikroprocesorów o dużej szybkości działania, lecz stały wzrost możliwości przetwarzania i wielkości układów FPGA oferuje możliwość przyspieszenia przetwarzania sygnałów w sposób sprzętowy i programowy.

 

 

Układy FPGA stanowią dobre rozwiązanie w wyjątkowo ekstremalnych ze względu na szybkość przypadkach przetwarzania sygnałów. Zastosowanie układów FPGA do cyfrowego przetwarzania sygnałów oznacza wprowadzenie równoległości wykonywania obliczeń.

 

 

W tradycyjnych układach DSP, w jednostkach MAC obowiązuje zasada potokowego dokonywania obliczeń dla sygnału wchodzącego na wejście układu (architektura von Neumanna). W przypadku układów FPGA przetwarzanie danych wejściowych przebiega równolegle, co wydatnie zwiększa szybkość przetwarzania sygnału - wszystkie operacje wykonywane są przez układ MAC w czasie jednego cyklu zegara. Układy FPGA oferują nawet 1000 krotnie większą szybkość przetwarzania wyższą niż procesory DSP, dorównując szybkością układom ASICs/ASSP, równocześnie stanowiąc o wiele tańsze rozwiązanie niż układy ASICs/ASSP, a często nawet mniej kosztowne niż zastosowanie procesora DSP. Poza tym układy FPGA oferują rozwiązanie elastyczne, dając możliwość dostosowania układu do wymaganych funkcji.

 

Aplikacje wymagające ekstremalnie szybkiego przetwarzania sygnałów pojawiają się w następujących dziedzinach:

komunikacja : modemy bezprzewodowe i przewodowe, stacje bazowe telefonii komórkowej

urządzenia video : sprzęt studyjny do transmisji sygnału wizyjnego, cyfrowe przetwarzanie sygnału wizyjnego, wyświetlacze plazmowe, urządzenia do

przesyłania przez Internet i ISDN oraz dekodowania sygnału wizyjnego i audio (set-top boxes)

zastosowania militarne i do badania przestrzeni powietrznej: radary, sonary, komunikacja

przemysł: systemy wizyjne maszyn, systemy zobrazowania w medycynie, testowanie i pomiary

 

Diffrent version

 

Firma Actel wprowadziła na rynek pierwsze układy FPGA rodziny Igloo zamykane w miniaturowych obudowach SMD o powierzchni 4x4mm i rozstawie wyprowadzeń 0,4mm. Układy tej rodziny, produkowane dotąd w obudowach 8x8mm i 5x5mm charakteryzują się bardzo małym poborem mocy wynoszącym 5μW, co w połączeniu z małymi wymiarami czyni je idealnymi do zastosowań w urządzeniach bateryjnych. W chwili obecnej wersje w obudowach 4x4mm są najmniejszymi układami FPGA dostępnymi w sprzedaży. W stosunku do podobnych układów firm konkurencyjnych charakteryzują się czterokrotnie większą gęstością logiczną, trzykrotnie większą liczbą linii I/O i mniejszą o 36% powierzchnią. Pierwszym układem FPGA Igloo dostępnym w nowym typie obudowy jest AGL030 zawierający 30 tys. bramek logicznych. W stosunku do układów konkurencyjnych pobiera 200-krotnie mniej mocy w stanie statycznym i zapewnia ponad 10-krotnie dłuższy czas pracy baterii. Zawiera pamięć Flash, 66 linii I/O do dowolnego wykorzystania i 192 makrokomórki. Może pracować w unikalnych trybach oszczędnościowych, ograniczających do minimum pobór mocy. Ceny hurtowe AGL030 zaczynają się od 1,5USD.

 

Układy programowalne

 

Co to jest układ programowalny?? To taki układ, którego fizyczna struktura wewnętrzna może być zmieniana pod wpływem róznych czynników. W wyniku zmian struktury zmieniają się właściwości elektryczne tego układu, a co za tym idzie, także realizowane funkcje. Istnieje kilka typów układów programowalnych:

układy jednokrotnie programowalne - w wewnętrznej strukturze tych układów zmieniana jest struktura ścieżek metalizacji poprzez ich przepalanie (niszczenie) lub tworzenie przez przepływ odpowiedniego prądu. Dzięki temu możemy zaprojektować niemalże dowolną ścieżkę połączeń pomiedzy poszczególnymi elementami w układzie. Układ taki można zaprogramować jedynie raz.

układy typu EPROM - zmiana struktury polega nie na przepalaniu scieżek połączeń lecz na zmianach napięcia progowego tranzystorów w bramkach. W tego typu układach stosowane są tranzystory z podwójną bramką (pływającą). Pomiędzy kanałem a właściwą bramką jest odizolowany obszar polikrzemu, który posiada nieskompensowany ładunek, który wpływa na napiecie progowe tranzystora. Jak wiadomo napiecie progowe tranzystora decyduje o tym, dla jakich wartości napięć będzie on włączany. Manipulację ładunkiem nieskompensowanym uzyskuje się poprzez wstrzeliwanie wysokoenergetycznych elektronów ze złącza dren-podłoże. Kasowanie takie układu wykonuje się przez naświetlanie struktury światłem ultrafioletowym. Dzięki zachodzącemu zjawisku fotoelektrycznemu elektrony moga opuścić bramkę izolowaną.

układy typu EEPROM - zasada działania jest identyczna jak układów EPROM, jednak to transportu elektronów do pływającej bramki wykorzystywane jest zjawisko tunelowania nośników z kanału tranzystora. Kasowanie układu odbywa się elektrycznie, przez przyłożenie odpowiedniego napiecia do bramki.

 

Najprostszą strukturą układu PLD (Programable Logic Device) jest struktura matrycy bramkowej AND-OR. Matryca taka posiada programowalną macierz bramek AND oraz stałą (w układach PAL - Programable Array Logic) lub także programowalną (w układach PLA - Programable Logic Array) macierz bramek OR. Przewaga układu PLA nad PAL jest taka, że każda bramka AND może być połączona z każdą bramką OR.

 

Bardziej zaawansowane układy programowalne będziemy omawiać na przykładzie układów firmy Altera, która jest wiodącą firmą na rynku układów programowalnych. Obok niej jest także firma Xilinx oraz firma Lattice.

Przykładem na jakim omówimy układy CPLD (Complex Programable Logic Device) jest układ Max 7000 firmy Altera. Ogólnie rzecz biorąc układy CPLD zbudowane są z tzw. makrokomórek, czyli macierzy AND-OR wyposażonych w dodatkowe rzeczy typu: przerzutniki (najczęściej typu D), multipleksery, bufory trójstanowe. Makrokomórki komunikują się pmiędzy sobą za pomocą matrycy PIA (Programable Interconnect Array). Układ MAX 7000 ma taką samą strukturę. Dodatkowo makrokomórki układu łączone są w grupy, tzw. LAB'y (Logic Array Block). Każdy LAB ma dodatkowo matrycę ekspanderów logicznych, które rozszerzają możliwości realizacji funkcji logicznych. Komórka układu MAX potrafi realizować złożone funkcje wielu zmiennych, jednak nie każdą funkcję. Układy serii MAX 7000 produkowane są w różnych wielkościach i wariantach. Ogólnie rzecz biorąc w układzie znajduje się od 32 do 512 makrokomórek, co przelicza się na mniej wiecej od 600 do 10.000 bramek logicznych. Układy można traktować zegarem do 175 MHz. Ceny układów serii MAX 7000 wachają się w granicach od 50 PLN do 170 PLN (katalog ELFA).

 

Kolejnym typem układów programowalnych, to układy FPGA (Field Programable Gate Array). Ich budowa jest nieco inna. Makrokomórki umieszczone są mniej więcej równomiernie po całej powierzchni układu, a po miedzy nimi przebiega sieć połączń. Przykładem takiego układu FPGA jest układ FLEX10K firmy Altera. Komórka układu FLEX jest inna niż w układzie MAX. Zawieta tablicę LUT (Look UP Table), dzięki której może ona realizować każdą!! funkcję 4 zmiennych. W każdej komórce znajduje się także przerzutnik typu D. Układ FLEX ma także bardzo ciekawą implementację obszaru zwanego EAB (Embedded Array Block). Taka matryca może tworzyć pamięć FIFO, ROM lub RAM o pojemności 2048 B lub układ kombinacyjny (odpowiednik 100-250 bramek logicznych. Układy FLEX10K mają od 567 do 12 160 makrokomórek (tzw. LE - Logic Element) i mogą być traktowane zegarem do 204 MHz. Liczba komórek to bardzo ważna cecha, gdyż każdy element logiczny zawiera przerzutnik - co jest bardzo ważną cechą przy projektowaniu dużych układów sekwencyjnych. Układy FLEX10K mają od 3 do 24 bloków EAB, co przekłada się na pamięć od 6 144 B do 98 302 B.

 

Na koniec omówimy układy ASIC na przykładzie urządzeń serii HardCopy. Nie omówimy tutaj konkretnego układu, gdyż Altera produkuje ich kilka: HardCopy Stratix II, HardCopy APEX i HardCopy II. Co to jest układ ASIC? Application Specyfic Integrated Circuits to układy, które zawierają w sobie pamieć, układy logiczne oraz układy DSP (cyfrowego przetwarzania sygnałów). Układy te są bardzo wygodne, kiedy projekt zakłada przetwarzanie, obróbkę, filtrację i inne operacje na sygnałach. Dzięki obecności układów DSP trzeba stosować dodatkowego procesora sygnałowego w celu ich przetwarzania. Ogólnie rzecz biorąc układy HardCopy zawierają macierze komórek-H (HCells Arrays) realizujące funkcje logiczne, pętle fazowe (PLL) i bloki DSP do przetwarzania sygnałów oraz pamięć RAM (nawet do ponad 8 MB w niektórych układach). Obiekty HCells są złożone z tranzystorów opartych na technologii 90 nm. Oprogramowanie do projektowania grupuje odpowiednie komórki dzięki czemu grupa obiektów HCell może realizować funckję bloku ALM z układu Stratix (Bloki ALM w układzie Stratix zawierają po dwa przerzutniki oraz tablicę LUT - na podobieństwo układu FLEX) lub też działać jako blok przetwarzania sygnałów. Ważną cechą obiektu HCell jest to, że niewykorzystana część jest odłączana od zasilania, co skutkuje znaczną oszczędnością energii nawet do 50% w porównaniu z takim samym układem realizowanym w układzie Stratix. Układy HardCopy są układami szybkimi. Można je taktować zegarem do 350 MHz.

 

Aby móc używać układów programowalnych należy zaopatrzyć się odpowiednie oprogramowanie, które umożliwi zaprojektowanie układu oraz jego zaprogramowanie. Oprogramowanie to jest najczęściej tworzone przez samych producentów układu. W przypadku firmy Altera są to dwa narzędzia. Max Plus II oraz Quartus II. Oba z tych mają odpowiednie biblioteki, które zawierają zdefiniowane komponenty. Oprogramowanie pozwala tworzyć zarówno za pośrednictwem schematu graficznego, jak i za pomocą języka opisu sprzętu takiego jak AHDL, VHDL oraz Verilog. Oprogramowanie to dostępne jest także w wersjach niekomercyjnych (studenckich).

 

 

wiki

 

FPGA (ang. Field Programmable Gate Array) to rodzaj programowalnego układu logicznego. Dla projektanta ma funkcjonalność taką samą jak układ typu ASIC, jednak może być wielokrotnie przeprogramowany po tym jak został już wytworzony, zakupiony i zamontowany w urządzeniu docelowym. Największymi dostawcami tego typu układów są firmy Altera i Xilinx a także Actel, Atmel, Cypress, Lattice Semiconductor, QuickLogic.

 

Układy FPGA są zazwyczaj wolniejsze od odpowiadających im układów ASIC i pobierają więcej mocy. Mają natomiast wiele innych zalet takich jak krótszy czas projektowania, niższe koszty produkcji (dla małych serii). Ponadto istnieje obecnie możliwość wykonania tzw. Hard-Copy układu FPGA, czyli układu scalonego o funkcjonalności takiej jak wgrany do układu FPGA projekt. Układ taki jest szybszy i pobiera mniej mocy.

 

Na ogół układy FPGA zawierają rozmieszczone matrycowo bloki logiczne CLB. Poszczególne bloki są łączone ze sobą za pośrednictwem linii traktów połączeniowych (Routing Channels) oraz programowalnych matryc kluczy połączeniowych umieszczonych w miejscu krzyżowania się traktów poziomych i pionowych. Na obrzeżach matrycy bloków logicznych znajdują się programowalne bloki IOB (wejściowo-wyjściowe). Struktury FPGA zawierają od 64 do dziesiątków tysięcy bloków logicznych o bardzo zróżnicowanej budowie. Bloki logiczne mogą być bardzo złożone, jest ich wówczas mniej w układzie, lub względnie proste i jest ich wówczas więcej. Zazwyczaj złożone bloki logiczne zawierają dwie lub więcej pamięci RAM umożliwiających tworzenie tablic wartości funkcji LUT (Look-up Table) i dwa lub więcej przerzutników. W większości układów są to tablice czterowejściowe (pamięć RAM o pojemności 16 bitów). W układach o prostszej budowie, bloki logiczne zawierają zwykle dwuwejściowe układy generacji funkcji kombinacyjnych lub multipleksery czterowejściowe i ewentualnie przerzutniki.

 

Nowoczesne układy FPGA mają możliwość przeprogramowania 'w locie' co prowadzi do pomysłu rekonfigurowalnego komputera czy rekonfigurowalnego systemu - czyli układów, które mogą dostosować swoją strukturę tak by lepiej sprostać zadaniom, przed którymi stoją w danym momencie.

 

Układy FPGA używane są w cyfrowym przetwarzaniu sygnałów, lotnictwie i wojsku, w fazie prototypowej układów ASIC i w wielu innych dziedzinach. Np. układy FPGA firmy Xilinx z powodzeniem sprawdziły się w misji na Marsa zakończonej lądowaniem łazików Spirit i Opportunity.

 

Aby zdefiniować zachowanie układu FPGA używa się języka opisu sprzętu takiego jak Verilog czy VHDL. Następnie przy pomocy narzędzi syntezy generuje się listę połączeń, która potem w procesie implementacji jest odwzorowywana w konkretnym układzie. Należy zwrócić uwagę, że proces syntezy dopuszcza tworzenie układów logicznych dowolnych rozmiarów, podczas gdy proces implementacji jest próbą wpisania go do konkretnego układu FPGA, gdzie może zabraknąć zasobów do realizacji zadanej logiki. Do zaprogramowania układu FPGA służy plik binarny, który zawiera informacje o konfiguracji układu.

 

Układy rekonfigurowalne można podzielić ze względu na rodzaj technologii wykorzystywanej w celu pamiętania swojej konfiguracji:

SRAM - Bazuje na technologii pamięci statycznej, dlatego przy braku zasilania tracą swoją konfigurację.

EPROM - Zazwyczaj programowalne tylko raz. Ewentualnie można wykasować ich konfigurację przy pomocy promieniowanie ultrafioletowego.

EEPROM - Wielokrotnego użytku. Zachowują swoją konfigurację przy braku zasilania.

FLASH - Wielokrotnego użytku. Zazwyczaj komórki FLASH są mniejsze niż odpowiadające im komórki EEPROM, dlatego układy takie są tańsze do wyprodukowania.

przepalenia (ang. fuse), udrożnienia (ang. anti-fuse) - Programowalne tylko raz. Jest to stary typ technologiczny, ale nadal chętnie wykorzystywany przez wojsko z uwagi na wysoką odporność na impuls elektromagnetyczny z broni nuklearnej. W układach tego typu podczas programowania następuje "przepalenie" wybranych wewnętrznych rezystorów (typ. 300 Ω) połączeniowych, co skutkuje trwałością i nieodwracalnością zapisu układu.

 

Układy FPGA to jedna z dwóch rodzin programowalnych cyfrowych układów logicznych o dużym stopniu scalenia - drugą grupę stanowią układy CPLD (Complex Programmable Logic Device) o nieco innej architekturze.

 

Przetworniki A/przetworników

 

1. Rodzaje przetworników A/C:

 

Przetworniki analogowo-cyfrowe zajmują wśród układów elektronicznych miejsce szczególnie ważne, gdyż stanowią ogniwo pośredniczące między dziedziną informacji analogowej - najczęściej dostarczanej przez czujniki, a dziedziną informacji cyfrowej - najlepiej nadającej się do obróbki komputerowej i do przechowywania w pamięciach. Zatem zadaniem przetwornika a/c jest przetworzenie analogowej wartości sygnału, zwykle napięciowego, na równoważną mu wartość cyfrową.

 

Istnieje wiele metod przetwarzania analogowo-cyfrowego, jak również wiele sposobów klasyfikacji tych metod. Metody przetwarzania możemy podzielić na metody bezpośrednie i pośrednie. W układach opartych na metodach bezpośrednich następuje od razu porównanie wielkości przetwarzanej z wielkością odniesienia. Do tej grupy zaliczają się przetworniki z bezpośrednim porównaniem oraz przetworniki kompensacyjne. Przy metodach pośrednich najpierw odbywa się zamiana wielkości przetwarzanej na pewną wielkość pomocniczą ( np. czas lub częstotliwość ), porównywaną następnie z wielkością odniesienia. W zależności od rodzaju wielkości pomocniczej wyróżnia się metodę częstotliwościową i metodę czasową ( prostą lub z podwójnym całkowaniem ).

 

Powyższy podział metod jest oparty na kryterium zasady przetwarzania. Drugim ważnym kryterium jest kryterium czasu, w którym odbywa się przetwarzanie. Pod tym względem metody przetwarzania można podzielić na metody chwilowe oraz metody integracyjne. W metodach chwilowych wynik przetwarzania odpowiada wartości sygnału w pewnej chwili znacznie krótszej od okresu, w którym zachodzi przetwarzanie. Do metod chwilowych należy np. metoda bezpośredniego porównania, metoda kompensacyjna oraz metoda czasowo prosta. W metodach integracyjnych natomiast wynik przetwarzania odpowiada średniej wartości sygnału w okresie integracji, zajmującym na ogół znaczną część okresu przetwarzania. Do metod integracyjnych zalicza się między innymi metodę czasową z podwójnym całkowaniem oraz metodę częstotliwościową.

 

Przetworniki a/c stosowane są nie tylko do przetwarzania napięć stałych, lecz także do przetwarzania napięć zmieniających się w czasie. W tym przypadku pobieranie i przetwarzanie próbek napięcia następuje w wybranych chwilach czasu, na ogół periodycznie z pewną częstotliwością, zwaną częstotliwością próbkowania. Podczas trwania konwersji w przetworniku wartość sygnału wartość sygnału wejściowego może ulec zmianom, co powoduje powstawanie pewnego błędu, zależnego od wzajemnej relacji szybkości zmian sygnału wejściowego i szybkości przetwarzania. W celu uniknięcia tego błędu, szczególnie przy przetwarzaniu napięć szybkozmiennych, stosuje się układ próbkujący z pamięcią, który umieszczony przed przetwornikiem utrzymuje stała wartość sygnału podczas przetwarzania.

 

Ważnym zagadnieniem jest określenie minimalnej częstotliwości próbkowania, zapewniającej pełne odtworzenie sygnału analogowego po przetworzeniu go w postać cyfrową. Prawo próbkowania mówi, że cała informacja zawarta w sygnale ciągłym zmieniającym się w czasie może być wyrażona za pomocą kolejnych próbek cyfrowych jego wartości, jeśli częstotliwość próbkowania jest co najmniej dwukrotnie większa od maksymalnej częstotliwości występującej w widmie sygnału.

 

Najpowszechniej stosowanymi metodami przetwarzania są te, które dobrze nadają się do realizacji za pomocą układów scalonych lub do realizacji monolitycznej. Do metod tych należą:

metoda bezpośredniego porównania,

metoda kompensacyjna wagowa ( z kolejnym próbkowaniem ),

metoda czasowa z podwójnym całkowaniem,

metoda częstotliwościowa.

 

1.1 Przetwornik a/c oparty na metodzie bezpośredniego porównania:

Napięcie wejściowe w przetworniku n- bitowym jest jednocześnie porównywane z 2n-1 poziomami odniesienia przy użyciu 2n-1 komparatorów napięcia. Cyfrowe stany wyjściowe komparatorów, po odpowiednim zakodowaniu, dają cyfrową informację wyjściową w kodzie dwójkowym. Zaleta to duża szybkość przetwarzania ( suma czasu odpowiedzi jednego komparatora i czas kodowania ) . Wadą jest konieczność stosowania bardzo dużej liczby komparatorów w przetwornikach wielobitowych. Są produkowane monolityczne przetworniki o rozdzielczości 6 do 8 bitów i czasach przetwarzania 10 - 20 ns.

1.2 Przetwornik oparty na metodzie kompensacji wagowej:

 

Przetwarzanie polega na kolejnym porównywaniu napięcia przetwarzanego Ui z napięciem odniesienia Ur wytwarzanym w przetworniku c-a. W pierwszej kolejności następuje porównanie napięcia wejściowego z połową napięcia pełnego zakresu przetwarzania. Rezultat tego porównania ustala w rejestrze wartość cyfrową najstarszego bitu słowa wyjściowego oraz wartość najstarszego bitu wejścia przetwornika c-a. W przypadku przetwornika n- bitowego pełny cykl przetwarzania obejmuje n porównań. Zaletą jest możliwość budowania przetworników wielobitowych o dużej szybkości przetwarzania, gdyż czas przetwarzania jest równy nT, gdzie T jest czasem jednego cyklu porównania. Można uzyskać wartość T rzędu 100ns.

1.3 Przetwornik oparty na metodzie czasowej z podwójnym całkowaniem:

 

Wśród metod czasowych przetwarzania szczególnego znaczenia nabrała metoda dwukrotnego całkowania, która należy do najdokładniejszych technik przetwarzania a/c. Jest to jednak metoda wolna.

2. Kody przetwornikowe.

 

Sygnał wyjściowy przetwornika a-c ma postać cyfrową. Formą zapisu cyfrowego są kody cyfrowe, które reprezentują wartość liczbową sygnałów w zapisie dwójkowym.

 

Zwykle stosowane są: naturalny kod dwójkowy, kod dziesiętny o zapisie dwójkowym- BCD lub też ich odpowiedniki komplementarne, utworzone przez inwersję stanów wszystkich bitów kodu, oraz rzadziej kody refleksyjne zwane również cyklicznymi ( np. Graya ). W kodach cyklicznych dowolne dwie kolejne liczby różnią się stanem tylko jednego bitu i stosowane są najczęściej przy przetwarzaniu takich wielkości, jak przesunięcie liniowe lub kąt obrotu, aby wyeliminować błędy powstające wskutek niejednoczesności zmian bitów na różnych pozycjach kodu wyjściowego.

 

Do zapisu liczb obu znaków największe znaczenie praktyczne mają: zapis dwójkowy przesunięty, zapis uzupełnień do dwóch i zapis znak-moduł.

 

Przesunięty kod dwójkowy jest uzyskany przez takie przesunięcie naturalnego kodu dwójkowego, aby kod (10..0) odpowiadający połowie zakresu przetwarzania reprezentował napięcie o wartości równej zeru. Kod ten jest niewygodny dlatego, że może dawać mylące wyniki podczas działań arytmetycznych.

 

W zapisie uzupełnień do dwóch liczbę ujemną otrzymuje się z liczby dodatniej przez negację bitu znaku i wszystkich bitów modułu oraz dodanie jedynki do modułu na pozycji najmniej znaczącego bitu.

 

Zapis znak-moduł umożliwia najbardziej naturalne przedstawienie liczb dodatnich i ujemnych. Moduły tych liczb są identyczne i mogą być reprezentowane za pomocą np. naturalnego kodu dwójkowego lub kodu BCD, a rozróżniane są jedynie dodatkowym bitem znaku ao .Niedogodnością w zapisie znak-moduł jest istnienie dwóch kodów dla zera (00..0, 10..0). Powszechnie stosowanym sposobem zapisu jest kod uzupełnień do dwóch, który zapewnia jednoznaczną reprezentację liczby równej zeru i jest łatwy do wykonywania działań arytmetycznych.

 

1. Przetworniki c/a

 

Mamy 3 m3etody przetwarzania z cyfr. (rotacja liczby binarnej) po analogowej albo U albo I metody prztw.: 1równoległa, 2wagowa, 3 zliczania.

2. Met. Równoległa

Charakterystyczną cecha przetwarzania C/A dzienikowego jest napisciowy sygnał wyjściowy C/A sumującego prądy sygnałów wyjściwych to I

Sygnałem wyjściowym to zależność położenia kluczy I=Uref/4R

W metodzie równoległej dzielnik U złożony z rez. R dostarcza wszystkich możliwych U a sterujący sterownikiem dekoder 1 z n czyli 1 z 5 powoduje załączenie w danej chwili tylko jednego klucza.

Liczba binarna kodowana jest  za  pomocą dekodera i załącza 1 klucz, MSN- najmniej znaczący bit, LSB najstarszy bit, na wyjściu jest 1 lub 0 a w części anal. Rez. Klucza. Na opornikach uzysk. Różne wartości spadku U. Zewrzemy K0 to mamy 0V bo niema na dole R tylko masa

Ten przyklad potrzebuje skomplikowanego wyster. Rezyst. Np. przetwornika 256 bit. Charakterystyczną cecha ze dzielnik U dostarcza wszystkie możliwe napiecia a układ sterowania z dekoderem powoduje wybór określonego U Nap. Jest od razu podane na wyjś. Dlatego są to układy najszybsze. Wada – w przypadku przetw. O dużej rozdzielczości musi być dużo kluczy.

 

6.PRZETWORNIKI a/c

Przetwornik kompensacyjny, metoda kompensacyjna

Istota metody kompensacyjnej polega na sekwencyjnym równoważeniu-kompensowaniu nap. Ux za pomocą odpowiednio wytwarzanego nap. Kompensacyjnego Uk w taki sposób aby kolejne wart. Różnicy Ux-Uk doprowadzić do 0 w praktyce do minimum wynikjącego z rozdzielczości przetw. Cyfrowo analogowego. Proces równoważenia w fun czasu

W chwili t1 ustawiamy w rejestrze wartośc określona przez największea wagę przetwornika C/A wybierajac jeden bit tego przetwornika Uk>Ux wiec wykrywamy różnice w komparatorze więc układ sterowania decyduje o zdjęciu tej wartości i ni ebdzie ona zapamietana w tym rejestrze. Teraz bierzemy druga wartośc o 0,5 mniejszą tzn Uk<Ux wiec jest zapamiętana w rejestrze i nie jest zmienna do niej dodajemy (2) i tu Uk>Ux nie zapamietany (wystepuje efekt przkompensowania) więc cofamy się to t2 i dodajemy 1 gdzie Uk=Ux i to jest zapamietane w rejestrze sa zapamięstane bity które może utrzymaćW stanie gdy Ux=Uk następuje pełna kompensacja napiecia Ux. Jeżeli napięcie Uk jest wytwarzane w postaci przyrostów Δuk to ich liczba Nx potrzebna do spełnienia równości Ux=Uk stanowi wynik przetwarzania.

 

 

...
Zgłoś jeśli naruszono regulamin