-         

Ergebnis 1 bis 10 von 10

Thema: RP6 TWI Defekt

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78

    RP6 TWI Defekt

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    gibt es eine Möglichkeit, von der RP6-Base aus zu testen, ob die I2C-Schnittstellen funktionieren?. Denn, egal ob ich die M32 oder die M128 anschließe, ich bekomme bei den SelfTests immer beim TWI-Test die Fehlermeldungen.

    M32
    Code:
    I2C ERROR - TWI STATE: 0x20
    M128
    Code:
    Testing I2C Communication...                                                                                          
                                                                                                                            
                                                                                                                            
                                                                                                                            
    I2C COMMUNICATION ERROR!                                                                                                
                                                                                                                            
                                                                                                                            
                                                                                                                            
    ############################################################                                                            
                                                                                                                            
    SELFTEST FAILED!  PLEASE CHECK MODULE FOR ASSEMBLY MISTAKES!                                                            
                                                                                                                            
    ############################################################
    Da ich nicht davon ausgehe, dass meine beiden M32 und die M128 hinüber sind fürchte, dass der Worst-Case eingetreten ist. Wenn mir jemand helfen könnte das zu widerlegen wäre ich erfreut.

    Gruß Magelan
    Ich habe bereits bis Unendlich gezählt. Zweimal, und zurück

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Schon gelesen für was "I2C ERROR - TWI STATE: 0x20" steht?
    Bzw. die Fehler ausgeschlossen?

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Wenn ich mich nicht irre, dann besagt der, dass er auf das SlaveProgramm wartet
    Ich habe bereits bis Unendlich gezählt. Zweimal, und zurück

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Code:
    /**
     * This function gets called automatically if there was an I2C Error like
     * the slave sent a "not acknowledge" (NACK, error codes e.g. 0x20 or 0x30).
     * The most common mistakes are: 
     *   - using the wrong address for the slave
     *   - slave not active or not connected to the I2C-Bus
     *   - too fast requests for a slower slave
     * Be sure to check this if you get I2C errors!
     */

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Schön wär´s. Aber um zu testen habe ich die jungfräulichen Beispielprogramme verwendet, welche vor 2 Monaten noch funktionierten.
    Ich habe bereits bis Unendlich gezählt. Zweimal, und zurück

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Funktioniert der Controller denn ansonsten wie er soll?
    Irgendwas an den FuseBits geändert?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.01.2008
    Beiträge
    155
    bei mir ist dasseöbe problem, nur bei mir hat der Selftest überall bei den TWi eingängen error meldungen.

    funktioniert dann bei mir der I²C bus ü+berhaupt nicht ?

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Hallo,

    also erstmal müssen in BEIDE Controller die passenden Programme geladen sein. Also das Slave Programm in die RP6Base und das Master Programm in das RP6-M32 Modul.

    Dann kontrollieren ob in den Programmen die Adressen stimmen und ob beide gestartet werden (LEDs auf dem Mainboard gehen aus nachdem das Slave programm gestartet wurde).

    ALLES ANDERE vom Bus trennen.

    Wenn es dann nicht klappt, mal die Flachbandkabel wechseln und checken ob die Steckverbinder in Ordnung sind oder ob da Pins verbogen sind o.ä.

    Für die M128 Unit die Jumper Einstellungen kontrollieren - insbesondere die Adresse des Temperatursensors.

    Und mehr als EIN Master sollte natürlich nicht gleichzeitig aktiv sein.

    Zum testen ob die Pins noch funktionieren kann man z.B. erstmal ein
    Programm schreiben das überprüft ob SDA und SCL beide als "High" Pegel eingelesen werden wenn NICHTS anderes am Bus angeschlossen ist bzw. das Programm im anderen Controller nicht läuft (löschen!).
    Also ohne I2C Initialisierung die Pins auf Eingang schalten und testen.
    PRTC &=~SCL; PRTC &=~SDA; DDRC &= ~SDA;DDRC &= ~SCL; if (PINC & SCL) writeString_P("\n jop \n"); ... etwa in der art evtl. auch ne LED schalten o.ä. .
    Wegen den Pullups am Bus sollte da high rauskommen.

    Dann könnte man mit einem Stück Draht VORSICHTIG und VORHER SICH SEBST ENTLADEN wegen statischer Entladungen mit einem Stück Draht die SCL und SDA Pads auf dem Mainboard nach GND verbinden und prüfen ob das klappt.

    MfG,
    SlyD

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.01.2008
    Beiträge
    155
    Ich habe 4 verschieden Wannensteckerleitungen ausprobiert und die wannenstecker überprüft, alle haben verbundenen Pins haben Kontakt

    Dann habe ich das I²C master Programm mit rübergeladen und verscheiden SMd-taster betätigt. Nach jedem Tastendruck kommt die I²C bus Error Meldung. (Egal bei welchem Taster)

    Daraufhin habe ich sda und SCL entladen und es noch einmal ausprobiert leider klappte es danach immer noch nicht.

    Sonst noch welche Fehlerursachen?

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    > Daraufhin habe ich sda und SCL entladen

    ????? Hehe :P
    Ich meinte selbstverständlich DICH entladen bevor Du mit Deinen Fingern den Roboter berührst wegen elektrostatischen Entladungen Deinerseits gegenüber dem Roboter (s. Anleitung Sicherheitshinweise!!!) das kann die Pins beschädigen wenn man zu unvorsichtig ist da man selbst schnell ein paar tausend Volt Funken generieren kann.

    Und das gegen GND schalten war im zusammenhang mit obigem Programmcode Fragment gemeint das ich gepostet habe mit dem man das prüfen könnte ob die Pins den Pegel noch richtig mitbekommen, nicht mit irgendeinem Demo Programm...


    Nochmal zurück:
    Das I2C Slave Programm ist in den Roboter geladen und das Taster Program in das Erweiterungs Modul, ja?

    (ich muss immer davon ausgehen das das nicht gemacht wurde wenns nicht explizit gesagt wurde daher die genauen nachfragen - alles schon da gewesen auch das USB Programmierkabel nicht am jeweiligen Modul angeschlossen und Programm in den falschen Controller geladen usw. )


    Beispielprogramme mal neu runterladen neu entpacken und nochmal probieren.

    Akkus sind auch voll aufgeladen und in Ordnung?

    MfG,
    SlyD

Berechtigungen

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