Serwis Edukacyjny w I-LO w Tarnowie ![]() Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2023 mgr Jerzy Wałaszek |
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
SPIS TREŚCI |
Podrozdziały |
Każda kolejna z tych rodzin cechuje się coraz większymi możliwościami mikrokontrolerów. Mikrokontrolery PIC posiadają podobne funkcje wyprowadzeń w obrębie układów o tej samej liczbie nóżek, co często pozwala stosować je zamiennie między sobą. Dodatkowo architektura mikrokontrolerów PIC jest bardzo podobna, co ułatwia naukę i zastosowanie.
Procesor PIC jest procesorem RISC (ang. Reduced Instruction Set Computer – komputer o zredukowanej liście rozkazów). Dzięki temu procesor działa bardzo szybko, rozkazy są wykonywane co jeden takcie zegara – w rzeczywistości taktów jest więcej (pobranie, dekodowanie i wykonanie), lecz PIC stosuje nakładkowanie (ang. pipelining): polega to na tym, iż rozkazy są dekodowane i wykonywane w trakcie pobierania następnego rozkazu. Poniższy rysunek wyjaśnia ideę nakładkowania:
W efekcie program jest wykonywany szybciej (w mniejszej liczbie taktów) - w PIC jedna instrukcja co 1 takt zegara (w rzeczywistości 1 instrukcja wykonywana jest w 4 taktach zegara, lecz nakładkowanie przyspiesza ten proces). Architektura RISC wymusza małą liczbę rozkazów, które wykonuje mikroprocesor PIC. Rozkazy te są proste i łatwe do zapamiętania. Mała liczba rozkazów (około 35) upraszcza ich dekodowanie (rozpoznawanie przez mikroprocesor po pobraniu z pamięci), co również przekłada się na przyspieszenie działania. Możesz tutaj zadać pytanie: skoro to takie piękne, to dlaczego nie produkuje się wszystkich mikroprocesorów jako RISC? Otóż dlatego, iż zaletą RISC jest duża szybkość wykonywania rozkazów, jednak wadą może być to, iż rozkazy te są bardzo proste i przy bardziej skomplikowanym przetwarzaniu trzeba tych rozkazów wykonać dużo, co niweluje wtedy zalety RISC. Na szczęście takie sytuacje nie występują nader często.
Procesor PIC składa się ze standardowych modułów:
Mikroprocesor PIC posiada architekturę harwardzką (ang. Harward Architecture), co oznacza rozdzielenie pamięci programu z instrukcjami dla mikroprocesora od pamięci danych. Takie rozwiązanie upraszcza budowę mikroprocesora, co dodatkowo przyspiesza jego działanie. W PIC pamięć składa się z pamięci RAM i ROM:
W pamięci RAM znajdują się trzy przestrzenie (obszary adresowe):
Rejestry SFR i GPR znajdują się we wspólnej przestrzeni danych, zwanej plikiem rejestrów (ang. Register File). Takie rozwiązanie pozwala na dostęp do SFR i GPR przy pomocy tych samych instrukcji mikroprocesora.
W pamięci ROM znajdują się dwie przestrzenie:
Mikrokontroler PIC posiada szereg modułów we/wy, które pełnią różne funkcje.
Porty umożliwiają przesyłanie danych pomiędzy PIC a różnymi urządzeniami zewnętrznymi. Porty są dwukierunkowe i mikroprocesor uzyskuje do nich dostęp poprzez odpowiednie rejestry SFR.
Timery umożliwiają odmierzanie czasu oraz generowanie różnych przebiegów czasowych, np. PWM.
Przetwornik A/C pozwala dokonywać pomiarów napięć analogowych.
Komparator analogowy umożliwia porównywanie ze sobą napięć doprowadzonych do dwóch końcówek mikrokontrolera.
Moduły komunikacyjne UART, USART, SPI i I2C umożliwiają komunikację pomiędzy mikrokontrolerem PIC a zewnętrznymi modułami we/wy (np. zegarem RTC, pamięciami EEPROM, wyświetlaczami LCD/LED, klawiaturami, itp.).
Licznik zegarowy (ang. Watchdog Timer, WDT) służy głównie do zabezpieczania stabilnej pracy mikrokontrolera. Licznik zegarowy resetuje mikrokontroler po zliczeniu do maksymalnej wartości. Aby zapobiec resetowi, mikrokontroler zeruje ten licznik w wybranych punktach programu. Jeśli z jakiś powodów program się zablokuje i nie dokona na czas zerowania licznika zegarowego, to ten zresetuje mikrokontroler po zliczeniu do swojego maksimum. Dzięki temu mikrokontroler podejmie na nowo pracę. Oczywiście program musi być napisany z uwzględnieniem tej opcji, ale to już jest zmartwienie programisty.
Przerwania pozwalają mikrokontrolerowi reagować na różne zdarzenia bez ciągłego sprawdzania, czy dane zdarzenie wystąpiło. Jeśli takie zdarzenie się pojawi, mikroprocesor przerywa wykonywanie programu głównego i przechodzi do procedury obsługującej zdarzenia. Procedura ta rozpoznaje rodzaj zdarzenia i podejmuje odpowiednie działania, po czym następuje powrót do wykonywania programu głównego.
Oscylatory służą do generowania przebiegu zegarowego, który taktuje pracę mikrokontrolera. Oscylator zewnętrzny wymaga dołączenia zewnętrznych składników (np. kwarcu, kondensatorów, oporników). Oscylator wewnętrzny pracuje bez dodatkowych elementów, jednakże jego częstotliwość nie jest wysoko stabilna i dokładna.
Rodzina podstawowa | Rodzina średnia | Rodzina rozszerzona | Rodzina wysokiej klasy | |
Liczba końcówek | 6...40 | 8...64 | 8...64 | 18...100 |
Przerwania | Brak | Pojedyncze przerwanie | Pojedyncze przerwanie z zapamiętaniem kontekstu sprzętowego | Wielokrotne przerwania z zapamiętaniem kontekstu sprzętowego |
Osiągi | 5 MIPS | 5 MIPS | 8 MIPS | Do 16 MIPS |
Instrukcje | 33 12-bitowe | 35 14-bitowych | 49 14-bitowych | 83 16-bitowe |
Pamięć programu | Do 3 KB | Do 14 KB | Do 28 KB | Do 128 KB |
Pamięć danych | Do 138 B | Do 368 B | Do 1,5 KB | Do 4 KB |
Stos sprzętowy | 2 poziomy | 8 poziomów | 16 poziomów | 32 poziomy |
Własności | - komparator - 8-bitowy przetwornik A/C - pamięć danych - wewnętrzny oscylator |
Dodatkowo do rodziny
podstawowej: - SPI/I2C - UART - Moduły PWM - LCD - 10-bitowy przetwornik A/C - Wzmacniacz operacyjny |
Dodatkowo do rodzimy
średniej: - wiele modułów komunikacyjnych - liniowa przestrzeń programowa - moduły PWM z niezależnymi podstawami czasu |
Dodatkowo do rodziny
rozszerzonej: - sprzętowy układ mnożący 8 x 8 bitów - CAN - CTMU - USB - Ethernet - 12-bitowy przetwornik A/C |
Niski koszt, małe wymiary | Optymalny koszt do osiągów | Efektywny koszt przy większych osiągach i większej pamięci | Wysokie osiągi, optymalizacja do programowania w C, zaawansowane moduły peryferyjne |
PIC10F2xx
PIC12F5xx
PIC16F5x
PIC16F5xx
PIC10F3xx
PIC12F6xx
PIC12F7xx
PIC16F6xx
PIC16F7xx
PIC16F8xx
PIC16F9xx
PIC12F1xxx
PIC16F1xxx
PIC18Fxxx
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2023 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.