Hey Ritchie,
bei meinen Recherchen zu meinem ADC-Treiber habe ich heute gesehen, dass der BSC doch eine Clock Streching Funktion besitzt.
Schau mal auf S. 35 nach:
http://www.raspberrypi.org/wp-conten...eripherals.pdf
Hey Ritchie,
bei meinen Recherchen zu meinem ADC-Treiber habe ich heute gesehen, dass der BSC doch eine Clock Streching Funktion besitzt.
Schau mal auf S. 35 nach:
http://www.raspberrypi.org/wp-conten...eripherals.pdf
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
Hallo Daniel,
ich habe den Thread später dann hier Artverwand weitergeführt, da ich nach einer Alternative für den RPI gesucht habe.
https://www.roboternetz.de/community...Bus-Problem%29
Hier habe ich auch einige erklärende Links eingefügt, welche dem Problem genauer auf den Grund gehen.
Dieser Link erklärt zum Beispiel den Fehler im Chip:
http://elinux.org/BCM2835_datasheet_...ock_stretching
Die genaue Erklärung kann man dann hier nachlesen:
http://www.advamation.com/knowhow/ra...i-i2c-bug.html
Der Chip besitzt diese Fähigkeit, nur ist diese Fehlerhaft implementiert.
Ich habe derzeit einen BeagleBone Black Element14 auf dem Tisch liegen und bin dabei mein Programm und Hardware
zu portieren.
Ganz entscheidend ist die Aussage:
Für mich der Grund, nach einem anderen Board zu suchen.Don't expect help from the Raspberry Pi creators or from Broadcomm.
They know the problem (at least partially), but they unfortunately did neither document nor solve it.
Viele Grüße
R.
Kaum macht man es richtig, schon funktioniert's ...
Hey Ritchie,
ahh ok. Ich hatte mich nur nach dem Datenblatt gerichtet. Bisher ist mir dieses Problem nicht aufgefallen.
Wobei....ich hatte mal vor einiger Zeit mit nem PSoC am Raspberry Pi experimentiert. Die Kommunikation zwischen AVR und Raspi bzw. PSoC und AVR klappte 1a...nur die Kombination PSoC und Raspi warf Probleme auf. Irgendwas hat die I²C Kommunikation immer gestört.
Eventuell war es sogar das Problem....ich kenne leider die API von Cypress bzgl. I²C Slave im PSoC nicht gut genug um dieses Verhalten auf diesen Fehler zurück führen zu können.
Aber die Info das der I²C buggy ist, ist schon mal viel Wert
Jetzt ist natürlich die Frage was könnte Broadcomm dagegen tun (abgesehen davon den Chip zu fixen)....
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
Hallo Daniel,
hier wäre eine mögliche Lösung ein sogenanter "Bit Banging" Treiber. Hierbei wird die Steuerung des I2C Bus komplett in Software gelöst.
Nur muss man auch das Wissen und die Zeit dafür haben.
Viele Grüße
R.
Kaum macht man es richtig, schon funktioniert's ...
Lesezeichen