- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 70

Thema: Raspberry Pi I2C

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Zitat Zitat von Klebwax Beitrag anzeigen
    Mit so einem Board rumspielen und keinen Schaltplan haben ??
    Ja sicher doch. Wozu einen Schaltplan? Pinout des für mich interessanten Header reicht doch. Habe beim PC ja auch nur die Belegung der Schnittstellen und keinen kompletten Schaltplan zur Hand.

    Zitat Zitat von Klebwax Beitrag anzeigen
    BTW die 3,6V Zehner sind witzlos. Bis die richtig leiten, werden es schon mal 4V und mehr. Wenn es denn sein muß (warum eigentlich, bei Open Collector kann es nicht höher werden, als die Spannung am Pullup) Klemmdioden nach 3,3V.
    Hauptsache, am anderen Ende sind nicht auch aus Versehen Pullups zu den 5V drin.
    Der Raspi kann mit Sicherheit kurze Spannungssprünge besser ab, als ständig anliegende 5V. Man könnte auch Widerstände in Serie statt der Zenerdioden als Schutz verwenden. Mir haben die Zenerdioden schon geholfen. Zumindest lebt der Raspi noch, obwohl ich mal aus Versehen den FTDI auf 5V IO statt 3,3 stehen hatte.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Servus Kampi..

    Hatte eben Zeit i2c-tools zu testen.
    Klappt so weit..kann die Adressen der Devices am Bus sehen.

    Aber was ich noch nicht gefunden habe ist eine brauchbare Doku zu den i2c-tools.
    Hast du da zufällig was auf Lager?

    Gruß, Andreas
    Nam et ipsa scientia potestas est..

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Zitat Zitat von BastelWastel Beitrag anzeigen
    Servus Kampi..

    Hatte eben Zeit i2c-tools zu testen.
    Klappt so weit..kann die Adressen der Devices am Bus sehen.

    Aber was ich noch nicht gefunden habe ist eine brauchbare Doku zu den i2c-tools.
    Hast du da zufällig was auf Lager?

    Gruß, Andreas
    Ne hab noch keine gefunden.
    Hatte gestern aber auch nicht die Zeit/Lust nach einer zu suchen
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    i2ctools gehört zu lmsensors-Projekt.

    Doku : http://www.lm-sensors.org/wiki/i2cToolsDocumentation

    Btw. man i2c-tools hilft eventuell.

    Auch nett : http://www.e-reflexes.de/oxy_blog/?tag=i2c-scanner
    Grüße,
    Daniel

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Aber die Doku erklärt immer noch nicht so richtig warum ich keinen Zugriff auf meinen PSoC habe (also via I²C).
    Bei meinem RN-Control geht das problemlos nur das Raspberry zickt bisschen. Da kommt sowohl beim lesen als auch beim schreiben der selbe Fehler obwohl das Device bei i2cdetect auftaucht.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von Kampi Beitrag anzeigen
    Aber die Doku erklärt immer noch nicht so richtig warum ich keinen Zugriff auf meinen PSoC habe (also via I²C).
    Das mag daran liegen, dass die ursprüngliche Frage auf den PCF8574 bzw. die Verwendung der R/W-Adressen zielte und nicht auf deinen PSoC. Des Weiteren habe ich gerade den Thread von vorn bis hintern noch einmal gelesen und keine Frage dies bezüglich finden können. (Ist noch früh daher kann es auch sein, dass ich etwas übersehen habe).
    Von daher kann man ein Problem nicht lösen, wenn man es nicht kennt.
    Grüße,
    Daniel

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Auf Seite 4 ganz oben wird es erwähnt
    Also das Problem ist dieses (nochmal zusammengefasst):
    Ich habe einen I²C Bus aus einem Raspberry Pi als Master, einem 24C128 EEPROM, einem PCF8574 und einem PSoC als I²C Slave (benutze das EzI²C Modul http://www.cypress.com/?docID=34801).
    Per i2cdetect werden ALLE Geräte am Bus erkannt, aber das Schreiben und Lesen klappt nur beim PCF8574 richtig. Beim EEPROM lese ich was anderes aus als ich rein geschrieben habe und beim PSoC schlägt das Lesen und das Schreiben fehl.
    Den PSoC als I²C Slave habe ich aber bereits mit einem Mega32 als Master ausprobiert und da klappte sowohl das Lesen als auch das Schreiben des Mega32 von dem PSoC problemlos.
    Hier ist mal der Testcode vom Mega32:

    Code:
    'Mikrocontroller
    $regfile = "m32def.dat"
    $crystal = 16000000
    $baud = 19200
    
    
    'Stacks
    $hwstack = 200
    $swstack = 200
    $framesize = 400
    
    
    'TWI konfigurieren
    Config Sda = Portc.1
    Config Scl = Portc.0
    Config Twi = 100000                                         'TWI Frequenz
    
    
    'Adresse des PCF
    Const Psocw = &H80
    Const Psocr = &H81                                          'Adresse vom PSoC. Der PSoC hat softwareseitig die
                                                                '0x40 als 7-Bit Adresse bekommen. Mit R/W Bit ergibt
    'Variablen                                                  'dies 0x80
    Dim Bitmuster As Byte
    Dim Buffer As Byte
    
    
    Bitmuster = 0
    Buffer = 0
    
    
    'I²C initialisieren
    I2cinit
    
    
    Do
    
    
    'PSoC beschreiben
    I2cstart                                                    'TWI Startkondition
    I2cwbyte Psocw
    I2cwbyte 0                                                  'Startadresse des I²C Buffers vom PSoC
    I2cwbyte Bitmuster                                          'Daten übertragen
    I2cstop
    
    
    'PSoC auslesen
    I2cstart
    I2cwbyte Psocr
    I2crbyte Buffer , Nack                                      
    
    
    Print "Wert: " ; Buffer                                     'Ausgabe der Daten
    
    
    Incr Bitmuster                                              'Bitmuster um eins erhöhen
    
    
    Wait 1
    
    
    Loop
    End
    Und vom PSoC:
    Code:
    //----------------------------------------------------------------------------
    // C main line
    //----------------------------------------------------------------------------
    
    
    #include <m8c.h>                                                                    // Part specific constants and macros
    #include "PSoCAPI.h"                                                                // PSoC API definitions for all User Modules
    
    
    // Variablen
    char Wert = 100;
    
    
    // Funktionen
    void I2C_Init(void);
    
    
    void main(void)
    {
        M8C_EnableGInt; 
        LCD_Start();                                                                    // LCD Modul aktivieren
        
        LCD_Position(0,0); 
        LCD_PrCString("PSoC I2C Slave");
        
        EzI2Cs_SetRamBuffer(1, 1, (char *)&Wert);                                        // I²C Buffer setzen, 1 Byte Größe, 1 Byte Schreib/Lesbar
        
        I2C_Init();
        
        while(1)
        {
            LCD_Position(1,0); 
            LCD_PrCString("Wert:");
            LCD_Position(2,0);
            LCD_PrHexInt(Wert);
        }
    }
    
    
    void I2C_Init(void)
    {
        EzI2Cs_Start();                                                                    // I²C Modul starten
        EzI2Cs_EnableInt();                                                                // I²C Interrupts aktivieren
    }
    Hoffe das Problem ist dadurch etwas klarer geworden

    Edit:
    Den PSoC betreibe ich mit 5V. Da das Raspberry Pi nur 3,3V Pegel verwendet, nutze ich die Pull-Ups vom Raspberry Pi und habe damit einen 3,3V I²C Pegel.
    Laut dem Datenblatt von dem Chip

    http://www.datasheetcatalog.org/data...j2lq6ps83y.pdf

    reichen 2,1V für einen High Pegel aus. Es kann also auch nicht sein das er die Pegel nicht erkennt.
    Geändert von Kampi (08.10.2012 um 08:34 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.02.2006
    Beiträge
    982
    Zitat Zitat von Klebwax Beitrag anzeigen
    Ob Google da helfen kann? Das ist ein Linux System, dafür gibt es bis zum Source Code alles öffentlich.
    Haette ich was gefunden wuerde ich nicht gross dumm fragen...


    Zitat Zitat von ePyx Beitrag anzeigen
    i2ctools gehört zu lmsensors-Projekt.

    Doku : http://www.lm-sensors.org/wiki/i2cToolsDocumentation

    Btw. man i2c-tools hilft eventuell.

    Auch nett : http://www.e-reflexes.de/oxy_blog/?tag=i2c-scanner
    Genau nach sowas hatte ich gesucht.
    War zwar schon auf lm-sensors, hatte aber nur ne Doku ueber I2C generell gefunden.
    Besten Dank
    Nam et ipsa scientia potestas est..

  9. #9
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Wenn Google bei allem helfen würde, bräuchten wir kein Forum mehr. Oftmals ist es einfach nur zu spät und die zündende Idee für den passenden Suchbegriff fehlt.

    Ist auch keine Frage : "Wie steuer ich bei meinem Arduino die LED an..."
    Grüße,
    Daniel

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von BastelWastel Beitrag anzeigen
    Haette ich was gefunden wuerde ich nicht gross dumm fragen...
    Klicke auf die Grafik für eine größere Ansicht

Name:	search-i2c-tools.png
Hits:	15
Größe:	37,6 KB
ID:	23399

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] Raspberry Pi GPIO
    Von Kampi im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 04.11.2012, 22:45
  2. [ERLEDIGT] Raspberry Pi Übertakten
    Von Kampi im Forum Raspberry Pi
    Antworten: 2
    Letzter Beitrag: 21.09.2012, 22:03
  3. [ERLEDIGT] Kommunikation AVR <-> Raspberry
    Von Goldenflash im Forum Raspberry Pi
    Antworten: 6
    Letzter Beitrag: 04.09.2012, 08:30
  4. Raspberry PI Lieferzeit
    Von Thalhammer im Forum Offtopic und Community Tratsch
    Antworten: 9
    Letzter Beitrag: 01.08.2012, 16:12
  5. Verkaufe Raspberry Pi zu verkaufen
    Von FD im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 8
    Letzter Beitrag: 03.07.2012, 07:57

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress