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

PIC16 Pull-upy niezbędne?

foofoo 16 Wrz 2004 10:41 1274 6
  • #1 16 Wrz 2004 10:41
    foofoo
    Poziom 9  

    Witam,

    używam w swoim ukłądzie PIC16F84A. Część linii portów jest używana
    jako linie wejściowe, część jako wyjściowe, a część jest nieużywana.
    Kiedy niezbędne sa pull-upy?
    - czy jeśli do wejścia pica podłącze wyjście innego układu (CMOS)
    potrzebuję pull-upa?
    - czy jeśli wyjście PICa podłącze do wejścia innego układu (open collector)
    potrzebuję pull-upa?
    - co najlepiej zrobić z nieużywanymi liniami portu: zrobić je wejściami
    i zewrzeć do masy, zrobić wyjściami i dać pull-upy?
    - czy możliwe jest żeby nieużywane linie "wisiały sobie w powietrzu" jako wejścia lub wyjścia i czy nie będzie to miało wpływu na układ Pica?

    proszę o rady,
    F

    0 6
  • #2 16 Wrz 2004 10:58
    elektryk
    Poziom 42  

    foofoo napisał:
    - czy jeśli do wejścia pica podłącze wyjście innego układu (CMOS) potrzebuję pull-upa?
    nie są konieczne, standardowe układy CMOS w obu stanach logiczny wymuszają odpowiedni potencjał
    foofoo napisał:
    - czy jeśli wyjście PICa podłącze do wejścia innego układu (open collector) potrzebuję pull-upa?
    Tak, open collector w stanie niskim wymusza poziom masy, w stanie wysokim, nic nie wymusza.
    foofoo napisał:
    - co najlepiej zrobić z nieużywanymi liniami portu: zrobić je wejściami i zewrzeć do masy, zrobić wyjściami i dać pull-upy?
    - czy możliwe jest żeby nieużywane linie "wisiały sobie w powietrzu" jako wejścia lub wyjścia i czy nie będzie to miało wpływu na układ Pica?
    Generalnie nie ma z tym jednak ze względu na oszczędzanie energi jest zalecane ustawienie jako wyjścia (nie dam głowy, ale chyba tak było napisane w notach microchipa)

    PS portB ma wbudowane pull-upy załączane chyba bitem ~RBPU

    0
  • #3 16 Wrz 2004 20:56
    Jacu$
    Poziom 27  

    A teraz moja wersja prawidłowych odpowiedzi:

    Cytat:

    - czy jeśli do wejścia pica podłącze wyjście innego układu (CMOS) potrzebuję pull-upa?


    Pull-up jest potrzebny na wejściu PIC-a wtedy, gdy do tego wejścia podłączysz wyjście typu otwarty kolektor (otwarty dren). Nie ma żadnego znaczenia, czy układ wyjściowy to CMOS czy TTL.


    Cytat:

    - czy jeśli wyjście PICa podłącze do wejścia innego układu (open collector) potrzebuję pull-upa?


    Wyjście PIC-a nie jest typu otwarty kolektor więc wymusza stan wysoki albo niski i podłączając je do wejścia innego układu nie musisz stosować rezystorów podciągających. Nie ma tu żadnego znaczenia, czy ten inny układ jest typu "otwarty kolektor", ponieważ problem dotyczy wejścia tego układu (wejście nigdy nie jest open collector).
    Ale tu jeszcze jedna uwaga: czasami można spotkać się z programami, które emulując programowo port magistrali i2c dla stanu LOW ustawiają piny jako wyjście w stanie niskim a dla stanu HIGH ustawiaja piny jako wejście o wysokiej impedancji bez dołączonych wewnętrznych rezystorów podciągających. W takim przypadku szyny SCL i SDA magistrali i2c muszą mieć własne podciąganie.


    Co do nie wykorzystanych linii to po prostu możesz je zostawić w spokoju.

    0
  • #4 16 Wrz 2004 21:51
    winIO
    Poziom 12  

    Nieużywanymi liniami nie zajmuj się wogóle. Konfigurację jak ma działac dana linia (wejscie czy wyjscie ) ustawiamy za pomocą Data Direction Registers (rejestry TRIS). Standartowo przy Power-On-Reset wszystkie mające znaczenie bity (zazwyczaj wszystkie 8 bitów, ale na przykład TRISA już nie, gdyż port A ma mniej niż 8 linii ) ustawiane sa jako logiczne "1", więc porty automatycznie konfigurowane są jako wejścia.

    0
  • #5 17 Wrz 2004 13:19
    PJS
    Poziom 15  

    Przeczytaj dobrze datasheet i zauważ, że wszystkie portyPIC16F84A mają pull-up'y z wyjątkiem RA4 (otwarty dren) i ten trzeba podciągnąć. Często nowi użytkownicy tego procka o tym zapominają i mają przez to problem.

    0
  • #6 20 Wrz 2004 11:30
    foofoo
    Poziom 9  

    PJS napisał:
    Przeczytaj dobrze datasheet i zauważ, że wszystkie portyPIC16F84A mają pull-up'y z wyjątkiem RA4 (otwarty dren) i ten trzeba podciągnąć. Często nowi użytkownicy tego procka o tym zapominają i mają przez to problem.


    No więc zajrzałem tam jeszcze raz i znalazłem tam, że RA4
    rzeczywiście jest open drain. Nie ma natomiast nic o pull-upach
    dla portu A (chyba że jest to z definicji dla technologii TTL).
    Natomiast są 'weak pull-up's' dla portu B
    programowalne bitem ~RBPU (OPTION:7).

    Dziękuję wszystkim za odpowiedzi i pozdrawiam.

    0
  • #7 20 Wrz 2004 12:03
    diag
    Spec od samochodów

    W F84 PortA nie ma podciągania. Jest ono tylko na PortB.

    0