SN74LS259B adresserbar latch: otte udgange fra fem ledninger

Du vil styre otte lysdioder, relæer eller enable-signaler, men din mikrocontroller har kun en håndfuld ben tilbage. SN74LS259B gemmer otte separate bit og lader dig ændre ét af dem ad gangen med fem styreledninger, mens de øvrige syv bliver præcis, som de var. Guiden forklarer princippet, gennemgår én komplet skrivning og bygger et testkredsløb med kontakter og lysdioder.

Først det grundlæggende: hvad er en latch?

En latch er en hukommelsescelle på én bit. Så længe dens enable-signal er aktivt, følger udgangen blot dataindgangen. Når enable slippes, fryser udgangen på den sidste værdi og beholder den til næste skrivning. SN74LS259B indeholder otte sådanne latches, Q0 til Q7, som deler én fælles dataindgang D.

Hvordan vælger man så, hvilken latch der skal skrives? Med en adresse. De tre vælgerindgange S0, S1 og S2 danner et binært tal på 3 bit fra 0 til 7, og kun latchen med det nummer lytter til D. Det er samme adressedekodningsprincip, som guiden til adressedekodning med 74HC138 og guiden til MC14515B-dekoderen beskriver; her sidder der blot en hukommelsescelle bag hver dekoderudgang.

Styresignalerne

  • S0, S1, S2 (ben 1–3) – adressen. S0 er den mindst betydende bit, så S2 S1 S0 = H L H vælger latch 5.
  • D (ben 13) – den bit, der skal gemmes.
  • G (ben 14) – enable, aktiv LAV (stregen over navnet betyder “aktiv, når den er LAV”). Mens G er LAV, følger den adresserede latch D. Når G går HØJ, gemmes værdien.
  • CLR (ben 15) – nulstilling, også aktiv LAV. Hold den HØJ ved normal brug.

Kombinationen af CLR og G giver fire tilstande, hentet fra funktionstabellen i TI’s datablad:

  • CLR HØJ, G LAV: adresserbar latch – den adresserede udgang følger D, de andre syv holder.
  • CLR HØJ, G HØJ: hukommelse – alle otte udgange holder, uanset hvad der sker på D og S0–S2.
  • CLR LAV, G LAV: 1-af-8-demultiplekser – den adresserede udgang følger D, alle andre er LAVE.
  • CLR LAV, G HØJ: nulstil – alle otte udgange LAVE.
SN74LS259BN DIP-16 set oppefra: ben 1 til 3 S0, S1, S2; ben 4 til 7 Q0 til Q3; ben 8 GND; ben 9 til 12 Q4 til Q7; ben 13 D; ben 14 G med streg over; ben 15 CLR med streg over; ben 16 VCC.
Set oppefra med hakket øverst. Bemærk, at udgangene er delt: Q0–Q3 på ben 4–7 og Q4–Q7 på ben 9–12 med GND på ben 8 imellem.

Én komplet skrivecyklus

Lad os sige, at vi vil sætte udgang Q5 til 1 uden at forstyrre Q0–Q4, Q6 eller Q7. Vi starter med CLR HØJ og G HØJ (hukommelsestilstand):

  1. Sæt adressen. Læg S2 S1 S0 = H L H (binært 101 = 5). Fordi G er HØJ, sker der endnu ingenting.
  2. Sæt data. Læg D HØJ.
  3. Åbn latchen. Træk G LAV. Nu følger Q5 D og går HØJ efter typisk 15 ns (højst 24 ns). De andre udgange rører sig ikke.
  4. Luk latchen. Sæt G HØJ igen. Nu er Q5 gemt som 1.
  5. Gå videre. Først nu må adressen og D skifte til næste skrivning.
Tidsdiagram: adressen S2 S1 S0 skifter til H L H, og D går HØJ; G med streg over går LAV i mindst 17 ns og derefter HØJ; Q5 stiger, mens G er LAV, og forbliver HØJ bagefter; de øvrige udgange beholder deres gamle værdi. Adressen skal være stabil mindst 17 ns og D mindst 20 ns, før G stiger.
Én skrivning: adresse og data stilles op først, G åbner og lukker den adresserede latch, og først derefter må adressen skifte.

Databladet angiver tidsgrænserne for SN74LS259B: G skal være LAV i mindst 17 ns, adressen skal være stabil mindst 17 ns og D mindst 20 ns, før G stiger, og holdetiden efter G stiger er 0 ns. TI anbefaler desuden, at G holdes HØJ, mens adresselinjerne skifter; ellers kan de latches, man passerer på vejen til den nye adresse, et kort øjeblik fange data. Med kontakter eller en mikrocontroller er grænserne lette at overholde; de får betydning, når kredsen styres fra hurtig logik.

Byg et testkredsløb

Diagram: kontakter trækker S0, S1, S2 og D til GND, trykknapper trækker G med streg over (SKRIV) og CLR med streg over (NULSTIL) til GND; hver af de seks indgange har en 10 kΩ pull-up til +5 V. Udgangene Q0 til Q7 på ben 4, 5, 6, 7, 9, 10, 11 og 12 går hver til en lysdiodes katode; hver anode går gennem 1 kΩ til +5 V.
Fire kontakter sætter adresse og data, SKRIV giver en puls på G, og NULSTIL rydder alle latches. En lysdiode lyser, når dens udgang er LAV.
  1. Sæt SN74LS259BN hen over midterkanalen på breadboardet. Ben 16 til +5 V, ben 8 til GND og en 100 nF-kondensator mellem dem helt tæt ved kredsen. LS-TTL kræver 4,75–5,25 V.
  2. Giv S0 (ben 1), S1 (ben 2), S2 (ben 3), D (ben 13), G (ben 14) og CLR (ben 15) hver en 10 kΩ pull-up til +5 V. En åben kontakt læses så som HØJ og en lukket som LAV.
  3. Forbind en kontakt fra hver af S0, S1, S2 og D til GND og en trykknap fra G (SKRIV) og fra CLR (NULSTIL) til GND.
  4. Til hver udgang: en lysdiode fra +5 V gennem 1 kΩ til udgangsbenet, med anoden mod modstanden og katoden til Q0 (ben 4), Q1 (5), Q2 (6), Q3 (7), Q4 (9), Q5 (10), Q6 (11) og Q7 (12).

Hvorfor hænger lysdioderne fra +5 V? En LS-TTL-udgang kan trække 8 mA til stel, når den er LAV, men er kun specificeret til at levere 0,4 mA, når den er HØJ. Koblet på denne måde får en rød lysdiode ca. 2,5–3 mA, hvilket ligger et godt stykke inden for grænsen, men logikken bliver vendt om: en lysdiode lyser, når dens bit er 0.

Prøv det

  1. Tryk på NULSTIL. Kredsen nulstilles, og alle otte udgange går LAV, så alle otte lysdioder lyser. (Efter opstart står latchene i en ukendt tilstand, så nulstil altid først.)
  2. Sæt S2 åben, S1 lukket og S0 åben (H L H = 5), og lad D være åben (HØJ).
  3. Tryk på SKRIV og slip. Lysdioden på Q5 slukker; de andre syv bliver ved med at lyse.
  4. Luk D, og tryk på SKRIV igen: lysdioden på Q5 tænder igen. Vælg en anden adresse, og gentag – hver skrivning ændrer kun én lysdiode.

Kontaktprel på SKRIV gør ingen skade her: hvert prel skriver bare den samme D-værdi til den samme latch igen. Skift dog ikke kontakterne, mens SKRIV holdes nede, for så opfører kredsen sig som en åben demultiplekser.

Styring fra en mikrocontroller

Forbind fem 5 V-GPIO-ben til S0, S1, S2, D og G, og hold CLR HØJ (eller brug et sjette ben til den). En skrivning er så: sæt G HØJ, skriv de tre adressebit, skriv D, sæt G LAV, sæt G HØJ. En 3,3 V-controller kan som regel styre indgangene, fordi en LS-TTL-indgang opfatter alt over 2 V som HØJ og under 0,8 V som LAV, men kontrollér, at dens ben kan trække de 0,4 mA, som hver LAV indgang leverer. Før ikke kredsens 5 V-udgange tilbage til et 3,3 V-ben. Skal du læse otte kontakter i stedet for at styre otte belastninger, dækker guiden til MM74HC165-skifteregistret den modsatte retning; vil du skrive alle otte bit på én gang, så se guiden til MC74HC173-registret.

Begrænsninger

  • Forsyning. 4,75–5,25 V; kredsen bruger typisk 22 mA og højst 36 mA.
  • Udgange. Op til 8 mA til stel ved et LAV-niveau på højst 0,5 V; kun 0,4 mA ud. Brug en transistor eller driverkreds til relæer og større belastninger.
  • Indgange. HØJ ≥ 2 V, LAV ≤ 0,8 V. Forbind ubrugte indgange fast til et niveau i stedet for at lade dem svæve.
  • Temperatur. SN74LS259B er specificeret fra 0 til 70 °C.

Den lagerførte del og kilder

Den lagerførte del er Texas Instruments SN74LS259BN: en 8-bit adresserbar latch i Low-Power Schottky TTL i 16-bens plastik-DIP (TI-kapsling N), så den passer direkte i et breadboard. Benforbindelser, funktionstabel, timing og elektriske grænser i denne guide stammer fra TI-databladet SDLS086, hvis kapslingstillæg angiver SN74LS259BN som PDIP (N) med 16 ben.

Se produktsiden for SN74LS259BN · SN74LS259B-datablad (Texas Instruments)