Hallo,
ich habe zurzeit ein kleines Problem mit dem AD-Wandler ADS1100.
Je nach dem, was für einen Pull-up Widerstand für SDA/SCL nehme, bekomme ich einen anderen ADC-Wert.
Ich hab jetzt schon alles probiert, zwischen 1kohm und 10kohm....
Allerdings muss ich gestehen, das mein I2C-Busaufbau ziemlich komplex ist....
Mikrocontroller -> ADUM1250 ->P92B86 -----------relative lange Busleiterbahnen ---------->P92B86 ->Adum1250-> ADS1100.
Jetzt fragt sich wahrscheinlich jeder, wieso so kompliziert?
Mein Gedanke ist: vollkommene Abkopplung vom Bus, gewährleistet über ADUM1250
und, da die Leiterplatte ziemlich groß ist (Lange Busleitungen), Pegelwandlung auf 12V, damit der Bus weniger Störanfällig ist, deswegen die P92B86.
Im Prinzip klappt alles, habe statt ADS1100 z.B. auch Portexpander dran, da läuft alles ....
Nun hab ich eben festgestellt, dass wie gesagt, ich je nach Pull-Up für SDA/SCL zwischen ADS1100 und ADUM1250 andere ADC-Werte bekomme.
Ein anderes Problem ist unter anderem auch noch: Wenn alle Busteilnehmer dran sind, und alle nacheinander ununterbrochen angesprochen werden, dann erhalte ich auch einen anderen ADC-Wert, wie wenn auf dem Bus nur der ADS1100 alleine kommuniziert.
Der ADC-Wert ist dann um den Wert 100 (dezimal) unterschiedlich.
Ich weiß, dass bei solchen Sachen eine Ferndiagnose ziemlich schwierig ist.
Ich vermute, dass ich die Leiterplatte wahrscheinlich nicht optimal geroutet habe, und hier die Kapazitiät auf den SDA/SCL-Leitungen ein Problem ist?
Die Abweichung konnte ich bereits von 200 auf 100 reduzieren, in dem ich 50pF von SDA auf GND eingelötet habe, bzw. von SCL auf GND. Wobei das auf Störungen auf den Leitungen hinweisen würde?
Wenn ich allerdings mit dem Oszilloskop die SDA/SCL-Leitung anschaue, fällt mir nichts besonderes auf.
Ich habe auch schon den Takt von 100khz auf 40khz geändert. Das bringt auch nichts.
Kann mir jemand nen Tipp geben?
ich habe zurzeit ein kleines Problem mit dem AD-Wandler ADS1100.
Je nach dem, was für einen Pull-up Widerstand für SDA/SCL nehme, bekomme ich einen anderen ADC-Wert.
Ich hab jetzt schon alles probiert, zwischen 1kohm und 10kohm....
Allerdings muss ich gestehen, das mein I2C-Busaufbau ziemlich komplex ist....
Mikrocontroller -> ADUM1250 ->P92B86 -----------relative lange Busleiterbahnen ---------->P92B86 ->Adum1250-> ADS1100.
Jetzt fragt sich wahrscheinlich jeder, wieso so kompliziert?
Mein Gedanke ist: vollkommene Abkopplung vom Bus, gewährleistet über ADUM1250
und, da die Leiterplatte ziemlich groß ist (Lange Busleitungen), Pegelwandlung auf 12V, damit der Bus weniger Störanfällig ist, deswegen die P92B86.
Im Prinzip klappt alles, habe statt ADS1100 z.B. auch Portexpander dran, da läuft alles ....
Nun hab ich eben festgestellt, dass wie gesagt, ich je nach Pull-Up für SDA/SCL zwischen ADS1100 und ADUM1250 andere ADC-Werte bekomme.
Ein anderes Problem ist unter anderem auch noch: Wenn alle Busteilnehmer dran sind, und alle nacheinander ununterbrochen angesprochen werden, dann erhalte ich auch einen anderen ADC-Wert, wie wenn auf dem Bus nur der ADS1100 alleine kommuniziert.
Der ADC-Wert ist dann um den Wert 100 (dezimal) unterschiedlich.
Ich weiß, dass bei solchen Sachen eine Ferndiagnose ziemlich schwierig ist.
Ich vermute, dass ich die Leiterplatte wahrscheinlich nicht optimal geroutet habe, und hier die Kapazitiät auf den SDA/SCL-Leitungen ein Problem ist?
Die Abweichung konnte ich bereits von 200 auf 100 reduzieren, in dem ich 50pF von SDA auf GND eingelötet habe, bzw. von SCL auf GND. Wobei das auf Störungen auf den Leitungen hinweisen würde?
Wenn ich allerdings mit dem Oszilloskop die SDA/SCL-Leitung anschaue, fällt mir nichts besonderes auf.
Ich habe auch schon den Takt von 100khz auf 40khz geändert. Das bringt auch nichts.
Kann mir jemand nen Tipp geben?