Forum: Mikrocontroller und Digitale Elektronik Schieberegister funktioniert nicht mehr bei zu vielen Stufen


von Sperber (Gast)


Lesenswert?

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

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo,

zeig mal ein paar Bilder, sprich Schaltplan und Aufbau.

Gruß
Frank

von Stefan F. (Gast)


Lesenswert?

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.

von Jens M. (schuchkleisser)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.