logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATmega][C] PCF8583 + 24C64 = będy podczas zapisu do EEPROM

wasyl32 05 Cze 2011 20:53 2225 10
REKLAMA
  • #1 9580123
    wasyl32
    Poziom 19  
    Witam
    Na szynie I2C podłączoną mam kość PCF8583 oraz pamięć 24C64.
    Wykonuję zapis do pamięci a następnie odczyt. Jednak podczas zapisu następuje przekłamanie danych. Np zapisuję wartość 35 do pamięci a w rzeczywistości zapisana zostaje wartość 32 lub 33. Gdy odłączę od szyny I2C PCF8583 problem znika. W czym więc leży problem? Bardzo proszę o jakieś sugestie.
    P.S. Na szynach są oczywiście rezystory podciągające do + (4,7k).
  • REKLAMA
  • #2 9580163
    GSM
    Poziom 25  
    Witam,

    a adresy ustawione odpowiednio? Jaka prędkość magistrali? Pokaż schemat! Zdjęcie płytki też jest mile widziane.
    W ogóle podajesz bardzo szczątkowe informacje...

    Pozdrawiam,
    GSM
  • REKLAMA
  • #3 9581423
    wasyl32
    Poziom 19  
    Witam
    GSM napisał:

    a adresy ustawione odpowiednio? Jaka prędkość magistrali? Pokaż schemat! Zdjęcie płytki też jest mile widziane.
    W ogóle podajesz bardzo szczątkowe informacje...
    GSM

    Fakt - informacje dość szczątkowe, ale w miarę pytań uzupełnię.
    Schematu i płytki brak - wszystko jest na płytce stykowej. Pod linie TWI podłączona jest kostka PCF i 24C. Na obu R 4,7k wpięte do +. W 24C64 A0..A2 + WP podpięte są do masy. Przy zasilaniu 100nF zarówno w 24C64 jak i w PCF.
    Prędkość magistrali - na każdej to samo (50, 100 i 200kHz).
    Kodu chwilowo nie pokażę bo jestem w pracy :)

    Po odpięciu PCF wszystko działa prawidłowo. Z podpiętym PCF niestety są problemy.
  • REKLAMA
  • #4 9581449
    GSM
    Poziom 25  
    A A0 w PCF'ie podłączone do czegoś? Nie pamiętam, czy może ono "wisieć".

    Mówisz, że pamięć działa (gdy jest sama), a PCF? Czy on też działa gdy jest sam na magistrali?

    Pokaż program.

    Pozdrawiam,
    GSM

    P.S.
    wasyl32 napisał:
    Fakt - informacje dość szczątkowe, ale w miarę pytań uzupełnię.


    Powinieneś wszystkie istotne informacje udostępnić od razu, patrz regulamin pkt. 3.1.15 :wink:
    Ale to taka drobna dygresja.
  • #5 9581558
    wasyl32
    Poziom 19  
    Witam
    A0 w PCF także do masy.
    PCF działa poprawnie zarówno sam jak i z pamięcią.
    Nawet jak w programie zostawię tylko kod odpowiedzialny za obsługę pamięci, bez ani jednej linijki tyczącej się PCF, to i tak pamięć świruje :)
    Kod bez obsługi PCF wygląda mniej więcej tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #6 9581617
    GSM
    Poziom 25  
    wasyl32 napisał:
    A0 w PCF także do masy.


    ... A pytałem czy adresy poprawnie ustawione :roll:
    Skoro oba układy mają ten sam adres to jak niby chcesz je adresować poprawnie?...

    Pozdrawiam,
    GSM
  • #7 9581685
    asembler
    Poziom 32  
    Trzeba koledze uswiadomić że przyjęto aby wszystkie pamieci na szynie I2C maiły adresy $Ax a ustawienia adresów wykonuje sie przez odpowiednie podłaczenie pinów adresowych. PCF8583 jest traktowana jako pamiec i może miec adres $A0 lu A2, natomiast 24c moze miec adresy $A0,$A2....$AE I tutj może byc źródło konfliktu.
  • REKLAMA
  • Pomocny post
    #8 9581703
    GSM
    Poziom 25  
    asembler napisał:
    Trzeba koledze uswiadomić (...)


    Nie jestem przekonany do takiego podejścia, rzeczowy kolega powinien to wiedzieć skoro używa I2C.
    Obsługa I2C jest bardzo dokładnie opisana w dokumentacji Philipsa.

    Pozdrawiam,
    GSM
  • #9 9581708
    asembler
    Poziom 32  
    GSM napisał:
    asembler napisał:
    Trzeba koledze uswiadomić (...)


    Nie jestem przekonany do takiego podejścia, rzeczowy kolega powinien to wiedzieć skoro używa I2C.
    Obsługa I2C jest bardzo dokładnie opisana w dokumentacji Philipsa.

    Pozdrawiam,
    GSM

    Skoro założył ten temat znaczy nie kuma, a słowo "uświadomić " powinno zadziałać.
  • #10 9581717
    wasyl32
    Poziom 19  
    GSM napisał:
    wasyl32 napisał:
    A0 w PCF także do masy.


    ... A pytałem czy adresy poprawnie ustawione :roll:
    Skoro oba układy mają ten sam adres to jak niby chcesz je adresować poprawnie?...

    Pozdrawiam,
    GSM

    O .... :) No raaacja :) Zmyliła mnie obsługa PCF - myślałem, że on ma hardwarowy inny adres bo w programie do obsługi PCF maiłem zapisany 0x50 (ale bez bitu zapisu!) co oczywiście po przesunięciu daje 0xA0 :)
    Thx za pomoc - najciemniej pod latarnią oczywiście ;)
  • #11 9581751
    asembler
    Poziom 32  
    Słyszałem że jakis facet siedział z liściem na głowie ale o latarni raczej nie. :-)
REKLAMA