Forum: Mikrocontroller und Digitale Elektronik Problem 74HC165D


von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe hier folgende Schaltung aufgebaut (allerdings nur mit einem 
Baustein):
https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Schaltung

Um einem Fehler auf die Schliche zu kommen mache ich zwei Tests mit 
folgenden Beschaltungen:

Test 1 und Test 2 (der 74HC165 wird immer mit 0x01 beschaltet):
- D0 fest auf 5 Volt
- D1 bis D7 fest auf GND

Es werden immer fünf Bytes eingelesen.

Test 1:
- DS auf High-Pegel (es werden also Einsen nachgeschoben).
- Ergebnis: 0x01, 0xFF, 0xFF, 0xFF, 0xFF (Bild 1) ==> OK!

Test 2:
- DS auf Low-Pegel (es werden also Nullen nachgeschoben).
- Ergebnis: 0x01, 0x02, 0x04, 0x08, 0x10 (Bild 2) ==> Fehler!

Bei Test 2 sollte das Ergebnis eigentlich so aussehen:
0x01, 0x00, 0x00, 0x00, 0x00
Offenbar wird aber nur der High-Pegel um jeweils eine Stelle 
durchgeschoben.

Was ist da los?
Hat jemand eine Erklärung für dieses Ergebnis?

Danke, Peter

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


Lesenswert?

Peter schrieb:
> ich habe hier folgende Schaltung aufgebaut
Hast du davon Bilder?
Wie ist der CE Pin angeschlossen?

von huibuh07@freenet.de (Gast)


Lesenswert?

Hallo Peter,

Du mußt laut DB den /Load-Pin (bei Dir wohl PL) nur als Impuls ausgeben. 
Außerdem ist der Load-Pin "active L" bzw. "Idle H" - also bei Dir dann 
auch falsch.

Gruß
TK

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


Angehängte Dateien:

Lesenswert?

huibuh07@freenet.de schrieb:
> Du mußt laut DB den /Load-Pin (bei Dir wohl PL) nur als Impuls ausgeben.
Welches Datenblatt hast du?

> Außerdem ist der Load-Pin "active L" bzw. "Idle H" - also bei Dir dann
> auch falsch.
Während des Schiebens muss der Latch Eingang inaktiv und damit High 
sein.

von Peter (Gast)


Lesenswert?

Hallo,

das Problem ist die Spannungsversorgung.

Der (die) 74HC165 sind auf Modulen verbaut, welche später kaskadiert 
werden sollen. Alle Module liegen an einer eigenen Spannungsversorgung 
(jedenfalls momentan).
Gesteuert wird das Ganze über ein STM32 Header-Board, welches über JTAG 
versorgt wird.
Der GND vom Header Board und der externen Spannungsversorgung der Module 
ist verbunden. Ansonsten gehen nur die Steuerleitungen (SPI) über 
Flachbandkabel zu den Modulen.

Als ich heute morgen wieder an die Fehlersuche ging, hatte ich 
vergessen, die externe Spannungsversorgung der Module einzuschalten. Das 
verblüffende war, dass plötzlich die Schaltung funktionierte: 0x01, 
0x00, 0x00, 0x00, 0x00.
Und das, obwohl scheinbar garkeine Spannung an den Modulen anlag. 
Nachdem ich dann aber die Spannungsversorgung hinzuschaltete kamen auch 
die Fehler wieder: 0x01, 0x02, 0x04, 0x08, 0x10.

Die Module werden jetzt vom Header-Board aus versorgt und es gibt keine 
Probleme mehr.

Waran es genau lag? Vielleicht an dem undurchdringlichen Kabelsalat vor 
mir auf dem Schreibtisch (was ich allerdings nicht glaube - jetzt geht 
es und der Kabelsalat ist immer noch da).

Ich wüsste schon gerne was hier das Problem ist / war. Allerdings soll 
später sowieso alles von einer Spannungsquelle versorgt werden, und das 
scheint ja dann auch zu funktionieren.

Ob ich jetzt noch lange herumsuche, oder erstmal weitermache? Mal sehn.
Vielleicht hat ja jemand von euch noch eine Idee, wie sich das erklären 
lässt.

Danke für die Hilfe, Peter

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


Lesenswert?

Peter schrieb:
> Waran es genau lag?
Die Masse der "Versorgungen" war/ist aber schon verbunden?

von min (Gast)


Lesenswert?

>> Das verblüffende war, dass plötzlich die Schaltung funktionierte: 0x01,
>> 0x00, 0x00, 0x00, 0x00. Und das, obwohl scheinbar garkeine Spannung an >>den 
Modulen anlag.


Vermutlich wird der 74HC165 über irgendwelche pullups mit Strom 
versorgt.

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.