Mikrodenetleyicilerin artan popülaritesi ile mühendisler, mikro denetleyicileri FPGA'lardan daha fazla kullanıyorlar. Mikrodenetleyiciler üzerinde baskın hale gelmiştir FPGA nedeniyle ucuz maliyet iyi bir destek, kolay kullanılabilirlik, büyük topluluk, çok yönlülük, programlama vb Ama bu mikroişlemci dışındaki bu tür belirtilen talimatlara gibi bazı sınırlamaları vardır, programların sıralı yürütme (sıralı işlem), esneklik ve yeniden kullanılabilirlik eksikliği vb. Bununla birlikte, FPGA'lar programların paralel yürütülmesine sahip olduğundan ve esnek ve yeniden kullanılabilir olduğundan, FPGA bu sınırlamaların üstesinden gelebilir ve farklı görevler için defalarca yeniden programlanabileceği anlamına gelir.
FPGA nedir ve Mikrodenetleyiciden farkı nedir?
Bir Saha Programlanabilir Kapı Dizisi mantık kapıları dizisi vardır ve kullanıcı yeni tanımlanan yapılandırmalarda mevcut yapılandırmaları üzerine ve alan kendi dijital devrenin oluşturabilir, yani, bu dizi alanda programlanabilir bir entegre devre silikon çip. FPGA'lar boş sayfa olarak düşünülebilir. FPGA'lar kendi başlarına hiçbir şey yapmazlar, oysa FPGA için genellikle bit dosyası olarak adlandırılan bir yapılandırma dosyası oluşturmak tasarımcılara kalmıştır. FPGA, bir bit dosyasıyla yüklendiğinde dijital devre gibi davranacaktır.
Mikrodenetleyicilerde ise, mikro denetleyiciler sahada programlanamadığı veya yeniden yapılandırılamadığı için durum böyle değildir. Kullanıcının mevcut konfigürasyonlarının üzerine yazmasına ve sahada herhangi bir dijital devre oluşturmasına izin verilmez. Mikrodenetleyicilerin programlanması kolaydır ve topluluk da geniştir. Mikrodenetleyiciler, IC biçiminde gelen özel yapılmış mini bilgisayarlardır, FPGA'lar ise yalnızca elektriksel olarak yeniden bağlanabilen mantık blokları içerir. Ayrıca mikrodenetleyiciler açısından FPGA'lara göre daha az güç tüketir. FPGA'lerin maliyetli olduğu biliniyor ve söz konusu herhangi bir cihazı oluşturmaya geldiğinde mikrodenetleyiciden daha fazla maliyet gerektiriyor. FPGA'ların kurulumu çok daha fazla zaman alırken, mikro denetleyiciler belirli uygulamalar için hazır olarak üretilebilir.
FPGA Mimarisi
Bir FPGA, geliştiricilerin ve tasarımcıların tam kontrolü altında olan düzenli bir mantık hücreleri veya modüller ve ara bağlantılar yapısına sahiptir. FPGA, Yapılandırılabilir Mantık Bloğu (CLB), G / Ç Blokları veya Pedler ve Anahtar Matrisi / Ara Bağlantı Kabloları gibi başlıca üç ana bloktan oluşur. Her blok aşağıda kısaca tartışılacaktır.
- CLB (Yapılandırılabilir Mantık Bloğu): Bunlar FPGA'nın temel hücreleridir. Bir 8-bit fonksiyon üreteci, iki 16-bit fonksiyon üreteci, iki kayıt (flip-flop veya mandal) ve yeniden programlanabilir yönlendirme kontrollerinden (çoklayıcılar) oluşur. CLB'ler, diğer tasarlanmış işlev ve makroları uygulamak için uygulanır. Her CLB'nin her iki tarafında, mantığın haritalanması ve bölümlenmesi için onları esnek kılan girişleri vardır.
- G / Ç Pedleri veya Blokları: Giriş / Çıkış pedleri, FPGA'nın işlevlerine erişmek için dış çevre birimleri için kullanılır ve G / Ç pedlerini kullanarak farklı çevre birimleri kullanan farklı uygulamalar için FPGA ile iletişim kurabilir.
- Anahtar Matrisi / Ara Bağlantı Kabloları: Anahtar Matrisi, FPGA'da uzun ve kısa ara bağlantı kablolarını esnek kombinasyon halinde birbirine bağlamak için kullanılır. Ayrıca, farklı hatlar arasındaki bağlantıları açmak / kapatmak için transistörler içerir.
FPGA'lara ihtiyaç duyulduğunda
Yukarıda belirtildiği gibi, mikrodenetleyicilerin bazı sınırlamaları vardır ve mikro denetleyici ve mikroişlemciler bazı uygulamalarda programı biraz yavaşlatan programların sıralı yürütülmesi üzerinde çalıştıklarından paralel olarak görev gerçekleştirmek için kullanılamazlar, bu senaryoda FPGA'ların bir avantajı vardır ve etkin bir şekilde kullanılabilir.. Ayrıca mikrodenetleyici sınırlı görevleri yerine getirebilir çünkü talimatlar ve devreleri ile birlikte gelirler. Bir programcı, kodu geliştirirken kısıtlamalara uymak zorundadır. Yani bu senaryoda FPGA'ların da avantajı var.
Bununla birlikte, mikro denetleyiciler söz konusu olduğunda, işlemci bir miktar paralellik elde etmek için bir koddan diğerine geçer. Mikrodenetleyicilere kod yazmayı FPGA'lara göre daha kolay bulacaksınız. FPGAnin paralel işlem yeteneği Sonlu Durum Makineleri (GGYS) kullanarak etkili bir şekilde kesintilerini kontrol etmenizi sağlar.
Mikrodenetleyiciler söz konusu olduğunda, bir kesintiyi çözmek için ISR'nin harcadığı zamanı hesaba katmalısınız. Sadece yeniden programlayarak bir FPGA'yı kolayca yeniden kablolayabilirsiniz. Bir FPGA'daki yapılandırma, güç açıldığında yapılandırılabilir mantık hücrelerine yüklenir.
FPGA'yı yeniden programlamak için donanımda herhangi bir değişiklik yapmanız gerekmez. FPGA'lar paralel verilerin yüksek hızda işlenmesi için uygundur ve yüksek derecede özelleştirilebilirlikle birlikte gelir. Bununla birlikte, prototip operasyon ve konfigürasyon karmaşıklığı gibi dezavantajlara da sahiptirler. Dolayısıyla FPGA'lar mikrodenetleyicilere göre bu avantajlarla seçilebilir. FPGA programlamasına başlayalım ve şunu vurgulayalım: