Klar ist, das was mit meinem Timing nicht ganz stimmt. Es handelt sich um Bitbanging, da es kein echtes I2C ist. Eigentlich bestätigt der TMC1637 den Empfang, indem er die Datenleitung auf low zieht..auf dem Bild sieht man aber wie die Spannung von 3,3V auf 1.08 Runter bzw rauf gezogen wird? Es sind 4,8K R Pull Up vorhanden, andere Werte ändern nichts. Eigentlich versuche ich sofort nach dem senden den Datenausgang als Eingang umzuschalten, aber offenbar funktioniert das nicht oder es ist nicht der Grund... Ich würde sagen der Controller versucht die Datenleitung hoch und der TMC runter zu ziehen..in der Anleitung steht das am ende vom 9. Takt die Datenleitung vom TMC wieder freigegeben wird. Warum springt er dann aber doch auf 0? Obwohl gar nicht getaktet wird? ich habe ja ein extra langes Delay eingefügt um es besser zu sehen, der Controller macht in der Zeit also wirklich nichts. Was ist der Grund?
Gegeg J. schrieb: > Klar ist, das was mit meinem Timing nicht ganz stimmt. Ich sehe nur 8 gültige Taktflanken, ein I2C Transfer besteht aber aus 9. Ein Ack des Slaves wird beendet durch eine neunte Clockflanke des Masters. Du beschreibst nicht von wo nach wo du sendest bzw steuerst. Da kann man sich alles Mögliche zusammenreimen.
Gegeg J. schrieb: > Eigentlich versuche ich sofort nach dem senden den Datenausgang als > Eingang umzuschalten, Ein I2C Clock- und Datenport muss Open-Drain sein, nicht einfach Push-Pull-Ausgang.
"Ein Ack des Slaves wird beendet durch eine neunte Clockflanke des Masters." Ja, schon klar..aber wieso zieht der Slave dann nicht auf 0 sondern auf 1.08V herunter? Darum geht es mir in der Frage...und wieso dann plötzlich später klapp es..obwohl der Controller nur wartet,,,
Gegeg J. schrieb: > Ja, schon klar..aber wieso zieht der Slave dann nicht auf 0 sondern auf > 1.08V herunter? Weil 2 Ausgänge gegeneinander arbeiten. Dreimal lesen und danach hundert mal selber meißeln: > Ein I2C Clock- und Datenport muss Open-Drain sein, nicht einfach > Push-Pull-Ausgang.
mit Open Drain sieht es irgendwo falsch aus?! Ich hatte es schon beim ersten mal vernommen!
Gegeg J. schrieb: > mit Open Drain sieht es irgendwo falsch aus?! Nicht gut, das stimmt, aber tendenziell besser. Jetzt auch noch den Takt.... Warum sehe ich da keine e Flanken?
was sind e Flanken? Jetzt funktioniert das Display auch nicht mehr..vorher funktionierte es mit Push/Pull
Gegeg J. schrieb: > was sind e Flanken? Kondensator Ladekurven. Man darf sie ruhig sehen, allerdings nicht so ausgeprägt, wie bei dir...
Gegeg J. schrieb: > Es sind 4,8K R Pull Up vorhanden Nach diesem Bild Gegeg J. schrieb: > osci2.jpg sicherlich nicht. Vermutlich nicht an beiden Leitungen SCL und SDA. Und wenn welche vorhanden sind dann sicherlich falsche Werte.
Gegeg J. schrieb: > Es sind 4,8K R Pull Up vorhanden Schon die Wert-Angabe lässt grosse Zweifel aufkommen. Wenn es schon so los geht weiss man nicht was man tut.
Bist du sicher dass du einen TMC1637 "meinst"? Ich kenne nur einen TM1637 (LED 7-Segmentanzeigetreiber). Wenn dem so ist, dann ist schlicht schon die Frage, ob das ein I2C Bus ist, denn: - ich hatte den einmal als eine "Art I2C Bus" bezeichnet, weil er wie ein I2C angesteuert wird ohne eine Angabe einer Deviceadresse. Der Baustein nimmt "sofort" Kommandos entgegen. Jemand meinte dann, dass das dann eher ein SPI Bus sei und im Datenblatt des TM1637 steht Two-Wire Interface. Wie auch immer: Wenn du einen TM1637 meinst, findest du hier: Beitrag "Siebensegment und Tasten ansteuern mit TM1651 \ TM1637" Software zum Chip (die auch mittels Bitbanging realisiert ist) und sich leicht an jeden Controller anpassen läßt (du hast ja keinen Controller angegeben, den du verwendest).
Hallo, gibt es denn zu Deiner Ansteuerung auch mal einen Schaltplan, auf dem zu sehen ist, wo die PullUps liegen, ob weitere Widerstände / Kondensatoren etc. vorhanden sind, und welche Pins mit welchen verbunden sind??? Ich vermute mal, dass es noch irgendwo Serienwiderstände in den Leitungen gibt. Mit welcher Spannungsversorgung arbeitest Du (ich sehe da ca. 3V3)? Gruß TK
Im verlinkten Beitrag ist doch der Schaltplan aus dem Datenblatt mit angehängt ! Aber gerne noch einmal hier. Lt. Datenblatt sind die Pullup-Widerstände 10k groß. Serienwiderstände gibt es keine. Das ganze wird mit 5V betrieben.
Ralph S. schrieb: > Bist du sicher dass du einen TMC1637 "meinst"? Ich kenne nur einen > TM1637 (LED 7-Segmentanzeigetreiber). Oha... Einen TMC1637 habe ich nicht gefunden, also so auch keine Chance das zu überprüfen. Bin bei meinen Ansagen davon ausgegangen, dass I2C verwendet wird. Tja... so kanns kommen.... Bitte vergesst meine Ansagen, wegen Irrtum, auf Grund von Nebelkerzen..
Hallo Ralph, es geht mir doch nicht um den Schaltplan aus dem "verlinkten Beitrag", sondern um den Schaltplan, den Gegeg (also der TO) umgesetzt hat. Denn alleine schon die 5V passen mit den Oszi-Bildern nicht überein! Die Kondensatoren sind ebenfalls in dieser Größe kontraproduktiv usw.... Also bitte den richtigen Schaltplan anfügen (und natürlich auch die Seite, die vom Controller kommt!) Alles andere ist Glasklugel! Ach so, vielleicht mal die "IIC" Geschwindigkeit auf unter 100kHz reduzieren - kann auch manchmal hilfreich sein. Gruß TK
Ich sagte oben bereits das es ein eigenes Protokoll ist..ÄHNLICH i2C! "Es handelt sich um Bitbanging, da es kein echtes I2C ist." wer lesen kann ist klar im Vorteil.....Irrtümer passieren, dann aber nicht so tun als ob ich nicht klar geschrieben hatte!! "Kondensator Ladekurven. Man darf sie ruhig sehen, allerdings nicht so ausgeprägt, wie bei dir..." War der entschediende Tipp:-) Die dumm dumm Chinesen haben nicht wie im Datenblatt angegebeen 10pf auf Takt udn Datenleitung gelegt, sondern 1nf!! Es liegt nicht an 3,3V(Siehe Datenblatt!) und auch nicht an 10K auch 1K sollten problemlos gehen oder auch 20k vermutlich. Nein, die Chiensen haben zu große Kondensatoren verbaut.habe sie jetzt komplett ausgelötet. Hatte es inzwischen auch im Netz gefunden, das jemand anders das gleiche Problem hatte:-) Seltsam ist nr...hätte ich es bei ebay bestellt..ok..china Schrott halt..aber das war bei Reichwlt gekauft..da hätte ich gedacht, die haben das getestet oder Rückmeldungen von Kunden. Also doch gleich zum 1/2 Preis bei ebay bestellen..alles der gleiche Kack Ja ich meine TM..nicht TMC, hatte mich verschrieben Wie kann ich eigentlich bei google links kopieren, OHNE das der ganze GOOGLE Link mit angehängt wird?!? Angezeotgt wird z.B. der Link www. xyz.com..gehe ich dann auch Link kopieren liegt in der Zwischenablage www.google.com./urlganz vieltext/www.xyz.com Anbei das Datenblatt: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjGid3RjsHlAhUTxMQBHf3xBAQQFjAAegQIARAC&url=https%3A%2F%2Fwww.mcielectronics.cl%2Fwebsite_MCI%2Fstatic%2Fdocuments%2FDatasheet_TM1637.pdf&usg=AOvVaw1i-d2E48YngSMkGmcUo5SN Und der Reichelt Link https://www.reichelt.de/arduino-display-grove-4-zahlen-tm1637-grv-4num-display-p191185.html?&trstct=pos_0 Vielleicht hat der Hersteller den Fehler bei V1 bemerkt? https://www.reichelt.de/makeblock-me-7-segment-display-rot-v1-mb-7-segment-v1-p202118.html?&trstct=pos_1 Aber der Fehler habe ich ja nun gefunden..
Anstatt rumzupalabern wäre es sinnvoller einfach mal den dämlichen Pull-Up zu ändern und verschiedene Werte auszuprobieren. Das ist er einzig logische Schritt den jeder ernst zunehmende Entwickler nach Messung der oben dargestellten Bilder anstreben würde.
Was man auf dem aller ersten Foto hier sieht ist, dass der Treiber in den Tri-State geht. Das Signal floatet. Von wegen "der Slave kann nicht auf 0 V ziehen"... Anfänger...
flowten tut da sicher nichts...das liegt daran das das Osci aufgrund eines Timingproblem gerade umgesprungen ist als das Foto gemacht wurde Du Anfänger;-) Du erkennst es deutlich daran das er genauso flach ist die der andere "Huckel" Apropo..durch das Chinesische Datenblatt hat es sich erledigt..dort ist sogar ein Quellcode enthalten..bescheuerterweise wurde das im Englischen entfernt!!
Gegeg J. schrieb: > das liegt daran das das Osci aufgrund > eines Timingproblem gerade umgesprungen ist als das Foto gemacht wurde > Du Anfänger;-) Was ein Schmarn gibts du hier von dir. Ein Timing-Problem? Im Messgerät? Was "springt" da um? Bei t=30 us sieht man ein floatendes Signal. Da ist noch viel zu tun mein Jung. Im Übrigen heißt es Oszi.
Msd schrieb: > Bei t=30 us sieht man ein floatendes Signal. Das liegt allein schon deshalb nahe, weil der Takt dort nicht mehr aktiv ist. Bei einigen Bussystemen wird dann der Treiber in den Tri-State geschaltet. Siehe e-MMC oder SD-Card. Das wäre ein weiteres Indiz für meine Erklärung. Du kannst natürlich auch weiter rumlammentieren anstatt einfach mal weiter zu messen...
@Msd Die falschen Pillen genommen? Dem Autor: Gegeg J. (cdfgdfgdfhsdklklk) kann man ja einiges vorwerfen. z.B.: Falsche Bauteilbezeichnungen als Nebelkerze einzusetzen. Die Nebelkerze, zu setzen, irgendwas als I2C Diagramm zu bezeichnen, worauf nix von I2C zu sehen ist. Unfreundlich mit Kritik umzugehen (Mitschuld weit weg schiebend) Die Unfähigkeit Datenblätter zu verlinken, Code und Schaltplan zu zeigen. Aber immerhin hat er das Problem erkannt/gefunden, und die ordnungsgemäße Funktion hergestellt. (wenn auch etwas zäh) Wie auch immer: Floatende Leitungen, sind auf dem Oszi Bild nicht zu sehen/erkennen. Sowas sieht anders aus. Und da du Msd das offensichtlich nicht erkennst, fehlt dir wohl die Kompetenz/Erfahrung das beurteilen zu können. Aber dafür reißt du das Maul erstaunlich weit auf. Ok, du blamierst dich scheinbar gerne selber. Also: Weiter so!
@Msd Timing Problem vom Osci könnte natürlich was meinen?!? Trigger vielleicht?!!! dafür das einige sich hier für solche Experten halten sind einige echt Begriffsstutzig. Das jemand der kein Experte ist, vielleicht mal den falschen Begriff verwendet sollte für einen Experten kein Hindernis sein zu verstehen was der andere meint. Und was soll der dämliche Spruch kein Datenblatt verlinkt zu haben?! Einfach TM1637 eingeben und der erste Link führt zum Datenblatt..nur darum ging es gar nicht in meiner Frage. Es ging generell darum eine zweite Meinung zu bekommen..ich verstehe nicht..das wenn jemand die Frage mich versteht, weshalb man dann überhaupt meint antworten zu müssen... Ich bedanke mich bei den anderen für die sinnvollen Beiträge, wie der Tipp mit der Kondensatorladekurve..sagt im ersten Moment nicht viel aus, manchmal sind aber bereits solch kleine Dinge hilfreicher als das sinnlose rumgeblubber vieler andere die selbst mit einem ganzen Buch noch nicht genug Infos hätten.. Oder sich an Pull Up Werten hochziehen...
Gegeg J. schrieb: > Einfach TM1637 eingeben Gegeg J. schrieb: > TMC1637 Ob beabsichtigt oder nicht, es ist eine Nebelkerze. Wie kommst du auf die Idee, dass ich (oder irgendwer anderes) da einfach mal da das C weg lassen soll. Bist du auch so irre, wie der Msd?
Gegeg J. schrieb: > Das jemand der kein Experte ist, vielleicht mal den falschen Begriff > verwendet sollte für einen Experten kein Hindernis sein zu verstehen was > der andere meint. Klar, wenn er Hellseher ist.
Paul P. schrieb: > einfach nur ein Verschreiber?! Ja sicher! Durchaus wahrscheinlich. Aber davon auszugehen, dass ein jeder den Vertipper korrigieren kann, ist vollkommen egozentrisch. Er kennt den Baustein, hat das Datenblatt vor sich. Kann aber nicht realisieren, dass diese Umstände nur bei ihm vorliegen und nicht bei den Lesern. Das liegt offenbar weit außerhalb seines Vorstellungsvermögens. Denn selbst nach Hinweiß darauf, keinerlei Einsicht. Er hat den Fehler gemacht, aber anstatt etwas Demut zu zeigen, tritt er um sich. Nee... Mangelhafte Kooperationsbereitschaft/Informationsversorgung, gepaart mit einer überzogenen/unrealistischen Erwartungshaltung.
siehe auch: https://forum.mikroe.com/viewtopic.php?f=189&t=75517&sid=2d59a7ce325e150c402ba79686bf6cc4
AlleForen schrieb: > siehe auch: > > https://forum.mikroe.com/viewtopic.php?f=189&t=75517&sid=2d59a7ce325e150c402ba79686bf6cc4 Die Anzahl an Antworten lässt tief blicken wie qualifiziert die Mitglieder dieses Forums sind.
OMG schrieb: > Die Anzahl an Antworten lässt tief blicken wie qualifiziert > die Mitglieder dieses Forums sind. Ich korrigiere mich: Die Mitglieder dieses Forums kennen den User "corado" bereits so gut dass sie nicht mehr auf seine Beiträge eingehen wollen.
Auch noch ein Crossposting. Oha, noch viel egozentrischer, als ich dachte.... OMG schrieb: > Die Anzahl an Antworten lässt tief blicken wie qualifiziert > die Mitglieder dieses Forums sind. Die im anderen Forum sind klüger, lassen ihn links liegen.
> Wie kann ich eigentlich bei google links kopieren...
Wenn es nicht anders geht klicke ich auf "diese Seite übersetzen" und
dann steht ganz oben der korrekte Link, mit einem Punkt dahinter, der
muss noch weg.
Ersatzweise geht auch der Cache, je nachdem was Google einem anbietet.
Angeblich kann man diese dumme Verhalten von Google irgendwie abstellen,
aber der Tipp hat bei mir nicht funktioniert.
:
Bearbeitet durch User
Gegeg J. schrieb: > Das jemand der kein Experte ist, vielleicht mal den falschen Begriff > verwendet sollte für einen Experten kein Hindernis sein zu verstehen was > der andere meint. Nö ich verstehe nicht was er mit Timing-Problem meint. Auch wenn ich den Begriff durch Trigger wie von dir geschilder ersetze, macht das für mich keinen Sinn. Warum triggert das Oszi falsch? Oder hat das Oszi getriggert, als die Tastköpfe nicht angeschlossen waren? Spielt aber keine Rolle denn: Arduino Fanboy D. schrieb: > Floatende Leitungen, sind auf dem Oszi Bild nicht zu sehen/erkennen. > Sowas sieht anders aus. Und da du Msd das offensichtlich nicht erkennst, > fehlt dir wohl die Kompetenz/Erfahrung das beurteilen zu können. > Aber dafür reißt du das Maul erstaunlich weit auf. > Ok, du blamierst dich scheinbar gerne selber. > Also: Weiter so! Doch genau so können floatende Signale aussehen. Ich sage nicht dass sie auch anders aussehen können, denn das hängt davon ab welche Größen auf die Signale einwirken (von außen) und wie groß die "hochohmige" Grundlast ist, aber genau so kann es aussehen, wenn auf einer Leitung z.B. ein sehr hochohmiger PU (wie er häufig in Mikroprozessoren zu finden ist >>100k) UND ein niederohmiger Messpfad anliegt. Dann entsteht ein Mittenpegel sobald niemand mehr aktiv treibt. Letzteres ist der Fall an den Stellen wo der Takt aus ist. Andere messtechnische Nachweise dazu fehlen hier. Die Frage vom Ersteller, warum der Sender nicht in der Lage ist das Signal nicht auf "0 V" zu ziehen ist ebend irreführend, denn es ist kein Beweis erbracht, dass dieser überhaupt treibt. Darüber hinaus: Natürlich ist im Bild zu sehen, dass zwei Signalverläufe überlagert dargestellt sind, ab 30 us sieht man jedoch nur eine Kurve und das ist doch sehr eigenartig, wenn es sich doch um eine Fehltriggerung halten sollte, die hier einfach so als "normal" verkauft wird.
Msd schrieb: > Darüber hinaus: Natürlich ist im Bild zu sehen, dass zwei Signalverläufe > überlagert dargestellt sind, Blitzmerker! Nennt sich "Nachleuchten der Phosphorschicht". Bei Digitaloszis auch gerne in Software realisiert. Msd schrieb: > aber genau so kann es aussehen, wenn auf einer Leitung > z.B. ein sehr hochohmiger PU (wie er häufig in Mikroprozessoren zu > finden ist >>100k) UND ein niederohmiger Messpfad anliegt. Dann entsteht > ein Mittenpegel sobald niemand mehr aktiv treibt. Das ist bei Open-Drain auf der einen Seite und Push-Pull auf der anderen, so wie anfangs gewesen, garantiert nicht der Fall. Die scharfen Ecken sprechen gegen jede Art von Hochomigkeit.
" Die Anzahl an Antworten lässt tief blicken wie qualifiziert die Mitglieder dieses Forums sind." Owe...also tatsächlich gibt es Foren da kommen wesentlich weniger Antworten als hier..nur das da ein oder zwei bdreits reichen und das Problem gelöst ist.. Was sagt das wohl über DIESES Forum hier aus?.... Und natürlich Crossposting! Was bist Du denn für ein Vollhonk??!!? Wenn in der Sprache mit dem Compiler gearbeitet wird, fragt man selbstverständlich zuerst dort!!
Msd hat ganz offensichtlich keine Ahnung. Auf dem Fotos sieht man DEUTLICH das es kein Floating ist..der Grund wurde bereits genannt...aber rafft es immer noch nicht
es wurde sogar schon mehrere Gründe genannt weshalb es kein Flotaing sein KANN! Msd nimmt sich wichtig und vermutlich weiß er auch immer alles besser als sein chef
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.