FPGA ile led efekt

Başlatan yamak, 30 Eylül 2011, 01:42:42

muuzoo

#15
Alıntı yapılan: kakalive - 30 Eylül 2011, 23:45:22
Eğer butonun değerini örneklerken bounce kontrolü yapmıyorsanız senkronun bozulması bundan kaynaklanıyor olabilir.

@kakalive önemli bir noktaya değinmiş. Tasarladığınız yapıda buton kullanıyorsanız "debounce" şartına da dikkat etmek gerekiyor.

NOT: "Debounce" ne diyenler için geliyor. Bir mikrodenetleyici ya da mikroişlemciye bağladığınız butona bakarak yazılımda bir koşul çalıştırdığınızı varsayın. Butona bastığınızda üreteceğiniz parazitler yüzünden programınız sapıtabilir. Çünkü size göre butona bir kez basılmıştır fakat oluşan "zıplamalar" yüzünden sisteminiz bunu birden fazla kez basılmış olarak algılayabilir. Bu ve bunun gibi durumları  engellemek için "debounce" denen önlem alınır. Butonun uçlarına paralel kapasitör bağlamak, yazılımda gecikme ya da v.b şekilde önlemler almak gibi.

Örnek bir istenmeyen durum :



Örnek bir debounce uygulaması :

LIBRARY ieee;
USE ieee.STD_LOGIC_1164.all;
USE ieee.STD_LOGIC_UNSIGNED.all;

-- Title "Key debounce circuit";
-- Prepared by: D. N. Warren-Smith
-- Updated: 7 February 2001

ENTITY DEBOUNCE IS
PORT (
  Clk       : IN STD_LOGIC;
  Key       : IN STD_LOGIC;  -- active low input
  pulse     : OUT STD_LOGIC);
END DEBOUNCE;

ARCHITECTURE clean_pulse OF DEBOUNCE IS
  SIGNAL cnt       : STD_LOGIC_VECTOR (1 DOWNTO 0);
BEGIN
  PROCESS (Clk)
  BEGIN
    IF Key = '1' THEN
      cnt <= "00";
    ELSIF (clk'EVENT AND Clk = '1') THEN
      IF (cnt /= "11") THEN cnt <= cnt + 1; END IF;
    END IF;
    IF (cnt = "10") AND (Key = '0') THEN pulse <= '1'; ELSE pulse <= '0'; END IF;
  END PROCESS;
END clean_pulse;


Kaynak : http://users.senet.com.au/~dwsmith/vhdl.htm#Key

@teknikelektronikci FPGA ile ilgili bir yazı dizisi yayınlamak uzun zamandır aklımda. Fakat fırsat bulup da zaman ayırmak her zaman mümkün olmuyor. Bu yakınlarda muhtemelen bir başlangıç yapacağım bu iş için. Şu an yüksek lisans tezimle uğraşıyorum arada yazmaktan sıkıldığımda :) yazı dizisi üzerinde çalışırım.
gunluk.muuzoo.gen.tr - Kişisel karalamalarım...

yamak

Teşekkür ederim muuzoo.Bundan kaynaklanıyo olabilir gerçekten.

teknikelektronikci

muzoo hocam cok güzel bir haber bu ;)
ayrica Y.lisansinizda basarilar
yamak bende altera de0 boardu var ;)
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

pic365

Alıntı yapılan: yamak - 01 Ekim 2011, 00:30:08
söylediğiniz şeyi biraz açar mısınız? Ya da kodlarda değiştirmem gereken şeyi söyler misiniz? Tam anlayamadım da
Ben ortayı açamadan muuzoo golü atmış bile. Kendisine teşekkür ediyorum.  :)