FPGA, genellikle bir programlı Mantık Aygıtı (PLD) türüne ait dijital devrelerden oluşturulmuş integral bir çip. FPGA, özellikle birleşmiş devrelerin (ASIC) alanında yarı özellikli devre olarak ortaya çıktı. Bu sadece özelleştirilmiş devrelerin eksikliğini çözmüş değil, aynı zamanda orijinal programlayabilen cihazdaki programlı kapı devrelerin sayısının sınırını üstlenmiş. Onun elastik ve yeniden yapılandırılabiliğin in özellikleri var ve iletişim, dijital sinyal işleme ve içerikli sistemler gibi geniş alanlarda kullanılır. Programlı mantıklı birimlerden ve programlayabilen bağlantı kaynaklarından oluşan programlı bir mantıklı cihazdır.
Mikrokontrolör, Merkezi işleme birimi (CPU), tesadüf erişim hafızası (RAM), okuyulan sadece hafıza (ROM), çeşitli I/O portları ve sistemleri, timers/counters gibi fonksiyonlardan oluşan küçük ve çeşitli mikrobilgisayar sistemini bölünmek için kullanan ultra büyük boyutlu integral devre teknolojisi kullanan bir devre çipi.
FPGA ve mikro kontrolör arasındaki fark (mikro kontrolör vs. fpga)
1) Performans
FPGA ve mikro kontrolörlerin performansını karşılaştırdığında, yapılması için tasarlanmış görevlerin doğasını düşünmek gerekir.
FPGA birçok operasyon aynı anda yapabilir. Bu parallelizm FPGA'nin aynı işleme gereken uygulamalarda yüksek performansını sağlayabilir. Dijital sinyal işleme, görüntü işleme ve kriptografi gibi. Örneğin, FPGA birçok veri akışlarını paralel olarak işleyebilir, yüksek bandwidth sinyallerini veya yüksek çözümleme görüntülerini gerçek zamanlı işlemeyi sağlayabilir.
Mikrokontrolörler sonraki işleme görevleri için tasarlanmış. Onların performansı, CPU saat hızı, mimara ve eğitim seti gibi faktörler tarafından belirlenmiş.
2) Enerji tüketimi
Güç tüketimi, FPGA ve mikrokontrolörlerini karşılaştırdığında düşünecek bir anahtar faktördür, çünkü bu sistemin genel etkileşimliliğini, bateri hayatını ve sıcak yönetimini etkiler.
FPGA genelde mikrokontrollerden daha fazla güç kullanıyor. FPGA'nin güç tüketmesi, etkili mantıklı komponentlerin sayısına bağlı, bağlantıların değiştirme frekansına ve I/O aktivitesine bağlı. Yüksek performans paralel işleme gereken uygulamalarda, FPGA tarafından verilen performans avantajları güç tüketimini arttırabilir.
Mikrokontrolörler genelde FPGA'den daha az güç kullanıyor. Onların güç tüketiminin genellikle CPU saat hızı, periferal etkinliği ve makinede uygulanan güç yönetimi fonksiyonlarına bağlı. Birçok mikrokontrolör uyku modası ve dinamik voltaj düzenlemesi gibi gelişmiş güç yönetimi özellikleri içeriyor. Bu enerji tüketimini düşük aktivitet periyodları sırasında daha da azaltır.
3) Flexibility and Customization
FPGA programlanabilen mimara yüzünden yüksek fleksibilik ve özelleştirilebilir. Tasarımcıların özel ihtiyaçlarına dayanan özelleştirilmiş dijital devreler yaratmasına izin verir. FPGA içindeki mantıklı bloklar, bağlantılar ve I/O blokları farklı dijital fonksiyonlarını uygulamak için ayarlanabilir, basit mantıklı kapılardan karmaşık dijital sinyal işleme algoritmalarına kadar.
4) Geliştirme zamanı ve karmaşıklık
FPGA geliştirmesi daha karmaşık ve zaman tüketmesi. FPGA geliştirme süreci genellikle Hardware Description Language (HDL), VHDL veya Verilog gibi, Hardware Description Language (HDL) kullanarak yazma kodu içeriyor.
Birçok mikro kontrolör var, her biri özel bir amaç için iyileştirilmiş, bu da şirketlere maliyetleri azaltmaya yardım edebilir. Örneğin, eğer analog-digital dönüştürücü (ADC), iki USB portu ve en azından 30 genel amaçlı giriş/çıkış pinleri (GPIO) ihtiyacınız varsa, bu ihtiyaçları tamamen uygulayan mikrokontrolörü seçebilirsiniz. Eğer sadece bir USB arayüzü gerekirse, bu belirlenmesi ile karşılaşan başka bir mikro kontrolör bulunabilir. Bu çeviricilik, gereksiz özelliklere karşılık vermeden en düşük maliyetli mikrokontrolörü seçerek kurumların para kazanmasına izin verir.
Farklı olarak, FPGA'ler çok daha çeşitlidir. Tek bir FPGA ile, USB arayüzü olmadan beş ADC arayüzünü ya da ADC arayüzü olmadan üç USB arayüzünü ayarlayabilir. FPGA, farklı uygulama ihtiyaçlarını desteklemek i çin birçok iç çizgi (yani yollar) olan boş bir kağıt sayfası gibidir, fakat bu da maliyeti ve karmaşıklık ekliyor. Çoğu durumda, organizasyonlar kullanmadığımız ekstra özellikler ve fleksibillik için ödemek zorunda değiller.
Volum da maliyetin önemli bir faktördür. 10 milyon mikrokontrolör satın almanın maliyeti, tüketici elektroniklerinde ortak bir parçası olan 100.000 FPGA satın almanın maliyetinden daha az. FPGA sık sık küçük miktarlarda üretiliyor ve satılır, yani birim fiyatı daha yüksektir. Bu bir döngü oluşturur: Eğer FPGA sayısı artırsa, fiyat azalabilir, fakat miktarın artımı fiyatın azalması gerektiğini istiyor. Eğer FPGA'nin maliyeti mikrokontrolörlerin bununla karşılaştırılabilirse, daha fazla FPGA kullanılır mı? Muhtemelen, ama FPGA kullanmak için çok daha zor, bu da FPGA'nin popülerliğine sebep olmaz.
Çünkü mikrokontrolörler özel bir amaç için tasarlanmıştır, onlar düzenlemek kolaydır ve genelde birkaç saat içinde ayarlanabilir ve çalışabilir. Diğer taraftan, FPGA'ler, çok zamanlı tüm iç komponentlerinin programlamasını istiyorlar. Çiftlik sıkı IP modülleri bulunduğunda, çoğu aygıtlar programlanabilen mantıklardır, yani evde tasarlanması gerekiyor. Verilog veya VHDL'de yazma kodu C'den daha fazla zaman tüketmektir. Bu da sık sık mikrokontrol programlarını yazmak için seçim dilidir çünkü kodu daha yüksek bir seviyede yazılmasına izin verir ve bir çizgi kodu daha fazla fonksiyonalite ulaşabilir. Farklı olarak, Verilog ve VHDL kullanarak düşük seviye programlaması, ayrı kapı devrelerini ve düzenlemesini, karmaşıklık ve maliyeti ekleyen ayrı kapı devrelerinin oluşturmasını gerekiyor. Mühendisler genellikle en basit çözüm seçmeye alışkın, ve çoğunda mikrokontrolörler FPGA'den daha basit.
Ayrıca, aygıt güç tüketimi düşünecek bir faktördür. Çoğu elektronik aygıtlar bateri gücüne dayanıyor, bu yüzden aygıt güç tüketimini daha uzun kullanım için azaltmak kritik. Elektrik t üketiminin yüksekliğinde, daha sık batteriler değiştirilmeli, bu kullanıcıların istemediği bir şey. Mikrokontrolörler özel kullanımlar için tasarlanmış olduğunda, çok düşük enerji tüketimine ulaşmak için iyileştirilebilir. Örneğin, tek bir AAA bateri ay boyunca Bluetooth faresini güçlendirebilir. Diğer taraftan FPGA, tüm kaynaklar ve güç tüketimleri arasında yolculuk yapmak zorunda, mikrokontrolörler arasında eşleşmez. Bu, FPGA'nin bateri güçlü uygulamalarında kullanılamadığını anlamına gelmez, ama mikrokontrolörler genelde enerji t üketmesi konusunda faydası vardır.
Mikrokontrolörler genelde daha basit ve hızlı geliştirme süreci var çünkü yazılım geliştiricileri daha tanıdığı gelişmiş programlama dilleri ve geliştirme ortamları kullanarak programlandırılabilir. Yüksek seviye dillerini, kütüphaneleri ve çerçevelerini kullanarak geliştirme sürecini basitleştirebilir ve gerekli işlemleri uygulamak ve test etmek için gerekli zamanı azaltabilir.
FPGA, donanım seviyesinde programlamak üzere kullanıcıların özel dijital devreleri oluşturmasına izin verilen çok düzenli bir devre. Büyük fleksibillik sağlıyorlar ve hızlı prototipleme ve yeniden yapılabilirken gereken kompleks uygulamalar için mükemmel. Diğer taraftan, mikrokontrolörler, işlemci çekirdeğini, hafızayı ve çeşitli periferal aygıtları tek çip haline birleştirir. Özellikle özellikle özel görevler için tasarlanmıştır ve ortalama karmaşık uygulamalar için basit ve etkili çözümler sağlayacaktır.