Forum: Platinen Frage zum Layout SPI CLK


von NARF (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich sitz gerade am Layout einer 8X8 RGB Matrix und hab ein paar Fragen 
zur Verteilung des SPI_CLK Signals.

Er wird an allen 8 LED-Treibern benötigt und soll max 10MHz liefern.
Brauch ich hierfür einen IC zur Aufteilun des Taktes oder kann ich alle 
Treiber direkt an den Ausgang des PICs hängen?
Sofern es mit dem einen Ausgang geht wie verteile ich es am besten 8 
möglichst gleichlange Leiterbahnen die zusammenlaufen oder eine lange 
Leiterbahn zu den 8 Treibern?




Danke schonmal im vorraus!

von Frank B. (f-baer)


Lesenswert?

Rechne einfach mal die Datenrate aus, die du benötigst:
30 Bilder pro Sekunde bei 64 Bildpunkten mit 2 Bit Farbtiefe:

30*128=3840 Bit Pro Sekunde.


> Sofern es mit dem einen Ausgang geht wie verteile ich es am besten 8
> möglichst gleichlange Leiterbahnen die zusammenlaufen oder eine lange
> Leiterbahn zu den 8 Treibern?

Denk mal drüber nach, was dir was bringt. 8 gleichlange Leiterbahnen 
bringen gleiche Laufzeiten. Über die gesamte Länge liegen die 
Laufzeitunterschiede aber nur im ps-Bereich. Spielt das bei einer 
LED-Matrix wirklich eine Rolle?
Darüber hinaus bildet jede Leiterbahn eine Kapazität. Du musst also beim 
Umladen des CLK-Signals die achtfache Kapazität betrachten. Aber auch 
das spielt bei deinem Problem keine Rolle.
Was mir hier fehlt, ist ein Chipselect. Ohne wirst du nur 8 1x8-Matrizen 
bauen.

von NARF (Gast)


Lesenswert?

Danke erstmal für deine Antwort!

Frank Bär schrieb:
> Was mir hier fehlt, ist ein Chipselect. Ohne wirst du nur 8 1x8-Matrizen
> bauen.

Das ganze ist als dasy chain aufgebaut, der SS oder CS dient der 
Übernahme des gesammten Registers (8*24 bit).
f_PWM_min sollte bei 100Hz liegen, die PWM_res bei 8bit.
Damit komm ich auf f_SPI_min = 8*24 * 2^8 * 100Hz = 4,9152MHz...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

NARF schrieb:
> Das ganze ist als dasy chain aufgebaut, der SS oder CS dient der
> Übernahme des gesammten Registers (8*24 bit).
Dann routest du den Takt natürlich parallel zu den Datenleitungen, zu 
denen er gehört: MOSI und MISO...

von NARF (Gast)


Angehängte Dateien:

Lesenswert?

Das dürfte schwer fallen da die Datenleitung ja durch die Treiberlaufen. 
Hab das ganze für den Momment so gelöst (siehe Bild)...

von Falk B. (falk)


Lesenswert?

@  NARF (Gast)

>Er wird an allen 8 LED-Treibern benötigt und soll max 10MHz liefern.
>Brauch ich hierfür einen IC zur Aufteilun des Taktes

nein.

>oder kann ich alle
>Treiber direkt an den Ausgang des PICs hängen?

Ja.

>Sofern es mit dem einen Ausgang geht wie verteile ich es am besten 8
>möglichst gleichlange Leiterbahnen die zusammenlaufen

Nein.

> oder eine lange Leiterbahn zu den 8 Treibern?

Ja, und zwar durchgehend mit nur kurzen Stichleitungen, sagen wir max. 
20mm. Am Ende eine AC-Terminierung, siehe Wellenwiderstand.

MFG
Falk

von NARF (Gast)


Lesenswert?

Danke, dann werd ich meine Leiterbahn nochmal neu verlegen ;)

von Dietmar (Gast)


Lesenswert?

> Am Ende eine AC-Terminierung

Ich hänge mich mal an, da der Frager eine Antwort hat:

Was ist, wenn man viele Enden am SPI-Bus hat, z.B. MCU in der Mitte, 
links und rechts je zwei ICs (6cm entfernt: Dataflash, ADC/DAC, GPIO) 
und dann noch Buchsen (ISP, LCD), über die das Signal die Platine 
verlässt?

Gibt es eine Faustregel, ab wie vielen ICs, cm und MHz so was in die 
Hose geht?

Ich hoffe auf 5 MHz und wollte CLK nur auf dem LCD-Modul terminieren, 
das an 40cm Kabel hängt (100 Ohm in Reihe mit 100pF vom CLK-Pad des LCD 
zu GND). Auf der Platine ist CLK insgesamt 12cm lang.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dietmar schrieb:
> Gibt es eine Faustregel
Nein.
> ab wie vielen ... MHz so was in die Hose geht?
Die MHz sind hier erst mal relativ unwichtig. 5MHz sind ja nicht soooo 
arg viel. Interessanter bzgl. der Terminierung ist die 
Flankensteilheit der betreffenden Signale.

> Ich hoffe auf 5 MHz und wollte CLK nur auf dem LCD-Modul terminieren,
> das an 40cm Kabel hängt (100 Ohm in Reihe mit 100pF vom CLK-Pad des LCD
> zu GND). Auf der Platine ist CLK insgesamt 12cm lang.
Machs einfach so: sieh einen Widerstand für eine Serienterminierung 
(brauchbar, wenn du die Platine als Stichleitungen betrachten kannst) 
und 2 Bauteile für eine Abschlussterminierung vor. Dann hast du 
Freiheitsgrade...

von Dietrmar (Gast)


Lesenswert?

Könnte man die Situation ohne viel Aufwand verbessen, indem man die 
CLK-Bahn im Gegensatz zu den anderen Bahnen (bei mir 10mil) breiter oder 
schmaler macht?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dietrmar schrieb:
> Könnte man die Situation ohne viel Aufwand verbessen...
Nein. Das ist nur "sich selber anlügen".

Da fällt mir gerade auf:
> Könnte man die Situation ohne viel Aufwand verbessen...
Was ist denn an der Situation schlecht?

von Dietmar (Gast)


Lesenswert?

> Was ist denn an der Situation schlecht?

Der Platzbedarf für die Terminierungen, die Extra-Arbeit beim Löten. Ich 
verstehe die Antwort so, dass ich in CLK vor jedem IC einen Widerstand 
legen sollte und an die beiden Enden (auf der Platine) eine Verbindung 
zu GND über R-C.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dietmar schrieb:
> Ich verstehe die Antwort so, dass...
Dann hast du sie falsch verstanden.
Ich habe von insgesamt 3 Bauteilen für die SCLK Strippe gesprochen...

von Stefan W. (wswbln)


Lesenswert?

...wobei der Serienwiderstand an die Quelle kommt um den niederohmigen 
Treiber an die höhere Impedanz der Leitung anzupassen und das Netzwerk 
an's Ende um das hochohmige Ende der Leiterbahn abzuschließen.

von Dietmar (Gast)


Lesenswert?

Ich habe allerdings mehr als ein Ende: zwei auf der Platine (MCU in der 
Mitte) und eines am LCD-Modul. Bringt eine Aktion an der Quelle dann 
was?

Und noch eine praktische Frage: wenn die Serienterminierung an der MCU 
vorhanden ist, kann man als Software-Entwickler ohne viel Erfahrtung mit 
Layout dann auch das richtige R finden? Ein ersteigertes analoges 
40MHz-Oszi wäre vorhanden, sonst aber nichts an Messtechnik. Erkennt man 
damot das passende R, sieht der Takt dann erkennbar besser aus?

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.