www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fragen zu Verwendung und Störanfälligkeit von 74HC595


Autor: Achim Helmken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich steuere über einen 74HC595 eine 7-Segment LED-Anzeige an. Das ganze 
ist auf einem Steckbrett montiert, und einem ATmega8515L auf dem STK500 
verbunden. Alles funktioniert auch so wie ich will, allerdings habe ich 
folgendes Phänomen: In ca. 50cm Abstand steht eine Tischlupenleuchte mit 
Kaltlicht-Neonring. Wenn ich diese An-/Ausschalte, läuft der uC 
problemlos weiter, aber der 74HC595 setzt alle Ausgänge auf low, bis die 
nächste Ansteuerung kommt (1-mal pro Sekunde). 100nF Kondensator 
zwischen Vcc und Gnd ändert auch nichts daran. Hat jemand eine Idee, wie 
man dieses Verhalten verhindern kann?
Zum grundlegenden Verständnis: Wie "synchronisiert" sich eigentlich die 
serielle Eingabe zum 595, also woher "weiß" dieser, welches das erste 
Bit von den insgesamt acht ist? Wird das mit der Übernahme in den 
Speicher zurückgesetzt?

Gruß
Achim

Autor: T. H. (pumpkin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achim Helmken wrote:
> Hallo,
>
> ich steuere über einen 74HC595 eine 7-Segment LED-Anzeige an. Das ganze
> ist auf einem Steckbrett montiert, und einem ATmega8515L auf dem STK500
> verbunden. Alles funktioniert auch so wie ich will, allerdings habe ich
> folgendes Phänomen: In ca. 50cm Abstand steht eine Tischlupenleuchte mit
> Kaltlicht-Neonring. Wenn ich diese An-/Ausschalte, läuft der uC
> problemlos weiter, aber der 74HC595 setzt alle Ausgänge auf low, bis die
> nächste Ansteuerung kommt (1-mal pro Sekunde). 100nF Kondensator
> zwischen Vcc und Gnd ändert auch nichts daran. Hat jemand eine Idee, wie
> man dieses Verhalten verhindern kann?

Kontrolliere den Reset-Eingang vom 595. Der ist wahrscheinlich etwas 
hochohmig/wackelig gegen irgend einen Pegel gepullt. Mach den Pull 
kräftiger.

> Zum grundlegenden Verständnis: Wie "synchronisiert" sich eigentlich die
> serielle Eingabe zum 595, also woher "weiß" dieser, welches das erste
> Bit von den insgesamt acht ist? Wird das mit der Übernahme in den
> Speicher zurückgesetzt?

Garnicht. Die letzten acht Bit die man in das Schieberegister geschoben 
hat sind die aktuellen und werden mit dem Strobe übernommen - die "alten 
fallen hinten raus". Für gewöhnlich schreibt man über die SPI acht Bit 
raus, man muss sich also keine tiefergehenden Gedanken darüber machen.

Autor: Achim Helmken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Garnicht. Die letzten acht Bit die man in das Schieberegister geschoben
> hat sind die aktuellen und werden mit dem Strobe übernommen - die "alten
> fallen hinten raus". Für gewöhnlich schreibt man über die SPI acht Bit
> raus, man muss sich also keine tiefergehenden Gedanken darüber machen.

Heißt das, dass man sich um Synchronisierung selbst kümmern muss, also 
das das erste gesendete Bit vom uC auch das erste empfangene vom 595 
sein muss? Ist es dann so, dass wenn der 595 zufällig resettet, während 
Daten gesendet werden, danach alles Müll ist was ankommt?

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaube das jeder Baustein der während der Kommunikation Resetet wird, 
Müll produziert.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Heißt das, dass man sich um Synchronisierung selbst kümmern muss, also
>das das erste gesendete Bit vom uC auch das erste empfangene vom 595
>sein muss?

So isses der Prozessor muss halt mitzaehlen wieviel Bits er schon 
gesendet hat und dann denn Strobeimpuls ausgeben.

>Ist es dann so, dass wenn der 595 zufällig resettet, während
>Daten gesendet werden, danach alles Müll ist was ankommt?

"zufällig resettet" sollte eigentlich nicht vorkommen sonst ist etwas 
faul an deiner Hardware.  Beispiele dazu: Zulange nicht abgeschlossene 
Leitungen, schlechter nicht EMV gerechter Aufbau , offene Eingaenge , 
keine oder zuwenige Stuetzkondensatoren.

Gruss Helmi

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem kann auch das Steckbrett sein. Die Teile neigen durch ihre 
EMV-technisch ungünstige Verdrahtung zum Einfangen und Aussenden 
sämtlicher Störungen.

Autor: Hannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Glaub ich nicht, dass das Steckbrett schuld ist. Soviel fängt das auch 
nicht ein.

Zeig doch mal, wie Du den Reset-Eingang beschaltet hast.

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach dich mal mit der grundsätzlichen Arbeitsweise eines SR vertraut. Du 
kannst vo viele Bits reinschreiben wie du willst, aber es hält nur die 
letzten 8. Die schreibst du mit RCLK in die Ausgangsregister.
Ich vermute aber auch RESET als Übeltäter.

Autor: Achim Helmken (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schuld war tatsächlich ein suboptimal verbundener Reset, danke für den 
Tipp.

@Bensch: Ich hab gerade gemerkt, dass ich die ganze Zeit falschrum 
gedacht hab ... natürlich ist das beim Schieberegister total egal, 
irgendwie war ich gedanklich bei nem Ringspeicher ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.