Forum: Mikrocontroller und Digitale Elektronik Welchen Schieberegister besser geeignet (74HC165 oder 74HCT165)


von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

im Anhang findet ihr eine Platine  + Schaltplan meines Schieberegisters 
mit dem ich Tasterdrücke einlese. Meine Frage ist jetzt, welches 
Register (74HC165 oder 74HCT165) eigentlich besser geeignet ist für 
"normales" Tastereinlesen im Bezug auf Stabilität. Gehen wir mal davon 
aus, dass die Versorgungsspannung schwankt (...klar...die soll nicht 
Schwanken, aber nur für den Fall dass sie es mal tut, welches Register 
kann das besser verkraften?..)

Wenn ich das Datenblatt richtig verstehen, kann der 74HCT165 eine kleine 
Range an Versorgungsspannung vertragen (4.5-5.5V) Der 74HC165 kann eine 
Versorgungsspannung von 2.0-6.0 verkraften.

Sehe ich das schon einmal richtig so?

Somit würde ich sagen, dass der 74HC165 besser geeignet ist, im Bezug 
auf schwankende Versorgungsspannnung.

Was passiert genau, wenn der 74HCT165 oder auch der 74HC165 mit zu 
geringer Spannung versorgt wird? Sind die Schaltzustände dann 
undefiniert, oder wie wirkt sich das aus?

Vielen Dank!

So sieht der Code dazu aus:
1
void Eingaenge_abfragen ()
2
{
3
4
    PORTC |= (1<<PC4);
5
6
    // Mit PL alle Eingänge in das Register schieben.
7
8
    // PL auf High
9
    PORTC |= (1<<PC5);
10
    // PL auf Low
11
    PORTC &= ~(1<<PC5);
12
    // PL auf High
13
    PORTC |= (1<<PC5);
14
15
    int i; 
16
      //Abfragen welches Registerbit gesetzt -> mit clock weiter schieben
17
    for(i=16-1;i>=0;i--)
18
    {              
19
      // Mit Clock weiterschieben
20
21
      // Clock auf High
22
      PORTC |= (1<<PC4);
23
      // Clock auf Low
24
      PORTC &= ~(1<<PC4);
25
      // Clock auf High
26
      PORTC |= (1<<PC4);    
27
    }  // For Ende    
28
}

von harald (Gast)


Lesenswert?

Alex schrieb:
> Was passiert genau, wenn der 74HCT165 oder auch der 74HC165 mit zu
> geringer Spannung versorgt wird? Sind die Schaltzustände dann
> undefiniert, oder wie wirkt sich das aus?

Wenn zu geringe Spannung, dann Fehler in der Versorgung. Über das 
Verhalten der HCT zu spekulieren ist Quatsch. Praktisch unvorhersagbar 
auch weil du nicht die Art und Höhe der Unterspannung spezifiziert hast. 
T steht für TTL Pegel. Da dein unerwähnter µC vermutlich ein AVR ist mit 
CMOS Pegeln ist, nimm HC. Man mischt Familien/Pegel nicht ohne Not.

von Alex (Gast)


Lesenswert?

...ganz klar, ich habe auch vermutlich vereinzelt Probleme mit meiner 
Versorgung. Richtig belegen kann ich es aber leider noch nicht, da 
seeeehr sporadisch... Ich muss den Fehler beheben! Ich wollte halt über 
das Verhalten der Schieberegister dazu mehr Licht ins dunkeln bekommen.
Ich muss gestehen, dass ich einfach in meiner Kiste gegriffen habe und 
ich nicht einmal 100% weiß (da komplett kompatibel) ob ich den mit oder 
ohen T verbaut habe....

Ich habe eine ATMEGA 1284p verbaut .

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Alex schrieb:
> ...ganz klar, ich habe auch vermutlich vereinzelt Probleme mit meiner
> Versorgung. Richtig belegen kann ich es aber leider noch nicht, da
> seeeehr sporadisch...

Die im Schaltbild abgebildeten Abblockkondensatoren hast Du auch 
eingelötet und sind möglichst nah (mit kurzer Verbindung) an den ICs?

von Alex (Gast)


Lesenswert?

Ja, genau so wurde die Platine geätzt und die Kondensatoren sind auch so 
eingebaut ... bei allen meinen Platinen...

von 165 (Gast)


Lesenswert?

Läßt du den ser-Eingang von IC1 offen oder ziehst du ihn auf einen 
definierten Pegel?
Ein PullUp würde dir die Jumper sparen.

Wie lang sind denn die Leitungen für Clock und Sample?
Da kommen wohl die Fehler am einfachsten in die Schaltung.

von Alex (Gast)


Lesenswert?

Insgesamt habe ich so  um die 6-7 Platinen davon hintereinander am 
Laufen und je nachdem wo die Platine sitzt, habe ich den Jumper von JP3 
und JP4 passend gebrückt...
Also beim ersten IC1 liegt der SER auf GND, wenn ich mich richtig 
entsinne...

Also das Flachbandkabel von AVR NET IO bis zur erten Paltine ist circa 
20cm lang, dann sitzen die 6-7 Platine dicht aneinader, denke das die 
Verbindung von JP4 zum nächsten JP3 circa 5cm lang sind...

Ich streue mir das irgendeine Scheiße rein, denke mittlerweile auch, 
dass SPI dort der falsche Weg war, da evtl,. für EMV zu anfällig... 
(???)

von Alex (Gast)


Lesenswert?

Alex schrieb:

> Also das Flachbandkabel von AVR NET IO bis zur erten Paltine ist circa
> 20cm lang, dann sitzen die 6-7 Platine dicht aneinader, denke das die
> Verbindung von JP4 zum nächsten JP3 circa 5cm lang sind...


So heisst es richtig:

Verbindung von JP2 zum nächsten JP1 circa 5cm lang sind...

von n^2 (Gast)


Lesenswert?

Deine Leitung von Clk und CD werden sehr lang ohne das du sie pufferst. 
auch die zeitliche Verzögerung zum Datensignal könnte zu gross werden. 
Ein zusätzlicher C 10-100µ in der Versorgung pro Platine wäre auch nicht 
verkehrt.

von Stefan F. (Gast)


Lesenswert?

HC oder HCT ist bei 5V völlig egal. Die Ausgangspegel beider Chips sind 
zu den Eingängen von AVR kompatibel. Und der Ausgang vom AVR ist zu den 
EIngängen beider Chips kompatibel.

von rmu (Gast)


Lesenswert?

Ich bin vielleicht blind oder kann nicht zählen, aber am Layout sieht es 
so aus als wären die GND-Pins (Pin 8) der Schieberegister nicht 
verbunden?

von harald (Gast)


Lesenswert?

Stefan U. schrieb:
> HC oder HCT ist bei 5V völlig egal. Die Ausgangspegel beider Chips sind
> zu den Eingängen von AVR kompatibel. Und der Ausgang vom AVR ist zu den
> EIngängen beider Chips kompatibel.

Damit sind wir ja schon mal bei einem zielgerichtetem Vorgehen ein Stück 
zurück.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

n^2 schrieb:
> Deine Leitung von Clk und CD werden sehr lang ohne das du sie pufferst.
> auch die zeitliche Verzögerung zum Datensignal könnte zu gross werden

Wie könnte ich die denn Puffern?

> Ein zusätzlicher C 10-100µ in der Versorgung pro Platine wäre auch nicht
> verkehrt.

Auch, obwohl jeder IC schon 100nF besitzt? ... aber wäre ja auch kein 
Problem...

rmu schrieb:
> Ich bin vielleicht blind oder kann nicht zählen, aber am Layout sieht es
> so aus als wären die GND-Pins (Pin 8) der Schieberegister nicht
> verbunden?

Der Pin 8 liegt auf der Groundfläche (s.Anhang). In dem Layout sieht man 
die Massefläche nur schraffiert, in Wirklichkeit ist sie als komplette 
Fläche ausgeführt.... EMV mäßig vielleicht auch schon sch...wenn ich es 
mir mal so überlege (???)

von Falk B. (falk)


Lesenswert?

Alex (Gast)

>im Anhang findet ihr eine Platine  + Schaltplan meines Schieberegisters
>mit dem ich Tasterdrücke einlese.

Da ist glaub ich ein kleiner, aber gemeiner Bug drauf. Auf deinem Bild 
ist die Massefläche ja nicht gefüllt. Poste mal ein Bild mit gefüllter 
Massefläche und schau dir die Verbindung von Masse C2 zu Masse IC1 an . 
. .

> Meine Frage ist jetzt, welches
>Register (74HC165 oder 74HCT165) eigentlich besser geeignet ist für
>"normales" Tastereinlesen im Bezug auf Stabilität.

Ist bei 5V CMOS kein großer Unterschied, es gehen beiden. HC hat die 
Schaltschwelle bei 2,5V (VCC/2), HCT konstant bei 1,4V.

> Gehen wir mal davon
>aus, dass die Versorgungsspannung schwankt (...klar...die soll nicht
>Schwanken, aber nur für den Fall dass sie es mal tut, welches Register
>kann das besser verkraften?..)

Vergiss es, das ist kein Kriterium.

>Wenn ich das Datenblatt richtig verstehen, kann der 74HCT165 eine kleine
>Range an Versorgungsspannung

Früher hieß das Bereich.

>vertragen (4.5-5.5V) Der 74HC165 kann eine
>Versorgungsspannung von 2.0-6.0 verkraften.

Ja.

>Somit würde ich sagen, dass der 74HC165 besser geeignet ist, im Bezug
>auf schwankende Versorgungsspannnung.

Nicht wirklich. Deine 5V sollte nicht um mehr als +/-0,5V schwanken, 
real deutlich weniger.

>Also das Flachbandkabel von AVR NET IO bis zur erten Paltine ist circa
>20cm lang, dann sitzen die 6-7 Platine dicht aneinader, denke das die
>Verbindung von JP4 zum nächsten JP3 circa 5cm lang sind...

Naja, da kommt man langsam in den Bereich von Laufzeiteffekten und 
Reflektionen, siehe Wellenwiderstand.

>Ich streue mir das irgendeine Scheiße rein, denke mittlerweile auch,
>dass SPI dort der falsche Weg war, da evtl,. für EMV zu anfällig...

Nein. Du hast nur das Thema HF entwas zu leicht genommen. Aber es gibt 
Abhilfe.

Beitrag "Re: Skurriles Problem mit BS170 Mosfets"

>> Deine Leitung von Clk und CD werden sehr lang ohne das du sie pufferst.
>> auch die zeitliche Verzögerung zum Datensignal könnte zu gross werden

Nein.

>Wie könnte ich die denn Puffern?

Musst du nicht, dein Net-IO reicht als Treiber.

>> Ein zusätzlicher C 10-100µ in der Versorgung pro Platine wäre auch nicht
>> verkehrt.

>Auch, obwohl jeder IC schon 100nF besitzt?

Ja. Die 100nF sind nur für ein paar Dutzend ns gut, dann geht dennen die 
Luft aus.

https://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator

>Der Pin 8 liegt auf der Groundfläche (s.Anhang). In dem Layout sieht man
>die Massefläche nur schraffiert, in Wirklichkeit ist sie als komplette
>Fläche ausgeführt.... EMV mäßig vielleicht auch schon sch...wenn ich es
>mir mal so überlege (???)

Ja, weil du an ein Wunder geglaubt hast. Siehe oben!

https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts#Vorgehen_bei_der_Layouterstellung

Unterpunkt Masseflächen!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

rmu schrieb:
> Ich bin vielleicht blind oder kann nicht zählen, aber am Layout sieht es
> so aus als wären die GND-Pins (Pin 8) der Schieberegister nicht
> verbunden?

Doch. Siehe IC1P und IC2P ganz oben, an denen auch C1, C2 hängen.

von Falk B. (falk)


Lesenswert?

@  Frank M. (ukw) Benutzerseite

>rmu schrieb:
>> Ich bin vielleicht blind oder kann nicht zählen, aber am Layout sieht es
>> so aus als wären die GND-Pins (Pin 8) der Schieberegister nicht
>> verbunden?

>Doch. Siehe IC1P und IC2P ganz oben, an denen auch C1, C2 hängen.

Er redet vom LAYUT, nicht vom Schaltplan. Auch du solltest mal 
versuchen, die Masserverbindung von C2 zur Masse von IC2 zu verfolgen . 
. .

von Hans (Gast)


Lesenswert?

Falk B. schrieb:
> Er redet vom LAYUT, nicht vom Schaltplan. Auch du solltest mal
> versuchen, die Masserverbindung von C2 zur Masse von IC2 zu verfolgen .
> . .

Von C1 wird die Massefläche bestimmt auch isoliert sein

von gnd (Gast)


Lesenswert?

Ach du meine Güte.

Recht viel blöder kann man nicht versuchen GND an die IC anzuschließen.
Auch VCC, an den PullUps mit dicken Leitungen, zum IC mit dünnen?

Eine Massefläche ist kein Wundermittel, eher in deinem Fall ein 
Zufallsprodukt.

Leiterschleifen zum Ausgleich der Laufzeit in psec.-Bereich? Völliger 
Blödsinn.

Sorry. Auf großen Unsinn gehören deutliche Worte.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Er redet vom LAYUT, nicht vom Schaltplan.

Upps, das Layout hab ich ja noch gar nicht gesehen, habe immer nur auf 
den Schaltplan geschaut. Ja, hier fehlt die Masse an den C.

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

@  Frank M. (ukw) Benutzerseite


>Upps, das Layout hab ich ja noch gar nicht gesehen, habe immer nur auf
>den Schaltplan geschaut. Ja, hier fehlt die Masse an den C.

Nö, die ist schon dran, an der arg zerstückelten Massefläche. Die ist im 
Bild nicht ausgefüllt, nur die Konturen sind gestrichelt dargestellt.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Also bisher werde ich mich noch um folgende Punkte bemühen:

1. Jede zweite Ader im Flachbadnkabel auf GND
2. Terminierung, da weiß ich noch nicht genau wie ich das am besten 
mache....(Beuispiel immer gerne....)

Im Anhang die Massefläche...denke, es ist alles verbunden, ob im HF 
Bereich auch vernünftig, kann ich nicht beurteilen....

von Alex (Gast)


Lesenswert?

1. Jede zweite Ader im Flachbandkabel auf GND
2. Terminierung, da weiß ich noch nicht genau wie ich das am besten
mache....(Beuispiel immer gerne....)
3. 10-100µF Kondensator in der Spannungsversorung je Platine.

von Falk B. (falk)


Lesenswert?

@  Alex (Gast)


>1. Jede zweite Ader im Flachbadnkabel auf GND
>2. Terminierung, da weiß ich noch nicht genau wie ich das am besten
>mache....(Beuispiel immer gerne....)

Mal gelesen?

https://www.mikrocontroller.net/topic/goto_post/3220070

>Im Anhang die Massefläche...denke, es ist alles verbunden,

Mach mal SHOW und click die Masse an. Dann verfolge die leuchtende Masse 
von C2 zur Masse von IC1 (schreib ich nun schon das 3. Mal)

> ob im HF
>Bereich auch vernünftig,

Leider nein.

von Stefan F. (Gast)


Lesenswert?

Vielleicht hilft es bei Dir, die Taktrate (der CLK Leitung) 
herabzusetzen, mit Hilfe von NOP's zwischen Daten und Takt.

von Falk B. (falk)


Lesenswert?

@  gnd (Gast)

>Leiterschleifen zum Ausgleich der Laufzeit in psec.-Bereich? Völliger
>Blödsinn.

Hehe, hab ich erst jetzt gesehen. Witzig! ;-)

von Falk B. (falk)


Lesenswert?

@  Stefan Us (stefanus)

>Vielleicht hilft es bei Dir, die Taktrate (der CLK Leitung)
>herabzusetzen, mit Hilfe von NOP's zwischen Daten und Takt

Das hilft in den meisten Fällen nicht, denn das Schieberegister (der 
Empfänger) ist eher zu schnell als zu langsam.

von Harald W. (wilhelms)


Lesenswert?

Falk B. schrieb:

> Das hilft in den meisten Fällen nicht, denn das Schieberegister (der
> Empfänger) ist eher zu schnell als zu langsam.

Ich hab jetzt nicht nachgesehen,aber möglicherweise haben
die beiden Versionen unterschiedliche Geschwindigkeit?
Dann würde ich die langsamere Version nehmen.

von Falk B. (falk)


Lesenswert?

HC und HCT sind annähernd gleich schnell.

von Thomas E. (picalic)


Lesenswert?

Das Problem ist hier wohl eindeutig das schlechte PCB-Layout (v.a. die 
Masseführung!). Mit HC wird es dann vermutlich etwas besser 
funktionieren, als mit HCT, einfach weil bei HC die Eingangs-Schwelle 
zur Unterscheidung zwischen High/Low weiter von GND weg ist.

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.