Hi, ich stehe gerade vor einem Problem, das ich nicht verstehe und hoffe ihr könnt mir helfen. Ich habe eine Sensorplatine erstellt, auf der ein ADC die Sensorwerte über SPI an den Master (Mikrokontroller) überträgt. Ich verbinde mehrere dieser Sensoren miteinander, wobei die SPI Signale (MISO/MOSI/SPI_CLK) an allen ADCs anliegen. Der gewünschte ADC wird durch den CS Pin adressiert, sodass immer nur ein Sensor aktiv ist. Um nicht für jeden Sensor einen CS Pin spendieren zu müssen habe ich ein Schieberegister bestehend aus D-Flip-Flops aufgebaut. Auf jeder Sensorplatine ist ein Flipflop verbaut. Somit kann ich mit einem DataPin und einem Clock Signal vom µC das CS Signal von Sensor zu Sensor weiterschieben. Das alles funktioniert einwandfrei, solange ich weniger als 5 Sensoren in Reihe schalte. Sobald ich mehr als 5 Sensoren miteinander verbinde funktioniert das Schieberegister nicht mehr. Bei Stufe 2 kommt das D-Signal und auch das Taktsignal noch korrekt an. Das Flipflop setzt jedoch seinen Q Ausgang nicht mehr. Die Signals sehen alle gut aus. Spannung liegt an und bricht auch nicht ein. Ein Quertauschen der Sensorplatinen in der Kette ändert das Verhalten nicht. Das Verhalten ist identisch bei 3 kompletten Aufbauten, womit ich einen Lötfehler ausschließen würde. Die Leiterplatten wurden industriell gefertigt und bestückt. Ein Versuch alle Timings zu erhöhen hat keine Verbesserung gebracht. Gibt es ein kapazitives Problem, wenn ich ein zu langes Schieberegister aufbaue? Das verwendete Flipflop ist ein SN74LVC1G74 von TI. Die Sensorplatinen werden über Flachbandkabel miteinander verbunden. Hat jemand von euch eine Idee was der Grund für das Problem sein könnte? Falls ihr weitere Daten braucht, bitte einfach bescheid geben. Vielen Dank. Viele Grüße
Hallo, zeig mal ein paar Bilder, sprich Schaltplan und Aufbau. Gruß Frank
Zu viel Prosa. Zeige deinen Schaltplan und die Messergebnisse. Off-Topic: Ich muss mal etwas fragen: Lernt man heute nicht mehr, seine Arbeiten ordentlich zu dokumentieren? Bei mehr als 50% der Fälle muss ich um die Pläne bitten.
Prosa = bad. Schaltplan = good. Aber ja, ich würde vermuten das die Leitungen mit Reflexionen usw. kämpfen. Evtl. hilft ein Abschlusswiderstand. Oder Serienwiderstand. Oder Treiber am CPU-Modul.
Sperber schrieb: > Das verwendete Flipflop ist ein SN74LVC1G74 von TI. 200MHz, da reichen die kleinsten Störungen, um den außer Tritt zu bringen. Sperber schrieb: > Die Sensorplatinen werden über Flachbandkabel miteinander verbunden. Wie lang sind die denn? Ist auch immer schön eine kalte Leitung mit ner heißen Leitung im Wechsel? Sperber schrieb: > Ein Versuch alle Timings zu erhöhen hat keine Verbesserung gebracht. Kann auch nicht. Man kann bestenfalls die Flankensteilheit mit Dämpfungswiderständen rausnehmen.
Sperber schrieb: > Gibt es ein kapazitives Problem, wenn ich ein zu langes Schieberegister > aufbaue? Natürlich, wobei das natürlich nicht ausschließlich "kapazitiv" ist, sondern eher "komplex". Das Problem ist einfach: die Datenstrippe unterliegt Verzögerungen durch die SR selber, dafür sind die Verbindungen zwischen den einzelnen SR hier eher kurz. Die Takleitung ist aber für alle gemeinsam. Da gibt's keine Verzögerungen durch die SR, dafür eine laaaange "Strippe" mit mehr oder weniger langen Abzweigungen. Beide Leitungen haben also völlig verschiedene Architekturen. Das macht die Sache kompliziert. Nur ein HF-mäßig korrektes Design, insbesondere der Taktleitung, macht längere SR möglich.
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.