Schieberegister: Unterschiede zwischen den Standard-Parallel-In-Serial-Out-ICs

Ich muss blind sein ... Ich versuche zu entscheiden, welches der Schieberegister '165, '166 und '597 für ein SPI-Eingangsschieberegister geeignet / ungeeignet ist. Alle sind 8-Bit-Paralleleingang.

Es sieht so aus, als hätte der HC165 einen verriegelnden asynchronen Ladeeingang (durch einen Impuls ausgelöstes paralleles Laden), der HC166 einen getakteten synchronen Ladeeingang (durch dieselbe Taktflanke wie die serielle Verschiebung ausgelöste parallele Last, wenn die Ladefreigabe aktiviert ist) und Der 597 hat einen separaten Satz von Laderegistern.

Kann jemand etwas zu den Unterschieden hinzufügen oder vorschlagen, welches für SPI am besten geeignet ist? (Mein Bauchruf ist der HC165, wobei die parallele Last durch die invertierte SPI-CS-Leitung ausgelöst wird, und ich müsste einen 1-Gate-Tristate-Treiber für das MOSI-Signal hinzufügen.)

Antworten (2)

Das 74xx165 ist die typischere Wahl. Der 74HC597 ist nur dann besser, wenn es notwendig ist, die Eingabe während eines Byte-Übergangs abzutasten (und dann die Abtastung für die folgende Übertragung verfügbar zu machen). Da der Frontflanken-Latch auf steigende Flanken empfindlich ist, der Parallel-Load-Latch jedoch pegelempfindlich ist, gibt es oft nirgendwo ein gutes Signal, um den Parallel-Load-Latch zu takten. Das Teil wäre viel schöner, wenn entweder beide Riegel pegelempfindlich wären, aber ansonsten stört der vordere Riegel eher, als dass er irgendeinem funktionalen Zweck dient.

Übrigens gibt es ähnliche Timing-Probleme mit dem asynchronen Clear des 74HC595. Wenn der Parallel-Load-Pin pegelempfindlich wäre, könnte man den Clear-Pin und den Parallel-Load asynchron ansteuern, um alle Ausgänge in einen bekannten Zustand zu zwingen. Leider steht einem solchen Design der flankengetriggerte Parallel-Load-Pin im Weg; man könnte den Clear-Pin asynchron ansteuern, aber man müsste dann den Parallel-Load-Pin einige Zeit nach der Registrierung des Clear-Signals ansteuern.

Motorola, der Erfinder von SPI, hat den 74HC595 und den 74HC597 (sie wären damals LS-Teile gewesen) so konzipiert, dass sie SPI-kompatibel sind. In den ursprünglichen Datenblättern für sie waren die Pins mit den Standard-SPI-Signalnamen gekennzeichnet, aber dies scheint sich im Laufe der Jahre geändert zu haben. Der 74HC597 hat einen zusätzlichen Nicht-SPI-Pin, der Daten von den Eingängen in das Schieberegister lädt. Ich habe den 74HC595 mit einem SPI-Port auf einer MCU verwendet, aber nicht den 74HC597.

Ich habe gehört, dass der 74HC165 nicht vollständig SPI-kompatibel ist, da der Ausgang aktiv bleibt, wenn das Gerät deaktiviert ist, anstatt drei Zustände zu haben, und es gibt ein oder zwei andere Unterschiede.

Ja, der HC595 ist perfekt für SPI-Ausgänge, es scheint einfach nicht die gleiche Art von Übereinstimmung für Eingänge zu geben ... 597er werden von weniger Herstellern hergestellt und unterstützen keine sehr hohen Taktraten, es sei denn, Sie verwenden 5-V-Logikversorgungen .
@JasonS Apropos SPI-Eingangsproblem, ich habe es hier als meine eigene Frage aufgeworfen electronic.stackexchange.com/questions/121249/…