For english version http://dincaysroom.blogspot.com (Not complete yet)

25 Mayıs 2009 Pazartesi

Sık kullanılacak modüller

Kartım hala gelmedi. Kart gelene kadar kullanacağım garanti olan bazı modülleri yazayım dedim. Kartta kullanacağım garanti olan hangi modüller var?
  • 7 bölmeli LED (Pmod kartım sayesinde 7 bölmeli displayim var)
  • Düğmeler için zıplama önleyicisi (Debouncing circuit)
  • LCD kontrol
  • SDRAM kontrol
Kolaydan zora doğru sıraladım. SDRAM kontrol modülü yazmak çok zordur. Sürekli yenileme yapmak, okuma yazma protokolleri, gerekli zamanlama (timing) koşullarına dikkat etmek... Neyse ki Xilinx'in SDRAM için hazır kontrolörü var. http://www.xilinx.com/support/documentation/ip_documentation/opb_ddr.pdf adresinden kontrolörün dökümanına ulaşılabiliyor. Kendisini nasıl bulabiliriz, hiç ilgilenmedim ama ona da sıra gelecek.

Başlangıç olarak 7 bölmeli LED ve zıplama önleyici modülü yaptım. Basit modüller oldukları için ayrıntılı açıklama yapmıyorum.

7 bölmeli LED display modülüne 2 adet 4 bitlik data girişi var. Datada kaç varsa 16'lık düzende LED'lerde gösteriyor. Zaman çoğullamasını kendi yapıyor. Tabii bu yüzden clk lazım. Bir de reset pini olmalı ki modülü kapatabilelim.

Zıplama önleyicinin espirisi, tuşa basıldıktan belli bir süre geçene kadar kendini tuştan gelen sinyale kapaması. Sinyalde bir değişikli olduktan sonra 50 ms çıkışı sabit tutuyor. İnsan eli bir tuşa saniyede 20 defa basamayacağı için bir problem yok. Bekleme süresi 1 saniye olursa tuşa basıp hemen çekilince tuş 1 saniye basılı kalır. Tuşa basılı tutarken bırakıp geri basılırsa 1 saniye bırakılmış kalır. Bir de, asenkron bir giriş olduğu için sinyali bir flip floptan geçirerek kullanmak lazım. Yoksa kararlılık (stability) problemleri çıkabilir.

Kartım gelince ilk bu ikisini deneyeceğim :)

Dosyalar: sevensegment.v, debouncer.v

1 yorum:

  1. elinde lcd display için kod var mı? bende bir tane var fakat klavyeye bağımlı olarak çalışıyor, klavyeden her tuşa bastığında yeni karakter sinyali geliyor, lcd ondan sonra sağa shift ediyor. hesap makinesi projemde bu işime gelmiyor tabii ki.

    YanıtlaSil