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