Hallo zusammen, ich habe ein Problem mit dem ADUM1401. Der Baustein soll dazu verwendet werden, den SPI-Bus zwischen einem ADE7758 und einem Raspberry Pi galvanisch zu trennen und die Pegel der beiden Komponenten (3,3V beim RPi / 5V beim ADE7758) anzupassen. Aktuell teste ich das Ganze noch ohne den ADE7758. Ich habe ein kleines Python-Programm geschrieben, das ein Byte (0x13) versendet und mir die Aktivität meiner SPI-Pins am Raspberry mit PiScope visualisieren lassen. Wie ihr im Anhang seht, machen CE, SCLK und MOSI das was sie sollen. Was ich allerdings nicht verstehe ist das MISO-Signal, welches scheinbar dem SCLK Signal entspricht. Meiner Meinung nach dürfte ich auf MISO in diesem Zustand gar nichts empfangen. Die Beschaltung des ADUM1401 mit dem SPI-Bus findet ihr im Anhang (wie gesagt: der linke Teil, die Verbindung zum ADE7758 existiert aktuell noch nicht). Weiter findet ihr ein Bild des aktuellen Aufbaus im Anhang. Ich habe bereits geprüft ob SCLK und MISO irgendwo verbunden sind, konnte aber nichts finden. Kann sich dieses Verhalten jemand erklären und würde mir weiterhelfen? Viele Grüße Mathias
Häng mal an den offenen MISO einen Pullup- oder Pulldown-Widerstand, oder hat der ADUM1401 welche an den Eingaängen integriert? Ein unbeschalteter Eingang kann sich ja alle möglichen Signale Einfangen.
Hi, ich finde im Datenblatt des ADUM1401 nichts zu Pull-Up /-Down Widerständen, lediglich die Aussage "The ADuM140x digital isolator requires no external interface circuitry for the logic interfaces". Wenn ich MOSI und MISO hinter dem ADUM1401 kurzschließe bekomme ich das gesendete Signal korrekt zurück. Das lässt mich annehmen, dass die Schaltung prinzipiell funktioniert, also 3V3-Signal in 5V-Signal wandeln und das Ganze umgekehrt. Warum ich im unbeschaltenen Zustand aber exakt die SCLK-Signale auf MISO zurück bekomme ist mir ein Rätsel!? :/ VG Mathias
Mathias S. schrieb: > lediglich die Aussage "The ADuM140x digital isolator > requires no external interface circuitry for the logic interfaces". Dann ist vielleicht der Umkehrschluss zulässig, dass der ADuM bei offenem Eingang, d.h. wenn kein Logiksignal anliegt, macht was er will.
Wolfgang schrieb: > Dann ist vielleicht der Umkehrschluss zulässig, dass der ADuM bei > offenem Eingang, d.h. wenn kein Logiksignal anliegt, macht was er will. Mysteriös, aber es scheint tatsächlich so zu sein. Ich habe eben MISO auf Masse (0) und auf 5V (1) gezogen und empfange am Raspberry die entsprechenden Logiksignale. Mal sehen wie sich das Ganze gestaltet, wenn ich den ADE7758 in die Schaltung integriere... :/ VG Mathias
Mathias S. schrieb: > Warum ich im unbeschaltenen Zustand aber exakt > die SCLK-Signale auf MISO zurück bekomme ist mir ein Rätsel!? :/ Wahrscheinlich, weil es von allen verfügbaren Signalen am stärksten einstreut.
Ich habe jetzt mal den ADE7758 in die Schaltung eingebaut und mir den SPI-Bus mit PiScope darstellen lassen. Das Resultat sieht genauso aus wie in meinem Eröffnungspost: MISO entspricht SCLK und ich bekomme eine "0" zurückgemeldet (wobei das Register das ich anspreche einen Wert von 4 haben sollte). Ich hab dann die Clock-Frequenz von 10kHz auf 1MHz erhöht. Jetzt krieg ich zwar keine 0 mehr zurück, aber auch nicht die erwartete 4 sondern reichlich Datenmüll. Mit PiScope kann ich Transfer mit solchen Frequenzen nicht mehr visualisieren. Ich denke das Beste wird sein, sich mit einem Oszi anzusehen was während des Transfers passiert, oder habt ihr noch andere Ansätze? Viele Grüße Mathias
Hast du auch schön Master MOSI mit slave MOSI verbunden und Master MISO mit slave MISO. Es ist flasch master MOSI mit slave MISO zu verbinden und master MISO mit slave MOSI. Wenn du das getan hast wäre ein hochohmiger input mit einem hochohmigen input verbunden, also als wäre nichts angeschlossen. Und das würde ja den Fehler erklären.
Hallo Uwe, der ADE7758 (Slave) hat kein MISO/MOSI, sondern ein DOUT(Data Out) und ein DIN(Data In). Meine Verbindung sieht aus wie folgt: DOUT(ADE7758)-->Input D(ADUM1401)-->Output D(ADUM1401)-->MISO(Raspberry Pi) DIN(ADE7758)<--Output B(ADUM1401)<--Input B(ADUM1401)<--MOSI(Raspberry Pi) SCLK(ADE7758)<--Output C(ADUM1401)<--Input C(ADUM1401)<--SCLK(Raspberry Pi) CS(ADE7758)<--Output A(ADUM1401)<--Input A(ADUM1401)<--CE(Raspberry Pi) Ich dachte eigentlich nicht, dass ich hier einen Fehler gemacht habe, oder seh ich das falsch?! :/ Weiter hatte ich kurzfristig die Möglichkeit ein Oszi zu nutzen. Aus Zeitgründen habe ich es heute nur geschafft zwischen ADE7758 und ADUM1401 zu messen. Das Ergebnis seht ihr im Anhang (D4=CS, D3=DIN, D2=SCLK, D1=DOUT). Den Schwellenwert für eine logische 1 habe ich, wie im Datenblatt des ADE7758 gefordet) für die Inputs (CS, DIN, SCLK) auf 2,4V und für den Output (DOUT) auf 4V eingestellt. DOUT gibt also keinen Ton von sich. Viele Grüße Mathias
Mathias S. schrieb: > DOUT gibt also keinen Ton von sich. "Data is shifted into the ADE7758 at the DIN logic input on the falling edge of SCLK. Data is shifted out of the ADE7758 at the DOUT logic output on a rising edge of SCLK." Dein RasPi setzt MOSI auf fallender SCLK-Flanke. Das ist anscheinend der falsche SPI-Modus, MOSI sollte für den ADE7758 auf steigender SCLK-Flanke gesetzt werden, um dann vom ADE7758 auf fallender SCLK-Flanke gelesen zu werden. Du liest also eventuell nicht Register 0x13, sondern irgendein anderes 0b00xx0x1x, das eventuell default 0 ist. Überprüfe diese Vermutung doch mal mit einem Pullup von DOUT zu VDD2. HTH. LG, Sebastian
:
Bearbeitet durch User
Hi Sebastian, vielen Dank! Das werde ich morgen gleich mal checken. Viele Grüße Mathias
Hallo zusammen, nach Sebastians Anmerkung habe ich jetzt den SPI-Modus 1 (CPOL=0, CPHA=1) in mein Testprogramm übernommen. Der ADE7758 bekommt jedes Bit an DIN jetzt wie im Datenblatt gefordert (mit der fallenden Flanke von SCLK). Leider bekomme ich trotzdem nicht die gewünschte Antwort, sondern es wird mir 255 zurückgemeldet. Eine Analyse mit PiScope zeigt mir noch immer ein Abbild der Logik von SCLK auf MISO. Ich habe schon geprüft, ob es irgendwo einen Kurzschluss zwischen den beiden Leitungen gibt und ich konnte keinen erkennen bzw. messen. Ist für dieses Verhalten noch eine andere naheliegende Ursache, auf die ich nicht von selbst komme, denkbar? Werde nächste Woche noch mal das Oszi bemühen und sowohl zwischen RPi und ADUM als auch zwischen ADUM und ADE messen. Vielleicht gelingt es mir dann endlich mein SPI-Problem zu lösen. Ist mein "erstes Mal" und ich hab mir das echt nicht so schwer vorgestellt! ;) Viele Grüße und ein schönes Wochenende Mathias
Hallo zusammen, ich bin langsam am verzweifeln mit der Geschichte... :/ Habe heute wieder einen Tag am Oszi verbracht und wie angekündigt zwischen ADE und ADUM als auch zwischen ADUM und RPi gemessen. Bei der Messung zwischen ADE und ADUM das gleiche Bild wie beim letzten Mal (siehe mein Beitrag vom 05.03.2015). Dann hab ich mir das Datenblatt des ADUM nochmal näher angesehen und bemerkt, dass der Schwellenwert für eine logische 1 beim Input bei 1,6 V liegt. Also hab ich den Schwellenwert des Oszis für den Datenausgang des ADE (DOUT) auf 1,6 V runtergeschraubt. Wie ihr im Anhang seht, habe ich auf DOUT 1,6 V Signale die beim genaueren Hinsehen den Flanken von SCLK sehr ähnlich sehen. Die Messung zwischen ADUM und RPi zeigt mir entsprechend ein Abbild des SCLK-Signals auf MISO. Wenn ich das richtig deute, macht der ADUM seine Aufgabe also ordentlich. Was mache ich falsch, dass diese 1,6 V Pegel auf DOUT kommen? Kann ich auf einen Defekt des ADE7758 schließen, da von diesem ja anscheinend kein Signal ausgegeben wird? Ich hab den Aufbau auf dem Breadboard bereits variiert, wodurch ich das Problem leider nicht beheben konnte... :/ Ich würde mich freuen, wenn mir jemand helfen könnte. Viele Grüße Mathias Zu den Bildern: D1: DOUT D2: SCLK D3: DIN D4: CS
Hier noch ein Bild meines aktuellen Aufbaus. Möglicherweise hilft das dabei, die Ursache meines Problems zu identifizieren. Der SPI-Bus vom RPi zum ADE7758: blaues Kabel: MISO (RPi) << OUT-D (ADUM1401) << IN-D (ADUM1401) << DOUT (ADE7758) gelbes Kabel: SCLK (RPi) >> IN-C (ADUM1401) >> OUT-C (ADUM1401) >> SCLK (ADE7758) lila Kabel: MOSI (RPi) >> IN-B (ADUM1401) >> OUT-B (ADUM1401) >> DIN (ADE7758) graues Kabel: CE (RPi) >> IN-A (ADUM1401) >> OUT-A (ADUM1401) >> CS (ADE7758) Kabellänge (insgesamt): 30 cm Spannungsversorgung: gelbe Kabel: +3,3 V orange Kabel: +5 V grüne Kabel: jeweils Ground Viele Grüße Mathias
Ich tippe mal darauf, dass der ADE7758 den DOUT erst dann vom tristate in den aktiven Modus schaltet, wenn er was senden will. Sicher nur als Antwort auf deinen Input, und den versteht er wohl nicht. Solange DOUT aber im Tristate ist, fängts du dir da alles mögliche ein. Leg doch mal wie weiter oben beschreiben ein R (1k?) von DOUT gegen Masse. Wenn es dann weg ist, solltest du dich nochmal mit dem Datenblatt des ADE7785 beschäftigen.
Der Schemazeichner war nicht wirklich begabt ... irgendwie kommt beim 1401er Symbol nicht heraus, dass drei Kanaele in einer Richtung und der Vierte in anderer Richtung geht. Ein moegliche Quelle von Problemen, die teuer werden koennen. Ich wuerd nun mal den ADE7758 an 5V haengen und den ADUM1401 durch Bruecken ersetzen.
:
Bearbeitet durch User
Die versendete Nachricht waere auch noch interessant. Ich denke aus dem ADE kommt nur was raus, wenn da was raus kommen soll. Irgendwas reinzulassen bringt nichts. Die Datenblaetter von Analog Devices haben den Anspruch, dass teilwese jedes einzelne Wort wichtig ist und verstanden werden muss. Die Registerliste umfasst nur 0x50 register ... und davon musst du schliesslich jedes Einzelne verstanden haben. Es scheint noch ein weiter Weg zu sein. Ich wuerd mir uebrigens die galvanische Trennung sparen, sie ist nicht noetig, siehe Seite 17
:
Bearbeitet durch User
Was soll das bringen wenn die Signale die zum ADE7758 gehen richtig aussehen und DOUT (relativ) hochohmig ist? Hast du mal die ganze restliche Beschaltung des ADE7758 untersucht? Sind alle Spannungen, AGND, DGND wirklich richtig angeschlossen? Was hat er allein für eine Stromaufnahme? Hast du einen Quarz dran und 2 Cs oder einen exteren Takt? Wenn Quarz, schwingt der auch? Bis dahin können wir nur im Kaffeesatz lesen. Noch eine andere Frage: Was möchtest du mit dem ADE7758 realisieren und hast du die nötigen Messmittel um das Teil zu kalibrieren? Ich hatte so was auch mal vor, da es aber fertige Geräte für ca. 90€ gibt, war es mir den Zeitaufwand nicht wert.
Hallo Mathias, es scheint ja dass der ADE gar nicht antwortet. Dann bleibt der (tri-state) DOUT auf Z. Der ADUM kann aber kein tri-state, und macht dann daraus am Output D entweder Low oder High, je nach Einkoppelung von Energie aus der Umgebung an Input D. Was passiert, wenn du DOUT per 10k-Pullup mit VDD2 verbindest? Was passiert, wenn du DOUT per 10k-Pullup mit GND2 verbindest? Und noch eins: Ist GND1 des ADUM direkt mit GND des RasPi verbunden? LG, Sebastian
temp schrieb: > Leg doch mal > wie weiter oben beschreiben ein R (1k?) von DOUT gegen Masse. Wenn es > dann weg ist, solltest du dich nochmal mit dem Datenblatt des ADE7785 > beschäftigen. Habe jetzt mal einen Pull-Up von DOUT gegen Masse eingefügt. Im "Ruhezustand" lese ich somit dauerhaft High auf MISO. Lasse ich mein Programm laufen, habe ich wieder eine Abbildung des SCLK-Signals auf MISO (siehe Anhang). Jetzt Nicht schrieb: > Der Schemazeichner war nicht wirklich begabt ... irgendwie kommt beim > 1401er Symbol nicht heraus, dass drei Kanaele in einer Richtung und der > Vierte in anderer Richtung geht. Ein moegliche Quelle von Problemen, die > teuer werden koennen. Welches Schema meinst du genau? Dass der ADUM1401 drei Kanäle in eine Richtung und einen in die entgegengesetzte Richtung hat ist mir aber bewusst. Letzteren (Kanal D) nutze ich für die Verbindung DOUT des ADE7758 zum Raspberry. Das sollte so passen. Jetzt Nicht schrieb: > Ich wuerd nun mal den ADE7758 an 5V haengen und den ADUM1401 durch > Bruecken ersetzen Der ADE7758 hängt an 5V. Den ADUM1401 kann ich nicht durch Brücken ersetzen, weil der Raspberry keine Pegel über 3,3 V verträgt, der Output des ADE7758 für eine logische 1 aber laut Datenblatt mindestens 4 V beträgt. Jetzt Nicht schrieb: > Die versendete Nachricht waere auch noch interessant. Ich denke aus dem > ADE kommt nur was raus, wenn da was raus kommen soll. Irgendwas > reinzulassen bringt nichts. Das Programm sendet ein Byte mit führender Null (Kennzeichen, dass nächste Aktion "Lesen" ist) und der Adresse des Registers das ich lesen möchte (Register: OPMODE, Adresse: 0x13, Wert: 4). Anschließend schicke ich noch zwei Dummybytes (0x00) an den ADE7758. Beim ersten sollte ich dann eigentlich die Antwort empfangen - das zweite stammt noch aus der Zeit in der ich die Hoffnung hatte auch mal Multibyte-Register zu lesen... ;) temp schrieb: > Hast du mal die ganze restliche Beschaltung des ADE7758 untersucht? Sind > alle Spannungen, AGND, DGND wirklich richtig angeschlossen? Was hat er > allein für eine Stromaufnahme? Hast du einen Quarz dran und 2 Cs oder > einen exteren Takt? Wenn Quarz, schwingt der auch? > Bis dahin können wir nur im Kaffeesatz lesen. Ja, ich habe die Beschaltung mehrmals geprüft. Wenn ich nicht total blind bin, ist alles so beschalten wie es das Datenblatt vorgibt. AVDD zu AGND, sowie DVDD zu DGND jeweils 5,05 V, also innerhalb der Vorgabe. Die Stromaufnahme an AVDD ist 9,2 mA (laut Datenblatt maximal 8 mA) und an DVDD 9,4 mA (laut Datenblatt maximal 13 mA). Alles gemessen mit einem Multimeter. Ja, als Taktgeber wird ein 10 MHz Quarz mit je einem 22 pF Kondensator an jedem Beinchen verwendet (siehe Fotos). Möglicherweise etwas naiv, aber da das Quarz neu ist, habe ich bisher nicht daran gezweifelt, ob es schwingt. Müsste ich mit dem Oszi testen, oder gibt es da eine schnelle Möglichkeit mit dem Multimeter? temp schrieb: > Noch eine andere Frage: Was möchtest du mit dem ADE7758 realisieren und > hast du die nötigen Messmittel um das Teil zu kalibrieren? Ich hatte so > was auch mal vor, da es aber fertige Geräte für ca. 90€ gibt, war es mir > den Zeitaufwand nicht wert. Ein Messgerät für 3-phasige Wechselstromnetze. Die Messmittel und ein wachsames Auge sind vorhanden. Hab zwar Erfahrung in E-Technik, bin aber bei weitem kein Experte. Allerdings sollte ich jetzt erstmal eine Kommunikation zwischen RPi und dem ADE7758 zustande kriegen, sonst brauch ich mir über weitere Aktivitäten gar keine Gedanken machen! ;) Viele Grüße Mathias
Hallo Mathias, ich glaube, der Grund für das Problem ist der 3.3V MEE1S. Er erzeugt ein isoliertes Potential, zu dem MISO/MOSI/SCLK/CE des RasPi nicht mehr in Beziehung stehen. Nimm den mal raus und speise die 3.3V-Seite des ADUM direkt vom RasPi. Oder brücke zumindest GND des RasPi und GND1 des ADUM. LG, Sebastian
:
Bearbeitet durch User
Hi Sebastian, Sebastian Wangnick schrieb: > Was passiert, wenn du DOUT per 10k-Pullup mit VDD2 verbindest? > > Was passiert, wenn du DOUT per 10k-Pullup mit GND2 verbindest? > > Und noch eins: Ist GND1 des ADUM direkt mit GND des RasPi verbunden? Ein 11k-Pullup von DOUT zu VDD2 bringt MISO im Ruhezustand High. Was passiert, wenn das Programm läuft siehst du im Anhang. Ein 11k-Pulldown von DOUT zu GND2 bringt MISO im Ruhezustand Low. Das bleibt er auch bei laufendem Programm - zumindest nahezu, wie man im Anhang sieht. Nein, die Seite mit 3,3 Volt des ADUM1401 hing, wie du richtig gesehen hast, an einem DCDC-Wandler und nicht direkt am Raspberry. Sebastian Wangnick schrieb: > ich glaube, der Grund für das Problem ist der 3.3V MEE1S. Er erzeugt ein > isoliertes Potential, zu dem MISO/MOSI/SCLK/CE des RasPi nicht mehr in > Beziehung stehen. > > Nimm den mal raus und speise die 3.3V-Seite des ADUM direkt vom RasPi. > Oder brücke zumindest GND des RasPi und GND1 des ADUM. Ich hab ihn rausgenommen (um ehrlich zu sein, hab ich mich nach deinem Beitrag ernsthaft gefragt, weshalb ich den überhaupt eingebaut hatte...komplett überflüssig eigentlich), leider habe ich dennoch das gehabte Verhalten, dass ich über MISO die SCLK-Pegel empfange (siehe Anhang). :/ Viele Grüße Mathias
Das ist ja zum Mäusemelken! Laut piscope_11k-pullup_11032015.jpg wird DOUT direkt nach CE Low auf Low getrieben. Laut Datenblatt ADE7758 bleibt DOUT aber zunächst Z, und wird erst nach der Übermittlung des Lesebefehls und der Registeradresse getrieben: "SERIAL READ OPERATION During a data read operation from the ADE7758, data is shifted out at the DOUT logic output on the rising edge of SCLK. As was the case with the data write operation, a data read must be preceded with a write to the communications register. With the ADE7758 in communications mode and CS logic low, an 8-bit write to the communications register takes place first. The MSB of this byte transfer must be a 0, indicating that the next data transfer operation is a read. The seven LSBs of this byte contain the address of the register that is to be read. The ADE7758 starts shifting out of the register data on the next rising edge of SCLK (see Figure 94). At this point, the DOUT logic output switches from a high impedance state and starts driving the data bus. All remaining bits of register data are shifted out on subsequent SCLK rising edges. The serial interface enters communications mode again as soon as the read is completed. The DOUT logic output enters a high impedance state on the falling edge of the last SCLK pulse." Ich traue dem PiScope und seiner GND-Referenz nicht so ganz. Hast Du noch Zugriff auf das Oszi? Dann mach mal folgendes: VCC2 - 11k - DOUT - 22k - GND2. Und dann zeig das Oszi-Bild von DOUT, also auf der ADE7758-Seite, aber analog und nicht digital. Dann kann man sehen wann DOUT Z ist, wann High und wann Low. Ansonsten schmeiss mal den ADUM raus und häng SCLK, MOSI und CE direkt vom RasPi an den ADE7758, und DOUT - 1k - RasPi MISO - 2k - GND. LG, Sebastian
Hi Sebastian, werde versuchen morgen ans Oszi zu kommen, nach deinem Vorschlag zu messen und dann melde ich mich wieder. Besten Dank erst mal und viele Grüße Mathias
:
Bearbeitet durch User
Mathias S. schrieb: > oszi-10032015_cs-sclk-din-dout.jpg Ein Tip: Wenn du die USB-Buchse für den Speicherstick am Agilent nicht findest, mach doch die Lampe vor dem Oszi wenigstens aus, damit nicht das ganze Display von Spiegelungen überstrahlt wird.
Hallo zusammen, Hobbyphotograph schrieb: > Ein Tip: Wenn du die USB-Buchse für den Speicherstick am Agilent nicht > findest, mach doch die Lampe vor dem Oszi wenigstens aus, damit nicht > das ganze Display von Spiegelungen überstrahlt wird. Danke für den Tipp. Leider hat das Oszi beim letzten Mal meinen USB-Stick nicht angenommen. Diesmal war ich aber vorbereitet! ;) Im Anhang die Aufnahmen meiner heutigen Oszi-Session: Bild 1 - Unveränderte Schaltung Bild 2 - 11k-Pullup von DOUT zu VDD2 Bild 3 - 11k-Pulldown von DOUT zu GND 2 Bild 4 - DOUT - 11k - VDD2 -22k - GND 2 Bild 5 - ohne ADUM1401 (DIN, SCLK, CE direkt am ADE7758, DOUT über Spannungsteiler am RPi) Signale: CS (rot), SCLK (grün), DIN (blau), DOUT (gelb) Erkenntnis: Am DOUT des ADE7758 tut sich nichts... :/ Ich bin noch mal die komplette Beschaltung des ADE7758 durchgegangen. Wegen des Hinweises bezüglich des Quarzmoduls hab ich diesen Bereich noch mal genauer unter die Lupe genommen und die Spezifikationen des Quarzes nachgeschlagen. Das hätte ich eventuell früher tun sollen, da ich mit meinen 22 pF Kondensatoren und einer daraus resultierenden Belastungskapazität von 11 pF doch einiges von der geforderten Belastungskapazität von 30 pF entfernt bin. Kann das nicht ordnungsgemäß schwingende Quarz der Grund sein, weshalb ich an DOUT nichts zu sehen kriege? Ich werde jedenfalls die 22 pF Kondensatoren gegen etwas im Bereich 60 pF tauschen. Viele Grüße Mathias
:
Bearbeitet durch User
Hallo Mathias, Ok, der Fehler liegt also nicht am ADUM1401. Der ADE7758 antwortet einfach gar nicht. So weit, so gut. Der Lesebefehl für Register 0x13 sieht aber für mich gut aus, sowohl mit als auch ohne ADUM. Die weisse Kabelbrücke auf Deinem Steckbrett verbindet ja DGND (2) mit AGND (11) des ADE7758. Man kann auf dem Foto aber nicht erkennen, wie AVDD (4) versorgt wird ... Ansonsten noch mal CLKOUT mit dem Oszi untersuchen, ob der Oszillator korrekt schwingt. LG, Sebastian
:
Bearbeitet durch User
Hi Sebastian, DVDD (3) und AVDD (4) sind unter der besagten weißen Kabelbrücke zwischen DGND (2) und AGND (11) parallel geschalten und hängen an den 5 V. CLKOUT habe ich kurzfristig noch versucht mit dem Oszi zu messen. Allerdings konnte ich keine 10 MHz Schwingung feststellen. Das einzige einigermaßen periodische Signal an CLKOUT hat sich bei etwa 1 MHz bewegt. Viele Grüße Mathias
:
Bearbeitet durch User
Mathias S. schrieb: > CLKOUT habe ich kurzfristig noch versucht mit dem Oszi zu messen. > Allerdings konnte ich keine 10 MHz Schwingung feststellen. Das einzige > einigermaßen periodische Signal an CLKOUT hat sich bei etwa 1 MHz > bewegt. Dann scheint dort der Fehler zu liegen. Tu den Quarz mal so nah wie möglich an die CLKIN/CLKOUT-Pins des ADE7758. Was für einen Quarz benutzt Du genau? LG, Sebastian
:
Bearbeitet durch User
Sebastian Wangnick schrieb: > Dann scheint dort der Fehler zu liegen. Tu den Quarz mal so nah wie > möglich an die CLKIN/CLKOUT-Pins des ADE7758. Was für einen Quarz > benutzt Du genau? Es handelt sich um dieses Quarz: http://de.rs-online.com/web/p/quarzmodule/2261746/ Ich bin bei der Gestaltung leider durch das Breadboard ziemlich eingeschränkt. Aktuell liegen zwischen dem Quarz und den Pins etwa 3 cm Kabel. Unter den ADE7758 werd ich mit dem Quarz nicht kommen. Werd mal sehen, was sich machen lässt um näher an die Pins zu kommen. Ich blick nicht durch, wie genau RS auf eine Belastungskapazität von 30 pF für das Quarz kommt, wo im Datenblatt 10 bis 75 pF angegeben sind. Für 10 pF würden meine 22 pF Kondensatoren ja ausreichen. Was meinst du? Tauschen? :/ Vielen Dank für deine Mühe und viele Grüße Mathias
Hallo Mathias, ich würde die 22pF lassen. Durch das Steckbrett kommen noch ~2pF dazu, noch ein wenig durch CLKIN/CLKOUT, das passt schon. Aber bring den Quarz näher an CLKIN/CLKOUT. Ich hab bei meinen W5500-Experimenten auch Wochen gebraucht, bis ich den Quarz nicht mehr per Leitung sondern so direkt wie möglich am IC angeschlossen hab. Im Zweifelsfall löt ihn an. Wenn der Oszillator schwingt, sollte CLKOUT leicht ein Oszilloskop oder einen Logikanalyzer treiben können: "The CLKOUT pin can drive one CMOS load when either an external clock is supplied at CLKIN or a crystal is being used". Kann Dein PiScope 10MHz? Ansonsten: Kannst Du irgendwie eine 10MHz-Frequenz extern erzeugen und nach CLKIN einspeisen, und zu sehen, ob der ADE7758 überhaupt noch funktioniert? LG, Sebastian
:
Bearbeitet durch User
Hi Sebastian, ich hab den Quarz jetzt an die Pins des DIP-Adapters gelötet, also viel kleinerer Abstand geht meiner Meinung nach nicht mehr. Damit war ich dann am Oszi und hab nochmal gemessen. Einmal am CLKOUT-Pin des ADE7758 und einmal am entsprechenden Beinchen des Quarzes. Fotos des Messaufbaus und der Ergebnisse habe ich angehängt (kein USB-Stick dabei gehabt, sorry dafür!). Gemessen habe ich jeweils mit einem 10x Messkopf, Masse an GND des ADE7758. Ich weiß nicht, ob ich komplett falsch liege, aber ich hatte eine kontinuierliche, periodische Schwingung mit einer Frequenz von 10 MHz erwartet. Die erkenne ich da beim besten Willen nicht. Kann ich daraus jetzt schließen, dass mein Quarz nicht das macht, was er sollte? Für die Belastungskapazität gilt doch: CL= C/2 + C_pin Wenn man die Kapazitäten von Breadboard und Pins vernachlässigt, komme ich mit meinen 22 pF Kondensatoren auf ein CL von 11 pF. Für den Quarz werden ja (laut RS) 30 pF gefordert, wofür ich zwei Kondensatoren mit je ~60 pF benötigen würde. Kann da nicht der Hase im Pfeffer liegen? Viele Grüße Mathias
> Kann ich daraus jetzt schließen, dass mein Quarz nicht das macht, was er > sollte? Ja ,da schwingt nichts! Nimm nen anderen Quartz bzw. auf dem Steckbrett wäre ein ganzer Quartzoszillator gar nicht so schlecht(weil du die Leitungen nicht unter 3cm bekommst).
Mathias S. schrieb: > Fotos des Messaufbaus > und der Ergebnisse habe ich angehängt (kein USB-Stick dabei gehabt, > sorry dafür!). Sind die beiden 22pF unter dem ADE7758? Ich kann die gerade auf dem Foto nicht entdecken. (Mag aber auch dran liegen, dass ich gerade vom Augenarzt komme ...) Ich hab mir den vorherigen Aufbau noch mal genau angesehen. Kann es sein, dass du beide Beinchen des Quarzes mit GND verbunden hattest? LG, Sebastian
Sebastian Wangnick schrieb: > Sind die beiden 22pF unter dem ADE7758? Ich kann die gerade auf dem Foto nicht entdecken. (Mag aber auch dran liegen, dass ich gerade vom Augenarzt komme ...) > > Ich hab mir den vorherigen Aufbau noch mal genau angesehen. Kann es sein, dass du beide Beinchen des Quarzes mit GND verbunden hattest? Ja, beiden Kondensatoren sind unter dem ADE7758. Der Quarz ist parallel zu CLKOUT/CLKIN, an jedem Beinchen 22 pF und hinter den Kondensatoren geht es gegen Ground (wie im Datenblatt, Seite 17). Viele Grüße Mathias
Mathias S. schrieb: > Ja, beiden Kondensatoren sind unter dem ADE7758. Der Quarz ist parallel > zu CLKOUT/CLKIN, an jedem Beinchen 22 pF und hinter den Kondensatoren > geht es gegen Ground (wie im Datenblatt, Seite 17). Wie denn? Sind die auch angelötet? Wie kommst Du da mit GND dahin? Sebastian Wangnick schrieb: > Ich hab mir den vorherigen Aufbau noch mal genau angesehen. Kann es > sein, dass du beide Beinchen des Quarzes mit GND verbunden hattest? Ich meine den Steckbrettaufbau wie im Bild. Das kann m.M.n. nicht funktionieren. LG, Sebastian
Hi Sebastian, ich hab es mal in ein Foto des aktuellen Aufbaus skizziert. Gelötet ist da nichts, nur gesteckt. Also ich steh gerade etwas auf dem Schlauch. Weshalb kann das denn deiner Meinung nach so nicht funktionieren? Ich erkenne gerade keinen Unterschied zur Beschaltung ala Datenblatt... :/ Viele Grüße Mathias
Mathias S. schrieb: > Also ich steh gerade etwas auf dem Schlauch. Weshalb kann das denn > deiner Meinung nach so nicht funktionieren? Ich erkenne gerade keinen > Unterschied zur Beschaltung ala Datenblatt... :/ Wegen der Steckbrettverschaltung ... LG, Sebastian
Die im obigen Bild gemalten Lila Striche sollen verdeutlichen, dass alle Pins auf dem Steckbrett in einer Reihe verbunden sind.
Tut mir leid, vielleicht war es gestern etwas zu lang, aber ich versteh nicht, was ihr meint... :/ Der Quarz ist an die beiden Pfosten des Adapters für CLKIN/CLKOUT gelötet. Die Pfosten gehen ins Breadboard. In den jeweiligen Reihen des Breadboards (unter dem Adapter mit dem ADE7758) folgen die Kondensatoren und diesen folgt jeweils eine Kabelbrücke (grün eingezeichnet, weiße Isolierung), welche Richtung Ground läuft. Was soll denn daran nicht stimmen? Viele Grüße Mathias
Mathias S. schrieb: > Tut mir leid, vielleicht war es gestern etwas zu lang, aber ich > versteh > nicht, was ihr meint... :/ Schlaf' erstmal ein wenig, dann wird das auch was. > > Der Quarz ist an die beiden Pfosten des Adapters für CLKIN/CLKOUT > gelötet. .....und sind mit GND verbunden. > Die Pfosten gehen ins Breadboard. > In den jeweiligen Reihen des Breadboards .... folgen die Kondensatoren ....und sind auch mit GND verbunden. > und diesen folgt jeweils eine Kabelbrücke (grün eingezeichnet, weiße > Isolierung), welche Richtung Ground läuft. > > Was soll denn daran nicht stimmen? .........vieles (s.o.)! Du hast die gesamte Takterzeugung mit GND verbunden! > > Viele Grüße > Mathias
Mathias S. schrieb: > Tut mir leid, vielleicht war es gestern etwas zu lang, aber ich versteh > nicht, was ihr meint... :/ Mathias S. schrieb: > Der Quarz ist an die beiden Pfosten des Adapters für CLKIN/CLKOUT > gelötet. Die Pfosten gehen ins Breadboard. In den jeweiligen Reihen des > Breadboards (unter dem Adapter mit dem ADE7758) folgen die Kondensatoren > und diesen folgt jeweils eine Kabelbrücke (grün eingezeichnet, weiße > Isolierung), welche Richtung Ground läuft. > > Was soll denn daran nicht stimmen? Die Reihen des Breadboard sind elektrisch verbunden. CLKIN bzw. das eine Beinchen des Quarz ist also mit dem ersten Beinchen des Kondensators und auch dem zweiten Beinchen des Kondensators und auch mit dem weissen Kabel was zu GND führt verbunden. Für CLKOUT und das andere Beinchen das Quarz und den anderen Kondensator gilt dasselbe. Blöder Fehler, kann passieren. Zur Veranschaulichung: Damit es funktioniert müsstest Du die zwei Breadboardreihen zwischen den 22pF-Kondensatorbeinchen jeweils zertrennen. Das geht aber natürlich nicht. LG, Sebastian
:
Bearbeitet durch User
Hi Sebastian, manchmal kann ich echt schwer von Begriff sein. Habe das jetzt korrigiert und siehe da, die Kommunikation zwischen Raspberry und ADE7758 funktioniert einwandfrei. Diese Dummheit hat mich jetzt über eine Woche gekostet! Vielen Dank für deine Hilfe! Gibst' mir halt deine Adresse durch, dann schick ich dir einen Kasten als Dankeschön! ;) Viele Grüße Mathias
Mathias S. schrieb: > Habe das jetzt > korrigiert und siehe da, die Kommunikation zwischen Raspberry und > ADE7758 funktioniert einwandfrei. Freut mich. Funktioniert auch der ADUM1401? LG, Sebastian
Sebastian Wangnick schrieb: > > Freut mich. Funktioniert auch der ADUM1401? Ja, der hängt wieder dazwischen und es funktioniert. Beim Senden des ersten Bytes bekomme ich nach wie vor "255" zurück, aber das ist nicht relevant. Der ADE7758 interpretiert die Befehle korrekt und ich kann Byte- und Multibyte-Antworten korrekt lesen! :) Viele Grüße Mathias
:
Bearbeitet durch User
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.