Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > Hallo, > > > > ich habe folgendes Problem. Auf einem Board habe ich das Display LK204-25 (<a href="http://www.matrixorbital.ca/manuals/LK_series/LK204-25/LK204-25.pdf">pdf</a>) sowie die Sensoren: > > ein HDIB001DU-E8H5 (Druck, <a href="http://www.sensortechnics.com/download/AN_I2C-Bus-HCLA-HCA-HDI_E_11155.pdf">pdf</a>), sieben TC74 (Temperatur, <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/21462c.pdf">pdf</a>) und zwei MLX90614 (Thermopile, <a href="http://www.melexis.com/Asset/SMBus_communication_with_MLX90614_DownloadLink_5207.aspx">pdf</a>). > > Betreibe ich alles zusammen, hängt sich die gesamte C-Control nach ca. 1 - 3 Minuten auf. > > I2C_Status() gibt dann den Fehlercode 0xF8 aus. Ich vermute Timingprobleme durch zu kurzes > > Hochziehen von SDA und SCL auf High. > > > > Das Board ist eine hausinterne Eigenentwicklung (nicht von mir). SDA und SCL hängen mit 4k7 Pull-ups > > an Vcc. Ich kann einzeln das Display, den Drucksensor und alle Thermometer und Thermopiles abstecken > > (drei Stecker). Mittlerweile bin ich soweit, dass ich den Fehler auf das Display eingrenzen konnte. Die > > Sensoren werden laufend ausgelesen, per Interrupt wird das Display jede Sekunde neu mit ausgelesenen > > Werten beschrieben. Lasse ich nun das Display weg, läuft alles bestens (es können auch alle Werte per > > RS232 gesendet werden). In jeder anderen möglichen Kombination hängt sich die C-Control auf, Display > > allein geht. > > > > Laut I2C-Spezifikation muss man bei größerer Buskapazität kleinere Pullups verwenden. Ich hoffe das ich > > das richtig deute, wenn ich sage: Laut Datenblatt hat der Drucksensor eine Gesamtkapazität von > > C=400 pF, die Thermopiles auch jeweils C=400pF und die Thermometer jeweils C=70pF, macht insgesamt > > Cges=1,76nF. Dazu kommen fast 1m Kabellänge (darunter ca. 5cm 1,27mm Lochrasterplatine). Zu dem > > Display konnte ich nichts finden. > > Ich vermute nun, das die Gesamtkapazität nicht mit dem Widerstand der Pull-ups zusammenpasst. Jedoch > > sind auch 4k7 Pull-ups für 1,76nF (also ihne Display) zuviel, was mich verwirrt. In den Datenblättern sind > > aber auch kleinere Kapazitäten angegeben. > > > > Vielleicht kann mir hier jemand helfen. Würde das Einlöten von zusätzlichen Widerständen das Problem > > lösen? Die Sensoren kann ich zusammen nicht mehr auf dem Application-Board testen, jedoch habe ich > > zuvor alle Sensoren und das Dispaly einzeln testen können, sie funktionieren. > > > > > > MfG > > > > Robert > > Hallo Robert, > mit welcher Frequenz hast due I2C initialisiert.? > Mit der Anweisung I2C_Init(xxx) lassen sich ja I2C-Frequenzen bis herab ca. 10kHz einstellen. > Dann läuft sicher dein umfangreiches System viel besser. Aber vielleicht siehst du dir den Signalverlauf > mal mit einem Oszi an. > Viel Glück > werner