wejście z podciągnięciem do VCC -

Witam wszystkich

Zaczalem sie bawic programowaniem mikrokontrolerow i jestem w tym zupelnie zielony(elektronika-cos tam mialem na studiach, ale to bylo wieki temu i kiepsko wytlumaczone, programowanie-na tym sie znam, ale programowanie wysokopoziomowe), wiec zaczalem sobie czytac jakies kursy i natrafilem na takie okreslenie, ktore nie bardzo wiem co znaczy.

Link do kursu:

formatting link
(nie podaje oryginalnego adresu do kursu, bo ostatnio serwer ma ciagle problemy)

W kursie jest taki tekst(prawie na samym poczatku, tuz nad tabelka z naglowkiem "DDRx.n | PORTx.n | Px.n"): Dodatkowo, gdy linia jest wejściem i odpowiadający tej linii bit w rejestrze PORTx ma wartość 1, wtedy wyprowadzenie jest wewnętrznie podciągnięta do napięcia zasilania.

Z tego co mi wiadomo, to jak nozka jest ustawiona jako wejscie, to "nasluchuje" co tam dostaje od jakis zewnetrznych urzadzen i wtedy mozna cos zrobic z ta informacja, ale nie mam zielonego pojecia, co ma do tego zasilanie.

Pozdrawiam Paweł

Reply to
Pawel
Loading thread data ...

Użytkownik "Pawel" <ppf9@USUN_TOpoczta.fm> napisał w wiadomości news:igdaji$9c2$ snipped-for-privacy@inews.gazeta.pl...

formatting link
formatting link
"Pin portu skonfigurowany jako wejście jest "w stanie wysokiej impedancji". Dla uproszczenia można przyjąć, że jest on w stanie izolacji galwanicznej względem reszty układu. W takim przypadku nie możemy określić jakie napięcie na nim panuje (względem masy układu) czyli nie możemy stwierdzić, czy jego stan to zero logiczne, czy jedynka logiczna. Podsumowując - mikrokontroler będzie z takiego wejścia odczytywał przypadkowy stan logiczny w zależności od tego, z której strony wiatr zawieje ;-) Podciągnięcie wejścia to połączenie pinu z plusem zasilania układu przez rezystor o wartości kilku - kilkudziesięciu kiloomów. W ten sposób wymuszamy na wejściu stan jedynki logicznej i możemy bezbłędnie wykryć podane na wejście zero logiczne (w takim przypadku całe napięcie zasilania odłoży się na rezystorze podciągającym a jego dolny zacisk będzie na potencjale bliskim zeru) albo jedynkę logiczną (przez rezystor podciągający nie popłynie żaden prąd a jego dolny koniec - połączony z pinem mikrokontrolera - będzie miał potencjał bliski napięciu zasilania Vcc). Rezystor podciągający jest niezbędny, gdy układ zewnętrzny (z którego odczytujemy stan) ma wyjście typu otwarty kolektor lub otwarty dren, co działa jak styk przekaźnika, który potrafi "zawisnąć w powietrzu" lub zewrzeć się do masy. "

itd.

Reply to
f

Pawel <ppf9@USUN_TOpoczta.fm> napisał(a):

Ma w momencie, gdy nic nie podłączysz. Nóżka jest połączona z zasilaniem przez rezystor. Jeśli więc nic do niej nie podłączysz to odczytasz 1. Możesz też z tego wyciągnąć wniosek, że rezystancja wyjściowa urządzenia zewnętrznego musi być mniejsza od tego rezystora. Najlepiej o rząd wielkości.

Reply to
Grzegorz Niemirowski

Znaczy jak nogę do niczego nie podłączysz, to masz 1, jak czytasz. Jak podłączysz zewnętrzny sygnał, to nie potrzebujesz zewnętrznego podciągnięcia i możesz podłączyć OC do tego. Jak masz normalny sygnał logiczny, to ustawiasz 0 na odpowiedniej pozycji w PORTx i podciągania nie ma.

Waldek

Reply to
Waldemar Krzok

Wyobraź sobie balonik na dworze w wietrzny dzień. Kiedy go podniesiesz w rękach do góry, jest logiczna jedynka, kiedy puścisz chciałbyś, żeby swobodnie opadł na ziemię - logiczne zero. Niestety kiedy go nie trzymasz, działa na niego zakłócenie - wiatr. Nie wiesz, jak wiatr powieje a tym samym jak balonik się zachowa, czy poleci do góry, czy zostanie przyciśnięty do ziemi. Wystarczy do balonika przywiązać mały cieżarek, taki, który utrzyma go przy powierzchni ziemi a jednocześnie nie będzie wprowadzał takiego obciążenia, przez które nie byłbyś go w stanie podnieść rękoma do góry. Ten ciężarek to właśnie rezystor podciągający (w tym przypadku podciągający do masy:p). Wiatr to zakłócenia z układów cyfrowych, z silników, z zewnętrznego pola elektromagnetycznego itd.

pozdrawiam Mateusz

Reply to
Mateusz Klatecki

Po pierwszy, co to jest to OC? Nie wiem, czy dobrze rozumie, ale jaki jest sens, zeby na wejsciu zawsze bylo 1(jaki sens ma czytanie z takiej z nozki)? Z tego co rozumie, to na wejsciu jest 1, gdy: a) jest podciagniecie do VCC b) gdy jest podlaczone jakies urzadzenie i to urzadzenie ustawi 1 Czy dobrze rozumie?

Z tego co rozumie, to to podciaganie ma cos wspolnego z zakloceniami, gdy do danej nozki nie jest nic podlaczone. Jesli tak, to czy to zaklocenie ma wplyw na caly mikrokontroler

Czy to podciagniecie ustawia sie tak? DDRB = 0b11111110 PORTB= 0b00000001 ustawienie ostatniej nozki na wejscie z podciagnieciem do zasilania

Reply to
Pawel

W dniu 09.01.2011 23:41, Pawel pisze:

Tak.

Najprostszy przykład - przyciski - typowy przycisk pracuje w dwóch stanach - przewodzi/nie przewodzi. Jeżeli podepniesz taki przycisk do nóżki w wysokiej impedancji to po wciśnięciu przycisku stan się zmieni,ale po puszczeniu zostanie taki sam, bo ładunek nie ma jak przepłynąć.

Jeżeli ustawisz pin z podciągnięciem do VCC i połączysz przyciskiem do masy to gdy przycisk przewodzi to jest stabilne '0', a gdy nie przewodzi stabilne '1'.

(Nie ma to nic wspólnego z eliminowaniem "drgania styków",)

Nie, nie tak. Tak ustawiasz jednocześnie pozostałe nóżki jako wyjścia w silnym 0. //_BV(x) (1<<(x)) - jest na gcc

DDRB &= ~_BV(0); DDRB |= _BV(0);

Reply to
Michoo

Pawel <ppf9@USUN_TOpoczta.fm> napisał(a):

Otwarty kolektor.

Ależ ono nie jest zawsze. Jak zewrzesz je do masy, np. podłączając urządzenie z wyjściem typu otwarty kolektor to będzie 0.

PS. "rozumiem" a nie "rozumie" :)

Reply to
Grzegorz Niemirowski

Typowy układ pracy tranzystora (tzw wspólny emiter) masz tu:

formatting link
No ten kondensator na wyjściu sobie darujmy. Załóżmy, że sygnał do procka bierzemy z punktu wspólnego między rezystorem R3 a C tranzystora. C to kolektor (collector). A teraz wyobraź sobie że w jakimś ukłądzie scalonym dajemy taki tranzystor ale nie pozbawiony rezystora R3. Dostajesz tzw Open Collector:
formatting link
rolę rezystora R3 spełnia rezystor podciągający wejście w procku. Ma to dość istotny sens bo układy mogą na przykład pracować na 3,3V a ich wyjścia z otwartym kolektorem mogą tolerować np fakt że rezystor podciągany jest do napięcia 5V (np w procku typu AVR) albo nawet do 24V w sterownikach przemysłowych.

Jest jeden bo rezystorem o dość dużej rezystancji jest podciągnięte do VCC. Wyjścia układów czasami ustawiają się w stan 0 i wtedy ten tranzystor wyjściowy wspomniany na wstępie zwiera wyjście do masy i wymusza spadek napięcia do wartości bliskiej 0 Voltów czyli logiczne 0. Zaleta jest też taka, ze jak nie podepniesz żadnej linii do wejścia to będzie wyraźnie określony stan na wejściu dzięki rezystorowi podciągającemu. W sytuacji gdyby to było zwykłe wejście o wysokiej impedancji to od szumów przełączałoby się spontanicznie zwiększając pobór mocy procesora

Reply to
Mario

W EP(czy też EdW) był kurs programowania kontrolerów AVR, poszukaj.

Reply to
konsul41

Użytkownik "Mario" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:igdgmk$p0d$ snipped-for-privacy@news.onet.pl...

Nie tylko o przełączanie chodzi. Gdzieś, kiedyś, dawno widziałem wykres poboru prądu zwykłej bramki CMOS w funkcji napięcia na jej wejściu. Dla Uwe=0 Icc=0, dla Uwe=5V Icc=0, ale przy wzroście napięcia od 0 do 5 Icc najpierw narastało tak gdzieś do 3mA (chyba), a potem spadało do 0. Na wejściu procesora są podobne bufory. Wisząca (znaczy nie podwieszona) noga może skutkować poborem prądu przez bufor wejściowy tylko tego jednego pinu rzędu 0.1-1mA. Pinów jest sporo. Jak do tego ktoś ustawi sobie PowerDown i będzie liczył, że procek pobiera np. 1uA (ATmega644P z wyłączonym watch-dogiem i brown- outem) to się może nieźle zdziwić. Nie wiem, czy wybudzenie zmianą stanu ustawia się dla pojedynczych pinów, czy całych portów (nie piszę programów), ale jeśli dla całych portów to taka wisząca noga (na porcie w którym inna ma wybudzać z Power Down) może skutkować częstym przechodzeniem w tryb aktywny, a to jest np. 10mA). P.G.

Reply to
Piotr Gałka

Dla zainteresowanych link do noty aplikacyjnej na ten temat:

formatting link
rysunek 6 może podziałać na wyobraźnię.

Reply to
RobertP.

Użytkownik "Michoo" <michoo snipped-for-privacy@vp.pl napisał w wiadomości news:igde4a$i74$ snipped-for-privacy@news.onet.pl...

Dodajmy do tego, że takie wiszące w "powietrzu" linie działają jak antena zbierająca wszelkie śmieci. Raz mi się przypadkiem przy testach wycięła z kodu linia włączająca rezystory podciągające i zabawa była przednia. Np. przy taśmie z czterema liniami sygnałowymi od przycisków, po wciśnięciu jednego przycisku, kontroler wykrywał wciśnięcie przycisków także na liniach biegnących obok. Podsumowując zabawa była przednia i trochę trwało zanim znalazłem powód "cudów". Co ciekawe stan "wciśnięty" na tych bocznych liniach potrafił się utrzymywać dłużej niż na tej faktycznie wciśniętej.

Reply to
Marcin Wasilewski

Użytkownik Piotr Gałka napisał:

Zgadza się. Co gorsze jest to stan pełnej aktywności jako wzmacniacz liniowy - a stąd już krok tylko do wzbudzenia się takiego bufora...

Oczywiście można tak zaprojektować parę komplementarną CMOS (dobierając parametry technologi) że dla nominalnego zasilania przebicie prądowe nie nastąpi - ale tak projektowane układy są zdecydowanie wolniejsze i rzadko się takie rozwiązanie stosuje. Natomiast robienie części układu normalnie a części bez przebicia prądowego to już w ogóle dodatkowe procesy technologiczne, dodatkowy koszt - nikt się w to nie bawi, nie warto.

Reply to
invalid unparseable

Użytkownik "Pawel" <ppf9@USUN_TOpoczta.fm> napisał w wiadomości news:igdaji$9c2$ snipped-for-privacy@inews.gazeta.pl...

...

Jak zaczynasz to poczytaj ten kurs, z tych co czytałem ten jest najlepiej napisany

formatting link

Reply to
Czesiek

W dniu 2011-01-09 23:16, Mateusz Klatecki pisze:

LOL - to tłumaczenie jakby wyjęte z książek Gardynika drukowanych na papierze z odzysku (w każdym razie tak wyglądały pierwsze wydania, gdy się w nie zaopatrywałem). :-D

Reply to
Adam Dybkowski

Wielkie dzieki. O takie tlumaczenie mi chodzilo, a szczegolami technicznymi/elektronicznymi zajme sie wtedy, kiedy bede chcial skladac cos samemu, a na obecna chwile, jestem zbyt zielony, zeby sie za to brac.

A co to jest to silne zero? ciezko cos znalezc w necie, co jest latwo wytlumaczone.

Bede musial o tym dokladniej poczytac, ale to pewnie dopiero w weekend.

Reply to
Pawel

Z tego co widze po adresie, to jest wlasnie ten kurs z ktorego korzystam, ale on jest ciagle niedostepny, wiec podalem cache google.

Reply to
Pawel

Prosze bardzo.

Ewentualne zwarcie jest w sumie tutaj mniejszym problemem, niż to, że tą metodą nie dasz rady ustawić 2 bitów jeden po drugim.

Silne 0 to zwarcie przez klucz do masy. We wcześniejszym przykładzie: procesor wystawia słabe 1 przycisk 'wystawia' silne 0 albo wysoką impedancję

Więcej tutaj:

formatting link

Reply to
Michoo

Użytkownik "Adam Dybkowski" snipped-for-privacy@45wp.pl napisał w wiadomości news:igg3jr$f5g$ snipped-for-privacy@news.onet.pl...

Złe były ? Doskonale oddziaływały na wyobraźnię. Z nich zrozumiałem jak działa mikroprocesor, bo z naukowych nie mogłem pojąć o co w tym chodzi. Pisane na szmatławym papierze były tanie i dostępne dla dzieci

Reply to
f

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.