
TRUE-ARTDAC7 FPGA Geliştirme Kartı ile VHDL Dilinde Kare, Sinüs, Üçgen ve Testeredişi Sinyallerinin Üretimi
Şirketimiz bünyesinde tamamen yerli ve özgün olarak geliştirilen TRUE-ONE FPGA geliştirme kartı kullanılarak VHDL ile ultrasonik sensör tabanlı mesafe ölçüm ve gösterim uygulaması gerçekleştirilmiştir.
Uygulama kapsamında, HC-SR04 ultrasonik mesafe sensöründen alınan Echo sinyali FPGA üzerinde işlenerek cismin sensöre olan uzaklığı santimetre cinsinden hesaplanmıştır. Elde edilen mesafe bilgisi TRUE-ONE kartı üzerinde bulunan 7-segment göstergelerde gerçek zamanlı olarak görüntülenmiş, aynı mesafe değeri kullanılarak kart üzerindeki LED'ler ve buzzer da kontrol edilmiştir.
Vivado tasarım ortamında oluşturulan VHDL projesi, tasarımın daha düzenli ve anlaşılır olması amacıyla farklı modüllere ayrılmıştır. Sensör modülünde ultrasonik sensörün Trigger ve Echo işlemleri gerçekleştirilirken, 7-segment modülünde hesaplanan mesafe bilgisinin göstergelerde görüntülenmesi sağlanmıştır. Hazırlanan alt modüller daha sonra üst modül içerisinde bir araya getirilerek sistemin tamamı oluşturulmuştur.
Ultrasonik sensörün mikro saniye seviyesindeki zamanlama gereksinimlerini karşılayabilmek amacıyla TRUE-ONE kartında bulunan 100 MHz sistem saatinden 1 MHz saat sinyali elde edilmiştir. Bu saat sinyali kullanılarak sensöre yaklaşık 10 µs süreli Trigger darbesi gönderilmiş ve sensörden alınan Echo sinyalinin HIGH seviyesinde kaldığı süre ölçülmüştür.
FPGA dışından gelen Echo sinyalinin sistem saatinden bağımsız olması nedeniyle sinyal, iki aşamalı flip-flop yapısı üzerinden senkronize edilmiştir. Sensörün çalışma sırası ise durum makinesi (FSM) kullanılarak kontrol edilmiştir. Tasarım içerisinde Trigger sinyalinin gönderilmesi, Echo sinyalinin beklenmesi, Echo süresinin ölçülmesi ve yeni ölçüm öncesinde bekleme işlemleri ayrı durumlar halinde gerçekleştirilmiştir.
Echo sinyalinin HIGH seviyesinde kaldığı süre mikro saniye cinsinden ölçülmüş ve HC-SR04 sensörünün çalışma prensibine uygun olarak bu değer kullanılarak santimetre cinsinden mesafe bilgisi hesaplanmıştır. Elde edilen mesafe değeri daha sonra yüzler, onlar ve birler basamaklarına ayrılarak üç basamaklı olarak 7-segment göstergelerde görüntülenmiştir.
7-segment göstergelerin tarama işlemi için kart üzerindeki 100 MHz sistem saatinden ayrıca 1 kHz saat sinyali oluşturulmuştur. Yüzler, onlar ve birler basamakları bu saat sinyali kullanılarak sırayla aktif edilmekte ve yüksek tarama frekansı sayesinde kullanıcı tarafından aynı anda görüntüleniyormuş gibi algılanmaktadır.
Uygulamada mesafe bilgisi yalnızca sayısal olarak gösterilmemiş, aynı zamanda kart üzerinde bulunan 16 LED kullanılarak görsel bir mesafe göstergesi oluşturulmuştur. Ölçülen mesafeye bağlı olarak aktif LED sayısı değiştirilmiş, cismin sensöre 10 cm’den daha fazla yaklaşması durumunda buzzer çıkışı aktif edilerek sesli uyarı oluşturulmuştur.
Hazırlanan VHDL tasarımının sentez ve bitstream oluşturma aşamalarının ardından uygulama TRUE-ONE FPGA geliştirme kartına yüklenerek gerçek donanım üzerinde test edilmiştir. Ultrasonik sensör kartın genişleme pinleri üzerinden sisteme bağlanmış ve sensörün karşısındaki cismin konumu değiştirilerek mesafe ölçümünün, 7-segment göstergelerin, LED'lerin ve buzzer çıkışının eş zamanlı çalışması gözlemlenmiştir.
Bu uygulama ile FPGA üzerinde harici sensör kullanımı, asenkron giriş sinyallerinin senkronizasyonu, clock bölme, durum makinesi tasarımı, mikro saniye seviyesinde süre ölçümü, 7-segment multiplexing ve hiyerarşik VHDL tasarımı gibi temel FPGA tasarım konularının gerçek donanım üzerinde uygulamalı olarak gösterilmesi amaçlanmıştır.
Video, FPGA ve VHDL öğrenmeye başlayan kullanıcıların ultrasonik sensörlerden alınan verilerin FPGA üzerinde nasıl işlenebileceğini ve elde edilen sonuçların farklı çevre birimleri üzerinden nasıl görüntülenebileceğini adım adım takip edebilecekleri şekilde hazırlanmıştır.
True İnovasyon A.Ş. olarak elektronik tasarım, gömülü sistemler, FPGA teknolojileri, sayısal tasarım ve ürün geliştirme alanlarındaki eğitim ve Ar-Ge çalışmalarımıza devam ediyoruz.





