SR Mandalı nasıl anlaşılır


14

Başımı SR Mandalının nasıl çalıştığına dolamıyorum. Görünüşe göre, R'den bir giriş hattı ve S'den başka bir giriş hattı bağlarsınız ve Q ve Q in cinsinden sonuç almanız gerekir.

Ancak, hem R hem de S diğerinin çıkışından giriş gerektirir ve diğerinin çıkışı diğerinin çıkışından giriş gerektirir. Önce tavuk veya yumurta ne geliyor ??

Bu devreyi ilk kez taktığınızda, nasıl başlar?

SR Mandalı


1
Sonunda Ama Nasıl Biliyor kitabında gerçekten harika bir cevap buldum . Bunu sayfa 24'teki bağlantıdan görebilirsiniz.
CodyBugstein

SR Mandalının daha iyi anlaşılması ve 00, 01, 10 ve 11 gibi farklı girişler için nasıl davrandığı için bu videoyu izleyin. www.youtube.com/watch?v=VtVIDgilwlA

Yanıtlar:


5

Algısal bir soru. Aslında, bu mandalı bir simülasyon programında oluşturursanız, gerçekten hangi durumda başlayacağını tahmin edemeyeceğini gösterecektir:

NOR kapıları olan RS mandalı, çoğu sinyal "bilinmeyen" için KIRMIZI renktedir

Ancak girişlerden birini yüksek ayarlarsanız (bunlar soldaki düğmelerdir), sinyal içinden yayılır (unutmayın, 1 VEYA [herhangi bir şey] 1'e eşittir) ve devre bu durumu kilitler:

Aynı mandal;  bir giriş yüksek;  çizgilerin hepsi açık veya koyu yeşile döner

Bunlar NOR kapılarıdır, bu nedenle girişlerden biri yüksek olduğunda tersine çevrilmiş çıkış azalır. Kullandığım program Logisim. Küçük ve başlamak için tavsiye ederim. Mantık derleyicileri (FPGA ve diğer her şey) başlatılmamış durumlardan şikayet etmeyi sever. Bu harika bir ilk örnektir.

Şimdi, gerçek hayatta, devrenin kendi başına bir veya başka bir duruma rasgele kilitleneceğini biliyorum. Diğerleri bunu işaret etti. Ancak bazen, bir eyalette veya başka bir yerde güvenilir bir şekilde başlaması önemlidir ve tüm uyarılar budur.


Büyük açıklama için teşekkürler .. Seni doğru alırsam, takılı olduğunda devre rastgele bir durumda başlar?
CodyBugstein

@Imray "Rasgele durum" ifadesini değil, "tanımlanmamış durum" ifadesini kullanırım. Rastgele seçim yapabilir, her seferinde aynı şey olabilir, önemli olan bilmemeniz ve umursamamanızdır. Yapmanız gereken tek şey, çıktıya güvenmeye başlamadan önce mandalı (R veya S'yi kısaca çarparak) başlatmanız gerektiğini fark etmektir.
Scott Chamberlain

Cevabınızı tekrar okudum ve daha önce kaçırdığım şeyleri anladım. Harika bir açıklama!
CodyBugstein

5

Bir flip-flop, iki kararlı bir multivibratör olarak uygulanır; bu nedenle, Q ve Q 'nun, izin verilmeyen S = 1, R = 1 dışındaki tüm girişler için birbirinin tersi olduğu garanti edilir. SR flip-flop için uyarma tablosu, girişlere sinyaller uygulandığında ne olduğunu anlamaya yardımcı olur.

S R  Q(t) Q(t+1)   
----------------
0 x   0     0       
1 0   0     1   
0 1   1     0   
x 0   1     1   

Q ve Q 'çıkışları durumları hızla değiştirecek ve S ve R'ye sinyaller uygulandıktan sonra sabit bir durumda duracaktır.

Example 1: Q(t) = 0, Q'(t) = 1, S = 0, R = 0. 

State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(0 OR 1) = 0
         Q'(t+1 state 1) = NOT(S OR Q(t)) =  NOT(0 OR 0) = 1

State 2: Q(t+1 state 1)  = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 1) = 0
         Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  =  NOT(0 OR 0) = 1     

Since the outputs did not change, we have reached a steady state; therefore, Q(t+1) = 0, Q'(t+1) = 1.


Example 2: Q(t) = 0, Q'(t) = 1, S = 0, R = 1

State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(1 OR 1) = 0
         Q'(t+1 state 1) = NOT(S OR Q(t))  = NOT(0 OR 0) = 1


State 2: Q(t+1 state 2)  = NOT(R OR Q'(t+1 state 1)) = NOT(1 OR 1) = 0
         Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  =  NOT(0 OR 0) = 1     


We have reached a steady state; therefore, Q(t+1) = 0, Q'(t+1) = 1.


Example 3: Q(t) = 0, Q'(t) = 1, S = 1, R = 0

State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(0 OR 1) = 0
         Q'(t+1 state 1) = NOT(S OR Q(t)) =  NOT(1 OR 0) = 0

State 2: Q(t+1 state 2)  = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
         Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  = NOT(1 OR 0) = 0     

State 3: Q(t+1 state 3)  = NOT(R OR Q'(t+1 state 2)) = NOT(0 OR 0) = 1
         Q'(t+1 state 3) = NOT(S OR Q(t+1 state 2))  = NOT(1 OR 1) = 0     

We have reached a steady state; therefore, Q(t+1) = 1, Q'(t+1) = 0.


Example 4: Q(t) = 1, Q'(t) = 0, S = 1, R = 0

State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
         Q'(t+1 state 1) = NOT(S OR Q(t)) =  NOT(1 OR 1) = 0

State 2: Q(t+1 state 2)  = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
         Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  = NOT(1 OR 1) = 0     

We have reached a steady state; therefore, Q(t+1) = 1, Q'(t+1) = 0.


Example 5: Q(t) = 1, Q'(t) = 0, S = 0, R = 0

State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
         Q'(t+1 state 1) = NOT(S OR Q(t)) =  NOT(0 OR 1) = 0

State 2: Q(t+1 state 2)  = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
         Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  = NOT(0 OR 1) = 0     

We have reached a steady; state therefore, Q(t+1) = 1, Q'(t+1) = 0.


With Q=0, Q'=0, S=0, and R=0, an SR flip-flop will oscillate until one of the inputs is set to 1.

    Example 6: Q(t) = 0, Q'(t) = 0, S = 0, R = 0

    State 1: Q(t+1 state 1)  = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
             Q'(t+1 state 1) = NOT(S OR Q(t)) =  NOT(0 OR 0) = 1

    State 2: Q(t+1 state 2)  = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 1) = 0
             Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1))  = NOT(0 OR 1) = 0     

    State 3: Q(t+1 state 3)  = NOT(R OR Q'(t+1 state 2)) = NOT(0 OR 0) = 1
             Q'(t+1 state 3) = NOT(S OR Q(t+1 state 2)) =  NOT(0 OR 0) = 1

    State 4: Q(t+1 state 4)  = NOT(R OR Q'(t+1 state 3)) = NOT(0 OR 1) = 0
             Q'(t+1 state 4) = NOT(S OR Q(t+1 state 3))  = NOT(0 OR 1) = 0     
    ...


As one can see, a steady state is not possible until one of the inputs is set to 1 (which is usually handled by power-on reset circuitry).

Bir SR flip-flopunun en basit uygulamasını incelersek (bkz. Http://en.wikipedia.org/wiki/File:Transistor_Bistable_interactive_animated_EN.svg ), bunun iki iki kutuplu kavşak transistöründen (BJT) ve dört taneden oluştuğunu keşfederiz dirençler (SPST değiştirme anahtarlarını toprağa, set ve sıfırlama hatlarını toprak potansiyeli ile V + arasında değiştirebilen SPDT anahtarları ile değiştirin). BJT'ler ortak yayıcı eviriciler olarak yapılandırılmıştır. Her bir transistörün toplayıcısı (çıkışı) karşı transistörün tabanına (giriş) geri beslenir. S girişi, kolektör bağlantısı Q çıkışı (R1 / R3'ün birleşme yeri) görevi gören BJT'nin çıkışı ile tel-ORed'dir. R girişi, kolektör bağlantısı Q 'çıkışı (R2 / R4 birleşimi) olarak işlev gören BJT çıkışı ile tel-ORed'dir.

Devre ilk açıldığında, her iki transistör de saniyenin küçük bir kısmı için doygunluk bölgesine ileriye doğru eğilmez, yani hem Q hem de Q 'mantık düzeyinde 1'dir. Her bir toplayıcıda mevcut voltaj tabana beslenir karşıt transistörün, doygunluk bölgesine ileri doğru eğimli olmasına neden olur. İlk önce öne eğimli hale gelen transistör önce akımı iletmeye başlar, bu da kolektör rezistörü boyunca bir voltaj düşüşünün oluşmasına neden olur ve çıkışını mantık seviyesi 0'a ayarlar. Toplayıcı voltajındaki bu düşüş, karşı transistörün önyargılı olmak; bu nedenle, flip-flopun başlangıç ​​durumunun ayarlanması. Temelde öngörülemeyen bir sonuca yol açan bir donanım yarışı koşulu.


Devre animasyonunu sağlanan bağlantıdan yapabilirsiniz, ancak daha basit terimlerle? Yeni başlayan bir lisans dersi
alıyorum

3

Dediğiniz gibi, tanımsız. Uygulamada, mandalı belirli bir duruma sokması gereken geçici veya tuhaflıklar vardır, ancak hangi durumda olacağını garanti etmez. Bunun nedeni, belirli bir başlangıç ​​durumunu tanımlayacak iki kapıda eşleşmemesi (temelde devre gerçek bir dijital SR mandal gibi davranmaz ancak gerçek hayatta olduğu gibi karmaşık bir analog devredir). İlk çıkış az ya Q=1 and ~Q=0da çok rastgele olur Q=0 and ~Q=1.

Veri sayfasından açıkça bahsetmek, asıl başlangıç ​​durumu, kümedeki farklı parçalar, bir tahtaya yerleştirme, çevresel faktörler (sıcaklık / nem / vb.) Ve yaşlanma arasında değişebileceğinden, diğerinin üzerine seçilen bir duruma güvenmem. (hiçbir şekilde faktörlerin tam bir listesi).

Bir durumu tanımlamanın en iyi yolu, başlangıçtan sonra SR mandalını bilinen bir duruma getirmek için seti veya sıfırlamayı kabul etmektir.

Bir yan not olarak, genel olarak S ve R'yi aynı anda öne süren SR mandalları da tanımlanmamış davranışa neden olur ve çıktıları ayarlamak için benzer voodoo'ya güvenirsiniz (gerçek bir uygulama her iki çıkışı da kapatabilir, ikisini rastgele değiştirebilir, her iki çıkışı da açın). Supercat'in bir pim diğerinden önce kalkmamışsa yorumladığı gibi, SR mandalı bilinen bir duruma girebilir, çünkü sadece bir pim iddia edilmektedir. Diğer mandallar / flip-flop türleri farklı bir davranış tanımlayabilir, örneğin JK flip-flopları, çıktıları değiştirmek için her iki pimin de belirtilmesini tanımlar (Q = ~ Qprev, ~ Q = Qprev).


Ama sorum şu: Her iki girdi de henüz mevcut olmayan girdilere güvenirse, nasıl bir şeye ayarlanabilir? Sanki "beni havaya kaldırıyorsun, sonra seni kaldıracağım ve ikimiz de havada
yüzeceğiz

2
@Imray - flip-flop'un bir tarafı, yeni güç verildiğinde her zaman diğerini yener. Hafif zamanlama uyumsuzlukları nedeniyle genellikle her zaman aynı şekilde açılır, ancak bu tür cihazlarda garanti yoktur.
Andy aka

1
Kesinlikle. Bu bir uyumsuzluk fenomenine bağlıdır. Her iki tarafı da tamamen aynı olarak düşünmemelisiniz. Onlar değil. Bunlardan biri daha yavaş, diğeri daha hızlıdır ve bu başlangıçta birinin açılmasına neden olur.
Gustavo Litovsky

Evet, başlangıç ​​durumunun "geçerli" olduğundan emin olmak için bu uyumsuzluğa güvenirim (Q = ~ Q almıyoruz), ancak Q'nun başlangıçta her zaman belirli bir durum olduğundan emin olmak için bu davranışa güvenmem bir partideki parçalar arasında değişebilir, hatta sıcaklık / süre boyunca aynı parça için değişebilir. Tabii ki veri sayfası aksini belirtebilir, ancak genel olarak aksi halde dayanmazdım.
helloworld922

Her iki giriş de "aktif" durumda olduğunda bir mandalın davranışının tanımlanması oldukça yaygındır [bir NOR mandal için yüksek; bir NAND mandalı için düşük], girişlerden birinin diğerinden önce belirgin şekilde pasif olması şartıyla .
Supercat

2

Kapıların ters çevrildiğini unutmayın. Bu olumlu bir geri bildirim döngüsü sağlar. Hem S hem de R'nin sıfır ve bir çıkışın bir olduğunu varsayarsak, bu, diğer çıkışı sıfıra zorlamak için diğer geçide geri beslenir. Bu şekilde, kapılar iki kararlı durumdan birindedir.

S veya R'den birini birine ayarlar ayarlamaz karşılık gelen kapıyı sıfıra çıkarmaya zorlar, bu da diğer kapıyı sıfıra çıkarmaya zorlar. Yine kararlı.

Örneğin, başlangıç ​​durumu: S = 0, R = 0, Q = 0, Q # = 1. Şimdi S = 1 olarak ayarladınız. Bu, alt kapı çıkışını (Q #) 0 olarak değiştirecektir. Bu 0, yukarı doğru beslenir kapısı, bu çıkışı (Q) 1'e zorlar. Bu 1 alt kapıya geri beslenir. S'yi 0 olarak ayarladığınızda, alt kapı hala diğer kapıdan 1 alır. Bu, Q # çıkışını 0'da tutacaktır.

Q zaten 1 ise ve S'yi 1 olarak ayarlarsanız, alt kapıya her iki giriş de 1 olur ve bu nedenle değişiklik olmaz.


Gerçekten çalıştırabilecek hiçbir girdi yoksa Q 'nun nasıl olabileceğini anlamıyorum.
CodyBugstein

Yine, kararlı durum sadece BİR OF Q ve Q # bir olduğundadır. Değilse, (örn. Açıldığında), kapılar, iki kapının gerçek hızına ve benzerlerine bağlı olarak hızlı bir şekilde iki kararlı durumdan birini alacaktır. Kapılar sabit hale geldiğinde, kararlı durumlar arasında geçiş yapmak için iki girişi kullanabilirsiniz.
DoxyLover

1

Bence sorduğunuz önemli şey, mandalın bilinmeyen bir duruma gelmesi ile ilgilidir, bu yüzden bunu bilinen bir duruma nasıl getirebiliriz. Bir NOR geçidine girişlerden biri 1 ise, diğer girişin durumuna bakılmaksızın çıkışın 0 olması gerektiğini hatırlamanız gerekir. Bu nedenle, SET veya RESET giriş kombinasyonlarının uygulanması, mandalın önceki durumundan bağımsız olarak mandalı daima ayarlanmış veya sıfırlanmış duruma getirecektir.


Evet sorumu anlıyorsun! Ancak, yazdıklarınızla hala cevaplanmış hissetmiyorum. Mandalın hiçbir zaman takılmadığını ve aniden ilk kez x ve y'nin takıldığını varsayalım. İlk kapıları geçemedikleri takdirde Q üzerinde nasıl bir etkisi olabilir?
CodyBugstein

R ve S girişlerinin X ve Y değerlerini aldığını kastettiğimi varsayıyorum. X veya Y biriyse, o NOR geçidinin çıktısı 0 olmalıdır ... NOR geçitleri bu şekilde çalışır. Böylece 0, girişi için muhtemelen 0 olan diğer NOR geçidine geri beslenir (X, 1 ise Y 0'dır veya tam tersi). Şimdi, ikinci NOR geçidinin 0 olan iki girişi vardır ve çıkışı 1 olmalıdır. güç açıldıktan hemen sonra 0'a ayarlayın. Diğerlerinin de belirttiği gibi, bu kararsız bir durumdur.
Joe Hass
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.