Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

mikrokontrolery - porty we/wy

21 Sie 2007 20:59 1088 2
  • Poziom 18  
    Witam!

    Wlasnie zaczalem swoja przygode z programowaniem ST7Lite. Mam jednak pewien (dla wiekszosci na pewno banalny) problem. Otoz w ksiazce wyczytalem sobie ze port mozna skonfigurowac jako "wejscie z dodlaczonym rezystorem zasilajacym (pull-up) lub wejscie bezpotencjalowe". I tu pojawia sie moje pytanie - czym te dwa wejscia sie roznia? Po co dolaczamy i do czego sluzy rezystor pull-up (bo tak nie do konca kumam ta idee). I zalozmy ze np. chcialbym do portow polaczyc zwykle diody LED i napisac prosty programik ktory nimi sobie mruga - ktora konfiguracje portow powinienem wybrac i w jaki sposob te przykladowe diody podlaczyc.

    z gory dziekuje za pomoc
    pozdrawiam
    herszt
  • Pomocny post
    Poziom 39  
    Wejście cyfrowe to tak naprawde miernik napięcia. Jeśli napięcie jest wysokie - przyjmuje stan 1, jeśli niskie - 0. Są zdefiniowane zakresy napieć dla 0 i 1. Jeśli wejście zostawisz "w powietrzu" jego stan jest nieokreślony (chociażby ścieżki mają jakąś pojemność, coś się będzie sprzęgało itp). Jednym słowem może działać nie dokońca tak jakbyś chciał. Rezystor podciągający "podłącza" wejście do napięcia zasilania (czyli wymusza stan "1" gdy wejście jest niepodłączone. Gdy zewrzesz wejście do masy - stworzy się dzielnik napięcia - i całe napiecie odłoży sie na rezystorze podciagającym (więc będzie stan 0).

    Kiedyś każde wejście trzeba było podciągnąć samemu rezystorem (podłączyć je przez np. 10k do +zasilania). Obecnie można poprosić mikrokontroler żeby zrobił to za nas.
  • Pomocny post
    Pomocny dla użytkowników
    Podciąganie rezystorem używa się jeżeli stopień sterujący wejście nie jest w stanie wymusić na nim poprawnie stanu wysokiego. Ma to miejce np w przypadku sterowania wejścia mikroprocesora wyjściem typu otwarty kolektor (może to być np. tranzystor sterowany lub np. tranzystor wyjściowy transoptora) lub stykiem podłączonym do masy.
    Podciąganie zapewnia też ustawienie danego wejścia w konkretny stan jeżeli jest ono niepodłączone. Szczególnie jest to ważne w przypadku wejść typu CMOS, które mają wysoką rezystancję. Powoduje to, że istniejący kondensatorek wejściowy (+pojemności pasożytnicze) są ładowane przez zakłócenia co powoduje, że wejście jest w bliżej nieokreślonym stanie, co czasami może prowadzić do dziwnego działania układu a na pewno zwiększa pobór prądu (w stanach ustalonych przewodzi tylko jeden tranzystor tworzący stopień wyjściowy bramki czy inwertera).


    Jeżeli wejście mikroprocesora jest sterowane z normalnej bramki (przrzutnika), które mają wyjścia poprawnie wymuszające oba stany (niski i wysoki) to podciąganie nie jest potrzebne.

    Powyższe dotyczy używania końcówki jako wejścia.
    Dana końcówka może być też skonfigurowana jako wyjście, np służące do sterowania jakimś urządzeniem.
    Może to być tranzystor sterujący elementami wykonawczymi lub np. dioda sygnalizacyjna. W takim przypadku bezpośredniego sterowania diodą stosujemy tylko rezystor ograniczający prąd diody (po jednym na diodę) poniżej wartości dopuszczalnej dla danej końcówki danego typu procesora.

    Uwaga: zależenie od konstrukcji procesory mają ogólnie różne wydajności prądowe wyjść a także zróżnicowanie co do wydajności prądowej wyjścia w stanie niskim i stanie wysokim (przeważnie w stanie niskim jest większa wydajność niż w wysokim ale są też chlubne wyjątki z symetryczną charakterystyką prądową wyjść).

    W przypadku asymetrii zwykle diodę łączymy od wyjścia (katoda), przez rezystor do plusa zasilania procesora.

    W przypadkach symetrycznej cha-styki prądowej dopuszczalne są obie wersje połączeń.

    Do masy:

    Rogr=(Uwy-Uled)/Iled

    Uwy - napięcie na wyjściu w stanie wysokim
    Uled - napięcie na diodzie LED przy założonym prądzie diody Iled

    Do zasilania

    Rogr=(Ucc-Uled-Uwysat)/Iled

    Ucc - napięcie zasilania
    Uled - jak wyżej
    Uwysat - napięcie nasycenia tranzystora wyjściowego danej nóżki w mikroprocesorze dla danego prądu Iled (zwykle 0.1 do 0.2 V)



    W przypadku sterowania kilku diod LED bezpośrednio z wyjścia mpsora nalezy pamiętać o nie przekroczeniu dopuszczalnej mocy wydzielającej się w układzie mpsora (maksymalna suma wszystkich pradów diod świecących jednocześnie*spadek napięcia na stopniu wyjściowym obsługującym końcówkę mpsora sterującą diodą).