MIKROSYSTEMY POMIAROWE

Wielkość: px
Rozpocząć pokaz od strony:

Download "MIKROSYSTEMY POMIAROWE"

Transkrypt

1 MIKROSYSTEMY POMIAROWE I PROCESORY SYGNAŁOWE mgr inż. Kazimierz Brydak pok. bud. A 204 lab. bud. A

2 Mikrosystemy (ang. MST - Micro Systems Technology) są to miniaturowe systemy pomiarowe i wykonawcze, integrujące w skali mikro: czujniki pomiarowe, siłowniki, bloki cyfrowego przetwarzania sygnałów i interfejsy cyfrowe. Technologia mikrosystemów należy do rewolucyjnych technologii XXI wieku. Oparta jest najczęściej na mikro mechanicznych strukturach wykonywanych trójwymiarowo na bazie półprzewodnikowych. Umożliwia wykonanie: czujników wielkości fizycznych, chemicznych i biologicznych, mikro siłowników i systemów wykonawczych, elementów optycznych, elementów chemicznych, układów elektronicznych System Pomiarowy Systemem pomiarowym jest zbiór środków technicznych podporządkowanych wspólnemu celowi i ogólnemu algorytmowi działania, przeznaczony do automatycznego uzyskiwania informacji bezpośrednio z obiektu w celu przekształcenia, pomiaru, przetworzenia, utrwalenia i przedstawienia w formie dostosowanej do wykorzystania przez człowieka oraz dla wprowadzenia do zautomatyzowanego urządzenia sterującego. Cyfrowym systemem pomiarowym jest zespół elementów (urządzeń lub bloków funkcjonalnych), współpracujących ze sobą według określonego algorytmu, połączonych układem przesyłania informacji, tzw. systemem interfejsu, przeznaczony do automatycznego uzyskiwania, przetwarzania, rejestracji i prezentacji w pożądanej formie informacji pomiarowych. Mikroprocesorowe Systemy Pomiarowe Podstawowe jednostki funkcjonalne: jednostki wejścia/wyjścia (WE/WY) jednostki pamięci (pamięć instrukcji programu, pamięć danych) jednostki procesorów procesor jednostki centralnej (CPU ang.) szyny systemowe (t.j. szyna adresu, szyna danych, szyna sterująca) szyna adresowa Klawiatura Porty Wejścia Mikro procesor Pamięć Porty Wyjścia Wyświetlacz urządzenia wejścia szyna danych szyna sterująca urządzenia wyjścia Podstawowa architektura systemu mikroprocesorowego

3 Cyfrowe (dwustanowe), wejścia i wyjścia Analogowe wyjścia, (sygnały napięciowe, prądowe) Analogowe wejścia (sygnały napięciowe, prądowe) Analogowe wejścia (sygnały napięciowe, prądowe) Przełączniki, przyciski,... Przetworniki C/A Przetworniki A/C Przetworniki A/C pomocnicze (pomiar zimnych końców termopar) Ogólny schemat mikroprocesorowego systemu pomiarowego Interfejs komunikacyjny (RS232, RS485..) RAM (EEPROM) Mikroprocesor + procesor numeryczny ROM (FLASH ROM) Interfejs sieciowe (ethernet) Myszka Plotter Klawiatura Dysk elastyczne Dysk optyczny R/W Monitor ekranowy (graficzny) Drukarka (laserowa, atram., term.) Jednostki wejścia/wyjścia 8-bitowa wewnętrzna magistrala danych Rejestr sterujący PORT C PORT B PORT A Rejestr statusu Przykładowy układ blokowy interfejsu urządzeń WE/WY cyfrowych dwukierunkowych - dedykowanych w procesie prgramowania trybu pracy jednostki Bufor trzy- stanowy: (tabela stanów) wejście zezwolenie wyjście

4 JEDNOSTKI PAMIĘCI pamięci półprzewodnikowe Pamięć o dostępie swobodnym RAM (random access memory), R/W statyczne (flip-flop), dynamiczne (pojemnościowe) adresowanie pamięci (metody): adresowanie bezpośrednie, adresowanie pośrednie, adresowanie indeksowe, adresowanie rejestrowe, stronicowanie pamięci, hierarchia urządzeń pamięciowych: Pamięć tylko do odczytu - ROM programowane maską (ROM), programowane przez użytkownika (PROM), kasowalne PROM (EPROM), przeprogramowywane elektrycznie (EAROM) AKUMULATOR REJESTRY ROBOCZE PAMIĘĆ PODRĘCZNA RAM / ROM Dyski Twarde (magnetyczne) Dyski Optyczne Pamięci taśmowe (streamer) Dyski elastyczne organizacja wewnętrzna pamięci: monitor ROM, rozszerzenie ROM obszar roboczy klawiatury, displeya, urządzeń peryferyjnych,... podstawowa pamięć RAM, rozszerzona pamięć RAM, obszary wolne, obszary rezerwowane obszary wymiany z innymi urządzeniami np. DMA (direct memory access)

5 Procesor jednostki centralnej: zadania procesora: operacje transferu danych, operacje arytmetyczne, operacje logiczne, operacje skoków, odgałęzień, obsługa stosu, WE/WY, operacje sterowania grupowego, podzespoły procesora: licznik programu, dekoder instrukcji, moduł zegarowy i sterujący, moduł jednostki arytmetyczno-logicznej ALU, zbiór rejestrów roboczych,... mikroprocesory jednoukładowe (zawierające ROM, RAM, WE/WY cyfr. i analogowe, wewn. generator sygn. zegarowych,...) mikroprocesory zorientowane do ściśle wyznaczonych zadań (kontrolery), mikroprocesory bitowo-okrojone ( do prac wielo-sekcyjnych),... przykład architektury mikroprocesora: (uproszczony schemat blokowy zawierający jednostkę ALU, Akumulator, rejestry robocze, szynę danych we, szynę danych wy, moduł zegarowo/sterujący,...)

6 a. Architektura Von Neumanna (pojedyncza pamięć) PAMIĘĆ PROGRAMU I DANYCH SZYNA ADR. SZYNA DANYCH JEDNOSTKA CENTRALNA CPU b. Architektura Harvardzka (podwójna pamięć) PAMIĘĆ PROGRAMU SZYNA ADR. PROGR. CPU SZYNA ADR. DANYCH PAMIĘĆ DANYCH SZYNA PROGR. SZYNA DANYCH c. Architektura super-harvardzka (podwójna pamięć, pamięć podręczna instrukcji, kontroler WE/WY) PAMIĘĆ PROGRAMU SZYNA ADR. PROGR. SZYNA PROGR. CPU instrukcje pam. podręcznej instrukcje i drugorzędne dane SZYNA ADR. DANYCH SZYNA DANYCH PAMIĘĆ DANYCH Kontroler I/O DANE ZEWNĘTRZNE

7 Architektura procesorów Intel 80C51 Przerwania zewnętrzne Kontr. Przerwań 4k ROM 128 RAM Timer 0 Timer 1 We0 We1 CPU Osc Kontr. Magistral Porty WE/WY SIO TxD RxD P0 P2 P1 P3 Adresy/Dane Organizacja pamięci IRQ4 IRQ3 0023H 001BH 80C51 P1 P0 EPROM IRQ2 0013H Reset IRQ1 IRQ0 000BH 0003H 0000H ALE P3 P2 Latch OE ADDR System przerwań (wektor przerwań): Organizacja pamięci programu: Przestrzeń pamięci programu ROM Dołączenie zewnętrznej pamięci programu. Organizacja pamięci programu ROM FLASH/EE (big memory) 0FFFFh Zewn. EPROM obszar kodu programu ładującego producenta obszar kodu programu ładującego użytkownika 2 kb 6 kb 0FFFFh 0F800h 0F7FFh 0E000h 0DFFFh EA=1 Wewn. x kb FLASH/EE 01FFFh EA=0 Zewn. x kb 62kB kodu użytkownika obszar kodu programu użytkownika 56 kb 0000h 0000h PSEN

8 Organizacja pamięci danych 0FFFFFFh 0FFFFFFh Obszar zewnętrznej pamięci danych (24-bit adres) Obszar zewnętrznej pamięci danych (24-bit adres) h h 2 kb wewn. pamięci danych CFG8xx.0=0 CFG8xx.0=1 Model programowy mikrosystemu 62kB reprogr. nieulotnej pamięci programu FLASH/EE Rdzeń 8051/ bajty RAM obszar 128- bajtów rejestrów specjalnych SFR 4 kb reprogr. nieulotnej pamięci danych FLASH/EE 8-kanałowy 12-bitowy przetwornik A/C inne urządzenia peryferyjne: czujnik temp. 2 x 12-bit C/A WDT PSM TIC

9 INSTRUKCJE PROGRAMOWE MIKROPROCESORA I80C51 Tryby adresowania Natychmiastowe (immediate) dotyczy argumentu umieszczonego w kodzie istrukcji (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. Instrukcje arytmetyczne ADD A,#127 ; adresowanie natychmiastowe ADD a,r7 ; adresowanie rejestrowe bezpośrednie ADD a,7fh ; bezpośrednie ADD ; adresowanie pośrednie

10

11 Przykład mikrokontrolera z przetwornikiem A/C

12 Specjalizowane moduły zegarów/liczników CT0I Int CT1I Int CT2I Int CT2I Int CTI0 CTI1 CTI2 CTI3 CT0 CT1 CT2 CT3 off f osc T2 1/12 Prescaler T2 Licznik przerwanie od 8-bitowego przepełnienia przerwanie od 16- bitowego przepełnienia RT2 T2ER zezwolenie zewn. zerowania magistrala 16-bitowa S S S S S S TG TG STE R R R R R R T T RTE S = set R = reset T = toglle TG = toglle status P4.0 P4.1 P4.2 P4.3 P4.4 P4.5 P4.6 P4.7 Port P4 I/O Port 4 T2 SFR address: COMP Int COMP Int COMP Int CM0 (S) CM1 (R) CM2 (T) TML2 = lower 8 bits TMH2 = higher 8 bits Schemat blokowy układu zegara/licznika 2 mikrokontrolera 80C552 Philips T2 Licznik COMP CM0, CM1, CM2 STE, RTE CT0, CT1, CT2, CT3 CTIi IRQi - zegar licznik 16 bitowy, dostęp 8-bitowy: rejestry TML2, TMH2 - komparator cyfrowy 16-bitowy (1-arg: Licznik L2, 2-arg: rejestr CMi) - rejestry 16 bitowe, dostęp 8-bitowy, CMLi, CMHi - rejestry warunkujące działanie wybranych linii portu P4 na skutek cyfrowej komparacji CMi, - rejestry 16 bitowe, na skutek zdarzenia (opadające zbocze, narastające zbocze sygnału CTiI ) do rejestru wpisywana jest 16-bitowa, bieżąca zawartość, licznika L2 - jednobitowe wskaźniki zdarzenia i - przepełnienie 8 i 16 bitowe licznika L2 Rejestr sterujący zegara/licznika 2 mikrokontrolera 80C552 Philips (TM2CON)

13 Programowane moduły zliczające w pomiarach interwału czasu, okresu i częstotliwości badany sygnał jednobitowy wskaźnik wpisu do rejestru CT0 licznika L2 rejestr CT0 licznika L2 CTI0 CTL0 INT f x CTH0 wewnętrzna 16 bit. magistrala danych f osc =11,0592MHz 1/12 rejestr licznika L2 Dzielnik wstępny 1/2/4/8 T2H T2L PRZERWANIE (INT): 16 bitowe przepełnienie licznika L2 moduł licznika L2 Schemat blokowy struktury układu do pomiaru okresu i częstotliwości przy wykorzystaniu struktury układu licznikowego L2. Bieżący stan licznika L INT14 Przepełnienie licznika L2 Przerwania INT14 Przepełnienie licznika L Sygnał f x Sygnał f osc t Stan licznika L2 rejestrowany N 1 N 2 w rejestrze CT0 (CTH0, CTL0) t długość słowa licznika L2: N (16) 2 Pojemność licznika L2: (65536) Liczba przepełnień licznika L2 (zgłoszonych przerwań od L2): N Nirq Okres sygnału fx (interwał czasu τx): Częstotliwość fx: x osc T T N N N f x 1 T x irq N

14 Program pomiaru okresu (częstotliwości) - PB552 #include <stdio.h> #include <reg552.h> idata union { struct { char hi, lo; } byte; unsigned int word; } N1, N2; idata unsigned N; idata unsigned long LN; static idata unsigned char irq; float Tosc,Tx,Fx; void T2_int() interrupt 14 { irq++; T20V=0; } main() { TM2CON=0x81; CTCON=0x01; Tosc=12.0/ ; EA=1; while (1) { CTI0=0; while (CTI0==0); N1.byte.hi=CTH0; N1.byte.lo=CTL0; /* odbierz wartosc T2 */ } /* oczekujemy na drugie zbocze i zliczamy przepelnienia */ T20V=0; ET2=1; CTI0=0; while (CTI0==0); ET2=0; /* zablokuj zglaszanie przerwan od przepelnien T2 */ N2.byte.hi=CTH0; N2.byte.lo=CTL0; /* odbierz wartosc N2 */ N=N2.word-N1.word; if (N2.word < N1.word) irq--; LN=N+irq*65536L; Tx=LN*Tosc; Fx=1.0/Tx; printf("\nn1=%5u N2=%5u i=%bu", N1.word, N2.word, irq); printf(" N=%8Lu Tx=%.7f Fx=%5.5f", LN, Tx, Fx); irq=0; }

15 Ogólny schemat blokowy przetwornika A/C 80C552 Philips

16 Schemat blokowy modułu przetwornika A/C mikrokontrolera 80C552 Philips Rejestry SFR ADCON ADCH ADC.1 ADC.0 ADEX ADCI ADCS AADR 2 AADR 1 AADR 0 ADC.9 ADC.8 ADC.7 ADC.6 ADC.5 ADC.4 ADC.3 ADC.2 BIT Symbol Funkcja ADCON.7 ADC.1 Pierwszy bit wartości konwersji A/C ADCON.6 ADC.0 Drugi bit wartości konwersji A/C ADCON.5 ADEX Blokada zewnętrznego startu konwersji przez STADC: 0 = konwersja nie może być uruchomiona zewnętrznym sygnałem STADC (pin STADC); 1 = konwersja może być uruchomiona zewnętrznym sygnałem STADC ADCON.4 ADCI Flaga przerwania od przetwornika A/C. Flaga ta jest ustawiana gdy wynik konwersji jest gotowy do odczytu. Flaga musi być zerowana programowo. ADCON.3 ADCS Start i status przetwarzania. Ustawienie tego bitu rozpoczyna konwersję. Musi być on ustawiany programowo lub poprzez zewnętrzny sygnał (pin STADC). Bit ADCS pozostaje 1 w czasie procesu przetwarzania, gdy konwersja zostaje zakończona ADCS zostaje resetowany równocześnie z pojawieniem się przerwania i flagi ADCI. ADCS nie może być zerowany programowo. ADCI ADCS OPERACJA - / / - ADCON.2 ADCON.1 ADCON.0 ADCI ADCS AADR2 AADR1 AADR PRZETWORNIK A/C WOLNY, KONWERSJA MOŻE SIĘ ROZPOCZĄĆ, PRZETWORNIK A/C ZAJĘTY, BLOKADA STARTU NOWEJ KONWERSJI, KONWERSJA ZAKOŃCZONA, BLOKADA STARTU NOWEJ KONWERSJI, Stan nie możliwy. Wybór wejścia analogowego. Bity te kodują binarnie jedno z 8 wejść analogowych portu P5 jako wybrane do procesu konwersji. Mogą być ustawiane tylko gdy ADCI i ADCS są w stanie niskim.

17 Rezultat N dł. słowa przetwornika, AV REF- AV REF+ - napięcia referencyjne przetwornika 2 N V AV in REF AV AV REF REF V in Rezultat N 2 AVREF AVREF AVREF jeżeli: AV REF 0 [ V ] Rezultat V in AV 2 N REF

18 Przykład algorytmu konwersji wyniku przetwarzania A/C przy parametrach: N=10; ; AV REF 0 [ V ] AV REF 2.5 [ V] float Vin, AVRef; AVRef=2.5; Vin=(float)((256*ADCH+(ADCON&0xC0))>>6)*AVRef/1024; 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] : AV REF 0 [ V ] N=10; ; /* uwaga: (5.12/1024)*1000 = 5 */ AV REF 5.12 [ V ] int Vin; Vin=5*((256*ADCH+(ADCON&0xC0))>>6);

19 Przykład algorytmu obsługi wielokanałowego przetwornika A/C z wyzwalaniem sprzętowym serii pomiarów (sygnał wyzwalający STADC przepełnienie 16-bitowe modułu zegara/licznika L2). Obsługa przetwornika, rejestru kontrolno sterującego ADCON w trybie przeglądania, zastosowano również uproszczony sposób konwersji wyników przy zastosowaniu źródła napięcia referencyjnego AVRef=5.12V. Wyniki konwersji przekazywane są kanałem transmisji szeregowej do zewnętrznego odbiornika. /************************************************************* * Moduł: adc_pol.c * Aplikacja: Programu demonstracyjny obsługi przetwornika ADC * mikrokontroler typu: 8xC552 * Obsługa przetwornika w trybie przeglądania * UWAGA: * Kanały są skanowane kolejno po narastającym zboczu sygnału STADC, * Sygnał jest podłączony do P4.7i jest powtarzany z okresem repetycji * co 1.14s. Okres ten jest kontrolowany przez moduł zegara/licznika T2. * Rezultaty przetwarzania przekazywane są kanałem transmisji szeregowej UART. **************************************************************************/ #define ADEX 0x20 #define ADCI 0x10 #define ADCS 0x08 void write_uart (unsigned int *ptr, unsigned int k); void main(void) { unsigned int conversion, result_adc[8]; unsigned char ADC_Channel; S0CON=0x40; /* 8 bits, no parity, 1 STOP bit */ TH1=TL1=0xFD; /* */ PCON=0x80; TMOD=0x20; TR1=1; TM2CON=0x0D; /* źródło sygn. zegarowego T2: osc/96 */ RTE=0x80; /* okres przepełnień: 0.569ms P4.7 zmienia stan na przeciwny co każde 0.569ms ADC konwersja narastającym zboczem sygnału STADC P4.7/STADC: 1.14ms szybkość konwersji */ conversion=0; while (1) { for (ADC_Channel=0; ADC_Channel < 8; ADC_Channel++) { ADCON=0; /* ADCI i ADCS są zerowane */ ADCON=ADC_Channel; /* przed wybraniem numeru kanału ADC */ if (ADC_Channel==0) ADCON=ADEX; /* ADC0: zewnętrzny start konwersji T2 */ else ADCON=ADCON ADCS; /* ADC1..ADC7: programowy start */ while((adcon&adci)==0); /* Czekaj na zakończenie konwersji sprawdzając ADCI */ result_adc[adc_channel]=5*((256*adch+(adcon&0xc0))>>6); /* Oblicz 10 bitowy binarny rezultat przetwarzania dla Uref=5.12V */ } write_uart(&result_adc, conversion++); /* Wyprowadzenie rezulatu do modułu UART */ if (conversion==10000) conversion=0; } }

20 Schemat zastępczy obwodów wejściowych przetwornika A/C Charakterystyka przetwarzania i charakterystyka błędu kwantowania

21

22

23 MIKROKONTROLERY MOTOROLA Architektura 8-bitowa (M68HC05, M68HC08, M68HC11) M68HC05 Family, M68HC08 Family M68HC08 Automotive Family M68HC11 Family Architektura 16-bitowa (HCS12, M68HC12, M68HC16, 56800/E) Architektura 32bitowa 32-Bit (68K/ColdFire, MAC7100, MCORE, PowerPC) Narzędzia programistyczne - MCU Development Tools Mikroprocesory Motorola - MC68HC11A8 Hardware Features 8 Kbytes of ROM 512 Bytes of EEPROM 256 Bytes of RAM (All Saved During Standby) Relocatable to Any 4K Boundary Enhanced 16-Bit Timer System: Four Stage Programmable Prescaler Three Input Capture Functions Five Output Compare Functions 8-Bit Pulse Accumulator Circuit Enhanced NRZ Serial Communications Interface (SCI) Serial Peripheral Interface (SPI) Eight Channel, 8-Bit Analog-to-Digital Converter Real Time Interrupt Circuit Computer Operating Properly (COP) Watchdog System Available in Dual-In-Line or Leaded Chip Carrier Packages

24 Software Features Enhanced M6800/M6801 Instruction Set 16 x 16 Integer and Fractional Divide Features Bit Manipulation WAIT Mode STOP Mode

25

26 PODSTAWOWE PARAMETRY PRZETWORNIKÓW A/C I C/A Metoda przetwarzania A/C Rozdzielczość, Długość słowa kodowego, metoda kodowania Zakres przetwarzania, napięcie referencyjne, maksymalne napięcia wejściowe Liczba kanałów przetwarzania, sposób sprzężenia sygnałów wejściowych Szybkość przetwarzania (próbki/s) Charakterystyka wzmacniaczy wejściowych o impedancja wejściowa (stanu włączenia, stanu wyłączenia, stanu przeciążenia) o prąd polarycji obw. wejściowych o wsp. tłumienia sygnałów współbieżnych CMMR o charakterystyki dynamiczne i czasy ustalania sygn. wejściowych dla poszcz. wzmocnień Rozmiar bufora FIFO Metody wyzwalania Metody transferu danych (DMA, przerwania) System rejestrów kontrolno-sterujących (pamięć) warunki otoczenia (pracy) stabilność (czas wygrzewania,..) błędy przetwarzania o nieliniowość całkowa (ang. integral nonlinearity) o nieliniowość różniczkowa (ang. differential nonlinearity) o przesunięcie zera (ang. offset error) o błąd wzmocnienia (ang. gain error) o stosunek sygnału do szumu (ang. signal to (noise + distortion) ratio ) o dokładność względna (ang. relative accuracy) o czas ustalania napięcia wyjściowego (ang. voltage output settling time) o zakłócenia szpilkowe sygnału wyjściowego (glittch) (ang. digital-to-analog glitch impulse)

27 Podstawowe błędy przetworników A/C i C/A Przetworniki A/C Nieliniowość całkowa (Integral Nonlinearity) : Max odchylenie dowolnego kodu od linii łączącej punkty końcowe charakterystyki przetwarzania przetwornika A/C (określana w bitach, częściach ułamkowych bitów) np. ±0.3LSB) Nieliniowość różniczkowa (Differential Nonlinearity): Największa zmierzona różnica pomiędzy dwoma sąsiednimi poziomami sygnału analogowego przy zmianie słowa kodowego o 1 wyrażona (określana w bitach, częściach ułamkowych bitów) np. ±0.3LSB Przesunięcie zera (Offset Error): Przesunięcie charakterystyki przetwarzania od punktu zerowego przy zerowej wartości sygnału wejściowego (określana w bitach, częściach ułamkowych bitów) np. ±4LSB Błąd wzmocnienia (Gain error): Przesunięcie charakterystyki przetwarzania od końcowego punktu przy sygnale wejściowym pełnego zakresu pomiarowego (po uprzedniej adjustacji przesunięcia zera) (określana w bitach, częściach ułamkowych bitów) np. ±2LSB Stosunek sygnału do szumu (Signal to (Noise + Distortion) Ratio ): Stosunek sygnału do szumu określa się dla sygnału sinusoidalnego o max. amplitudzie, stosunek częstotliwości fali sinusoidalnej do częstotliwości próbkowania powinien być liczbą niewymierną. Teoretyczna wartość stosunku sygnał szum dla N-bitowego przetwornika: Dla N=12 S/N=74dB ( S / N) max (6.02 N 1.76) db Całkowite zniekształcenia harmoniczne (Total Harmonic Distortion)

28 Całkowite zniekształcenia harmoniczne to stosunek sumy wartości średniokwadratowych harmonicznych do sygnału podstawowego. Przetworniki C/A Dokładność względna (Relative Accuracy) Dokładność względna jest mierzona jako max odchylenie punktów charakterystyki przetwarzania od linii prostej przechodzącej przez punkt końcowy charakterystyki przetwarzania C/A, odniesioną do napięcia pełnego zakresu przetwarzania i wyrażona w procentach. Pomiar powinien być dokonywany po przeprowadzeniu adjustacji błędu przesunięcia zera i błędu pełnej skali przetwornika. Czas ustalania napięcia wyjściowego (Voltage Output Settling Time) Jest to wartość czasu upływającego do momentu osiągnięcia specyfikowanego poziomu napięcia wyjściowego na skutek zmiany na wejściu odpowiadającej pełnemu zakresowi. Zakłócenia szpilkowe sygnału wyjściowego (GLITTCH) (Digital-to-Analog Glitch Impulse) Powstają w wyniku stanów przejściowych zmiany słów kodowych. Określane powierzchnią obszaru szpilek w nv/s. Przetwornik C/A U U FS szpilka napięciowa o najw. polu powierzchni t ADuC812 jest wyposażony w dwa 12-bitowe napięciowe przetworniki C/A. Każdy z nich posiada wyjściowy bufor napięciowy typu rail-to-rail (wyjście od szyny do szyny zasilającej) obciążany do wartości 10kΩ/100pF. Każdy niezależnie może pracować w zakresie 0V do V REF (wewnętrzne źródło 2.5V) i 0V do AV DD. Każdy z nich może pracować w trybie 8 lub 12-bitowym. Przetworniki wykorzystują wspólnie jeden rejestr kontrolny DACCON oraz 4 rejestry danych, DAC1H, DAC1L, DAC0H, DAC0L. Mogą pracować w trybie 12-bitowym asynchronicznym w którym wartośc wyjściowa napięcia przetwornika C/A uaktualniana jest po wpisaniu danej do DACL dlatego ważana jest kolejność wpisywania danych, najpierw cz. starsza DACH, a potem, młodsza DACL. DACCON (wartość pocz. 04H, brak adresowania bitowego) MODE RNG1 RNG0 CLR1 CLR0 SYNC PD1 PD0 Alokacja Mnemo Opis bitowa nic bitu DACCON.7 MODE DAC MODE bit umieszcza nadrzędny działający tryb dla obu DACs 1 = 8-bit tryb (pisz 8bitowy do DACxL SFR). 0 = 12-bit tryb.bitowy wybór zakresu DAC1. DACCON.6 RNG1 Bit wyboru zakresu przetwornika. DAC1 1 =DAC1 zakres 0-VDD. 0 = DAC1 zakres 0-VREF. DACCON.5 RNG0 Bit wyboru zakresu przetwornika. DAC0. 1 =DAC0 zakres 0-VDD. 0 = DAC0zakres 0-VREF. DACCON.4 CLR1 Bit zerowania DAC1 0 =DAC1 wyjście wymusza do 0V. 1 = DAC1 wyjście normalne. DACCON.3 CLR0 Bit zerowania DAC0 0 =DAC0 wyjście wymusza do 0V. 1 = DAC0 wyjście normalne. DACCON.2 SYNC Bit uaktualnienia synchronicznego 1 wyjścia przetworników są aktywowane wpisem danej do DACxL. Użytkownik może uaktualniać rejestry DACxL/H podczas SYNC=0. Uaktualnie jednoczesne wyjść nastąpi po wpisaniu do SYNC=1.

29 DACCON.1 PD1 Bit Power-Down 1 = Power-On DAC1. 0 = Power-Off DAC1 DACCON.0 PD0 Bit Power Down. 1 = Power-On DAC0 0 = Power-Off DAC0 Architektura przetwornika C/A zawiera drabinkę rezystancyjną współpracującą ze buforowym wzmacniaczem wyjściowym (funkcjonalny ekwiwalent pokazany jest na rys.). Szczegóły architektury są opatentowane U.S. Patent Number Zasada tej architektury gwarantuje monotoniczność i znakomitą różnicową liniowość. Przykładowy program generatora fali sinusoidalnej przy wykorzystaniu przetwornika C/A i chwilowych wartości amplitudy (1 okres 64 próbki) przechowywanych w pamięci kodu programu #include <stdio.h> #include <ADuC831.h> sbit LED = 0x0B4; void main (void) { unsigned code values[64][2]={{0x07, 0xFF},{0x08, 0xC8},{0x09, 0x8E},{0x0A, 0x51},{0x0B, 0x0F}, {0x0B, 0xC4},{0x0C, 0x71},{0x0D, 0x12},{0x0D, 0xA7},{0x0E, 0x2E}, {0x0E, 0xA5},{0x0F, 0x0D},{0x0F, 0x63},{0x0F, 0xA6},{0x0F, 0xD7}, {0x0F, 0xF5},{0x0F, 0xFF},{0x0F, 0xF5},{0x0F, 0xD7},{0x0F, 0xA6}, {0x0D, 0x12},{0x0C, 0x71},{0x0B, 0xC4},{0x0B, 0x0F},{0x0A, 0x51}, {0x09, 0x8E},{0x08, 0xC8},{0x07, 0xFF},{0x07, 0x36},{0x06, 0x70}, {0x05, 0xAD},{0x04, 0xEF},{0x04, 0x3A},{0x03, 0x8D},{0x02, 0xEC}, {0x02, 0x57},{0x01, 0xD0},{0x01, 0x59},{0x00, 0xF1},{0x00, 0x9B}, {0x00, 0x58},{0x00, 0x27},{0x00, 0x09},{0x00, 0x00},{0x00, 0x09}, {0x00, 0x27},{0x00, 0x58},{0x00, 0x9B},{0x00, 0xF1},{0x01, 0x59}, {0x01, 0xD0},{0x02, 0x57},{0x02, 0xEC},{0x03, 0x8D},{0x04, 0x3A}, {0x04, 0xEF},{0x05, 0xAD},{0x06, 0x70},{0x07, 0x36}};

30 DACCON = 0x0D; //DAC0 on 12-bit Asynchronous DAC0H = 0x08; //DAC0 mid scale DAC0L = 0x00; } while (1) { int i, j; for ( i = 0 ; i < 64; i++) { DAC0H = values[i][0]; DAC0L = values[i][1]; for (j=0; j< 3000; j++) ; /* */ } LED ^= 1; }

31 MIKROKONWERTERY Przetworniki inteligentne smart transducer W ciągu ostatnich 20 lat obserwuje się postęp w dziedzinie czujników inteligentnych. IEEE oraz NIST opracowały normę, która obejmuje funkcje i zasady transmisji sygnału. Przetworniki wykonane zgodnie z normą 1451 są przetwornikami nowej generacji, przystosowanymi do pracy w sieci, o możliwościach niespotykanych w dotychczasowych rozwiązaniach. Są niezależne od rozwiązań konstrukcyjnych sprzętu i sieci. Sygnał cyfrowy zawiera informacje o wartości mierzonej wielkości, jej jednostce SI i symbolu przetwornika, może być także sygnałem sterującym. IEEE Institute of Electrical and Electronics Engineers NIST National Institute of Standards and Technology (dawne National Bureau of Standards - NBS) Termin: czujniki inteligentne?... czy układy pomiarowe zdolne są do podejmowania decyzji? Od czujnika wymaga się znacznie mniej. W j. angielskim takie czujniki nazywane są smart sensors lub inteligent sensors. W roku 1992 prof. Ryszard Jachowicz znając poglądy środowisk metrologów zarówno polskich jak i zachodnich zaproponował na konferencji COE 92 następującą definicję czujnika inteligentnego: Czujnik inteligentny jest elementem pomiarowym przekazującym informację o mierzonej wielkości w postaci cyfrowej, który komunikuje się z zewnętrznym cyfrowym systemem pomiarowym (komputerem) w oparciu o standardowy protokół komunikacji i z użyciem standardowego interfejsu W opracowanej normie IEEE 1451 obejmującej sprzęgi przetworników (Smart Transducer Interface Standard For Sensors And Actuators) przyjęta jest inna definicja, obejmująca wszystkie przetworniki, zarówno czujniki jak i organy wykonawcze lub wzbudzające. Wspólne traktowanie czujników i organów wykonawczych wprowadza nowe podejście do sygnału pomiarowego zgodne z treścią tej normy. Sygnały pomiarowe maja taki sam charakter, co sygnały sterujące, są przesyłane po tych samych magistralach i mogą być użyte do sterowania. POSTĘP W DZIEDZINIE CZUJNIKÓW INTELIGENTNYCH Jednym z pierwszych układów jest produkowany seryjnie czujnik inteligentny Eμ358A. Ma on czujnik pierwotny wykonany w technologii IS-FET zintegrowany ze wzmacniaczem. Różne typy czujników inteligentnych nowszej generacji zawierają obecnie cztery podstawowe układy toru przetwarzania sygnałów: wzmacniacz dopasowujący (kondycjonujący) przetwornik analogowo-cyfrowy mikroprocesor 4-bitowy (8-bitowy) nadajnik transmisji szeregowej Wszystkie części toru pomiarowego można wykonać w jednej strukturze scalonej? Typowy dla początku lat dziewięćdziesiątych czujnik inteligentny zawierał trzy układy scalone: część analogową wraz z przetwornikiem A/C mikroprocesor część cyfrową.

32 Network Rs485 Mikrokomputer Zasilacz Czujnik 1 Czujnik 2 inne czujniki Rys. Łączenie zespołu czujników inteligentnych z wykorzystaniem łącza RS 485 i dodatkowych przewodów zasilających CZUJNIK INTELIGENTNY WEDŁUG NOWEJ NORMY Network capable Application procesor (NCAP) Function block Transducer block Adres logic Smart transducer interface module (STIM) Transducer electronic data sheet (TEDS) A/D converter D/A converter Discrete I/O? Transducer Transducer Transducer Transducer Signal isolator Signal isolator Buffered analog output Buffered analog output Smart sensor per IEEE P 1451 definition (15 july 1996) output Rys. Czujnik inteligentny według IEEE NCAP- sprzęg między czujnikiem a siecią. Moduł sprzęgu czujnika inteligentnego - STIM może zawierać wiele różnych czujników i musi posiadać pamięć nieulotną TEDS zawierającą szczegółowy zapis struktury STIM. NAJWAŻNIEJSZE USTALENIA NORMY Norma obejmuje następujące zagadnienia: P normalizacja programów potrzebnych dla pracy NCAP, między innymi: - współpracy ze STIM - dostępu do TEDS - adresowania - sterowania przesyłaniem informacji - komunikacji między przetwornikami a siecią P normalizacja zarówno sprzętu jak i programów związanych z pracą STIM. Norma rozróżnia następujące typy przetworników w zależności od charakteru ich sygnałów: - czujniki - organy wykonawcze - czujniki kolejności zdarzeń - przetworniki próbkujące (wysyłające serie danych) Standardy sieci komunikacyjnych Ethernet Foundation Fieldbus Lonwork Profibus Interbus-S Universal Serial Bus (USB) CAN-Bus Device-Net WorldFIP

33 P-NET HART AS Realizowane funkcje: - adresowanie - przesyłanie danych - przechowywanie informacji o wszystkich przetwornikach i dostępie do nich - identyfikacja - status - sterowanie całym STIM oraz poszczególnymi torami pomiarowymi - przełączanie - przerwania Inne funkcje (dodatkowe): kalibracja, autokalibracja itp. Oddzielny rozdział jest poświęcony jest pamięci TEDS, która zawiera poza danymi układu także funkcje matematyczne przydatne przy korekcji sygnału. Znormalizowane jest również zasilanie (4,5 5,5 V) (3V), pobór prądu przez STIM (nie więcej niż 75 ma ) oraz złącze między NCAP a STIM (dziewięciostykowe). P komunikację dla systemów rozproszonych P komunikację o charakterze mieszanym, np. przesyłanie niektórych cyfrowych danych dotyczących czujników analogowych. Z rys.3 wynika, że każdy czujnik inteligentny (mogący zawierać w sobie kilka czujników pierwotnych), ma własny, bardzo rozbudowany układ cyfrowy. Jest to oczywiście rozwiązanie nadmiarowe, ale umożliwiające uproszczenie zarówno układów sterujących systemem, jak i szybsze ich działanie. PRZETWARZANIE SYGNAŁÓW W CZUJNIKACH WEDŁUG NOWEJ NORMY Dla wytworzenia sygnału dostosowanego do przesyłania w sieci oraz do wykorzystania przez współpracujące urządzenia niezbędne jest wielokrotne przetwarzanie sygnału. Norma nie stawia warunków na przetwarzanie analogowe, więc na schematach funkcjonalnych nie jest ono wyodrębnione. Kalibracja i korekcja sygnału odbywa się przy użyciu informacji zapisanych w TEDS, a więc korygowany jest sygnał cyfrowy. Przy korekcji sygnału może być wykorzystany sygnał z innego przetwornika. Wyjściowy sygnał pomiarowy zawiera (w/g normy) trzy składniki: wartość wielkości mierzonej jednostkę symbol lub numer porządkowy przetwornika

34 a) Sieć Czujnik Przetwornik A/C TEDS Układ adresujący NCAP b) Wzmacniacz separujący Sieć NCAP Układ adresujący Przetwornik A/C Organ wykonawczy Wielkość wyjściowa (np. prąd, siła, moment obrotowy) Wzmacniacz separujący Rys. Przetwarzanie sygnału w czujnikach inteligentnych a) tor sygnału pomiarowego, b) tor sygnału sterującego Liczba użytych jednocześnie czujników może być bardzo wielka. W przykładzie przedstawionym na rys. zastosowano 16 magistral, przy czym do każdej z nich można przyłączyć 255 czujników. Networked snsor Networked snsor Networked snsor Networked snsor Host procesor Network HUB Networked snsor Networked snsor Networked snsor Bus 1 Bus 2 Bus 3 Host controller Bus16 Networked snsor Networked snsor Networked snsor Rys. System czujników inteligentnych badany w Boeing Commertial Airplan Co.

35 KORZYŚCI Z WPROWADZENIA NORMY Najważniejsze zalety normalizacji w dziedzinie czujników inteligentnych to zwiększenie możliwości ich stosowania, a mianowicie: wykorzystywanie znacznie większej niż dotąd liczby czujników w jednym systemie pomiarowym współpracy między systemami zawierającymi różne czujniki, nawet produkowanych przez różne firmy transmisji na odległość niezależnej od rodzaju sieci stosowania w systemach rozproszonych wykorzystania tych samych sygnałów do sterowania brak zależności pracy systemów od rozwiązań sprzętowych. PODSUMOWANIE Ze względu na stosowane technologie i związaną z tym miniaturyzację czujniki inteligentne, mimo niespotykanych dotąd możliwości, będą miały małe wymiary i względnie niewielką cenę. Sygnały pomiarowe tych czujników będą dostarczały więcej niż dotychczas informacji, ponieważ będą zawierały także 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ładów sterujących. Transmisja danych będzie szybka i niezależna od sieci. Mimo zastosowania techniki cyfrowej, dla użytkowników są dostępne również sygnały analogowe.

36 Mikrokonwerter ADuC812 Rys. Schemat blokowy mikrokowertera ADuC812 CHARAKTERYSTYKA OGÓLNA: Analogowe WE/WY: 8-kanałow, Wysoka dokładnośc przetwarzania 12-Bit C/A Źródło napięcie refencyjnego wewnątrz chpiu, 100 ppm/_c Wysoka prędkośc przetwarzania A/C 200 kprb/s Kontroler DMA wykorzystywany w procesie przetwarzania A/C do zapamiętywania wyników w pamięci RAM 2 x 12-Bit ptrzetworniki C/A z wyjściem napięciowym Wbudowany czujnik temeratury (On-Chip) Pamięć: Pamięć programu: 8K Bytes (On-Chip) Flash/EE Pamięć danych: 640 Bytes (On-Chip) Flash/EE Pamieć danych RAM: 256 Bytes (On-Chip) Pamięć danych zewnętrzna: do 16MB Pamięć programu zewnętrzna: do 64KB Rdzeń systemu kompatybilny 8051 Zegar systemowy: 12 MHz (nominalnie) 16 MHz Max 3 moduły 16-Bit zegar/licznik Port 3 o zwiększonej obciążalności 9 wektorów przerwań, 2 poziomy priorytetów Zasilanie: 3 V lub 5 V Tryby pracy: Normal, Idle, and Power-Down Urządzenia peryferyjne( On-Chip): moduł transmisji szeregowych: UART and SPI Serial I/O 2-Wire (400 khz I2C Compatible) Serial I/O Watchdog Timer Monitor napięcia zasilania

37 Architektura pamięci mikrokonwerterów: Rys.1. Pamięć programu. Rys.2. Pamięć danych Rys.3. Model programowy mikrokonwertera Rys.4. Funkcja przetwarzania (statyczna) Rys.5. Format rezultatu przetwarzania A/C U x = X U N 2 N Równanie przetwarzania przetwornika

38 Podstawowe problemy programowej obsługi przetworników A/C (na przykładzie programowania mikrokonwertera ADuC812) wybrane rejestry sterujące przetwornika A/C ( AduC812) zasady obsługi programowo-sprzętowej przetwornika A/C, programowanie rejestrów specjalnych (SFR) przetwornika dostęp bitowy i bajtowy do rejestrów specjalnych przetwornika programowa inicjalizacja pracy przetwornika A/C podstawowe problemy kalibracji przetworników A/C zasady obsługi programowo-sprzętowej przetworników A/C ADCCON1 MD1 MD0 Tryb aktywowania przetwornika: 0 0 ADC powered down 0 1 ADC normal mode 1 0 ADC powered down if not executing a conversion cycle 1 1 ADC standby if not executing a conversion cycle CK1 CK0 MCLK Dzielnik częstotliwości systemowej (przetwornik wymaga 17 taktów zegara systemowego) AQ1 AQ0 ADC Clks Liczba taktów układu wzmacniacza podtrzymującego sygnał wejściowy (Track-Hold) T2C EXC Bit zezwolenia wyzwalania przetwornika sygnałem przepełnienia zegara/licznika L2 Bit zezwolenia wyzwalania przetwornika zewnętrznym sygnałem CONVST(sygnał aktywny LOW, min. czas utrzymania sygnału > 100ns) ADCCON2 ADCI: bit przerwania przerwornika, sygnalizuje zakończenie konwersji pojedynczej lub bloku DMA DMA: bit zezwala na tryb przetwarzania DMA CCONV: bit zezwolenia na tryb ciągły (continuous) przetwornika SCONV: bit startu pojedynczej konwersji (jest automatycznie kasowany po zakończeniu cyklu konwersji) CS3..CS1: bity wyboru kanału multipleksera, CS3 CS2 CS1 CS0 CH# Temp Sensor DMA STOP ADCCON3 BUSY: status zajętości przetwornika podczas konwersji (automatycznie zerowany po zakończeniu konwersji lub kalibracji)

39 Wewnętrzna struktura przetwornika A/C Wyzwalanie pomiaru przetwornika A/C wyzwalanie programowe wyzwalanie sprzętowe o tryb pracy ciągły o wyzwalanie zewnętrznym źródłem pobudzającym (generator zewn.) o wyzwalanie wewnętrznym źródłem pobudzającym (generator modułu L2) tryby mieszany Systemowa obsługa przetwornika A/C obsługa programowa metodą podglądania stanu rejestrów kontrolnych przetwornika (ang. pooling) obsługa programowa z wykorzystaniem systemu przerwań obsługa programowo-sprzętowa z bezpośrednim przekazywaniem danych do pamięci danych systemu (tryb pracy DMA) Tryb DMA pracy przetwornika prekonfigurowanie zewnętrznej pamięci RAM mikrokonwertera (wstępne inicjowanie zawartości pamięci RAM docelowego transferu danych) Rys. Pamięć przed konwersją A/C Rys. Pamięć po wykonaniu cyklu przetwarzania DMA Rys. Cykl przetwarzania DMA (mikrooperacje procesora)

40 Algorytm obsługi przetwornika w trybie DMA: 1. Wyłącz zasilanie przetwornika (Tryb power down: MD1 i MD0 ustawione na 0 w rejestrze ADCCON1) 2. Adres wskaźnika przesyłanych danychustawić na początek obszaru danych, wskaźnik danych określany jest 24-bitowo w rejestrach DMAL, DMAH i DMAP (DMALmusi być wpisany jako pierwszy, potem kolejno DMAH i DMAP) 3. Przygotowac zewnętrzną pamięć danych...określić numery przetwarzanych kanałów pomiarowych oraz wielkość bloku danych (całkowitą liczbę próbek przetwarzanych sygnałów) 4. Przeprowadzić inicjalizację rejestrów ADC SFRs w następującej kolejności: a. w ADCCON2 ustaw tryb DMA ( MOV ADCCON2, #40H; DMA ) b. w ADCCON1ustaw parametry czasowe konwersji i włącz zasilanie przetwornika c. proces konwersji DMA może być wyzwalany sygnałem startu poj. konwersji, z układu licznika L2 lub sygnałem zewn. Metody programowania pamięci programu FLASH/EE: (1) Serial Downloading (In-Circuit Programming) standardowy port transmisji szeregowej przy wykorzystaniu protokołu HEX Intel, tryb pracy uzyskiwany po sygnale RESET z aktywnym sygnałem PSEN=0, (2) Parallel Programming, tryb analogiczny do programowania klasycznych modułów FLASH lub EEPROM przy wykorzystaniu portów P0, P1 i P2, sygnału ALE (3) User Download Mode (ULOAD), specjalny tryb pracy umożliwiający wykorzystanie własnego protokołu ładowania programów (start z adr. 0E000h). Zabezpieczanie pamięci FLASH/EE, tryby zabezpieczeń: Lock Mode Secure Mode Serial Safe Mode

41 Mikrokontroler analogowy ADuC814 (niski koszt, niewielkie wymiary)

42 // Zaawansowany przyklad obslugi przetwornika A/C z sprzętowym // wyzwalaniem startu przetwarzania z obsługą w trybie DMA #include <ADuC812.h> #include <stdio.h> // predefiniowane symbole ADuC812 #define DMACOUNT 100 // liczba AD odczytow do wykonania #define DMACHAN 0x0 // nr kanału // ZMIENNE DEFINIOWANE W WEWNETRZNEJ PAMIECI RAM idata int xdata *ptr; idata int num; bdata bit C; // SEGMENT PAMIECI ZEWNETRZNE DO PRZESLAN DMA xdata int DMASTART[ DMACOUNT + 1]; // location for DMA results void end_of_adc(void) interrupt 6 { // int_6*8+3 = 51dec = 33hex = ADCI CCONV=0; // stop conversions C=0; } // clear C to indicate DMA done main() { int i; // KONFIGURACJA portu transmisji szeregowej - UART SCON = 0x52; // 8bit, noparity, 1stopbit TMOD = 0x20; // konfiguracja Timer1.. TH1 = 0xFD; //..dla 9600baud.. TR1 = 1; // PRE-KONFIGURACJA zewnetrznej RAM dla DMA w pojedynczym kanale for(i=0; i<dmacount; i++) DMASTART[i]=DMACHAN<<12; DMASTART[i]=0xF000; printf("%cprz ZMiSP\n", 0x0C); for (i=0; i<=dmacount; i++) { if (i % 8 ==0) printf("\n"); printf("[%3d]=%04x ", i, DMASTART[i] ); } // KONFIGURACJA ADC dla konwersji typu DMA... DMAL=(char)(&DMASTART); // adres inicjujacy kanal operacji DMA DMAH=(int)(&DMASTART)>>8; DMAP=0; // koniecznie w takim porzadku: DMAL, DMAH, DMAP) ADCCON1=0x64; // 6.51us conv+acq time [ ] ADCCON2=0x40; // DMA mode EA=1; EADC=1; // globalne zezwolenie obslugi przerwan // zezwolenie obslugi przerwan przetwornika ADC C=1; // czekaj na koniec DMA CCONV=1; // start przetwarzania ADC w trybie "continuous" // Trwa konwersja i przesylanie danych DMA //... kiedy transmisja DMA jest kompletna, przetwornik ADC generuje // przerwanie i zeruje bit C while (C); EA=0; EADC=0; // wynik przetwarzania ADC jest juz dostepny w RAM // wydruk kontrony zawartosci pamieci RAM for(i=0; i<=dmacount; i++) { if (i % 8== 0) printf("\n"); printf("[%3d]=%4d ", i, DMASTART[i] ); } printf("\n"); // wydruk kontrolny w postaci slupka danych for(i=0; i<=dmacount; i++) printf("\n%4d ", DMASTART[i] ); printf("\n"); // procedura mrugania dioda while(1) { for (i=0; i<10000; i++) ; P3 ^= 0x10 ; } } // KONIEC

43 Podstawy akwizycji danych pomiarowych Konfiguracja systemów akwizycji danych Kontroler procesu C/A C/A Proces technolo -giczny A/C A/C System akwizycji danych z przetwarzaniem A/C i C/A w pojedynczych kanałach Adres Kanału Pom. Sygn. zegarowy Kan.1 Wejścia analogowe Kan.M Rejestr Adresu Dekoder adresu Adresu MUX R ON R ON Bufor, PP, Wzm., A/C R L Podstawowe parametry multipleksera: czas kluczowania: 50ns do >1s rezystancja stanu włączenia: 25 do setek rezystancja włączenia modulowana (R ON zmienia się od poziomu sygnału) rezystancja izolacji: 50 do 90 db zabezpieczenia przepięciowe Nowe trendy w konstrukcjach multiplekserów: Trench Isolation gives high speed, latch-up protection, and low-voltage operation ADG511, ADG512, ADG513: +3.3V, +5V, 5V specified Ron < 5V Switching Time: 5V ADG411, ADG412, ADG413: 15V, +12V specified Ron < 15V Switching Time: 15V ADG508F, ADG509F, ADG528F: 15V specified Ron < 300 Switching Time: < 250ns Fault-Protection on Inputs and Outputs Kan.1 Kan.M f we f we f we FDP FDP Sygnał zmiany kanału Sygnał zmiany wzmocnienia MUX t mux t wzm f s SAR A/C (bez PP) t konw mux Sygnał startu konwersji A/C N f s t konw 1 t 2 mux t 2 wzm f we 1 N 2 t konw

44 dla przykładu: jeśli N=12 i t konw=20s to wtedy f we=4hz Skąd to? : Jeżeli przetwornik A/C nie posiada układów próbkująco-pamiętających (PP) to dla zapewnienia dokładności przetwarzania na poziomie 1LSB: V(t) V dv LSB 1 dt max t konw Przy max. amplitudzie sygnału sinusoidalnego zapewniającego przetwarzanie przy pełnej skali 2 N 2 lub 2 N 1 maks. szybkość zmian sygnału wejściowego: dv dt max N 2f 2 1 max fmax Biorąc pod uwagę te dwa równania możemy określić f max, 1 fmax 2 N tkonw Dla przykładu przy t konw=20s (co odpowiada częstości próbkowania 50kPS), i 12-bitowej rozdzielczości przetwornika maks. częstotliwość sygnału wejściowego jest limitowana do 4Hz. t t Modyfikacja układu pomiarowego przez dodanie układu PP (próbkująco-pamiętającego) pozwala zwiększyć zakres dynamiki sygnałów wejściowych. 2 N Ogólnie: t 2 mux t 2 pga dlatego: f s t t akw akw 1 t t konw Kan.1 Kan.M konw f we f we FDP 1 FDP M Sygnał zmiany kanału Sygnał zmiany wzmocnienia MUX t mux dla przykładu: jeśli t akw=1µs, t konw=9µs, wtedy f s=100kps oraz: f we fs 2M PP Próbkuj / Zbieraj t wzm FDP Trzymaj f s Sygnał startu podtrzymania PP t akw A/C t konw Sygnał startu konwersji A/C Próbkuj / Zbieraj N t akw t konw A/C Dane ważne Konwersja A/C Dane ważne Mult/Wzm Zmiana kanału i wzmocn. Stan przejść. Mult./Wzm. 1/f s Typowy diagram czasowy dla systemu akwizycji multipleksowanych danych z użyciem PP

45 Kwantowanie i kodowanie y i y 8 y 7 Q -U FS x 1 y 6 x 2 x 3 x 4 y 5 +U F S x 5 x 6 x 7 x 8 x 9 y 4 x a y 3 y 2 y 1 e=x a-y i Δ=y i-x a Q x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x a Rys. 1. a) Charakterystyka przejściowa kwantyzatora równomiernego i b) przebieg zmian błędu kwantyzacji y i y 8 y y 7 Q y x 1 x 2 x 3 x 4 x 5 Q -U FS x 6 x 7 x 8 x 9 y 6 y 5 +U FS x a y 6 y y 4 y y 3 y y 2 y y e=x a-y i y 1 y 2 y 3 y 4 y 5 y 6 y 7 y 8 y i x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x a Rys. 2. a) Charakterystyka przejściowa kwantyzatora równomiernego z przesunięciem, b) przykładowe przypisanie słów kodowych oraz c) przebieg zmian błędu kwantyzacji

46 Proces kwantyzacji wprowadza inherentny, nieunikniony błąd. Założenia i oznaczenia, wprowadzamy: elementarny przedział kwantowania q s sygnał wejściowy U I Przedział jest określony przez liczbę poziomów kwantowania sygnału zależną od liczby bitów N (przy słowie kodowym w q s zapisie dwójkowym). Dla kwantyzatora równomiernego z przesunięciem błąd kwantyzacji nie przekracza wartości Średniokwadratowa wartość błędu kwantowania: q s 2. Można założyć, że wszystkie poziomy nieokreśloności w obszarze kwantowania Ai q s 2 pojawiają się tyle samo razy, co prowadzi do przyjęcia założenia o równomiernej gęstości prawdopodobieństwa w zakresie średniokwadratowej wartości jest równy: qs E d qs 2 Przy przyjętych założeniach wartość średnia tego błędu jest równa zeru. Błąd kwantyzacji można przedstawić jako napięcie błędu kwantyzacji 2 2 e qns E można zapisać jako: Maksymalna międzyszczytowa amplituda sygnału: a dla większej liczby bitów słowa (N>5): e qns q s 2 e qns N N 2 1q s App 2 qs A 2 pp N q s q s 2 do q s 2. Estymator. Wartość skuteczną napięcia błędu kwantyzacji Dla takiej wartości A pp można łatwo określić wartość skuteczną sygnału (dla sinusoidy): S N qs ARMS 2 Wartość stosunku sygnału do szumu można obliczyć jako: S eqns N ARMS Oraz przeliczając tą wartość na skalę decybelową: 2 N 2 N 2 1,5

47 S N 6,02N 1, 76dB S N 2 N 1,5 Przyjmując inne rozważania dla przetworników wysokiej rozdzielczości oraz mechanizmy powstawania szumów w torach pomiarowych wynikające również z innych efektów, takich szumy w elementach biernych, rezystorach (szumy Jonsosna) i elementów aktywnych jak np. przełączniki (szumy kt/c). Zakładając zwarcie wejścia ( grounded input ) rozkład szumów jest zbliżony do Gaussowskiego jak na rys. poniżej. Wówczas analiza efektywnej rozdzielczości można przedstawić jako stosunek pełnego zakresu pomiarowego do wartości skutecznej mierzonych szumów.

48 Drift = 10nV/ C INL = 2ppm typ, 15ppm max

49 (liczbowe kody binarne) Reprezentacje cyfrowe wielkości analogowych słowa kodowe A a a a 0 1 N 1 o długości N bitów, przy czym poszczególnym bitom przypisuje się wagi, MSB bit najbardziej znaczący (największa waga) a N-1 LSB bit najmniej znaczący (najmniejsza waga) a 0 UFS napięcie pełnej skali przetwarzania D wartość liczbowa reprezentowana przez słowo kodowe wartość napięcia reprezentowana przez słowo kodowe U a a i 1 0,1, i 0,1, 2, N a). Przy zapisie słowa kodowego z użyciem liczb ułamkowych wagi bitów posiadają wartości: bi 2 1 N i b). Przy zapisie słowa kodowego z użyciem liczb całkowitych wagi bitów posiadają wartości: b 2 Słowo kodowe (wyjściowe słowo przetwornika) a). U a i U FS i D D (w naszych rozważaniach proponuję przyjąć sposób b. ) N 1 i0 b i a i b). U a U 2 FS N D Wagi bitów słowa kodowego a i b i=2i b i= 1 N i kody unipolarne: reprezentacja napięć z przedziału (0, U FS) kody bipolarne: reprezentacja napięć z przedziału (-U FS, +U FS) Kody binarne przetworników A/C naturalny kod binarny kod uzupełnień do dwóch kod binarny przesunięty kod znak-moduł D D D N 1 i0 N 2 i i0 b i a i N 1 i i0 D z a b a b i b a b i N 1 N i0 N 1 N 1 1 i a b a N1 i N 1 1 dla a 1 dla a kody dwójkowo-dziesiętne (dziesiętno-binarne) (BCD, CCD,...) z a N 1 N 1 0 1

50 o pozycyjne o symboliczne Przykład binarnych kodów prostych Wartość reprezentowana przez kod U a U FS U FS Q D U FS 2Q 1 2U FS Q 1 2U FS Naturalny kod binarny Kod uzupełnień do 2 Kod binarny przesunięty Kod znakmoduł a7a6a5a4a3a2a1a0 a7a6a5a4a3a2a1a0 a7a6a5a4a3a2a1a0 a7a6a5a4a3a2a1a U FS Q Q Q 1 2U FS Q 1 2U FS 1 2U FS Q U FS 2Q U FS Q U FS

51 Pomiary wartości DC/RMS DC wartość średnia Poziom DC sygnału analogowego dla sygnału analogowgo RMS wartość skuteczna dla sygnału cyfrowego dla sygnału analogowego dla sygnału cyfrowego FFT transformata Fouriera

52 PRZESYŁANIE SYGNAŁÓW INFORMACYJNYCH, STERUJĄCYCH I PROGRAMUJĄCYCH (w systemach pomiarowych) sygnały informacyjne niosą informację o wielkościach mierzonych, sygnały organizacyjne adresy, rozkazy i sygnały kontrolne systemu pomiarowego. Sygnały w systemach pomiarowych Informacyjne (dane) Organizacyjne (adresy, rozkazy) ANALOGOWE DYSKRETNE Naturalne Standardowe Z rozdziałem częstotliwościowym Z rozdziałem czasowym Kodowe Napięciowe Prądowe Impulsowe Potencjałowe

53 Aplikacje pomiary temperatury Czujniki typu RTD (resistive temperature detectors) zakres pracy (-200 C do +800 C), duża dokładność przykł. RTD Klasy B wg normy IEC: 100Ω±0.12% w 0 C, Klasa A: ±0.15% w 0 C współczynnik temp. zmian rezyst.: R100 R0 100 R 0 gdzie: R 100 rezystancja w 100 C R 0 rezystancja w 0 C α=0,00385 C -1 w normach amerykańskich α=0, Ω/ Ω/ C jako jednostkę podaje się też α [Ω/ Ω/ C] do obliczeń stosuje się wartość dokładną: α = 0, C -1 Konwersja rezystancji na temperaturę: 2 R0 1 A B C 100 R t 3 R t wg Keithley R 3 1 A B C dla temp. > 0 C przyjmuje się wsp. C=0 R t 2 R 1 A B 0 W układach pom. gdzie R t jest określane poprzez I R i U R : I, U R R I R R [ A W układach pom. gdzie R t jest określane bezpośrednio: 0 2 A R t 2U R IRR0 2 A 4BU I R / I R ] A 2 BRt 2B R 4 0 R 0 R 1 wg PN-EN A1+A2 Współczynniki Callendar-Van Duser wielomianu R t=f( ) wsp. Standard temperaturowy A [C -1 ] B[C -2 ] C * [C -3 ] lub [C -4 ] (α) DIN , , , , American 0, , , , ITS-90 0, , , , PN-EN , , , , * dla temp. > 0 C przyjmuje się wsp. C=0 R 0

54 AVDD ADuC83x IEXC1 Źródło prądowe AIN1 R t AIN2 MUX BUF PGA PRIMARY 24-BIT Δ ADC R REF REFIN+ REFIN- External V REF Detect Procedura obliczenia wartości rezystancji R t: W aplikacji ADuC824, ADuc834 R REF=5,62kΩ±0.1% R t DR 2 REF N Równanie Steinhart-Hart a: Termistory 1 A BlnR C ln 3 t R t [ K] gdzie: A, B, C wsp. określone przez producenta IEXEC1 IEXEC2 200µA 200µA P1.2/DAC/IEXC1 P1.3/IEXC/AIN I2PIN I1PIN I2EN I1EN P1.7/DAC/AIN4 1 0 BUF 12-bit DAC P1.4/AIN1 P1.5/AIN2 P1.6/AIN3 AIN1 AIN2 AIN3 AIN4 AIN3 AIN2 AIN2 AIN2 + - BUF PGA Rys. 1. Model programowy obwodów wejściowych mikrokonwertera Σ/Δ.

55 ADSP 2100 Family DSP Microcomputers Ogólne własności: DSP Mikroprocesor z 16-Bitowy arytmetyka stałopozycyjna z własną pamięcią Rozszerzona architektura Harvard-ska 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 mikroprocesora, Zintegrowane urządzenia WE/WY: Porty szeregowe, Zegary/liczniki, Interfejs portu nadrzędnego, Ogólne cechy: Szybkość wykonywania operacji MIPS (30ns cykl instrukcji maszynowej) Oddzielne magistrale dostępu do pamięci programu i pamięci danych, Jednostki Funkcjonalne: Jednostka obliczeniowe: 3 niezależne jednostki: jednostka arytmetyczno/logiczna (ALU), jednostka mnożąca (mulptiplier/accumulator MAC), jednostka przesuwająca: barrel shifter, Generator adresu danych i Sekwencer programu (kolejkowanie instrukcji), dwa dedykowane generatory adresu, sekwencer programu dostarczający adresów dostępu do pamięci zewnętrznej lub wewnętrznej, Pamięć: architektura Hardvard-ska zmodyfikowana z niezależnym dostępem do pamięci danych i pamięci programu (instrukcji) i danych jednocześnie. Porty transmisji szeregowej: Programowany Zegar/licznik: zawiara 8-bitowy preskaler umożliwiający generowanie cyklicznych przerwań, Port interfejsu nadrzędnego Port DMA transfer danych z/do wewnętrznej pamięci (BDMA) oraz IDMA przy wykorzystaniu 16-bitowego multipleksowania adresu i danych transfer do 24-bitowego obszaru pamięci programu, Interfejs analogowy model ADSP-21msp58/59 posiada obwody: ADC, DAC, filtry analogowe i cyfrowe, równoległy interfejs sprzegający z procesorem. Technologia sigma-delta.

56 Ogólny podział procesorów stałoprzecinkowych rodziny ADSP 21XX ADSP-21ES202 ADSP-2141L ADSP-2186M ADSP-2188M ADSP-2185M ADSP-21MOD980 ADSP-2165 ADSP-2166 ADSP-2184 ADSP-2184L ADSP-2189M ADSP-21MOD970 ADSP-2187L ADSP-21MOD870 ADSP-2185L ADSP-2186L ADSP-2185 ADSP-2186 ADSP-2104 ADSP-2104L ADSP-2183 ADSP-2181 ADSP-21msp58 ADSP-2171 ADSP-2173 ADSP-2161 ADSP-2163 ADSP-2164 ADSP-2103 ADSP-2162 ADSP-2115 ADSP-2105 ADSP-2101 ADSP-21ESP202 Procesor mowy z przetwornikiem A/C i C/A SafeNet DSP, system zabezpieczeń na chipie, 16-Bit, 75 MIPS(milion instrukcji na sekundę), 2.5V, 2 szeregowe porty, Host Port, 40 KB RAM 16-bit, 75 MIPS, 2.5v, 2 szeregowe porty, host port, 256 KB RAM 16-bit, 75 MIPS, 2.5v, 2 szeregowe porty, host port, 80 KB RAM DIVA / ADSP-21mod Ports of Voice Over Network Procesor sygnałowy z pamięcią ROM Procesor sygnałowy z pamięcią ROM 16-bit, 40 MIPS, 5v, 2 szeregowe porty, host port, 20KB RAM 16-bit, 40 MIPS, 3.3v, 2 szeregowe porty, host port, 20KB RAM 16-bit, 75 MIPS, 2.5v, 2 szeregowe porty, host port, 192 KB RAM wielo-portowy, internetowy procesor dostepowy 16-bit, 52 MIPS, 3.3v, 2 szeregowe porty, host port, 160 KB RAM 16-bit, pirwszy całkowity, cyfrowy modem na pojedynczym chipie 16-bit, 52 MIPS, 3.3v, 2 szeregowe porty, host port, 80 KB RAM 16-bit, 40 MIPS, 3.3 v, 2 szeregowe porty, host port, 40 KB RAM 16-bit, 33 MIPS, 5 v, 2 szeregowe porty, host port, 80 KB RAM 16-bit, 40 MIPS, 5v, 2 szeregowe porty, host port, 40 KB RAM 16-bit, 20 MIPS, 5v, 2 szeregowe porty 16-bit, 13 MIPS, 3.3v, 2 szeregowe porty 16-bit, 52 MIPS, 3.3 v, 2 szeregowe porty, host port, 80 KB RAM 16-bit, 40 MIPS, 5v, 2 szeregowe porty, host port, 80 KB RAM W pełni zintegrowany pojedynczy chip DSP 16-bit, 33 MIPS, 5v, 2 szeregowe porty, host port 16-bit, 20 MIPS, 3.3v, 2 szeregowe porty, host port Procesor sygnałowy z pamięcią ROM Procesor sygnałowy z pamięcią ROM Procesor sygnałowy z pamięcią ROM 16-bit, 10.2 MIPS, 3.3v, 2 szeregowe porty Procesor sygnałowy z pamięcią ROM 16-bit, 25 MIPS, 5v, 2 szeregowe porty 16-bit, 20 MIPS, 5v, 1 szeregowe porty 16-bit, 25 MIPS, 5v, 2 szeregowe porty

57 Parametry rodziny procesorów. Parametry Pamieć danych RAM 1K 1K 1/2K 1/2K 1K 1/2K 1/2K 1/2K 1/2K Pamięć programu RAM 2K 2K 1K 1K 2K Pamięć programu ROM K 8K 4K 4K Zegar * * * * * * * * * Port szeregowy 0 (wielokanałowy) * * - * * * * * * Port szeregowy 1 * * * * * * * * * Port łączący hosta * Klasa szybkości (czas jednostkowy instrukcji) MHz (76.9ns) - * MHz (76.9ns) * MHz (72.3ns) - - * MHz (60ns) * - - * * MHz (50ns) * - * * * MHz (40ns) * - - * Napięcie zasilania 5V 3.3V 5V 5V 5V 5V 3.3V 5V 3.3V Rodzaj obudowy 68- Pin-ów PGA * wyprowadzeń PLCC * * * * - * * * * 80- wyprowadzeń PQFP * * - * - * * * * 80- wyprowadzeń TQFP * Pin-ów PGA * wyprowadzeń PQFP * Klasy temperatur pracy K techniczne 0 o C do 70 o C * * * * * * * * * B przemysłowe -40 o C do 85 o C * * * * * * * * * T specjalne -55 o C do 125 o C * *

58 Opis końcówek (pinów) procesora (nazwa, ralizowana funkcja, liczba) Nazwa pinu (końcówki) Liczba końcówek Wejście/wy jście (I/O) Funkcja Adress (linie adresu) 14 O Wyjściowe adresy dla pamięci programu, danych i botowalnej Data (linie danych) 24 I/O Dane I/O pinów dla pamięci programu i danych. Wejście tylko dla pamięci bootowalnej, z dwoma sektorami bootującymi użytymi dla adresów pamięci bootowalnej. Linie nieużywanych danych mogą być nie podłączone. 1 I Wejście resetujące procesora RESET IRQ 2 1 I Żądanie zewnętrznego przerwania #2 BR BG 2 PMS DMS BMS RD WR 1 I Zewnętrzne żądanie pobrania danych z szyny 1 O Zewnętrzne żądanie wyprowadzenia danych na szynę 1 O Wybór zewnętrznej pamieci programu 1 O Wybór zewnętrznej pamieci programu 1 O Wybór pamięci butowalnej 1 O Zezwolenie odczytu zewnetrznej pamięci 1 O Zezwolenie zapisu zewnetrznej pamięci MMAP 1 I Wejście wyboru mapy pamieci CLKIN, XTAL 2 I Zegar zewnetrzny lub wewnętrzny CLKOUT 1 O Wyjście zegara procesora V DD GND SPORT0 3 5 I/O SPORT1 5 I/O IRQO Końcowka źrodła zasilania Końcówka masy Końcówki portu szeregowego 0 (TFS0, RFS0, DT0, DR0, SCLK0 ) Końcówki portu szeregowego 1 (TFS1, RFS1, DT1, DR1, SCLK1) (RFS1) 1 I Żądanie zewnętrznego przerwania #0 IRQ 1(TFS1) 1 I Żądanie zewnętrznego przerwania #1 F1(DR1) 1 I Końcowka wejścia flagi F0(DT1) 1 O Końcówka wyjścia flagi FL2-0 (tylko ADSP-2111) 3 O Końcówka wyjścia flgi ogólnego przeznaczenia Port łączący hosta (tylko ADSP-2111) HSEL 1 I Wejście wyboru HIP HACK 1 O Wyjście potwierdzenia HIP HSIZE 1 I 8/16 bitów wybór hosta (0=16 bitów, 1=8bitów) BMODE 1 I Wybór trybu boota (0=standard EPROM butujacy, 1=HIP bootujacy) HMD0 1 I Wybór strobowania szyny (0=RD/WR, 1=RW/DS) HMD1 1 I HIP wybór trybu adresy/dane (0=odseperowanie, 1=multipleksowanie) 1 I HIP strobowanie odczytu lub wybór zapis/odczyt 1 I HIP strobowanie zapisu lub wybor strobowania danych hosta HD15-0/HAD I/O HIP dane lub HIP dane i adresy HA2/ALE 1 I Drugie wejście adresu hoste lub wejście umożliwiające zatrzaskiwanie adresu HRD / HRW HWR / HDS HA1-0/nieużywane 2 I Adres hosta 1 i 0 wejścia

59 Schemat blokowy ADSP-21xx. Generator adresu danych Generator adresu danych Szyna PMA Szyna DMA Rejestr instrukcji Sekwenser programu Pamięć Programu SRAM lub ROM Pamięć Danych SRAM Generator Adresu boota Flagi Tylko ADSP 2111 zegar Szyna adresowa zewnętrzna Szyna PMD Szyna DMD Wymiana szyny Zewnętrzna szyna danych Rejestr wej. Rejestr wyj. Rejestr wej. Rejestr wyj. Rejestr wej. Przesuwnik Rejestr wyj. Szyna R Rejestr transmisji Rejestr odbioru Port szeregowy 0 (nie na ADSP- 2105) Kompansja zespołu obwodów Rej. transmisji Rej. odbioru Port szere Kontrolny port hosta Port danych hosta Port interfejsu zarządzania (tylko ADSP-2111) Zewnętrzna szyna portu hosta Opis ogólny procesorów sygnałowych Dzisiejsze procesory DSP to pojedyncze układy scalone. Podstawowe bloki funkcjonalne tych układów były już znane znacznie wcześniej, ale dopiero na początku lat 80-tych opracowano technologie, dzięki którym stało się możliwe zamknięcie tych skomplikowanych struktur w jednym układzie. Jednym z powodów dużej popularności tych układów jest ich programowalność. Możliwe jest zaprojektowanie urządzenia z wykorzystaniem DSP, które będzie realizowało różne funkcje (w zależności od załadowanego programu) przy niezmiennej konstrukcji sprzętowej. W układach cyfrowych parametrów urządzenia nie psują starzejące się kondensatory lub rezystory o zmieniającej się pod wpływem różnych czynników rezystancji Ponadto procesory DSP mogą być tak zaprogramowane, że same wykryją i skompensują zmiany parametrów analogowych elementów systemu. Niezaprzeczalną zaletą urządzeń opartych na DSP jest ich powtarzalność. Dzięki temu gotowy układ można łatwiej uruchomić (np. w przypadku filtrów cyfrowych praktycznie brak jest operacji strojenia różnych elementów) oraz zapewnić powtarzalność parametrów wejściowych i wyjściowych danego urządzenia. Procesory sygnałowe produkowane są w dwu odmianach: operacji stałoprzecinkowych operacji zmiennoprzecinkowych Zasadniczą zaletą układów zmiennoprzecinkowych jest fakt, że uwalniają one programistę od zwracania uwagi na skalowanie. W układach stałoprzecinkowych użytkownik musi zwracać większą uwagę na ograniczenia systemu liczbowego. W szczególności należy zadbać oto, aby nie przepełniać akumulatora i dbać o precyzję obliczeń. Procesory stałoprzecinkowe są tańsze, wymagają dbałości o skalowanie, częściej programuje się je w asemblerze. DSP zmiennoprzecinkowe są droższe, typowe ich programowanie odbywa się w języku C, a problemy ze skalowaniem nie występują. Procesory stałoprzecinkowe rodzina ADSP-2100 Architektura wszystkich procesorów należących do rodziny ADSP-2100 jest taka sama. Jej trzon stanowią: - jednostka arytmetyczno-logiczna (ALU) - układ mnożąco-akumulujący (MAC) - przesuwnik (barrel shifter) - generatory adresowe

60 Jednostki te w dużym stopniu mogą działać niezależnie od siebie. Wewnątrz układu scalonego przestrzeń adresowa danych jest oddzielona od przestrzeni adresowej programu. Na zewnętrz układu scalonego magistrala adresowa jest multipleksowana między adresy komórek pamięci danych i programu. Podobnie magistrala danych jest multipleksowana pomiędzy dane i instrukcje programu. Wszystkie procesory należące do tej rodziny mają przynajmniej niewielką wewnętrzną pamięć danych i programu. W ten sposób zachowuje się zalety struktury typu Harvard przy jednoczesnej niewielkiej liczbie wyprowadzeń. Architektura poszczególnych procesorów rodziny ADSP-2100 jest uzupełniona o dodatkowe jednostki: - zegar, - porty szeregowe przystosowane do współpracy z układem kodeka, - porty do komunikacji z jednostką nadrzędną (HIP) oraz - przetworniki analogowo-cyfrowe i cyfrowo-analogowe. Procesory wyposażone w przetworniki A/C i C/A firma Analog Devices określa angielskim terminem mixed signal processors. Cechą charakterystyczną procesorów rodziny ADSP-2100 są specjalizowane rejestry. Jednostkę arytmetyczno-logiczna - podstawowe operacje wykonywane przez jednostkę arytmetyczno-logiczną to: dodawanie, dodawanie z przeniesieniem, odejmowanie, odejmowanie z uwzględnieniem "pożyczki", zmiana znaku (dopełnienie do dwóch), obliczanie wartości bezwzględnej, operacje logiczne AND, OR, XOR, NOT (dopełnienie do jedności) oraz przesłanie wartości z rejestru wejściowego do rejestru wyjściowego bez wykonywania żądnej operacji oprócz ustawienia flag. Operacje logiczne wykonuje się oddzielnie dla każdego bitu argumentów, natomiast operacje arytmetyczne wykonuje się przy założeniu, że argumenty są liczbami stałoprzecinkowymi w formacie Jednostka arytmetyczno-logiczna wykonuje także podstawowe operacje niezbędne do zrealizowania dzielenia liczb stałoprzecinkowych. Dzielenie o pojedynczej precyzji - dla którego dzielnik jest liczbą 32-bitową, dzielna liczbą 16-bitową, natomiast wynik dzielenia jest 16-bitowy - wymaga wykonania 16 rozkazów. Możliwe jest przy tym zorganizowanie dzielenia tak, aby liczba bitów wyniku była albo mniejsza, albo większa niż 16. Układ mnożąco-akumulujący - podstawowe operacje wykonywane przez układ mnożąco-akumulujący to mnożenie liczb stałoprzecinkowych oraz mnożenie i akumulacja (dodawanie i odejmowanie).charakterystycznymi rejestrami tego układu są rejestr akumulujący MR (40-bitowy) oraz rejestr pośredniczący MF (16-bitowy). Układ mnożąco-akumulujący ma możliwość zaokrąglenia 40-bitowego rezultatu obliczeń do 16 bitów. Zaokrąglony wynik może zostać skierowany do rejestru MF lub MR. W tym ostatnim przypadku liczba 16-bitowa zostanie umieszczona w bitach rejestru MR, natomiast jej znak zostanie ośmiokrotnie powielony w bitach 32-39rejestru MR. Układ przesuwnika - pozawala jednym rozkazem umieścić 16-bitowy argument w dowolnym miejscu 32-bitowego rejestru wyjściowego, włączając w to sytuacje, gdy część argumentu pozostaje poza rejestrem wyjściowym. Daje to łącznie 49 położeń w rejestrze wyjściowym. Znajdowana jest także cecha liczby stałoprzecinkowej lub wspólna cecha dla całej tablicy liczb stałoprzecinkowych. Operacje te pozwalają na efektywne zakodowanie funkcji zamiany liczby stałoprzecinkowej na liczbę zmiennoprzecinkową i odwrotnie. Generatory adresu dostarczają adresów pamięci kiedy pamięć danych jest przesyłana do lub z rejestru wejściowego (wejściowego).każdy generator adresu trzyma ścieżkę do czterech punktów adresowych. Kiedy wskaźnik jest używany do pośredniego adresowania, jest to post-modyfikowanie przez wartość w rejestrze specjalnym. Z dwóch niezależnych generatorów adresu, procesor może generować dwa równoczesne adresy dla podwójnie pobranych argumentów operacji. Rozmiar wartości może być powiązany z każdym wskaźnikiem do implementacji automatycznego adresowania modułu dla buforów cyklicznych. (cecha bufora cyklicznego jest także wykorzystywana przez porty szeregowe do automatycznego transferu danych ). Generator adresu 1 może przesyłać adresy tylko do pamięci programu; zaś generator adresu 2 może przesyłać adresy do obu pamięci programu i danych. Kiedy bit trybu właściwego jest zadany w trybie rejestru stanu (MSTAT), adres wyjściowy generatora adresu1 jest odwracaniem bitu przed rozpoczęciem kierowania na szynę adresową. Ta cech ułatwia adresowanie w radix-2 algorytmu szybkiej transformaty Fouriera. Każdy z tych generatorów ma trzy grupy rejestrów: - rejestry indeksowe I, - rejestry modyfikacji M, - rejestry długości L. Na początku cyklu rozkazowego następuje przesłanie do procesora danych wskazywanych przez rejestr I, natomiast pod koniec tego cyklu wartość rejestru M (może być ujemna) jest dodawana do wartości rejestru I i w nim jest przechowywany wynik działania. Rejestr L wykorzystuje się do adresowania kołowego. W trakcie wykonywania programu instrukcje są pobierane z kolejnych komórek pamięci programu wskazywanych przez licznik rozkazów PC. Każda instrukcja jest wykonywana w jednym cyklu zegarowym. Sekwenser programowy - wykonuje adresy rozkazu do pamięci programu. Sekwenser jest sterowany przez rejestr instrukcji który utrzymuje obieg wykonywanych instrukcji. Rejestr instrukcji wprowadza poziom sygnału przetwarzania potokowego wewnątrz działającego programu. Instrukcje są pobierane i ładowane do rejestru instrukcji podczas jednego cyklu maszynowego, wykonywane podczas następnego cyklu dopóki nie zostanie wcześniej pobrana następna instrukcja. Do

61 zminimalizowania cykli narzutu, sekwenser daje możliwość wykonania skoku jednostkowego, wywołanie programu i powrót w pojedynczym cyklu. Z wewnętrznej pętli licznika i pętli stosu, procesor wykonuje kod pętli zaczynając od zera. Bez wyraźnego rozkazu skoku instrukcje są wymagane do pętli. Szyny - procesory posiadają pięć wewnętrznych szyn. Szyna adresowa pamięci programu (PMA) oraz szyna adresowa pamięci danych (DMA) są używane wewnętrznie do połączeń adresowych z pamięcią programu i danych. Szyna danych pamięci programu (PMD) i szyna danych pamięci danych (DMD) są używane do połączenia danych z przestrzenią adresową. Szyny są połączone wewnątrz pojedynczą zewnętrzną szyną adresową i pojedynczą zewnętrzną szyną danych; BMS, DMS, PMS to sygnały wyboru różnych przestrzeni adresowych. R - szyna pośrednich wyników transferu bezpośrednio pomiędzy różnorodnymi jednostkami liczącymi. Szyna PMA jest 14 bitowa pozwala na 16KB/s połączonych kodów rozkazu i danych. Szyna PMD o szerokości 24- bitów. Szyna DMA ma szerokość 14 bitową pozwalającą rozkazy dostępu 16K słów danych. Szyna DMD o szerokości 16 bitów. Szyna danych DMD dostarcza ścieżkę potrzebną do przesłania zawartości pewnych rejestrów w procesorze do innych rejestrów lub jakiejś komórki pamięci danych w pojedynczym cyklu. Adresowanie pamięci danych możliwe jest poprzez określenie adresu w kodzie rozkazu (adresowanie bezpośrednie) lub z wyjścia generatora adresu danych (adresowanie pośrednie). Dostęp do danych w pamięci programu możliwy jest tylko przy adresowaniu pośrednim. Szyna PMD często może być używana do transferu danych do i z jednostek liczących poprzez ścieżki rozkazu lub vi PMD-DMD wymianę jednostki. Sprzętowy system przerwań - procesory należące do rodziny ADSP-2100 są ponadto wyposażone w sprzętowy system przerwań. Najczęściej jedno z nich (maksymalnie 3) jest przerwaniem zewnętrznym, natomiast pozostałe są generowane przez układy wewnętrzne procesora. Wszystkim przerwaniom w sposób sztywny są przypisane priorytety. Każde z przerwań można przy tym zamaskować, zerując odpowiedni bit w rejestrze maski przerwań IMASK. Kontroler przerwań pozwala procesorowi reagować na przerwania z minimalnym narzutem. Zależą od trzech wejściowych pinów przerwań zewnętrznych,irq0, IRQ1, oraz IRQ2. IRQ2 jest zawsze dostępny jako pin dedykowany; IRQ1 oraz IRQ0 mogą być alternatywnie skonfigurowane jako część szeregowego portu 1. ADSP-21xx często opiera się na przerwaniach wewnętrznych z zegara, portu szeregowego oraz portu interfejsu hosta (tylko ADSP-2111). Przerwania są wewnętrznie priorytetowane oraz indywidualnie maskowane (z wyjątkiem dla RESET który jest niemaskowalny ). Piny wejść IRQx mogą być programowane dla obu poziomów lub czułości brzegowej. Priorytety przerwań dla wszystkich procesorów ADSP-21xx są pokazane w tabeli Źródło przerwania ADSP 2105 Przerwanie, Adresy wektorowe RESET rozpoczęcie pracy IRQ2 0x0004 SPORT1 transmitowanie lub IRQ1 SPORT1 odbiór lub IRQ0 Zegar 0x0000 0x0004 (wysoki priorytet) 0x0010 0x0014 0x0018 (niski priorytet) ADSP-2101/2103/2115/216x RESET rozpoczęcie pracy IRQ2 0x0004 SPORT0 transmitowanie lub IRQ1 SPORT0 odbiór lub IRQ0 0x0000 0x0004 (wysoki priorytet) 0x0008

62 SPORT1 transmitowanie lub IRQ1 SPORT1 odbiór lub IRQ0 Zegar 0x000C 0x0010 0x0014 0x0018 (niski priorytet) ADSP-2111 RESET rozpoczęcie pracy IRQ2 0x0004 HIP zapis z hosta HIP odczyt z hosta SPORT0 transmitowanie lub IRQ1 SPORT0 odbiór lub IRQ0 SPORT1 transmitowanie lub IRQ1 SPORT1 odbiór lub IRQ0 Zegar 0x0000 0x0004 (wysoki priorytet) 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 (niski priorytet) Reset - Zainicjowany sygnał RESET całkowicie resetuje ADSP21-xx. Jeśli zastosowany zostanie sygnał RESET podczas inicjacji załączania, musi być podtrzymany tak długo aż wewnętrzny zegar procesora się ustabilizuje. Jeśli sygnał RESET zastosowany zostanie po czasie załączenia i częstotliwość wejścia zegara się nie zmienia, wewnętrzny zegar procesora kontynuuje pracę i nie wymaga tego czasu stabilizowania. Zegar - każdy z procesorów rodziny ADSP-2100 jest wyposażony w szybki, programowalny licznik-zegar. Np. dla procesora ADSP-2111 taktowanego zegarem o częstotliwości 20 MHz pozwala on odmierzać odcinki czasu do 3,28 ms z rozdzielczością 50 ns lub odcinki czasu 839 ms z rozdzielczością nie mniejszą niż 12,8 ms. Sygnały zegarowe - W ADSP-21xx wejście CLKIN może być sterowane przez reznonator kwarcowy lub przez zewnętrzny sygnał zegarowy TTL-kompatybilny. Wejście CLKIN nie powinno być zatrzymywane lub zmieniana jego częstotliwość podczas wykonywania operacji i nie powinno pracować poniżej sprecyzowanej częstotliwości. Jeśli używa się zewnętrznego zegara, powinna być kompatybilność jego sygnału z prędkością wykonywania się instrukcji. Sygnał powinien być podłączony do wejścia CLKIN; w tym przypadku wejście XTAL musi być odłączone. Ponieważ ADSP-21xx zawierają wewnątrz układu obwód oscylatora, może być używany zewnętrzny rezonator kwarcowy. Rezonator kwarcowy podłącza się pomiedzy piny CLKIN i XTAL, z dwoma kondensatorami podłączonymi do masy.

63 CLKIN XTAL CLKOUT ADSP-21xx Porty szeregowe Wszystkie procesory mają dwa porty szeregowe (SPORT 0, SPORT1) za wyjątkiem ADSP 2105 który posiada tylko port SPORT1. Ich cechy charakterystyczne to: praca w trybie dupleksowym; część nadawcza jest niezależna od części odbiorczej; podwójne buforowanie; część nadawcza (i odbiorcza) ma bufor przechowujący dane przeznaczone do wysłania (lub odbierane) oraz rejestr zamieniający dane z formatu szeregowego na równoległy i odwrotnie; możliwość synchronizacji pracy portu zegarem zewnętrznym; możliwość zmiany długości słowa w granicach od 3 do 16 bitów; dokonywanie w locie dekompresji (kompresji) danych odbieranych (lub przekazywanych) z kodeka; możliwość umieszczania danych w buforze kołowym kosztem jednego cyklu zegarowego, bez przerywania pracy procesora; praca na przerwaniach; nadejście (lub wysyłanie) danych jest sygnalizowane przerwaniem; możliwość realizacji transmisji z podziałem kanału w dziedzinie czasu (system TDM). Porty szeregowe dostarczają całkowitego synchronicznego, szeregowego połączenia z optymalną kompansją w sprzęcie. Jest dostępny duży wybór ramowej lub całoramowej transmisji danych. Każdy SPORT może być generowany wewnętrznym programowalnym zegarem szeregowym lub zewnętrznym zegarem. Każdy port szregowy posiada 5 pinów przesyłających nasępujące sygnały: Nazwa sygnału SCLK RFS TFS DR DT Zegar (wej/wyj) Synchronizacja ram odbioru (wej/wyj) Synchronizacja ram nadawania (wej/wyj) Odbiór szeregowy danych Przekazywanie szeregowe danych HIP - niektóre procesory są wyposażone w port do komunikacji z jednostką nadrzędną HIP (host interface port). Z punktu widzenia procesora jest to zespół rejestrów umieszczonych w przestrzeni adresowej danych, pełniących rolę skrzynki pocztowej pomiędzy procesorem a urządzeniem zewnętrznym pracującym całkowicie asynchronicznie w stosunku do niego. Nadejście

64 komunikatu z urządzenia zewnętrznego sygnalizowane jest przez HIP przerwaniem. Rejestry HIP pozwalają się także zorientować procesorowi czy wysłany na zewnątrz przez niego komunikat został odebrany przez urządzenie zewnętrzne. HIP umożliwia procesorowi nadrzędnemu zresetować procesor sygnałowy, załadować program do jego pamięci i uruchomić go, czyli jest to pełna kontrola pracy procesora DSP. Przetwornik A/C i C/A - procesory DSP analogowo-cyfrowe mają ponadto 16-bitowy przetwornik A/C i 16-bitowy przetwornik C/A. Oba są przetwornikami z przetwarzaniem typu delta-sigma, próbkującymi sygnał z częstotliwością 8 khz. Przetworniki te są uzupełnione o filtry antyaliasingowe oraz filtry odtwarzające. Możliwa jest również programowa zmiana wzmocnienia w torze przetwarzania A/C i C/A. Zwiększenie rozdzielczości i jakości przetworników A/C i C/A powoduje konieczność poprawy dokładności obliczeń algorytmów stosowanych przy cyfrowym przetwarzaniu sygnałów. Wprowadzenie arytmetyki zmiennoprzecinkowej pozwala na uniknięcie kłopotliwego skalowania wyniku przy działaniach stałoprzecinkowych, potrzebnego do zachowania odpowiedniej poprawności wyniku. W przypadku działań stałoprzecinkowych konieczne jest dokładne określenie maksymalnych wartości sygnału wejściowego. Wzrost sygnału wejściowego ponad poziom założony może zaowocować nasycaniem się wyników pośrednich i znacznym wzrostem zniekształceń nieliniowych. Z kolei przy przetwarzaniu niskich sygnałów występuje znaczne zmniejszenie dokładności obliczeń ze względu na kwantyzację, a to powoduje znaczne zmniejszenie stosunku sygnału użytecznego do szumu. Przy zastosowaniu arytmetyki zmiennoprzecinkowej problemy te nie występują, ponieważ liczby zmiennoprzecinkowe ze względu na swoją naturę niejako "automatycznie" dostosowują się do dynamiki sygnału wejściowego, zapewniając praktycznie nieograniczony zakres liniowości oraz dużą dokładność nawet przy małych poziomach sygnału. Dużą korzyścią jest również uproszczenie pisania programów. Programista jest zwolniony od konieczności dostosowywania istniejących algorytmów w celu zapewnienia odpowiedniej dynamiki sygnału w każdym punkcie programu. Wpływa to znacznie na skrócenie czasu pisania programu, a zatem również i na zmniejszenie kosztów poszczególnych zastosowań. Literatura: Analog Devices podręczniki rodzin 21xx i 210xx

65 PMD bus DMD bus Schemat blokowy ALU AX0, AX1 AY0, AY1 AZ AN AC AV AS AQ ALU CI AF AR R bus

66 \

67 RDZEŃ PROCESORA DAG1 adresowanie tylko DM możliwość odwracania bitów DAG2 adresowanie DM i PM możliwość pośrednich odgałęzień I0 L0 M0 I4 L4 M4 I1 L1 M1 I5 L5 M5 I2 L2 M2 I6 L6 M6 I3 L3 M ALU I7 L7 M MAC AX0 AX1 AY0 AY1 MX0 MX1 MY0 MY1 AR AF MR0 MR1 MR2 MF SHIFTER PM<->DM SI SE SB 8 PX SR1 SR0 SEKWENCER PROGRAMU 18 LOOP STACK 4 18 OWRCNTR CNTR COUNT STACK ICNTL IFC 18 PC STACK IMASK MSTAT ASTAT 8 8 STATUS STACK * SSTAT

68 Podstawowe cechy procesorów sygnałowych: równoległe mnożenie z akumulacją, wykonywane w jednym cyklu, generatory adresu ze specjalizowanymi trybami, wydajny zestaw instrukcji z jednocyklowymi równoległymi operacjami matematycznymi i przesłań w pamięci oraz sprawną realizacją pętli, zintegrowany z procesorem moduł DMA i wewnętrzną pamięcią RAM dla jednoczesnych operacji wykonywanych przez CPU i układy we/wy. Generalny podział procesorów sygnałowych dokonuje się na kategorie: procesory stałoprzecinkowe (ang. fixed-point DSP) procesory zmiennoprzecinkowe (ang. floating-point DSP) Rdzeń procesora składa się z: szyn adresowych, szyn danych, kontrolera programu, jednostki generacji adresu (AGU), jednostki arytmetyczno-logicznej danych (ALU), interfejsu do emulacji PAMIĘĆ PROGRAMU 16/32K x ZEGAR CLKIN Adres pamięci programu Dane pamięci programu ADSP CLKOUT Adres pamięci danych Dane pamięci danych RESET HALT TRAP IRQ BR BG Adres Dane Adres Dane PAMIĘĆ DANYCH 16K x 16 PERYFERIA Rys. Zmodyfikowana architektura Harvard na przykładzie ADSP-2100

69 Transfer Danych GENERETOR ADRESU DANYCH - DAG 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, dla przykładu DM(I0,M2) jest prawidłowe, lecz rejestr L jest przydzielony do korespondującego z nim rejestru I. Adresowanie pośrednie: Procesory rodziny ADSP-2100 wykorzystują dwa tryby adresowania: bezpośrednie i pośrednie. Adresowanie pośrednie jest realizowane przy wykorzystaniu rejestru I (indeksowego) i rejestru M (modyfikującego). Rejestr L podczas adresowania liniowego musi być ustawiony na 0. Przykład liniowego adresownia pośredniego: I3=0x3800; M2=0; L3=0; AX0=DM(I3,M2); Poniższy przykład używa zmiennych pamięciowych i wskaźników adresowych:.var/dm/ram addr_ptr; {zmienna do przechowywania adresu dostępu } I3=DM(addr_ptr); {I3 załaduj przy użyciu adresowania bezpośredniego} L3=0; {zabroń adresowania cyklicznego, adresowanie liniowe} M1=0; {nie stosuj modyfikacji z I3} AX0=DM(I3,M1); {AX0 załaduj adresując pośrednio} Bufory cykliczne (adresowanie modulo) Bufory cykliczne wykorzystują automatyczną implementację generowania adresów modulo dla dostępu do buforów cykliczmnych. Do obliczenie kolejnego adresu wykorzystuje się następujące informacje: bieżącą lokację, przechowywaną w rejestrze I (bez znaku unsigned), wartość modyfikującą, przechowywaną w rejestrze M (ze znakiem signed), długość bufora, przechowywaną w rejestrze L (bez znaku unsigned), bazowy adres bufora. Następny adres jest obliczany zgodnie z wyrażeniem: Nast. Adres ( I M B) Modulo( L) B gdzie: I = bieżący adres, M = modyfikacja adresu (ze znakiem), B = adres bazowy, L = długość bufora M + I = zmodyfikowany adres przy ograniczeniu warunkiem, że M L. Adres bazowy bufora cyklicznego o długości L jest 2 n lub wielokrotnością 2 n oraz ograniczeniu: Przykład: I0=5, M0=1, L0=3, adres bazowy B=4. (I0+M0-B) mod L0 + B = (5+1-4) mod = 6 Kolejne generowane adresy podlegają sekwencji: 5, 6, 4, 5, 6, 4,... Dla M0=-1 (tzn. 0x3FFF) I0 generuje kolene wartości: 5, 4, 6, 5, 4, 6, 5,... n n 2 1 L 2.

70 Odwracanie bitów adresowych: Logika odwracania bitów adresowych jest w pierwszym rzędzie stosowana w algorytmach FFT i polega na zmianie porządku bitów w słowie adresowym (jak na rysunku). Odwracanie bitów możliwe jest tylko w jednostce DAG1. porządek normalny porządek odwrócony Odwracanie bitów jest przeprowadzane przez zezwolenie/zabronienie odpowiedniego bitu stattusowego rejestru MSTAT. Kiedy jest zezwolone, to wszystkie adresy generowane przy użyciu rejestrów indeksowych I0-3 posiadają na wyjściu odwrócone bity. Jest również możliwe odwracanie bitów przy szerokości mniejszej niż 14 przy wykorzystaniu rejestru M (patrz modyfikacja Butterfly rozdz.6. Jednowymiarowa FFT Digital Signal Processing...) Programowanie dostępu danych Tablice deklarowane są przykładowo dyrektywą:.var/dm coeffficients[128]; Deklaracja taka rezerwuje tablicę 128 elementów 16-bitowych w pamięci danych (DM). Operatory specjalne: ^ i % odnoszą się odpowiednio do adresu zmiennej i do jej długości. I0=^coefficients; {wskażnik adresu bufora} L0=0; {rejestr L ustaw na 0} MX0=DM(I0,M0); {załaduj MX0 z bufora} alternatywnie: MX0=DM(coefficients); Inicjalizacja tablicy może odbywać się przy wykorzystaniu dyrektywy assemblera:.init coefficients: <nazwa_pliku.dat> Obsługa bufora cyklicznego:.var/dm/circ coefficients[128]; L0=%coefficients; {długość bufora cyklicznego} I0=^coefficients; {wskaźnik na adres pierwszego elementu bufora} M0=1; { zwiększ o 1 lokalizację za każdym razem]... MX0=DM(I0,M0); {załaduj MX0 z bufora} MX0=DM(I0,M0); ZAMIANA MAGISTRAL PMD DMD SPECJALNA JEDNOSTKA PMD-DMD REALIZUJE POŁĄCZENIE POMIĘDZY MAGISTRALĄ PAMIĘCI DANYCH (DMD) A PAMIĘCIĄ PROGRAMU (PMD). PONIEWAŻ MAGISTRALA PMD JEST 24-BITOWA, A MAGISTRALA DMD JEST 16-BITOWA, DANE NIE MOGĄ BYĆ TRANSMITOWANE BEZPOŚREDNIO, LECZ PRZY WYKORZYSTANIU WEWNĘTRZNEGO REJESTRU PX. PM(I4,M4)=AR; Dane z rejestru AR (poprzez magistralę DMB) zostaną przesłane do lokacji w pamięci programu PMD. przykład: AR=1234 H, PX=00 H, PM(I4,M4)= H SI=PM(I4,M4); Dane z pamięci programu PM(I4,M4) przesyłane są do rejestru SI (rej. wejściowy jednostki przesuwającej). np. PM(I4,M4)=1F2C3D H, po operacji SI=1F2C H a PX=3D H.

71

72 Rys. Zestawienie wybranych rodzin procesorów Analog Devices Rys. Wewnętrzna architektura ADSP-2100

Rys. Podstawowy system przetwarzania cyfrowego sygnałów analogowych

Rys. Podstawowy system przetwarzania cyfrowego sygnałów analogowych TEORIA PRÓBKOWANIA Podstawy teorii pobierania próbek. Schemat blokowy typowego systemu pobierającego w czasie rzeczywistym próbki danych jest pokazany na rysunku poniżej. W rzeczywistych układach konwersji

Bardziej szczegółowo

Systemy. Pomiarowe Wielkości Fizycznych. Materiały do wykładu cz II. mikrosys@prz.edu.pl www.prz.edu.pl/~mikrosys

Systemy. Pomiarowe Wielkości Fizycznych. Materiały do wykładu cz II. mikrosys@prz.edu.pl www.prz.edu.pl/~mikrosys e-mail: www: mikrosys@prz.edu.pl www.prz.edu.pl/~mikrosys Systemy μp Pomiarowe Wielkości Fizycznych wykład cz.i 5 godz. prof. dr hab inż. Adam Kowalczyk bud. A pok 206 wykład cz.ii 5 godz. mgr inż. Kazimierz

Bardziej szczegółowo

Wejścia analogowe w sterownikach, regulatorach, układach automatyki

Wejścia analogowe w sterownikach, regulatorach, układach automatyki Wejścia analogowe w sterownikach, regulatorach, układach automatyki 1 Sygnały wejściowe/wyjściowe w sterowniku PLC Izolacja galwaniczna obwodów sterownika Zasilanie sterownika Elementy sygnalizacyjne Wejścia

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON

ĆWICZENIE. TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON ĆWICZENIE TEMAT: OBSŁUGA PRZETWORNIKA A/C W ukontrolerze 80C535 KEILuVISON Wiadomości wstępne: Wszystkie sygnały analogowe, które mają być przetwarzane w systemach mikroprocesorowych są próbkowane, kwantowane

Bardziej szczegółowo

Przetworniki A/C i C/A w systemach mikroprocesorowych

Przetworniki A/C i C/A w systemach mikroprocesorowych Przetworniki A/C i C/A w systemach mikroprocesorowych 1 Przetwornik A/C i C/A Przetworniki analogowo-cyfrowe (A/C) i cyfrowoanalogowe (C/A) to układy elektroniczne umożliwiające przesyłanie informacji

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Ćw. 10 Badanie toru przetwarzania C/A w mikrokontrolerach analogowych

Ćw. 10 Badanie toru przetwarzania C/A w mikrokontrolerach analogowych Ćw. 10 Badanie toru przetwarzania C/A w mikrokontrolerach analogowych (ADuC824 lub ADuC834) Problemy teoretyczne: Podstawy architektury mikrokontrolerów i mikrokonwerterów pamięć programu, pamięć danych,

Bardziej szczegółowo

Struktury specjalizowane wykorzystywane w mikrokontrolerach

Struktury specjalizowane wykorzystywane w mikrokontrolerach Struktury specjalizowane wykorzystywane w mikrokontrolerach Przetworniki analogowo-cyfrowe i cyfrowoanalogowe Interfejsy komunikacyjne Zegary czasu rzeczywistego Układy nadzorujące Układy generacji sygnałów

Bardziej szczegółowo

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe

Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo / analogowe W cyfrowych systemach pomiarowych często zachodzi konieczność zmiany sygnału cyfrowego na analogowy, np. w celu

Bardziej szczegółowo

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

Bardziej szczegółowo

Wyjścia analogowe w sterownikach, regulatorach

Wyjścia analogowe w sterownikach, regulatorach Wyjścia analogowe w sterownikach, regulatorach 1 Sygnały wejściowe/wyjściowe w sterowniku PLC Izolacja galwaniczna obwodów sterownika Zasilanie sterownika Elementy sygnalizacyjne Wejścia logiczne (dwustanowe)

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

System mikroprocesorowy i peryferia. Dariusz Chaberski

System mikroprocesorowy i peryferia. Dariusz Chaberski System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Dodatek D 1. Przetwornik analogowo-cyfrowy 1.1. Schemat blokowy Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Rys. 1. Schemat blokowy przetwornika A/C Przetwornik

Bardziej szczegółowo

Zastosowania mikrokontrolerów w przemyśle

Zastosowania mikrokontrolerów w przemyśle Zastosowania mikrokontrolerów w przemyśle Cezary MAJ Katedra Mikroelektroniki i Technik Informatycznych Współpraca z pamięciami zewnętrznymi Interfejs równoległy (szyna adresowa i danych) Multipleksowanie

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury 1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie

Bardziej szczegółowo

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca) Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca) tryb niskiego poboru mocy przełączanie źródeł zasilania łagodny start pamięć i zarządzanie awariami zmiana (nastawa) sygnału odniesienia

Bardziej szczegółowo

Przetworniki analogowo-cyfrowe (A/C)

Przetworniki analogowo-cyfrowe (A/C) Przetworniki analogowo-cyfrowe (A/C) Przetworniki analogowo-cyfrowe to urządzenia, przetwarzające ciągły analogowy sygnał wejściowy jedno wejście na odpowiadający mu dyskretny cyfrowy sygnał wyjściowy

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

Przetworniki A/C. Ryszard J. Barczyński, 2010 2015 Materiały dydaktyczne do użytku wewnętrznego

Przetworniki A/C. Ryszard J. Barczyński, 2010 2015 Materiały dydaktyczne do użytku wewnętrznego Przetworniki A/C Ryszard J. Barczyński, 2010 2015 Materiały dydaktyczne do użytku wewnętrznego Parametry przetworników analogowo cyfrowych Podstawowe parametry przetworników wpływające na ich dokładność

Bardziej szczegółowo

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ Laboratorium Podstaw Telekomunikacji Ćw. 4 WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ 1. Zapoznać się z zestawem do demonstracji wpływu zakłóceń na transmisję sygnałów cyfrowych. 2. Przy użyciu oscyloskopu cyfrowego

Bardziej szczegółowo

Wykład Mikroprocesory i kontrolery

Wykład Mikroprocesory i kontrolery Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

Bardziej szczegółowo

E-TRONIX Sterownik Uniwersalny SU 1.2

E-TRONIX Sterownik Uniwersalny SU 1.2 Obudowa. Obudowa umożliwia montaż sterownika na szynie DIN. Na panelu sterownika znajduje się wyświetlacz LCD 16x2, sygnalizacja LED stanu wejść cyfrowych (LED IN) i wyjść logicznych (LED OUT) oraz klawiatura

Bardziej szczegółowo

Temat: Pamięci. Programowalne struktury logiczne.

Temat: Pamięci. Programowalne struktury logiczne. Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w

Bardziej szczegółowo

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne... Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

Generator przebiegów pomiarowych Ex-GPP2

Generator przebiegów pomiarowych Ex-GPP2 Generator przebiegów pomiarowych Ex-GPP2 Przeznaczenie Generator przebiegów pomiarowych GPP2 jest programowalnym sześciokanałowym generatorem napięć i prądów, przeznaczonym do celów pomiarowych i diagnostycznych.

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 3 Wykład 9

Wbudowane układy peryferyjne cz. 3 Wykład 9 Wbudowane układy peryferyjne cz. 3 Wykład 9 Komparator analogowy Komparator analogowy 2 Komparator analogowy Pozwala porównać napięcia na wejściu dodatnim i ujemnym Przerwanie może być wywołane obniżeniem

Bardziej szczegółowo

Przetworniki AC i CA

Przetworniki AC i CA KATEDRA INFORMATYKI Wydział EAIiE AGH Laboratorium Techniki Mikroprocesorowej Ćwiczenie 4 Przetworniki AC i CA Cel ćwiczenia Celem ćwiczenia jest poznanie budowy i zasady działania wybranych rodzajów przetworników

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Moduł wejść/wyjść VersaPoint

Moduł wejść/wyjść VersaPoint Analogowy wyjściowy napięciowo-prądowy o rozdzielczości 16 bitów 1 kanałowy Moduł obsługuje wyjście analogowe sygnały napięciowe lub prądowe. Moduł pracuje z rozdzielczością 16 bitów. Parametry techniczne

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

Teoria przetwarzania A/C i C/A.

Teoria przetwarzania A/C i C/A. Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania; PRZYGOTOWAŁ: KIEROWNIK PRACY: MICHAŁ ŁABOWSKI dr inż. ZDZISŁAW ROCHALA projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania; dokładny pomiar wysokości

Bardziej szczegółowo

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

Architektura systemu komputerowego

Architektura systemu komputerowego Zakres przedmiotu 1. Wstęp do systemów mikroprocesorowych. 2. Współpraca procesora z pamięcią. Pamięci półprzewodnikowe. 3. Architektura systemów mikroprocesorowych. 4. Współpraca procesora z urządzeniami

Bardziej szczegółowo

Elektronika i techniki mikroprocesorowe

Elektronika i techniki mikroprocesorowe Elektronika i techniki mikroprocesorowe Technika Mikroprocesorowa Układy peryferyjne, komunikacja z uŝytkownikiem Katedra Energoelektroniki, Napędu Elektrycznego i Robotyki Wydział Elektryczny, ul. Krzywoustego

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie WEWNĘTRZNE UKŁADY PERYFERYJNE (µ-kontrolerów rodziny 51) nazwa jest trochę osobliwa, ale dobrze oddaje to, co jest najważniejszą cechą mikro-kontrolerów: jednoukładowość przy bogatym wyposażeniu Wyposażenie

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

PRZETWORNIKI A/C I C/A.

PRZETWORNIKI A/C I C/A. Przetworniki A/C i C/A 0 z 8 PRACOWNIA ENERGOELEKTRONICZNA w ZST Radom 2006/2007 PRZETWORNIKI A/C I C/A. Przed wykonaniem ćwiczenia powinieneś znać odpowiedzi na 4 pierwsze pytania i polecenia. Po wykonaniu

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12

ASTOR IC200ALG320 4 wyjścia analogowe prądowe. Rozdzielczość 12 bitów. Kod: B8. 4-kanałowy moduł ALG320 przetwarza sygnały cyfrowe o rozdzielczości 12 2.11 MODUŁY WYJŚĆ ANALOGOWYCH IC200ALG320 4 wyjścia analogowe prądowe, rozdzielczość 12 bitów IC200ALG321 4 wyjścia analogowe napięciowe (0 10 VDC), rozdzielczość 12 bitów IC200ALG322 4 wyjścia analogowe

Bardziej szczegółowo

Część 5. Mieszane analogowo-cyfrowe układy sterowania

Część 5. Mieszane analogowo-cyfrowe układy sterowania Część 5 Mieszane analogowo-cyfrowe układy sterowania Korzyści z cyfrowego sterowania przekształtników Zmniejszenie liczby elementów i wymiarów układu obwody sterowania, zabezpieczeń, pomiaru, kompensacji

Bardziej szczegółowo

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535 Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u

Bardziej szczegółowo

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

Bardziej szczegółowo

Komputery klasy PC. Dariusz Chaberski

Komputery klasy PC. Dariusz Chaberski Komputery klasy PC Dariusz Chaberski Start systemu adres 0xFFFF:0x0000 POST (ang. Power On Self Test) sprawdzenie zmiennej BIOSu 0x0040:0x0072-0x1234 - zimny start (RESET, włączenie zasilania), gorący

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Pamięci Układy pamięci kontaktują się z otoczeniem poprzez szynę danych, szynę owa i szynę sterującą. Szerokość szyny danych określa liczbę bitów zapamiętywanych do pamięci lub czytanych z pamięci w trakcie

Bardziej szczegółowo

Przetworniki C/A. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego

Przetworniki C/A. Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego Przetworniki C/A Ryszard J. Barczyński, 2016 Materiały dydaktyczne do użytku wewnętrznego Przetwarzanie C/A i A/C Większość rzeczywistych sygnałów to sygnały analogowe. By je przetwarzać w dzisiejszych

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

1. Zasilacz mocy AC/ DC programowany 1 sztuka. 2. Oscyloskop cyfrowy z pomiarem - 2 sztuki 3. Oscyloskop cyfrowy profesjonalny 1 sztuka

1. Zasilacz mocy AC/ DC programowany 1 sztuka. 2. Oscyloskop cyfrowy z pomiarem - 2 sztuki 3. Oscyloskop cyfrowy profesjonalny 1 sztuka WYMAGANIA TECHNICZNE Laboratoryjne wyposażenie pomiarowe w zestawie : 1. Zasilacz mocy AC/ DC programowany 1 sztuka 2. Oscyloskop cyfrowy z pomiarem - 2 sztuki 3. Oscyloskop cyfrowy profesjonalny 1 sztuka

Bardziej szczegółowo

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych

ĆWICZENIE nr 3. Badanie podstawowych parametrów metrologicznych przetworników analogowo-cyfrowych Politechnika Łódzka Katedra Przyrządów Półprzewodnikowych i Optoelektronicznych WWW.DSOD.PL LABORATORIUM METROLOGII ELEKTRONICZNEJ ĆWICZENIE nr 3 Badanie podstawowych parametrów metrologicznych przetworników

Bardziej szczegółowo

Standard transmisji równoległej LPT Centronics

Standard transmisji równoległej LPT Centronics Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku

Bardziej szczegółowo

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1 Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą

Bardziej szczegółowo

2. Budowa układów procesorowych rodziny TMS320C

2. Budowa układów procesorowych rodziny TMS320C 3 Wstęp...8 1. Procesory sygnałowe DSC (Digital Signal Controllers)...11 1.1. Przegląd układów procesorowych czasu rzeczywistego...13 1.2. Procesory rodziny TMS320C2000 firmy Texas Instruments...15 2.

Bardziej szczegółowo

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów... Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

Rozdział 21 Moduły analogowo - temperaturowe

Rozdział 21 Moduły analogowo - temperaturowe Rozdział 21 Moduły analogowo - temperaturowe W odpowiedzi na wymagania użytkowników seria Fs-PLC została wyposażona w analogowy moduł wejściowy z funkcją pomiaru temperatury. Łączy on w sobie funkcje modułu

Bardziej szczegółowo

DTR PICIO v1.0. 1. Przeznaczenie. 2. Gabaryty. 3. Układ złącz

DTR PICIO v1.0. 1. Przeznaczenie. 2. Gabaryty. 3. Układ złącz DTR PICIO v1.0 1. Przeznaczenie Moduł PICIO jest uniwersalnym modułem 8 wejść cyfrowych, 8 wyjść cyfrowych i 8 wejść analogowych. Głównym elementem modułu jest procesor PIC18F4680. Izolowane galwanicznie

Bardziej szczegółowo

SAIA PROGRAMOWALNY STEROWNIK PLC

SAIA PROGRAMOWALNY STEROWNIK PLC SAIA PROGRAMOWALNY STEROWNIK PLC SAIA BURGESS ELECTRONICS SABUR Sp. z. o. o. ul. Drużynowa 3A 02 950 Warszwa tel. (022) 844 75 20 fax. (022) 844 36 39 SAIA 1 @KEMOR SPIS TREŚCI 1. KABEL K111 KABEL DO PROGRAMOWANIA

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7 Łukasz Deńca V rok Koło Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

Bardziej szczegółowo

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe

HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy bufor dwukierunkowy HC244 dwa 4-bitowe bufory jednokierunkowe Bufory (BUFFER) Bufory stosuje się po to by: - zwiększyć obciążalność magistrali - chronić układ wysokiej skali integracji - sterować przepływem danych HC541 8-bitowy bufor jednokierunkowy HC245 8-bitowy

Bardziej szczegółowo

Architektura komputera

Architektura komputera Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla Wersja 1.1 29.04.2013 wyprodukowano dla 1. Instalacja oprogramowania 1.1. Wymagania systemowe Wspierane systemy operacyjne (zarówno w wersji 32 i 64 bitowej): Windows XP Windows Vista Windows 7 Windows

Bardziej szczegółowo

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r. Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo