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.

W jaki sposób zaadresować 3 układy PCF 8574AT?

slavcio2012 23 Wrz 2013 18:00 2439 22
  • #1 23 Wrz 2013 18:00
    slavcio2012
    Poziom 15  

    Witam,

    mam problem z adresowaniem tych układów na płytce mam ich 3 sztuki chce im nadać adresy , każdy z nich na pinach A1,A2,A3 może przybrać stan jedynki robię to za pomocą zworek, wgrałem sobie program do procka powiedzmy scaner I2C ale jak podłącze te układy po szynę nie pokazuje mi adresów ... jak odłączę PCF 8574 z szyny program pokazuje mi inne adresy układów czyli działa :-) , co może być przyczyną że nie wykrywa a nawet nie wykrywa pozostałych układów ?

    0 22
  • #2 23 Wrz 2013 18:23
    BlueDraco
    Specjalista - Mikrokontrolery

    Pierwsza przyczyna - to brak schematu.

    0
  • #3 23 Wrz 2013 18:51
    slavcio2012
    Poziom 15  

    już taki scalaki lutowałem , czy jest możliwy konflikt adresów ? takim programem sprawdzam adresy

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    wiesz połączyłem trzy PCF 8574AT linię I2C mam z płytki EVB 4.3 jak podłączę te scalaki do linii , które są na innej płytce program nie pokazuje adresów jeżeli odłączę to działa prawidłowo

    tak mam trzy układy połączone
    W jaki sposób zaadresować 3 układy PCF 8574AT?

    0
  • #5 23 Wrz 2013 19:40
    slavcio2012
    Poziom 15  

    schemat wrzucony

    0
  • #6 23 Wrz 2013 20:16
    BlueDraco
    Specjalista - Mikrokontrolery

    A gdzie w karcie katalogowej znalazłeś, że linie A0..2 mają wewnętrznie wymuszony stan logiczny przy braku wymuszenia zewnętrznego?

    0
  • #7 23 Wrz 2013 20:17
    tadzik85
    Poziom 38  

    BlueDraco napisał:
    A gdzie w karcie katalogowej znalazłeś, że linie A0..2 są wewnętrznie podciągnięte do jedynki logicznej?

    zera logicznego?

    0
  • #8 23 Wrz 2013 20:23
    slavcio2012
    Poziom 15  

    Ok więc co źle zrobiłem , bo program zatrzymuje się w
    "miejscu " nie pokazuje adresów żadnych układów ?

    0
  • #9 23 Wrz 2013 20:25
    tadzik85
    Poziom 38  

    PCF 8574 mają ten sam adres

    0
  • #10 23 Wrz 2013 20:28
    slavcio2012
    Poziom 15  

    ok a jak podłącze do 5V lub do masy też się nic nie dzieje ?

    0
  • #11 23 Wrz 2013 20:38
    tadzik85
    Poziom 38  

    A skąd mamy wiedzieć co się dzieje skoro nie wiadomo co ty do nas piszesz?

    0
  • #12 23 Wrz 2013 20:42
    slavcio2012
    Poziom 15  

    ze schematu widać ,że każdy układ ma trzy zworki , które można zewrzeć do plusa zasilania i tak mam -każdy inaczej teraz jeszcze podałem na różne piny minus i nadal nic

    0
  • #13 23 Wrz 2013 21:29
    tadzik85
    Poziom 38  

    slavcio2012 napisał:
    ze schematu widać ,że każdy układ ma trzy zworki , które można zewrzeć do plusa zasilania i tak mam -każdy inaczej teraz jeszcze podałem na różne piny minus i nadal nic

    Tak ze schematu (złego) widać.
    Różnie? pojęcia nie mam co to za konfiguracja

    0
  • #14 23 Wrz 2013 22:02
    slavcio2012
    Poziom 15  

    Ok to pokaż mi jak powinien prawidłowo wyglądać schemat ?

    0
  • #15 24 Wrz 2013 06:11
    PiotrPitucha
    Poziom 33  

    Witam
    Przychodzą mi do głowy dwa powody dla których to może nie działać:
    - za długie przewody
    - pomylone końcówki SDA z SCL
    bo mam nadzieję że masy układów połączyłeś....
    Piotr

    0
  • #16 24 Wrz 2013 07:23
    slavcio2012
    Poziom 15  

    Hmm...
    1.Na tej samej długości na innej płytce z PCF są wykrywane
    2.Dwie linie to nie zbyt dużo kombinacji - też sprawdziłem
    3.Masy układów są podłączone

    Napięcia na scalakach chyba mam prawidłowe

    co długości to na płytce to najdłuższa odległość od pinów scalaka to 5cm , przewody od płytki evb 4.3 to 10 cm

    0
  • #17 24 Wrz 2013 08:43
    BlueDraco
    Specjalista - Mikrokontrolery

    Czyli wciąż nie wiemy, czy wejścia A0..2 mają ważne poziomy logiczne, ale na wszelki wypadek szukamy błędu gdzie indziej...

    0
  • #18 24 Wrz 2013 09:25
    yokoon
    Poziom 28  

    Tu masz adresy układu.
    Adresowanie układu PCF8574A

    A2 A1 A0 Adres do zapisu Adres do odczytu
    0 0 0 112 113

    0 0 1 114 115

    0 1 0 116 117

    0 1 1 118 119

    1 0 0 120 121
    .
    1 0 1 122 123

    1 1 0 124 125

    1 1 1 126 127

    0
  • #19 24 Wrz 2013 09:32
    PJS
    Poziom 15  

    Z tego co rozumiem, to na magistrali I2C masz te PCF-y i jeszcze inne układy. Sprawdź, czy nie następuje konflikt adresów tych PCF-ów z pozostałymi układami. Czy linie magistrali mają rezystory podciągające, bo możliwe, że nie? Piny adresowe PCF8574 muszą być podpięte do GND lub VCC (nie do minusa - chyba, że "minus" to wg ciebie masa układu), np:
    1 układ) A0=GND, A1=GND, A2=GND
    2 układ) A0=VCC, A1=GND, A2=GND
    3 układ) A0=GND, A1=VCC, A2=GND
    oczywiście upewnij się, że tak ustawione adresy nie kolidują z innymi układami na magistrali.
    Możesz też zacząć sprawdzać podłączając tylko jeden PCF8574 i "patrzeć" czy działa. Jeśli tak, to drugi, itd. Jeśli nie, to zmienić konfigurację tego adresu, itd.
    Przede wszystkim sprawdź jednak, czy masz rezystory podciągające linie SDA i SCL.

    0
  • #20 24 Wrz 2013 11:04
    slavcio2012
    Poziom 15  

    konflikt adresów wykluczam w układzie nie ma innych scalaków pod tymi adresami, mam płytkę evb 4.3 linie i2c są podciągnięte rezystorami, właśnie jestem po testach adresowych według kolegi z postu i nadal to samo, sama długość i2c też niw wchodzi w grę właśnie sprawdziłem na innej płytce długość 20 cm i działa prawidłowo -chyba to będę spalone układy

    0
  • #21 24 Wrz 2013 12:11
    PJS
    Poziom 15  

    slavcio2012 napisał:
    sama długość i2c też niw wchodzi w grę właśnie sprawdziłem na innej płytce długość 20 cm i działa prawidłowo -chyba to będę spalone układy


    Jak działa prawidłowo na innej płytce, to jak mogą być spalone?

    0
  • #22 24 Wrz 2013 13:02
    slavcio2012
    Poziom 15  

    i już jest przyczyna zwarcie pomiędzy linią SCL i SDA

    0
  • #23 24 Wrz 2013 23:00
    shadow0013
    Poziom 34  

    PCF8574 i PCF8574A mają różne adresy, tabelki na 6 i 7 str. datasheetu (datasheet PCF'a f-my NXP). Podłącz (jeśli niema) SDA i SCL rezystorami 4,7k do +5V. Na zasilaniu PCFów masz kondensatory odkłócające?
    W jaki sposób zaadresować 3 układy PCF 8574AT?

    1