Quali sono le differenze tra i circuiti integrati del registro a scorrimento?


11

Sto imparando Arduino e una cosa che ha attirato la mia attenzione è stata l'uso degli Shift Registers per espandere il numero di pin digitali.

Ho visto molti tutorial che usano il registro a turni 74HC595, ma il mio negozio locale non vende questo registro a turni esatto, ma ne vende molti altri come:

74HC166
CD4015
74HC165
74HC164
CD4014
74HC595 SMD

Sembrano tutti essere registri a scorrimento a 8 bit.

Voglio usarli per illuminare alcuni LED usando un Arduino. Immagino che abbiano scopi molto specifici, ma soprattutto, potrei usarne uno nel mio progetto?

Qual è la differenza principale tra questi registri a scorrimento?


14
Hai provato a leggere i fogli dati? Di solito sono un'ottima fonte per scoprire la differenza tra due componenti.
Jules,

Risposte:


29

Il modo più semplice per rispondere a una domanda come questa è guardare i fogli dati per i componenti:

  • CD4015 fa parte della vecchia gamma di chip serie 4000. Ai tempi della loro introduzione, erano CMOS mentre 7400 chip erano TTL, anche se oggigiorno i chip di tipo 74HC sono anche CMOS. Vedono ancora qualche utilità perché lavorano con una gamma di tensione più ampia rispetto ai chip 74HC (fino a 15 V, contro 7 V massimo per 74 HC o 5,5 V per 74 LS). Sono anche leggermente più lenti (massimo 3MHz a 5V, contro 25MHz per il 74HC595).

  • CD4014 ha specifiche simili al 4015, ma invece di avere pin che ti permettono di prendere tutti i valori che sono stati spostati dentro e fuori contemporaneamente, ti permette di inserire più valori contemporaneamente e poi di spostarli uno alla volta. Quindi il CD4015 è come un convertitore da seriale a parallelo, ma questo è un convertitore da parallelo a seriale.

  • 74HC166 ha una uscita seriale parallela come il CD4014, ma è nella gamma 74HC, quindi ha una gamma di tensione più piccola e una risposta più rapida di quella gamma.

  • 74HC165 consente sia l' ingresso parallelo che quello seriale e l'uscita seriale. Fornisce inoltre un'uscita sia invertita che non invertita.

  • 74HC164 è in seriale e in parallelo, come il CD4015, ma la serie 74HC è così più veloce e con una tensione inferiore.

  • 74HC595 (o più esattamente, SN74HC595J) e 74HC595-SMD (che potrebbero essere diverse varianti minori) sono lo stesso componente in pacchetti diversi. Il primo è un pacchetto "DIP" tradizionale, che è probabilmente quello che vuoi se stai lavorando su breadboard, stripboard o schede prototipo perforate. Il successivo è un pacchetto a montaggio superficiale (probabilmente SOIC) che è più piccolo e più facile da saldare su un PCB, ma può essere un po 'una seccatura per la prototipazione. Questi sono serial-in parallel-out, ma hanno anche un set separato di registri in cui è possibile copiare i dati immessi. Ciò significa che le uscite parallele possono essere modificate contemporaneamente, anziché contenere dati non validi durante lo spostamento dei nuovi dati.

Alcuni altri chip che potresti voler dare un'occhiata a:

  • Come accennato da @supercat nei commenti, il CD4094 è utile quando è necessario controllare più di 8 linee di uscita perché rende più semplice l'output in cascata da un chip al successivo. Il 74HC4094 è un chip con lo stesso comportamento e disposizione dei pin ma che utilizza le tensioni 74HC e velocità più elevate.
  • TLC6C5912 è un chip seriale a 12 canali in parallelo in uscita progettato specificamente per pilotare i LED e può gestire LED con tensioni e correnti molto più grandi di quanto sopra.
  • TLC5911 è un mostro di un chip, ma controlla 16 LED e ha un driver di corrente costante per ognuno che può essere controllato individualmente su uno dei 128 livelli, cioè è possibile utilizzarlo singolarmente per dimmerare ogni LED, spostando in 7 bit di informazioni sulla luminosità per ognuna piuttosto che 1 solo bit di attivazione / disattivazione. Utile per i segni che visualizzano immagini / video.

2
Il CD4094 / 74HC4094 potrebbe anche essere bello da menzionare. Quando si collegano in cascata la maggior parte dei chip del registro a scorrimento, è necessario assicurarsi che gli orologi siano sincronizzati con precisione o che l'orologio a valle si verifichi per primo. I chip 4094 eliminano questo problema includendo un'uscita in cascata che commuta sul bordo opposto dall'ingresso.
Supercat,

7

Per aggiungere alla risposta di schadjo:

I due più comunemente usati per Arduino (ma non solo) sono 74HC165 e 74HC595 .

Il 74HC165 può essere utilizzato per collegare fino a 8 ingressi (ad es. Switch) a pochi GPIO.

Il 74HC595 può essere utilizzato per collegare fino a 8 uscite (ad es. LED) a pochi GPIO.


La SMD 74HC595 funziona esattamente come la 74HC595? SMD fa qualche differenza significativa?
user3347814

2
@ user3347814 Cosa dice la scheda tecnica? Ti abbiamo portato all'acqua. Bevi.
Harry Svensson,

3
Come dice HarrySvensson, puoi leggere tutti i dettagli nel foglio dati. Normalmente non ci sono differenze funzionali e differenze nella disposizione dei pin, ma ovviamente le dimensioni sono più piccole e soprattutto il consumo di energia è inferiore (a causa dei componenti interni più piccoli).
Michel Keijzers,

I pin di controllo modalità possono avere sorprese per te. Possibilità di cancellare, spostare a sinistra, spostare a destra, caricare in parallelo (per aggiornare), non bloccare anche se l'orologio sta cambiando livello, ecc., Può essere utile utilizzare tutto.
analogsystemsrf

7

Per un nuovo arrivato, la principale distinzione nei registri a scorrimento è probabilmente l'ingresso parallelo / uscita seriale (PISO) e l'ingresso seriale / uscita parallela (SIPO).

Come suggeriscono i nomi, un PISO riceve, diciamo, un segnale a 8 bit di larghezza e consente di spostare singolarmente quei bit, uno alla volta (in serie) con impulsi di clock singolo.

Un SIPO consente di spostare ciascuno dei bit in sequenza, quindi di avere tutti, per esempio, 8 di quei bit presenti su 8 pin di uscita contemporaneamente, cioè in parallelo.


4

74HC595 (thruhole o SMD) ha un limite di 70mA su pin Vcc e Gnd, quindi è necessario selezionare resistori di limite di corrente che consentano 8-9 mA. (8 uscite x 9mA = 72mA).

Per selezionare un resistore: (5V - Vf) / .008 = resistore, con Vf la tensione diretta del LED (esempio, ~ 2,5 V per un tipico LED rosso, alcuni verdi e gialli, e spesso un po 'più alto per altri colori come il blu , bianca).

(5 V - 2,5 V) /. 008A = 312,5 ohm, quindi 300 o 330 ohm andranno benissimo. 270 andrebbero anche bene, per 9.25mA. 1K ridurrebbe un po 'la luminosità, ma sarebbe comunque molto luminoso. 8mA può essere abbastanza luminoso con un moderno LED ad alta efficienza.

Se hai bisogno di più corrente, TPIC6B595 e TPIC6C595 sono controllati allo stesso modo di 74HC595 - con clock, dati e latch - ma possono affondare 150ma e 100mA per pin di uscita (spostare in 1, che attiva l'uscita, si abbassa per affondare corrente da 5 V attraverso il LED e la sua resistenza. Vs Corrente di approvvigionamento attraverso il LED / resistenza a Gnd).

Non abbiate paura di ordinare pezzi online. Digikey.com e Mouser.com trasportano tutti i tipi di parti e la posta USPS economica li riceverà in 2-3 giorni.

Se vuoi fare scorta, spendi $ 20-30 e ricevi una manciata di pezzi da taydaelectronics.com. Puoi ottenere un sacco di cose per quello. Penso che le parti vengano dalla Tailandia (via Colorado negli Stati Uniti da quando ho ricevuto), ordinare una selezione di parti che dureranno parecchi progetti.


3

Oltre a tutte le altre belle risposte, la pin map dell'IC può certamente differire tra diversi IC. Non puoi semplicemente collegare un filo negli stessi pin che utilizzeresti per un altro registro a scorrimento e aspettarti che funzioni. Se abbini la funzionalità pin, c'è una possibilità molto migliore, anche se la funzionalità pin potrebbe non essere la stessa su chip diversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.