piątek, 1 kwietnia 2011

Pułapki AVR: Mniejsze Vcc = mniejszy prąd pinów


Autor: Dondu

Artykuł jest fragmentem cyklu: Pułapki mikrokontrolerów AVR

Rys. 3.1 ATmega8/8L
Ta pułapka zdarza się znacznie rzadziej, ale warto o niej napisać, bo należy do tych z rodzaju "pisane małym druczkiem" w datasheet :-)

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
Na powyższym fragmencie datasheet  zaznaczyłem wyrazy sink i source, by przy okazji wyjaśnić te terminy, ponieważ można je spotkać w wielu datasheetach.

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

Brak komentarzy:

Prześlij komentarz