Autor: Dondu
Artykuł jest fragmentem cyklu: Pułapki mikrokontrolerów AVR
Rys. 3.1 ATmega8/8L |
Chodzi o wydajność prądową pinów portów mikrokontrolera w przypadku zaprogramowania ich jako wyjścia.
Na próżno szukać w tabelkach rozdziału Electrical Characteristic takich parametrów IOL czy IOH. pierwszą rzucającą się w oczy jest informacja umieszczona w tabelce Absolute Maximum Ratings (patrz rysunek po prawej).
Cóż tam widzimy?
Że nigdy, przenigdy nie możemy zmuszać pojedynczego pinu wyjściowego naszego scalaka do pracy z prądem większym niż 40mA, bo grozi to jego uszkodzeniem.
Po dokładniejszym przeglądnięciu tabeli DC Characteristics odkryjemy, że w wierszach dotyczących napięć VOL i VOH, są ukryte informacje, które poszukujemy:
Rys. 3.2 ATmega8/8L |
Cóż w nich jest?
Niespodzianka polegająca na tym, że obciążalność prądowa pinu ustawionego jako wyjście, jest zależna od napięcia zasilania mikrokontrolera (!). I to jest właśnie pułapka, w którą czasami wpadają początkujący, którzy zrobili kilka projektów zasilanych 5V, a zamarzył im się projekt z zasilaniem napięciem niższym :-)
Ale zaraz, zaraz! To w końcu można 40mA, 20mA czy 10mA?
I tutaj pojawia się sedno pułapki czyli "mały druczek" koloru niebieskiego na rys.3.2 - widzisz go?
OK, specjalnie nieco zmniejszyłem ten zrzut datasheet, ale robię to po to, aby uczulić Ciebie, że:
ZAWSZE czytaj, co napisano małym druczkiem!
W przypadku tych dwóch parametrów są to odnośniki o numerach (3) i (4) do tekstu pod tabelką, który brzmi tak:
Rys. 3.3 ATmega8/8L |
I tutaj dopiero jest wyjaśnienie, że możesz przekroczyć zalecane 20mA(dla 5V) lub 10mA (dla 3V), ale musisz się liczyć z tym, że napięcie na pinie może nie spełniać parametrów określonych za pomocą VOL oraz VOH. Niby drobnostka, ale może powodować niespodziewany problem.
Dodatkowo jest potwierdzenie drugiej ważnej informacji z tabelki Absolute Maximum Rateings (rys. 3.1), iż łącznie wszystkie prądy Vcc i GND nie mogą przekraczać 300mA oraz że są pewne ograniczenia łącznych prądów dla poszczególnych fragmentów mikrokontrolera.
SOURCE vs SINK
Rys. 3.4 |
W przypadku gdy dotyczą parametru wybranego pinu, a którym jest prąd:
SOURCE (ang. źródło, pochodzenie) - to prąd generowany przez pin mikrokontrolera w momencie gdy jest na nim jedynka logiczna (rys 3.4 - dioda D2 świeci).
SINK (ang. topić, tonąć, itp) - to prąd "topiony, wchłaniany" przez pin mikrokontrolera, gdy jest na nim logiczne zero (rys. 3.4 - dioda D1 świeci).
Ale przede wszystkim powinieneś przeczytać dokładnie wszystkie informacje z fragmentu datasheet powyżej, gdyż stanowią one bardzo istotne parametry, nie ujęte bezpośrednio w tabelkach.
Więcej dowiesz się w tym cyklu: Mikrokontroler vs prądy pinów
Zobacz pozostałe pułapki AVR
- Pułapki AVR: Spis treści
Brak komentarzy:
Prześlij komentarz