-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Probleme mit PCF8574AP am ATMega32

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2004
    Beiträge
    12

    Probleme mit PCF8574AP am ATMega32

    Anzeige

    Hi
    habe da ein Problem mit dem lieben PCF8574AP Baustein. Folgendes Verhalten
    Schreiben:
    Start OK
    Slave Adresse OK
    Data Byte ->Status 30=DataByte transmitted NOT ACK has been received

    Lesen:
    Start OK
    Slave Adresse-> Status 48 = SLAe+R transmitted NOT ACK has been received

    Hat da jemand Erfahrungen mit? Mache zum ersten Mal mit I2C rum. Weis hier aber nicht mehr weiter. Wäre für jede Hilfe dankbar.
    Gruß
    Peter

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi

    Komich. Nachdem bei mir die addy gestimmt hat, hat auch alles weitere gestimmt.

    Welchen Status haben deine AINs?
    Aber die Slaveaddy ist ok.

    Bist du sicher, dass dein 8574 noch ganz ist?

    Wie hoch sind deine Pullups?

    Beschreib mal dein System genauer, bitte.

    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  3. #3
    Gast
    Hallo Tobi
    AINs kann ich mir jetzt leider nichts drunter vorstellen.
    Die PullUps haben 10k. ATMega32 mit 16MHz. TWBR=72=100KHz, TWAR=0xFE,TWCR=0x45. Adresse des 8574=0x7E.
    Ich habe mal einen neuen 8574 eingebaut. Gleiches Ergebnis.
    Reicht die Beschreibung oder fehlt noch was wichtiges?
    Vielen Dank für die schnelle Antwort.
    Liebe Grüße
    Peter

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi Peter!

    Mit dem HD-TWI kennt sich der Florian besser aus (liebe Grüße! ); aber das dürfte soweit OK sein.

    Die AINs... Die heißen beim 8574 A0, A1 und A2.
    Wie sind die bei dir? LOW oder HIGH?

    Und was hast du mit dem DAW-Ausgang gemacht?
    Kurz... (ich weis...) ...wie hast du den 8574 beschaltet?

    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2004
    Beiträge
    12
    Hi Tobi
    also A0,A1,A2 liegen auf +5V. Daher die Adresse 0x7E. Pin 8 = GND, Pin 16 auf +5V. Die Ausgänge gehen zum Roboternetztwerk standart Steckerport (Wannenstecker), also 1-8 P0-P7, Pin 9 = GND, Pin 10= +5V. Der Stecker ist leer. Ich wollte erst mal sehen, dass das Teil überhaupt richtig antwortet.
    Liebe Grüße
    Peter

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2004
    Beiträge
    12
    Hi
    ich habe in der Zwischenzeit mal in einer Schleife von 0-254 alle Adressen als Slave Adresse gesendet. Ich bekomme bei jeder Adresse ein TWSR=18 = OK.
    Kann das denn richtig sein???
    Liebe Grüße
    Peter

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi Peter!

    Nein!! Da stimmt was nicht.
    Ich würde die I/Os des 74 mit 4,7K nach VCC "UpPullen".
    Irgendwo steckt ein Fehler.
    Und der liegt recht sicher nicht am 8574.
    Sind das nciht die letzten 3 bit vor dem RW, die man mit den As verändern kann? Mein 8574 hat mit den 3As auf Masse die Adresse 0x40.

    Da ist irgendwas faul. In welcher Sprache programmierst du?

    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  8. #8
    Gast
    Hi Tobi
    Es gibt den 8574P mit Adresse 0x40 und den AP Typ mit Adresse 0x70. Ich habe den AP Typ. Die I/Os des 8574 sind übrigens alle High. Ich habe auch mal einen 24C65 (I2C EEPROM) eingesetzt und angesprochen. Absolut gleiches Verhalten. Mit einer Leuchtdiode am SCL/SDA sehe ich, das der ATMega arbeitet. Nur das Ergebnis ist nicht OK. Ich bin mittlerweile ziemlich sicher, das meine Softwareansteuerung nicht funzt. Probehalber habe ich den Hardware I2C auch mal deaktiviert und es mit der Ansteuerung der eingebauten I2C Routinen des CAVR C-Compilers probiert. Funzt auch nicht. Ich werde das nachher mal hochladen. Ich habe auch mal die Foren durchstöbert und einige Routinen für den GCC Compiler gefunden. Ich werde jetzt mal mit allen gängigen Compilern BASCOM, ICC AVR und GCC versuchen, das Ding zum laufen zu bringen. Leider sagt einem I2C nicht, was nicht stimmt. Es gint lediglich ein NACK. Messen kann man auch nichts. Sicher habe ich da irgendwo einen Fehler, aber welchen?. Erst mal vielen Dank für die Hilfestellung. Ich werde mich nach meinen Versuchen mit den diversen Compilern noch mal melden.
    Liebe Grüße
    Peter

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi Peter!

    Hm. Gestern Abend ist mir was eingefallen:
    -> Sendest du eine Start- und eine Stopbedingung?
    Dumme Frage ich weis; aber daran könnt's liegen....
    Wenn nämlich die Adresse 0 gesendet wird, antworten alle Slaves am Bus. Und sowas wird's sein...
    Ich denke auch, dass es am Code liegt.

    Oooppss... AP hab ich übersehen. Sorry!

    Hast du ein Oszi zur Verfügung? Dann check' mal, ob ein Signal genau SO
    aussieht:


    Du brauchst nicht alle Compiler durchprobieren... das muss auch mit dem funzen.
    Die Emulation von Bascom bekomme ich auch nur schleppend zum Laufen...
    Ich werde das demnächst auch mal auf mich nehmen, mit dem HD-TWI...
    Allerdings unter BASCOM...

    Viel Glück!
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    16.01.2004
    Beiträge
    12
    Hi Tobi
    nein, einen Osci habe ich leider nicht. Aber die Led flackert. Deshab gehe ich mal davon aus, dass es wohl so etwa aussehen wird. Aber mir ist da noch was eingefallen. Die PullUps habe ich direkt an dem Prozessor liegen. In den diversen Bildern sehe ich sie als Terminatoren. Kann dass einen Einfluß auf die Funktion haben?
    Gruß
    Peter

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •