Hi,
ich habe auf dem Steckbrett die Schaltung aus dem Anhang aufgebaut.
Allerdings sind nach dem anlegen der Versorgungsspannung die Ausgänge
auf einem scheinbar zufälligen Pegel, was zu einem dauerhaften leuchten
der Leds führt, bis zum 1. Mal daten ans Schieberegister gesendet
wurden.
Ist die Angehängte Schaltung sowit korrekt ?
In manchen Tutorials wird der RCLK Pin per 10K Widerstand nach GND in
anderen nach VCC gezogen. Spielt das eine Rolle ?
RCKL Ist ein Eingang zum Schieberegister.
Du legst da einen Ausgang vom Rest der Schaltung drauf. Wenns kein open
Collector ist, dann brauchst Du auch keinen Widerstand, weder nach VCC
noch nach GND. Schmeiß R95 raus, oder lass ihn drin, erschadet nix, er
nützt aber auch nix.
Bei Serin und Clk stellte sich diese Frage auch nicht.
Was steckt hinter dem Signal SS? Kommt das zum richtrigen Zeitpunkt?
Wieso hast Du OE so beschaltet? Den könntest Du nutzen, um die Ausgabe
auf die LEDs zu unterdrücken, solange noch nichts vernünftiges in den
Registern steht.
Hinter dem Signal SS steckt der SS Pin von der Hardware SPI des AVR.
Ich habe den Testcode unter Bascom geschrieben, da wird die SPI ja eh
intern eingepflegt und somit auch der SS Pin automatisch gesetzt. Daher
gehe ich mal davon aus, dass das SS Signal zum richtigen Zeitpunkt
kommt.
>Ich habe den Testcode unter Bascom geschrieben, da wird die SPI ja eh>intern eingepflegt und somit auch der SS Pin automatisch gesetzt. Daher>gehe ich mal davon aus, dass das SS Signal zum richtigen Zeitpunkt>kommt.
Muß ich jetzt nicht verstehen.
Du mußt 24 bit aus dem µC in die Register schieben, danach RCKL
bedienen. Wenn das die "intern eingepflegte SPI" macht, dann paßt ja
alles.
Schieberegister schrieb:> Allerdings sind nach dem anlegen der Versorgungsspannung die Ausgänge> auf einem scheinbar zufälligen Pegel
Das ist normal, Logik-ICs haben keinen Power-On Reset.
Die Lösung ist, man legt den /OE mit auf den MC und auf einen Pullup.
Und erst, wenn er ein gültiges Bitmuster reingeschrieben hat, zieht er
/OE auf low.
Peter
Peter Dannegger schrieb:> Die Lösung ist, man legt den /OE mit auf den MC und auf einen Pullup.> Und erst, wenn er ein gültiges Bitmuster reingeschrieben hat, zieht er> /OE auf low.
Wie groß würde man diese Pullup Widerstände typischerweise wählen? Du
scheinst das ja auch bei der Entwicklung des Layouts für
Porterweiterungen
(http://www.mikrocontroller.net/articles/Porterweiterungen)
vorgeschlagen zu haben. Wie verhält es sich da mit den Werten der
Schieberegister, wenn man mehrere solcher Platinen
kombiniert/kaskadiert?
Schieberegister schrieb:> Wie verhält es sich da mit den Werten der> Schieberegister, wenn man mehrere solcher Platinen> kombiniert/kaskadiert?
Aus Erfahrung kann ich sagen, daß SPI nicht über mehrere Platinen
geeignet ist. Die Störungen lassen sich kaum beherrschen.
Spätestens, wenn 230V oder höher mit im Spiel sind, ist alles zu spät.
Ich würde da eher zu I2C raten.
Ich selber benutze CAN, das läuft am stabilsten, bedingt aber einen MC
je Platine.
Peter
So habe es gerade mal getest funktioniert mit Ansteuerung des OE Pin.
Also müssten im Schaltplan oben lediglich die 3 OE Eingänge zusammen und
dann an einen eigenen µC pin mit Pullup und R95 kann raus fliegen ?
Im Datenblatt steht, dass bei OE High die Pins in high-impedance state
gehen. Ist das problematisch, wenn Low Current Leds angeschlossen sind ?
Ich konnte gerade nicht rausfinden wie hoch der maximal fließende Strom
im high-impedance Zustand ist.
Schieberegister schrieb:> Im Datenblatt steht, dass bei OE High die Pins in high-impedance state> gehen. Ist das problematisch, wenn Low Current Leds angeschlossen sind ?
Nein, das macht nicht. Die Low Current LEDs leuchten zwar schon bei
geringem Strom, allerdings bedeutet High Impedance bei CMOS das
praktisch kein Strom fließt. Das passt.
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.