» »

Kayıtlar. Kaydırma yazmacı Kaydırma yazmacı çalışma prensibi

07.07.2023

1. İçindekiler

2. Giriş ……………………………………………………………………………… 2

3. Edebi kaynakların incelenmesi ………………………………… 3

3.1. Genel bilgi Kayıtlar hakkında………………………………… 3

3.2. Tetikleyiciler hakkında genel bilgi…………………………….…... 6

3.3. Kaydırma kayıtları…………………………………….. 12

3.4. Evrensel kayıtlar…………………………………….. 20

4. Kaydırmalı yazmaç devresinin geliştirilmesi ………………………………… 24

4.1. İlk veri ……………………………………………… 24

4.2. Vardiya kaydı geliştirme prosedürü…………………..……… 24

4.3. Dört fazlı kaydırma yazmacının geliştirilmesi…………………… 25

5. Sonuç……………………………………………………………. 27

6. Referans listesi …………………………………. 28


2. giriiş

Kayıtlar– dijital cihazların en yaygın bileşenleri. Bir kelimeyi oluşturan birçok ilgili değişken üzerinde çalışırlar. Kelimeler üzerinde bir dizi işlem gerçekleştirilir: alma, verme, saklama, bit ızgarasında kaydırma, bit bazında mantıksal işlemler.

Kaydırma (sıralı) kayıtları kaydırma için kullanılır N-bit sayıları tek yönde. Ayrıca sayısal olmayan bilgileri kaydırmak için de kullanılabilirler.

Kaydırma yazmaçları depolama aygıtları, seri-paralel kod dönüştürücüler, gecikme aygıtları ve darbe sayaçları olarak kullanılır (ancak kaydırma yazmaçlarının sayaç olarak kullanılması oldukça ekonomik değildir).

3. Literatür kaynaklarının gözden geçirilmesi

3.1. Kayıtlar hakkında genel bilgi

Kayıtlar, flip-flop'lar ve çoğunlukla mantık elemanları içeren bit devrelerinden oluşur. Tek bir birim olarak hareket ederler.

Değişken iletim hatlarının sayısına göre, kayıtlar tek fazlı ve parafazlı, senkronizasyon sistemine göre ise tek çevrimli, itme-çekme ve çok çevrimli olarak ayrılır. Ancak sınıflandırmanın ana özelliği veri alma ve verme yöntemidir. Bu temelde ayrım yapıyorlar paralel (statik) kayıtlar, sıralı (değişen) Ve paralel seri .

Paralel kayıtlarda kelimeler aynı anda tüm bitlerde alınır ve çıkarılır. Bit düzeyinde mantıksal dönüşümlere tabi tutulabilecek kelimeleri saklarlar.

Sıralı kayıtlarda kelimeler alınır ve basamak basamak çıkar. Kelimeleri girerken ve çıkarırken zamanlama sinyalleri onları bit ızgarasında hareket ettirdiğinden bunlara kaydırma denir. Bir kaydırma yazmacı geri döndürülemez (tek yönlü kaydırmalarla) veya tersine çevrilebilir (her iki yönde de kaydırma özelliğiyle) olabilir.

Seri-paralel kaydediciler hem seri hem de paralel tipte giriş ve çıkışlara sahiptir. Seri giriş ve paralel çıkış (SIPO, Seri Giriş - Paralel Çıkış), paralel giriş ve seri çıkış (PISO, Paralel Giriş - Seri Çıkış) seçeneklerinin yanı sıra alma ve verme yöntemlerinin herhangi bir kombinasyonunun mümkün olduğu seçenekler mevcuttur. kelimeler.

Paralel (statik) kayıtlarda bit devreleri birbirleriyle iletişim kurmaz. Bitlerin ortak noktası genellikle saat devreleri, sıfırlama/ayar devreleri, çıkış veya alma izni, yani kontrol devreleridir. Doğrudan dinamik girişlere sahip, sıfırlama girişleri R'ye ve EZ sinyali tarafından kontrol edilen üçüncü durum çıkışlarına sahip D tipi flip-floplar üzerine kurulu bir statik yazmacın örnek devresi şekilde gösterilmiştir. Şekil 1 .

Resim 1. Statik yazmacın(a) şeması ve koşulu grafik tanımı(B)

Modern devre teknolojisi, D tipi flip-floplar üzerindeki kayıtların esas olarak dinamik kontrolle oluşturulmasıyla karakterize edilir. Birçoğunun üçüncü bir duruma sahip çıktıları vardır. Bazı kayıtlar tampon kayıtları olarak sınıflandırılır, yani büyük kapasitif ve/veya düşük dirençli aktif yüklerle çalışacak şekilde tasarlanmıştır. Bu onların doğrudan otoyolda (ek arayüz devreleri olmadan) çalışmasını sağlar.

Statik kayıtlar, kayıt belleği blokları (kayıt dosyaları) oluşturmak için kullanılır.

Kayıtların ana fonksiyonları:

1) Bilgi depolama,

2) Bilgi alımı,

3) Bilgi vermek,

4) Bilgi değişimi,

5) Kod dönüşümü,

6) İstenilen sayının sıfır veya bir olarak ayarlanması,

7) Bit bazında mantıksal işlemler: ayırma, birleştirme, toplama modulo 2.

3.2. Tetikleyicileri Anlamak

Tetikleyiciler – büyük sınıf elektrikli aletler uzun süre iki (veya daha fazla) kararlı durumdan birinde kalmasına ve bunları harici sinyallerin etkisi altında değiştirmesine izin verir (rejeneratif sürecin bir sonucu olarak (geçiş süreci) elektrik devresi, PIC kapsamındadır)).

Tetik, hafızalı (bellek elemanı – mandal) bir darbe mantıksal cihazıdır.

Bir düzineden fazla farklı integral tetikleyici vardır. Sınıflandırmaları aşağıdakilere dayanmaktadır:

Fonksiyonel işaret

Bir tetikleyiciye bilgi yazmak için bir yöntem.

İşlevsel özelliklerine göre T-tetikleyiciler, JK-tetikleyiciler, RS-tetikleyiciler, D-tetikleyiciler, kombine tetikleyiciler (TV, DV, E, R), vb. vardır.

Bilgi kaydetme (alma) yöntemine göre ayırt edilirler:

8) Eşzamansız tetikleyiciler:

a) dahili gecikmeli;

b) giriş darbe seviyesi tarafından kontrol edilir;

9) Senkron tetikleyiciler (saatli):

a) dahili gecikmeli;

b) zamanlama darbesinin seviyesi tarafından kontrol edilir:

Tek çevrimli eylem (tek aşamalı);

Çoklu eylem.

Bilgi, saatli tetikleyicilere yalnızca etkinleştirme saat darbesi uygulandığında yazılır. Bu tür tetikleyiciler, zamanlama darbesinin seviye kontrollü (çalışma için belirli bir sinyal seviyesi gereklidir) ve kenar kontrollü (sinyal seviyesine bağlı değildir, varlığı önemlidir) olarak ikiye ayrılır. Saat darbelerine bazen senkronizasyon, yürütme veya komut sinyalleri de denir (genellikle diyagramlarda C - Saat harfiyle gösterilir).

Dinamik girdi doğrudan veya ters olabilir. Doğrudan dinamik kontrol, saat sinyali sıfırdan bire () değiştiğinde geçiş yapılmasına olanak tanır. Ters dinamik kontrol - saat sinyalini birden sıfıra () değiştirmek. Zamanlama darbesinin kenarının kontrolü: Zamanlama darbesinin düşüşünün kontrolü: Zamanlama darbesinin üst seviyesinin kontrolü:

Zamanlama darbesinin alt seviyesinin kontrolü:

Dahili gecikmeli (sinyal bittiğinde tetiklenen) saatli tetikleyiciler kural olarak tek uçludur. Çoklu döngü, şu tarihten sonra yangını tetikler: N-hiçbir dürtü yok.

RS tetikleyicinin iki bilgi girişi vardır: S (Ayarla) ve R (Sıfırla). S ve R sinyallerinin eş zamanlı uygulanmasına izin verilmez. Açık şekil 2 zamanlama sinyalinin kenarı tarafından tetiklenen senkronize bir RS tetikleyicisini gösterir.

Şekil 2. Senkron RS tetikleyici

En basit RS tetikleyicisinin girişlere ek olarak iki çıkışı da vardır. Çıkışlar şunları gösterir: Q Ve

. çıkış Q doğrudan denir, a - ters. Her iki çıkıştaki voltaj seviyeleri karşılıklı olarak terstir: eğer sinyal Q= 1 ise = 0 veya eğer Q= 0, o zaman = 1. Ayrıca tetikleyicinin durumunun da dikkate alınması gerekir. Q= 1, a = 0'a birim denir. Tetikleyici sıfır olduğunda Q= 0 ve = 1. Tetikleyicinin girişlerine sinyal geldiğinde, durumuna bağlı olarak ya anahtarlama gerçekleşir ya da orijinal durum korunur.

Figür 3. - tetikleyici: geleneksel grafik gösterimi ve iki mantıksal öğeye sahip bir devre VE-DEĞİL

Bu inceleme aslında acemi Arduino kullanıcılarına veya bu işe dahil olmak isteyenlere ithaf edilmiştir. Shift Register kullanarak mikrodenetleyici çıkışlarının sayısını arttırmaktan bahsedeceğiz ve bu büyük masraflar gerektirmiyor (örneğin Arduino Mega satın almakla karşılaştırıldığında). En basit uygulama LED'lerin yanıp sönmesidir, hadi bunu pratikte deneyelim.

Mikrodenetleyicilerle tanışmaya başladığımda (aslında hala "tanımaya başlamaya" devam ediyorum), ilk sorulardan biri şuydu: Kontrol cihazında yalnızca bir düzine çıkışla aynı yüz bin LED'i nasıl kontrol edebilirsiniz? Evet, sinyal çoğullama, karşı bağlantı ve diğer birçok hileyi kullanabilirsiniz, ancak yine de maksimum bağlı LED sayısı sınırlıdır ve başka bir çözüm aramak gerekir. Ve bana seçeneklerden birini önerdiler: "bir, iki, on vardiya yazmaç çipi al ve eğlen." Bunları hemen sipariş etmeye ve hatta gelecekte bunları kullanarak bir LED küpü monte etmeye karar verildi. Gerçekten ikincisinden vazgeçmek zorunda kaldım, daha basit bir seçenek buldum ama bu başka bir incelemenin konusu.
Bir kerede 20 parça 74HC595N sipariş ettim, neyse ki maliyeti sadece birkaç kuruştu. İşaretlemenin sonundaki N harfi, mikro devrenin bir DIP-16 paketinde olduğu anlamına gelir; devre tahtası üzerindeki deneyler için çok uygundur, hiçbir şeyi lehimlemenize bile gerek yoktur. Şuna benziyor:




Bu mikro devre nedir? Bu, mandallı flip-flop ve üç durumlu çıkışa sahip, sekiz bitlik seri girişli, seri çıkışlı veya paralel çıkışlı bir kaydırma yazmacıdır.
Basitçe söylemek gerekirse, yalnızca 3 denetleyici çıkışını kullanarak 8 kaydırmalı yazmaç çıkışını kontrol edebilirsiniz. Ve eğer mikro devreler birbiri ardına seri olarak bağlanırsa, o zaman kontrollü çıkışların sayısı herhangi bir makul sınıra kadar artırılabilir (maksimum bir sayı bulamadım, ancak yüzlercesi sorunsuz bir şekilde birleştirilmiş gibi görünüyor; maksimumun ne olduğunu bilen varsa) Bir kademede yer alan mikro devrelerin sayısı bağlıdır, yorumlarda bunu öğrenmek ilginç olacaktır).
Veriler çipe seri olarak iletilir. 0 ve 1 bitleri kayıt defterine birbiri ardına aktarılır, saat darbesi geldiğinde bitler okunur. İletilen 8 bit - kayıt çıkışlarında 8 çıkış durumu alındı. 74HC595 basamaklandırıldığında (eğer 16, 24 vb. çıkış gerekiyorsa), ilk kayıttaki veriler bir sonrakine aktarılır.
Kayıt çıkışı yalnızca mantıksal 0 veya 1 durumunda olamaz, aynı zamanda çıkışın devreyle bağlantısı kesildiğinde yüksek empedans durumunda da olabilir. Bu duruma aynı anda yalnızca tüm çıkışlar aktarılabilir. Bu nadiren kullanılır, ancak örneğin kontrolü başka bir denetleyiciye geçirirken yararlı olabilir.

Giriş/çıkış pin çıkışı

Q0…Q7 – kayıt çıkışları, 0, 1 veya yüksek empedans durumunda olabilir
GND – toprak
Q7′ – kayıtların seri bağlantısı için çıkış.
MR – kayıt sıfırlama
SH_CP – saat girişi
ST_CP – veri kilitleme girişi
OE – çıkışları yüksek empedansdan çalışma durumuna dönüştüren giriş
DS – veri girişi
VCC – güç kaynağı 2-6 volt

Geriye kalan tek şey işi kontrol etmek, bunun için yeni başlayanlar arasında popüler olan bir devre kuracağız. GND (pim 8) toprağa, Vcc (pim 16) 5V güç kaynağına, OE (pim 13) toprağa, MR (pim 10) 5V güç kaynağına bağlanır. Kaydırma yazmacı artık açıktır ve tüm çıkışlar aktiftir. Şimdi mikro devreyi Arduino'ya bağlamanın zamanı geldi: DS veri girişini (pim 14) Arduino'nun 9. dijital çıkışına, SH_CP saat girişini (pim 11) 10. dijital çıkışa, ST_CP mandal girişini (pim 12) bağlayın. ) 8. Arduino pinine. Gürültüyü en aza indirmek için toprak ile mandal arasına 0,1 µF kapasitör yerleştirilmesi önerilir.
LED'leri bağlamaya devam ediyor - 150-300 Ohm dirençler aracılığıyla onları kayıt çıkışlarından toprağa bağlarız. Bu kadar. İşte görsel materyallerden hoşlananlar için bulduğum bir diyagram (lütfen gerçek mikro devrenin pin çıkışı ile bu diyagramdaki şematik görüntünün farklı olduğunu unutmayın!)


Devreyi devre tahtasına monte ettim ve şu şekilde çıktı.

monte edilmiş devre








Arduino'da, giriş/çıkış bağlantı noktasına sırayla (bit parça) bir bayt bilgi gönderen ShiftOut() işlevini kullanmak uygundur. . Test kodunu Arduino'ya yüklüyoruz ve ikili biçimde 0'dan 255'e kadar bir sayaç alıyoruz:
int latchPin = 8; //ST_CP int saatPin = 10; //SH_CP int dataPin = 9; //DS void setup() ( pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); ) void loop() ( for (int numberToDisplay = 0; numberToDisplay)< 256; numberToDisplay++) { // установка синхронизации "защелки" на LOW digitalWrite(latchPin, LOW); // передаем последовательно на вход данных shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); //"защелкиваем" регистр, устанавливаем значения на выходах digitalWrite(latchPin, HIGH); delay(500); } }
Benim için böyle oldu, her şey beklendiği gibi çalışıyor:


Böylece, denetleyici pinlerini minimum düzeyde kullanarak çok sayıda LED'i (veya başka bir şeyi) kontrol edebilirsiniz. Her şey güzel olurdu ama eksikliklerden de bahsedeceğim. Gördüğünüz gibi, her LED'in akımı bir dirençle sınırlandırılmalıdır ve büyük LED matrisleri oluştururken bu oldukça emek yoğun hale gelir. Fazlası var ilginç çözüm LED'leri kontrol etmek için - bir kaydırma yazmacı olan ve aynı zamanda her çıkıştaki akımı sınırlayan DM13A sürücüsü. Bir dahaki sefere bunu size anlatacağım ve bir bonus olarak - 74HC595 kullanılmadan basitleştirilmiş bir eleman tabanı üzerine monte edilen ilk LED küpüm, 5x5x5.

+37 almayı planlıyorum Favorilere ekle İncelemeyi beğendim +35 +61

Bir flip-flop kaydırma yazmacı, aralarında belirli bağlantılara sahip olan ve tek bir cihaz gibi davrandıkları bir dizi flip-flop'tur. Sıralı (kaydırma) kayıtlar, taşıma devreleri ile bağlanan bir bit devreleri zinciridir.

Sağa bir bit kaydırmalı tek çevrimli kayıtlarda (Şekil 7), bir senkronizasyon sinyali alındığında kelime kaydırılır. Giriş ve çıkış seridir (DSR - Veri Seri Sağ). Şekil 8, sola kaydırmalı bir yazmacın devresini göstermektedir (DSL veri girişi - Veri Seri Sol) ve Şekil 9, her iki bitişik bit ile flip-flop'lar arasında bağlantıların olduğu bir ters yazmaç oluşturma ilkesini göstermektedir, ancak karşılık gelen sinyaller bu bağlantılardan yalnızca birinin çalışmasına izin verir (“sol” ve “sağ” komutları aynı anda verilmez).

Şekil 7. Sağa kaydırmalı yazmaç devresi


Şekil 8. Sola kaydırma yazmaç devresi


Şekil 9. Ters kayıt devresi

Senkronizasyon gereksinimlerine göre, bitler arası bağlantılarda mantıksal öğeler bulunmayan kaydırmalı yazmaçlarda, bazı flip-floplar, bitler arası bağlantıların etkinleştirme seviyesi eylemi sırasında tekrar tekrar geçiş yapabildiğinden, tek aşamalı seviye kontrollü flip-floplar kullanılamaz. kabul edilemez olan saat sinyali. Bu şemalarda dinamik kontrollü (iki aşamalı) tetikleyiciler kullanılmalıdır.

Bitler arası bağlantılarda mantıksal elemanların ve ayrıca birim derinliği olmayan mantıksal devrelerin ortaya çıkışı, kayıtların çalışma koşullarının yerine getirilmesini kolaylaştırır ve bu devreler için uygun flip-flop türlerinin aralığını genişletir.

Çok çevrimli kaydırma yazmaçları çeşitli saat dizileri tarafından kontrol edilir. Bunlardan en ünlüsü, bir seviye tarafından kontrol edilen basit tek aşamalı tetikleyiciler üzerine kurulu, ana ve ek kayıtlara sahip itme-çekme olanlardır. C1 saatinde, ana kaydın içeriği ek kayda yeniden yazılır ve C2 saatinde ana kayda geri döner, ancak bitişik bitlere döner, bu da bir kelime kaydırmaya karşılık gelir. Ekipman maliyetleri ve performans açısından bu seçenek, iki aşamalı flip-flop'lu tek döngülü kayda yakındır.

Kaydırma yazmacı, aralarında belirli bağlantılara sahip bir dizi flip-flop içerir ve bu bağlantıların organizasyonu, tüm flip-floplar için ortak olan bir saat darbesi uygulandığında, her bir flip-flop'un çıkış durumu kaydırılacak şekildedir. komşu olan. Bağlantıların organizasyonuna bağlı olarak bu kayma sola veya sağa doğru gerçekleşebilir:

Sola kay

Sağa kaydır

Kayıt defterine bilgi girişi yapılabilir Farklı yollar bununla birlikte, paralel veya seri giriş en sık kullanılır; burada bir ikili sayı ya kaydın tüm bitlerine aynı anda veya zaman içinde ayrı ayrı bitlere sırayla girilir. Darbe sayaçlarında, sıralı bilgi girişi ve çıkışı olan ve sağa kaydırmalı kaydırma kayıtları kullanılır. Şekil 10a, RS flip-flop'larda yapılan dört bitlik kaydırma yazmacının diyagramını göstermektedir. Bu devrede flip-flopun her Q çıkışı bir sonraki rakamın S girişine ve her çıkış da R girişine bağlanır.Tüm flip-flopların saat girişleri birbirine bağlanır ve senkronizasyon sinyali NAND geçidi (DD7) aracılığıyla ortak bir darbe ile alınır. İlk tetikleyicinin durumu, AND-NOT mantıksal elemanının (DD5) X1, X2 girişlerindeki giriş sinyalleri tarafından belirlenir. Mevcut bilgi X1 girişine ve bunun X2 girişine iletilmesine izin verecek bir sinyal sağlanır. NOT kapısı (DD6), S girişine uygulanan giriş sinyalini tersine çevirmek için kullanılır.

Şekil 10b'de tetikleyicilerin çıkış sinyallerinin zamanlama diyagramları ve ilk haneye tek bir sinyal yazarken kayıtların durumu gösterilmektedir. Birinci saat darbesinin gelmesi üzerine, X1 ve X2 girişlerinde X1 = X2 = 1 sinyalleri ayarlanırsa ve bunlar daha sonra ikinci saat darbesinin gelişiyle kaldırılırsa, sonuç olarak Q1 = 1 sinyali elde edilir. İkinci saat darbesinin gelmesiyle birlikte ilk tetikleyici Q1 = 0 sinyalini kaydeder ve daha önce tetikleyicinin çıkışında bulunan ikinci tetikleyicinin çıkışında Q2 = 1 sinyali görünür. ikinci tetikleyici. Sonraki saat darbeleri geldiğinde, tek bir sinyal sırayla üçüncü ve dördüncü flip-floplara taşınır, ardından tüm flip-floplar sıfır durumuna ayarlanır.


Şekil 10. Dört fazlı kaydırma yazmacının şeması, sinyallerinin zamanlama diyagramları ve ilk basamağa tek bir sinyal yazarken kayıt durumları

Kaydırma kayıtları aynı zamanda D flip-flopları veya JK flip-flopları kullanılarak da uygulanabilir. Tüm vardiya kayıtları aşağıdaki hükümlere sahiptir:

  • 1) başlangıç ​​durumunu önceden ayarlamak ve ilk tetikleyiciye bir ünite girmek gereklidir
  • 2) n adet flip-flop'tan oluşan bir kayıt için, n adet giriş saati darbesinin gelmesinden sonra, başlangıçta girilen birimin çıkışı sağlanır, bunun sonucunda tüm kayıtların doğrudan çıkışları sıfır durumunda olur.

Entegre kaydırma yazmacı çipleri tersine çevrilebilir, yani herhangi bir yönde kaydırma gerçekleştirirler: sola veya sağa. Kaymanın yönü kontrol sinyalinin değeri ile belirlenir.

Şekil 11. Tek uçlu RS flip-flop'larda kaydırma yazmacının uygulanması

Seri kaydırma yazmacının iki dezavantajı vardır: her saat darbesinde yalnızca bir bitlik bilginin girilmesine izin verir ve buna ek olarak, yazmaçtaki bilgi sağa her kaydırıldığında en sağdaki bilgi biti kaybolur. Şekil 12'de 4 bitlik bilginin eş zamanlı paralel yüklenmesine olanak sağlayan bir sistem gösterilmektedir.

Şekil 12. 4 bitlik paralel yazmacın blok diyagramı

Bu cihazdaki 1, 2, 3, 4 girişleri bilgi girişleridir. Bu sistem başka bir kullanışlı özellik ile donatılabilir - cihazın çıkışından gelen veriler girişine geri döndüğünde ve kaybolmadığında bilgilerin dairesel hareket etme olasılığı.


Şekil 13. Dört bitlik paralel halka kaydının mantık diyagramı

4 bitlik paralel halka kaydırmalı yazmacın devresi Şekil 13'te gösterilmektedir. Bu kaydırma yazmacında dört adet JK flip-flop kullanılmaktadır. Geri besleme döngüsü sayesinde, kaydediciye girilen ve genellikle dördüncü flip-flop'un çıkışında kaybolan bilgi, kaydırma yazmacı boyunca dolaşacaktır. Kaydı temizleyen sinyal (çıkışlarını 0000 durumuna ayarlamak) CLR girişindeki mantıksal seviye 0'dır. Paralel veri yükleme girişleri 1, 2, 3 ve 4, tetikleyici ön ayar (PS) girişlerine bağlanarak mantık 1'in herhangi bir çıkışta (1, 2, 3, 4) ayarlanmasına olanak tanır. Bu girişlerden birine kısa süreliğine de olsa mantıksal 0 uygulanırsa, ilgili çıkışta mantıksal 1 ayarlanacaktır. Tüm JK flip-flop'ların C girişlerine saat darbelerinin uygulanması, yazmaçtaki bilginin C girişine kaymasına yol açar. Sağ. Veriler dördüncü tetikleyiciden birinci tetikleyiciye (bilginin dairesel hareketi) aktarılır.

Satır no.

Saat No.

Paralel kaydırmalı yazmacın çalışma prensibi Tablo 1'de açıklanmıştır. Güç açıldığında, herhangi bir ikili kombinasyon, örneğin tablonun 1. satırındaki gibi kayıt çıkışlarında ayarlanabilir. CLR flip-floplarının girişlerine 0 mantığının uygulanması kaydın temizlenmesini başlatır (satır 2). Daha sonra (satır 3) ikili kombinasyon 0100 kayıt defterine yüklenir.Ardışık saat darbeleri girilen bilginin sağa kaymasına neden olur (satır 4 - 8). 5. ve 6. satırlarda: en sağdaki flip-flop'tan (dördüncü) en soldaki flip-flop'a (birinci) aktarılır. Bu durumda yazmaçta bir birimin dairesel hareketinden bahsedebiliriz. Daha sonra (satır 9), kaydın temizlenmesi CLR girişi kullanılarak yeniden başlatılır. Yeni ikili kombinasyon 0110 yüklenir (satır 10). 5 saat darbesinin (satır 11-15) uygulanması, bilginin 5 konum sağa doğru dairesel bir kaymasına neden olur. Veriyi orijinal durumuna döndürmek için 4 saat darbesi gerekir.

Şekil 13'teki kaydırma kaydındaki geri bildirim döngüsünü kırarsak, düzenli bir paralel kaydırma kaydı elde ederiz: bilginin dairesel hareket olasılığı ortadan kaldırılacaktır.

Şekil 14. RS flip-flop'larda üç döngülü kaydırma yazmacı

Kayıtları oluşturmak için bu elemanların sıralı bağlantısı kullanılır.

Bir seri kayıt (kaydırma yazmacı veya kaydırma yazmacı) genellikle seri kodu paralel koda (veya tam tersi) dönüştürmek için kullanılır. Seri kodun kullanımı, sınırlı sayıda bağlantı hattı üzerinden büyük miktarda ikili bilginin iletilmesi ihtiyacıyla ilişkilidir. Deşarjların paralel olarak iletilmesi sırasında çok sayıda bağlantı iletkeni gereklidir. İkili bitler tek bir iletken üzerinden sırayla, parça parça iletilirse, karttaki bağlantı hatlarının boyutu (ve çip paketlerinin boyutu) önemli ölçüde azaltılabilir.

Temel olarak monte edilmiş ve seri kodun paralele dönüştürülmesine izin veren bir seri (kaydırma) kaydının şematik diyagramı Şekil 1'de gösterilmektedir. Hem potansiyel çalışan flip-floplar (mandallı flip-floplar) hem de flip-floplar varsa lütfen unutmayın. -floplar kenarda çalışıyorsa, yalnızca kenarda çalışan D flip-flopları sıralı (kaydırma) yazmaç uygulamak için uygundur!


Şekil 1. Sıralı (kaydırmalı) kayıt devresi

Kaydırma yazmacının içinde, flip-floplar seri olarak bağlanır, yani birincinin çıkışı ikincinin girişine vb. bağlanır. Dikkate alınan seri kayıt Şekil 2'de gösterilmektedir.


Şekil 2. Sıralı (kaydırma) kaydın grafiksel gösterimi

Seri (kaydırma) kayıtlardaki ve paralel kayıtlardaki saat girişleri birleştirilir. Bu, sıralı (kaydırma) kayıt defterinde yer alan tüm flip-flopların eş zamanlı durum değişikliğini sağlar.

Seri kodun seri (kaydırmalı) kayıt defterinde paralele dönüştürülmesi aşağıdaki şekilde yapılır. İkili bilginin bireysel bitleri sırayla D0 kaydırma yazmacının girişine beslenir. Her bir bit'e, seri yazmaç C'nin saat girişine uygulanan ayrı bir saat darbesi eşlik eder.

Birinci saat darbesi geldikten sonra D0 girişinde bulunan lojik seviye seri (shift) yazmacın birinci tetikleyicisinde depolanıp çıkışına gider ve ikinci flip-flop'un girişine bağlı olduğundan aynı zamanda onun girişine. Eğer seri (kaydırma) yazmacı potansiyelle çalışan D flip-flopları üzerine monte edilmişse, o zaman bu bit hemen ikinci D flip-flopuna yazılacaktır! Bizim durumumuzda bu gerçekleşmez, çünkü bu anda C saat girişindeki kenar zaten sona ermiştir.

İkinci saat darbesi geldikten sonra seri (kaydırma) kaydının ikinci tetikleyicisinin girişinde mevcut olan mantıksal seviye burada depolanır ve çıkışına gider ve üçüncü flip-flop'un girişine bağlı olduğundan, aynı zamanda girişine de. Aynı zamanda, giriş seri kodunun bir sonraki biti, seri (kaydırma) kaydının ilk flip-flop'unda saklanır.

Dördüncü saat darbesinin gelmesinden sonra, D0 girişinde sıralı olarak bulunan bitlerin mantıksal seviyeleri, seri (kaydırma) kaydının flip-flop'larına yazılacaktır. Artık bu bitler örneğin göstergelerin görüntülenmesi için kullanılabilir.

Zamanlama şeması Şekil 3'te gösterilen seri (kaydırma) kaydının girişine bir sinyal gelmesine izin verin, ardından bu kaydın çıkışlarının durumu Tablo 1'de yazılan değerleri sırayla alacaktır.



Şekil 3. Kaydırmalı yazmaç işleminin zamanlama diyagramı

Şekil 3'te mantık seviyeleri ile birlikte bağlantı hattı boyunca iletilen veya kaydırma yazmacının çıkışlarında bulunan bit değerleri kaydedilmiştir.

Çubuk numarası 1 2 3 1
Q0 1 0 1 1
1. Çeyrek X 1 0 1
2. Çeyrek X X 1 0
3. Çeyrek X X X 1

Sıralı (kaydırma) kaydın uygulanmasına bir örnek olarak, yerli 1564IR1 mikro devresini veya yabancı 74NS164'ü adlandırabiliriz.

jk parmak arası terlikler basamak sırasını korumak için birbiri ardına açılabilir. Bu tasarım adı verilen kaydırma yazmacı, Şekil 2'de gösterilmiştir. 13.27. Şema adını buna dayanarak aldı

Pirinç. 13.27. Seri bağlı JK flip-flop'lardan oluşan 4 bitlik kaydırma yazmacı.

her saat darbesinde yeni bir rakam almasını sağlamak, sürgülü Daha önce ezberlediğiniz rakamları bir yere yenisini yerleştirebilirsiniz.

Bu kayıt şu prensibe göre çalışır: ilk giren ilk çıkar(İlk Giren İlk Çıkar, FIFO).

Şekil 2'de gösterilen kaydırma yazmacının çalışmasını ele alalım. 13.27. Sıfırlama hattı önce mantıksal 1'e sürülür ve ardından 0'a sıfırlanır. Şimdi veri girişinin başlangıçta 1 olduğunu ve saat girişine bir dizi saat darbesinin uygulandığını varsayalım. Bu durumda, flip-flop FF1'in girişinde yüksek bir seviye ve girişinde düşük bir seviyesi vardır, böylece ilk saat darbesinden sonra çıkış Q seviye yüksek olarak ayarlanmıştır. Bu arada giriş sinyalinin 0 değerine döndüğünü ve öyle kaldığını varsayalım. İkinci saat darbesi sırasında, FF2'nin girişindeki/flip-flopundaki yüksek seviye çıkışına aktarılır ve 2. Soru mantıksal 1 değerini alır. Aynı zamanda mantıksal 0, flip-flop FF1'in / girişinde çalışır, böylece ikinci saat darbesi çıkışı düşük olarak ayarlar; Veri girişi 0 kalırsa, çıkış her saat darbesinde düşük kalacaktır. Ancak mantık 1 biti her saat darbesinde bir bit daha ileri gider, böylece dört darbeden sonra çıkışa ulaşır. S4.Şimdi toplam 4 bitlik giriş verisi depolanıyor. Sonraki saat darbeleri bu verilerin kaybolmasına neden olurken, daha yeni veriler muhafaza edilecektir.

Şekil 2'de gösterilen kaydırma kaydında. 13.27, gerekirse çıkışlara erişim sağlayarak depolanan verileri paralel biçimde gözlemlemek mümkündür. Ç v Ç 2, Ç 3 Ve S4. Bu tasarım, seri giriş, paralel çıkış kaydı olarak bilinir: veriler, tek bir giriş aracılığıyla seri olarak girilmelidir, ardından yazmacın çıkışlarında paralel olarak kullanılabilir. Bu seriden paralele dönüştürme, örneğin bir bilgisayar diskinden okunan program bitlerini ana belleğe giriş için paralel koda dönüştürmek için kullanılan çok yaygın bir işlemdir.

Her flip-flop'un ortak sıfırlama girişine ek olarak ayrı bir set girişi de varsa bu girişler üzerinden paralel olarak veri girişi yapılabilir. Bu şekilde "yüklenen" veriler, saat darbeleri uygulanarak Q4 çıkışından seri biçimde alınabilir. Böyle bir kayıt, paralelden seriye dönüştürücü görevi görür ve genellikle çok sayıda çıkışta (örneğin 16 çıkış) aynı anda görünen sinyallerle temsil edilen bir mikroişlemciden gelen veri çıkışını, bir ağ üzerinden iletim için seri koda dönüştürmek için kullanılır. bir ağa veya modeme giden tek bir çift kablo. Verileri paralelden seriye ve paralelden seriye dönüştürmek için kullanılabilecek popüler bir tasarım, evrensel asenkron alıcı-vericidir; hat üzerinde çalışmak için gerekli kaydırma yazmaçlarını, kontrol devresini ve sürücüleri tek bir entegre devrede içerir.

Şekil 2'de gösterilen şemada ise. 13.27'de, Q 4 çıkışı veri girişine bağlanır, bu durumda kurulumun girişleri aracılığıyla paralel olarak girilebilen veriler hiçbir zaman kayıt defterinden çıkamayacak, sadece içinde dolaşacaktır. Bu devreye yazmaç denir döngüsel aktarım veya halka sayacı. Bir halka sayıcıya bağlanan ve 0'dan 9'a kadar numaralandırılmış 10 adet flip-flop kullanılarak bir ondalık sayıcı elde edilebilir. Başlangıçta, tetik numarası 0 şu şekilde ayarlanmıştır: yüksek seviye ve geri kalanı sıfıra sıfırlanır. Sayılacak darbeler daha sonra saat girişine uygulanır, böylece her giriş darbesinin gelişiyle mantık 1 bir flip-flop'tan diğerine hareket eder. Dokuz darbeden sonra, 9 numaralı tetikleyiciye mantıksal 1 yazılacak ve bir sonraki darbe başlangıç ​​durumuna geri dönecektir. 9 numaralı flip-flopun çıkışını başka bir ring sayacının girişine bağlamak içine onlarcaların yazılmasına olanak tanıyacak, başka bir ring sayacının da yüzlerce yazabilmesini sağlayacaktır. Bu devrenin bariz zarafetine rağmen, ikili olarak saymak ve ardından ikili sayacın çıkışını ondalık sayıya dönüştürmek neredeyse her zaman daha uygundur.

Zil ölçerin başka bir uygulaması da arabanın elektronik ateşleme sistemindeki dağıtıcının değiştirilmesidir. Ateşleme kıvılcımı oluşturmak için mekanik kam açma ve kapama temas noktaları yerine, motor volanına yerleştirilmiş optik veya manyetik bir sensör kullanılarak saat darbeleri üretilir. Burada her motor silindiri için bir rakam bulunan halka sayacındaki daire içinde mantıksal 1 kaydırma kullanılmaktadır. Saat darbesinin fazı, karışımı ateşlemek için her aşamada mantık 1'in tam olarak doğru zamanda görüneceği şekilde dikkatlice ayarlanabilir. Ateşleme zamanlaması düzeltmesi bu şekilde kolayca ayarlanır ve dahası, bir kez ayarlandıktan sonra elektronik dağıtıcıda mekanik aşınma olmadığından asla değişmez.

Şekil 2'de gösterilen kaydırma yazmacı devresi. 13.27, her tür kaydırma yazmacı ve halka sayıcıyla yapılan deneyler için bir temel olarak kullanılabilir. IC 74LS76, bir I^-flip-flop olarak önerilir: her mikro devre, ayrı ayarlama ve sıfırlama girişlerine sahip bir negatif kenar tarafından tetiklenen iki flip-flop içerir. Bu devrenin pin çıkışı Ek 4'te verilmiştir.