Genel UygulamalarArşiv

VHDL ile Sabit Noktalı Sayılarda Çarpma İşleminin Gerçeklenmesi

Çarpma işleminde yöntem, onluk tabanda yapılan çarpma işlemi gibi fakat ikilik sistemde yapılmaktadır.Aşağıdaki örnekte işlem kolaylığı olması açısından tam kısım 2 bit noktalı kısım ise 3 bit olarak alındı. Sayı_1 = 1.125           →        01.001 Sayı_2 = 0.875           →        00.111 Sayı_1 * Sayı_2 = 0.984375 Bizim sabit noktalı sayı formatı ile elde ettiğimiz sayıyı hesapalarsak: Sayı

Altera De0 Nano ile Servo Motor Sürme

Servo motorlarda,PWM adı verilen Darbe Genişlik Modülasyonu tekniği sayesinde noktadan noktaya konum-hız-ivme kontrolü yapılabilmektedir. Uygulamada kullanacağımız servo motor piyasada rahatlıkla bulunabilen ve oldukça ucuz olan Tower Pro adlı üreticinim Sg90 modelli ürünüdür. Servo motorun datasheetini incelediğimizde PWM aralığının 20 ms, maksimum duty cycle değerinin 2 ms, minimum duty cycle değerinin ise 1 ms olduğunu görmekteyiz.

Dijital Kronometre Uygulamasının Nexys 4 Kartı Üzerinde Gerçeklenmesi

Aşağıda ayarlanabilir dijital koronometre uygulamasının Nexys 4 kartı üzerinde gerçeklenmesine ait kodlar ve videolar gösterilmiştir. kronometre.vhd dosyası saat kontrol işlemlerinin yapıldığı ana modüldür. Saniye ve dakika ayarları için min_sec_digit_cntrl.vhd  modülü tasarlanmıştır. Saat ayarları için ise hour_digit_cntrl.vhd modülü tasarlanmıştır. Digital Kronometre tasarımında durdurma ve resetleme özelliği sağlanmıştır. Kronometrenin çalışmasına ilişkin video aşağıdadır.            

VHDL ile Generic Döngüsel Artıklık Denetimi (CRC) Tasarımı

  Döngüsel Artıklık Denetimi (CRC) veri iletiminin doğru yapılıp yapılmadığının kontrolünü sağlamak için kullanılan hata tespit yöntemidir. Standarlarda farklı uzunluklarda CRC tanımlamaları yapılmıştır. Temelde XOR işleminin gerçekleştirilen CRC, farklı polinomlar ile de gerçekleştirilebilmektedir. Örneğin SD kartlarda kullanılan CRC7 ifadesi polinomu x7 + x3 + 1 şeklindedir.  Şekil 1’de CRC 7 için hesaplama blok şeması verilmiştir.

VHDL ile Ekran Sürme (VGA, SVGA, XGA, WXGA, FullHD)

  Uzun bir aradan sonra birazda can sıkıntısından dolayı yeni bir yazı yazmaya karar verdim. Tabiri caizse ders çalışmamak için yapılan anlamsız hareketler (yazar burada ilgili ekşisözlük başlığını şiddetle tavsiye eder) serisine yeni bir soluk getirerek FPGA ile VGA ekran sürelim dedim. Önce gerekli malzemeler: 1 adet NEXYS4 FPGA Kartı (Basys3,2, Ailesi de olabilir) Vivado