Mikrokontrolery w systemach pomiarowo sterujących

Podobne dokumenty
Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe

Mikrokontrolery czyli o czym to będzie...

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Cyfrowe układy scalone

Programowanie mikrokontrolerów (CISC)

Cyfrowe układy scalone

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

Lista rozkazów mikrokontrolera 8051

Cyfrowe układy scalone

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów

MIKROPROCESORY architektura i programowanie

Asembler - język maszynowy procesora

Programowanie mikrokontrolera 8051

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

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

Magistrale szeregowe

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

System mikroprocesorowy i peryferia. Dariusz Chaberski

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

TMiK Podstawy Techniki Mikroprocesorowej. Lidia Łukasiak

architektura komputerów w 1 1

Wbudowane układy komunikacyjne cz. 1 Wykład 10

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

Architektura mikrokontrolera MCS51

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

Architektura mikrokontrolera MCS51

Podstawy Techniki Mikroprocesorowej

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

Hardware mikrokontrolera X51

Wykład Mikroprocesory i kontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery

Architektura mikroprocesorów TEO 2009/2010

Elektronika i techniki mikroprocesorowe

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Komunikacja z urzadzeniami zewnętrznymi

Technika mikroprocesorowa

Wykład 2. Mikrokontrolery z rdzeniami ARM

MIKROKONTROLERY I MIKROPROCESORY

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputera

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

Architektura komputerów. Układy wejścia-wyjścia komputera

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

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

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

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

Opracował: Jan Front

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

Magistrala systemowa (System Bus)

Budowa Mikrokomputera

Mikroprocesory i Mikrosterowniki

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

LABORATORIUM nr 1. Temat: Wstęp do mikrokontrolerów rodziny MCS-51

Temat: Pamięci. Programowalne struktury logiczne.

Architektura komputerów

6.1. Zastosowanie mikrokontrolera SAB 80C535 do sterowania silnikiem prądu stałego

RODZAJE PAMIĘCI RAM. Cz. 1

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

2. Architektura mikrokontrolerów PIC16F8x... 13

Technologia informacyjna. Urządzenia techniki komputerowej

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

IV PROGRAMOWANIE MIKROKOMPUTERA Technika Cyfrowa 2. Wykład 4: Programowanie mikrokomputera 8051

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Architektura systemu komputerowego

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

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Wstęp do informatyki. Interfejsy, urządzenia we/wy i komunikacja. Linie magistrali

Szkolenia specjalistyczne

Architektura komputerów

Instytut Teleinformatyki

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

ARCHITEKTURA PROCESORA,

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

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

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Programowanie w językach asemblera i C

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51.

Architektura komputerów

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Artykuł zawiera opis i dane techniczne

Programowanie mikrokontrolerów. 8 listopada 2007

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

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

Wykład I. Podstawowe pojęcia Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Mikroprocesory i Mikrosterowniki

Architektura komputerów

Problematyka sieci miejscowej LIN

Technika Mikroprocesorowa

Organizacja typowego mikroprocesora

Transkrypt:

Mikrokontrolery w systemach pomiarowo sterujących

Mikrokontrolery czyli o czym to będzie... Mikrokontroler to cały komputer w kawałku krzemu, zoptymalizowany pod kątem sterowania różnorakimi urządzeniami. Typowy mikrokontroler zawiera praktycznie wszystko, co mu jest potrzebne do pracy - tym różni się od zwykłego mikroprocesora.

Mikrokontrolery Mikrokontroler nie jest... wolny niektóre mikrokontrolery osiągają częstotliwości w zakresie GHz; prosty oprócz znanych ze zwykłej techniki mikroprocesorowej składników mikrokontrolery mogą zawierać na przykład przetworniki A/C i C/A, modemy radiowe, kompletne podsystemy sieciowe, kontrolery zasilania... tani a przynajmniej nie zawsze jest tani... zawodny mikrokontrolery są projektowane tak, by odznaczać się niezawodnością;

Standardowa architektura mikrokontrolera

Jednostka centralna * Jednostka centralna (zwana też procesorem rdzeniowym, rdzeniem, procesorem lub układem wykonawczym) cyklicznie wykonuje instrukcje zawarte w programie mikrokontrolera. * Lista instrukcji dla danego mikrokontrolera jest z góry określona. * Jednostka centralna jest synchronicznym i sekwencyjnym układem cyfrowym.

Podział mikroprocesorów Ze względu na mapy pamięci * architektura harwardzka * architektura Von Neumanna Ze względu na typ listy instrukcji * RISC (Reduced Instruction Set Computer) o zredukowanej liczbie instrukcji * CISC (Complex Instruction Set Computer) z rozbudowaną liczbą instrukcji

Podział mikroprocesorów Architektura harwardzka charakteryzuje się zastosowaniem oddzielnych szyn dla danych i programu. * Magistrale danych i adresów mogą mieć różną szerokość (długość słowa)

Podział mikroprocesorów Architektura Von Neumanna cechuje się jednolitą przestrzenią adresową. Mapa pamięci układu serii ST7 (ST72215G)

Podstawowe układy pamięci mikrokontrolera Zawartość pamięci nie zanika wraz z wyłączeniem zasilania Z pamięci można czytać, ale nie można do niej zapisywać danych. Umieszczenie danych wymaga specjalnego procesu programowania. * ROM (Read Only Memory) programowanie następuje w procesie produkcyjnym mikrokontrolera. * EPROM (Erasable Programmable ROM) można kasować dotychczasową zawartość promieniowaniem UV i programować za pomocą specjalnego urządzenia. * OTP (One Time Programmable) można jednorazowo programować za pomocą specjalnego urządzenia. * FLASH (Bulk Erasable Non Volatile Memory) możliwe jest wielokrotne elektryczne wymazanie zawartości i programowanie, często bezpośrednio w systemie (ISP In System Programmable)

Podstawowe układy pamięci mikrokontrolera Zawartość pamięci nie zanika wraz z wyłączeniem zasilania Z pamięci można zarówno czytać, jak i pisać do niej dane. Często tworzy się specjalne konstrukcje podtrzymujące jej zawartość przy wyłączeniu zasilania urządzenia. * SRAM (Static Random Access Memory) pamięci RAM statyczne. Krótkie czasy dostępu, proste w obsłudze przez CPU, drogie. * DRAM (Dynamic Random Access Memory) wymagają przeprowadzania w określonych odstępach czasu pewnych operacji na pamięci (odświeżanie), w przeciwnym wypadku dane zanikają. Charakteryzują się dużymi pojemnościami, są tanie.

Architektura mikrokontrolera X51

Architektura mikrokontrolera X51 8 bitowy procesor optymalizowany pod kątem sterowania rozbudowane operacje logiczne (również bitowe) 64 kb przestrzeni adresowej programu 64 kb przestrzeni adresowej danych 128 B wewnętrznej pamięci RAM dwa 16 bitowe liczniki/zegary dwukierunkowy UART 6 źródeł przerwań z 5 pozycyjnym wektorem i priorytetami wewnętrzny zegar systemowy

Architektura mikrokontrolera X51

Architektura mikrokontrolera X51 (wyprowadzenia)

Architektura mikrokontrolera X51 (obszary adresowe) Pamięć programu Pamięć RAM

8051 Pamięć programu Po uruchomieniu procesora wykonywanie programu rozpoczyna się od adresu 0000h Adres ma długość 16 bitów. Zatem 8051 może zaadresować 216 = 64k słów programu. Każde słowo ma długość jednego bajtu. CPU może wykonywać instrukcje jedynie z pamięci programu.

Lista rozkazów Lista rozkazów (instrukcji) to zestaw wszystkich rozkazów, które jest w stanie wykonać dany procesor.. Każdy procesor ma własną listę rozkazów. Rozkazy możemy podzielić na zasadnicze grupy: Arytmetyczno logiczne Przesłania danych Przeniesienia sterowania Testowania i porównania (w zasadzie nieobecne w 8051) Wejścia wyjścia (tylko niektóre procesory; 8051 ich nie ma) Inne Niektóre procesory (szczególnie RISC) mają rozkazy o ujednoliconej długości, inne (w tym 8051) nie.

Kodowanie rozkazów Rozkaz zawiera informację jaką operację wykonać, operandy (jeżeli są). przeznaczenie wyniku (jeżeli jest) Część rozkazu zawierająca informację o operacji nazywa się często kodem instrukcji (rozkazu) albo opcode Operand może być wartością natychmiastową, adresem pamięci lub rejestrem. Przeznaczeniem może być adres pamięci lub rejestr. Rozkaz procesora 8051 może mieć długość 1, 2 lub 3 bajtów

Lista rozkazów 8051 ACALL addr11 ADD A,<src> ADDC A,<src> AJMP addr11 ANL <dest>,<src> ANL C,<bit> CJNE <dest>,<src>,rel8 CLR A CLR bit CPL A CPL bit DA A DEC <byte> DIV AB DJNZ <byte>,<rel8> INC <byte> INC DPTR JB bit,rel8 JBC bit,rel8 JC rel8 JMP @A+DPTR JNB bit,rel8 JNC rel8 JNZ rel8 JZ rel8 LCALL addr16 LJMP addr16 MOV <dest>,<src> MOV DPTR,#data16 MOV bit,bit MOVC A,@A+<base> MOVX <dest>,<src> MUL AB NOP ORL <dest>,<src> ORL C,bit POP direct PUSH direct RET RETI RL A RLC A RR A RRC A SETB bit SJMP rel8 SUBB A,<src> SWAP A XCH A,<byte> XCHD A,@Ri XRL <dest>,<src>

Zwiększanie liczby wejść i wyjść Zdarza się, że liczba wyprowadzeń portów mikrokontrolera nie wystarcza do naszego zastosowania musimy wtedy odpowiednio zwiększyć ich liczbę. Mamy do dyspozycji: Standardowe układy cyfrowe (na przykład CMOS lub TTL) Specjalizowane układy rozszerzeń łączone z szyną procesora Układy łączone poprzez specjalny interface szeregowy (I2C, SPI, 1 Wire)

Lokalne interfejsy szeregowe Umożliwiają... połączenie sporej liczby układów peryferyjnych... przy niewielkiej liczbie użytych linii sterujących... przy małej liczbie dodatkowych elementów... zwykle nie potrzebują miejsca w przestrzeni adresowej Mają też wady... niezbędny specjalizowany hardware... albo skomplikowane (i wolno działające) oprogramowanie... ograniczoną prędkość transmisji danych

Lokalne interfejsy szeregowe Najczęściej spotyka się interfejsy I2C Inter Integrated Circuits... opracowany przez firmę Philips SMBus System Management Bus... podobny do I2C, utworzony przez firmę Intel SPI Serial Peripherial Interface... opracowany przez firmę Motorola Microwire... podobny do SPI 1 Wire... opracowany przez firmę Dallas (aktualnie Maxim)

Lokalny interfejs szeregowy I2C Zawiera dwie dwukierunkowe linie typu otwarty kolektor:... SDA (linia danych)... SCL (linia zegara) Transmisja jest synchroniczna... z prędkością maksymalną 3.4Mb/s (typowo 100 kb/s)... w trybie master slave (master steruje transmisją za pomocą SCL) Każdy układ slave ma swój unikalny identyfikator

Lokalny interfejs szeregowy I2C Zwykle system zbudowany jest z jednego mikrokontrolera... pracującego jako master... oraz szeregu układów slave Możliwe są jedna bardziej skomplikowane konfiguracje Każdy z układów slave ma adres unikalny dla typu układów... sprzętowo ustalany przez producenta... jednakoż użytkownik ma zwykle możliwość wpływu na część adresu... za pomocą wyprowadzeń układu scalonego

Lokalny interfejs szeregowy I2C W przykładzie obok... połączono dwa przetworniki C/A... firmy Maxim

Lokalny interfejs szeregowy I2C Dane przesyłane są sformatowane w ramki o długości jednego bajtu Po każdym bajcie następuje potwierdzenie jego odbioru (ACK) Bajty przesyłane są od bardziej znaczących Transmisją danych steruje układ master za pomocą linii zegara SCL Odbiornik może chwilowo wstrzymać nadawanie... wymuszając stan niski na linii SCL Każdą transmisję rozpoczyna sekwencja START, a kończy STOP

Lokalny interfejs szeregowy I2C Parametry czasowe:... transmisja może odbywać się dowolnie wolno Maksymalna prędkość transmisji... w trybie standard wynosi 100 kb/s... w trybie szybkim 400 kb/s... w trybie high speed 3.4 Mb/s W trybie standard pracują wszystkie układy... w trybie szybkim tylko niektóre... w trybie high speed bardzo nieliczne

Lokalny interfejs szeregowy I2 C Przykład sterownika wyświetlacza LED i klawiatury

Lokalny interfejs szeregowy I2 C System procesora telewizyjnego SAA56XX firmy Philips

Lokalny interfejs szeregowy I2C Szeregowe układy pamięci

Lokalny interfejs szeregowy SMBus Jest uproszczeniem interfejsu I2C... wprowadza dolny limit czasu operacji (25 ms)... minimalną częstotliwość zegara (10 khz)... pracuje z maksymalną częstotliwością zegara 100 khz... istnieje jeszcze parę mało istotnych różnic Wprowadza też dodatkowe funkcje (alarm, general call) W praktyce układy z oboma interfejsami dają się łączyć jednocześnie

Lokalny interfejs szeregowy SPI Jest to interfejs czteroprzewodowy, synchroniczny Jeden z układów (zwykle mikrokontroler) pełni rolę master... sterując transmisją Gwarantowana prędkość transmisji wynosi 2.1 Mb/s Układy nie mają unikalnych identyfikatorów... ale dodatkowe wejście wyboru (SS)... stan niski na tym wejściu wybiera aktywny układ slave

Lokalny interfejs szeregowy SPI Teoretycznie nie ma ograniczeń na liczbę układów W praktyce ograniczeniem jest suma pojemności montażowych... ograniczająca prędkość transmisji

Lokalny interfejs szeregowy SPI Co prawda SPI... jest prostszy niż I2C... ma za to cztery tryby pracy... różniące się zboczem zegara, na którym jest próbkowane wejście... oraz ustawiane wyjście Na szczęście mikrokontrolery radzą sobie ze wszystkimi trybami

Lokalny interfejs szeregowy SPI Przykład odczytu bajtowej danej z pamięci EEProm z interfejsem SPI... (X5323 firmy Xicor)

Lokalny interfejs szeregowy SPI Realizacja programowa interfejsu SPI jest prostsza niż I2C Zestaw istniejących układów jest również obfity... choć mniej jest układów specjalizowanych (na przykład TV) Wykorzystując rozszerzony interfejs SPI... firma Atmel stworzyła standard programowania procesora... ISP (In System Programming)

Lokalny interfejs szeregowy Microwire Został opracowany w firmie National Semiconductor Jest praktycznie identyczny z SPI pracującym w trybie 0 Masterem jest zawsze mikrokontroler (nie ma on lini SS)... interface jest więc w zasadzie trójprzewodowy Jest popularny

Lokalny interfejs szeregowy 1 Wire Został opracowany w firmie Dallas (aktualnie Maxim) Używa jednego przewodu do transmisji w obie strony... oraz opcjonalnie zasilania układów (!)... linia jest sterowana przez wyjścia z otwartym kolektorem Transmisja ma prędkość do 16.3kb/s (standard)... lub 115.2 kb/s (overdrive) Do pojedynczej linii można dołączyć wiele układów Każdy układ (egzemplarz!) ma swój unikalny identyfikator... do ich identyfikacji służy specjalna procedura wyszukiwania... przeprowadzana przez kontroler,... który zawsze pełni rolę nadrzędną (master)

Lokalny interfejs szeregowy 1 Wire W stanie spoczynkowym linia znajduje się na wysokim poziomie Każdy impuls niskiego poziomu o czasie dłuższym niż 480 us... jest traktowany jako reset... po którym układy slave... zgłaszają swoją obecność Następnie układ master... przeprowadza przeszukiwanie... identyfikując układy slave

Lokalny interfejs szeregowy 1 Wire Zapis przez mastera bitu 1 do rejestru wejściowego slave

Lokalny interfejs szeregowy 1 Wire Zapis przez mastera bitu 0 do rejestru wejściowego slave

Lokalny interfejs szeregowy 1 Wire Odczyt przez mastera bitu ze slave

Lokalny interfejs szeregowy 1 Wire Do budowy interface 1 Wire można wykorzystać dwa bity we/wy

Lokalny interfejs szeregowy 1 Wire 1 Wire to niewątpliwie interfejs bardzo ciekawy... i bardzo zaawansowany technologicznie Choć układy produkuje praktycznie jedna firma Maxim/Dallas... to są wśród nich różne propozycje o uniwersalnym zastosowaniu... niestety, nie są tanie Algorytm wyszukiwania układów jest skomplikowany... lecz producent dostarcza źródła gotowych procedur Interfejs nadaje się do budowy sporych sieci czujników pomiarowych

Lokalny interfejs szeregowy 1 Wire ibutton Interfejs 1 Wire jest również wykorzystywany w elementach ibutton Są to układy zamknięte w obudowach stalowych... i bardzo odporne na wpływy zewnętrzne Na przykład pamięci (również z szyfrowanym dostępem)... mogą być wykorzystywane w szeroko pojętym security Istnieją również autonomiczne (z własnym zasilaniem)... układy pomiarowe mierzące temperaturę i wilgotność... i magazynujące zmierzone wielkości