Mikrodenetleyici ile mikroişlemci arasındaki fark. Yeni başlayanlar için mikrodenetleyiciler hakkında - Yaratılışın tarihi, FPGA mimarisinin ana türleri ve farklılıkları

Altera-Cyclone ve Arduino

Sorunun özü. FPGA ile mikrodenetleyici arasındaki fark

Gelişiminin belli bir aşamasında her Acemi Mikroçücü, neyin sorunu olarak sorulur. plis arasındaki fark (Altera veya xilinx) ve mikrodenetçi (Mikroişlemci)?

Forumları okudun - Business Connoisseurs, bunların karşılaştırılamayacağı, farklı olduklarını savunamayan tamamen farklı şeyler olduğunu yazıyorsunuz. mimari. El kitabını Verilog veya C ++ tarafından okudunuz - diğer işlevsellik ile benzer işlevsellik ile benzer operatörler kullanın, sözdizimi bile benzerdir ve neden farklı? Sincap'a gidiyorsun - ile LED'ler (hatta sadece ampuller) var. Fpga Blink, Arduino'da projeleri izleyin - robotları orada çalıştırın. Dur!

Ama şimdi duralım ve kendinize sorun: Neden Plis - Aptalca ampul ve Arduino akıllı bir robot mu? Sonuçta, birinci ve ikinci programlanabilir bir cihaz gibi görünüyor, gerçekten Plis Robotun eksikliği için fırsatlar?

Bir dereceye kadar "Sorunun özü" fPGA ile mikrodenetleyici arasındaki fark" Tam olarak bu örnekte açıldı.

Hemen not. Fonksiyonel Plis Başlangıçta aşağılık değil mikrodenetçi(ve ayrıca, bu arada, ayrıca), daha kesin olarak, birinin ve saniyenin ana işlevleri esasen aynıdır - belirli koşullar altında mantıksal 0 veya 1 üretmek için ve hız hakkında konuşursak, sonuç sayısı (bacaklar) ) ve konveyör yetenekleri, sonra mikrodenetçi önce Plisancak genel olarak uzak. Ama bir "ama" var. İki farklı cihazda aynı yazılım algoritmasını geliştirme zamanı (Plis ve Mikrodenetleyici) Bazen, hatta on kez farklıdır. Kesinlikle Plis Burada, vakaların% 99'unda, MK çok aşağı. Ve nokta dil sorununda değil Verilog., Vhdl veya Ahdlve cihazın kendisinde Plis.

Program dilinin FPGA ve mikrodenetleyici mimarisi ile etkileşimi üzerine

Fpga: içinde Plis Ve karmaşık otomatik zincirler yoktur (sizin için işin bir parçası). Sadece demir kablolu parça ve otoyollar, girişler, çıkışlar, mantıksal bloklar ve bellek blokları vardır. Parçalar arasında özel bir sınıf var - takılacak pist (saat frekansının önerildiği belirli bacaklara bağlı).

Ana Döküm:

Çip katmanları için olan rota - bloklar arasında bir elektrik iletkenidir.

Bloklar, tahtadaki hücrelerden oluşan ayrı yerlerdir. Bloklar, herhangi bir sinyal üzerine bilgi, çarpma, ekleme ve mantıksal işlemleri ezberlemeye hizmet eder.

Hücreler - birkaç üniteden birkaç on transistöre gruplar.

Transistör, TTL mantığının ana elemanıdır.

Sonuçlar (çip bacakları) - onların aracılığıyla değişimi Plis Dış dünyayla. Ürün yazılımı için tasarlanan, Saat frekansı, güç, hem de programdaki kullanıcı tarafından kurulan bacaklar için tasarlanan özel amaçlı ayaklar var. Ve onlar genellikle bundan çok daha fazlasıdır. mikrodenetçi.

Saat jeneratörü, çalışmanın çoğunun dayandığı saat darbeleri oluşturan harici bir çiptir. Plis.

Bayrak mimarisi. Elementlerin bileşenlerinin ilişkisi

Özellikler özel CMOS transistörleri kullanarak bloklara bağlanır. Bu transistörler, devletlerini (açık veya kapalı) uzun bir süre boyunca koruyabilirler. Transistörün durumu, sinyalin yalnızca ne zaman kullanıldığı belirli bir rota tarafından gönderildiğinde değişir. programlama Plis. Bunlar, ürün yazılımı sırasında voltaj, bazı CMOS transistörlerinde gerçekleştirilir. Bu set ürün yazılımı programı tarafından belirlenir. Bu, içinde büyük bir parkur ağının ve otoyolların karmaşık yapısı oluşur. PlisBirbirlerine zor bir şekilde bağlama, çok sayıda mantıksal bloktur. Programda, hangi algoritmanın yapılacağını ve ürün yazılımı, programda tanımladığınız işlevleri gerçekleştiren öğeleri bağlar. Sinyaller karayolu üzerinde bloktan bloğa kadar çalışır. Ve karmaşık rota program tarafından verilir.


Mimari plis (FPGA)

Mimari mikrodenetleyici

Bu elemanda, TTL mantığı olan TTL, bireysel alarmın işlenmesi için tüm işlemler sizinkinden ne olursa olsun gerçekleştirilir. Sadece bir veya başka birinin alınan sinyalle veya iletilecek bu sinyallerin nasıl üretileceğini yalnızca ne yapacağınızı belirlersiniz. Mimari mikrodenetçi tamamen diğer bloklardan Plis. Ve bloklar arasındaki iletişim kalıcı karayollarında (yansıtıcı değil) gerçekleştirilir. MK blokları arasında ana sayfa tahsis edebilirsiniz:

Kalıcı Bellek (ROM) - Programınızın depolandığı bellek. Eylem ve sabitler için algoritmalar içerir. Ayrıca, ekiplerin ve algoritmaların kütüphanelerinin (setleri).

RAM (RAM) - Kullanılan bellek mikrodenetçi Geçici veri depolama için (tetikleyiciler olarak Plis). Örneğin, birkaç eylemi hesaplarken. Birinci sayıyı ikinci (1 eylem), daha sonra üçüncü (2 eylem) ile çarpmanız ve sonucu (3 eylem) katlamanız gerektiğini varsayalım. Bu belleğe, ikincisinin yürütülmesi süresi için 1 eylemin sonucu girilecektir, daha sonra 2 eylemin sonucu sunulacaktır. Ve sonra bu sonuçların her ikisi de RAM'den 3 eylemi hesaplamak için gidecektir.

İşlemci bir hesap makinesidir mikrodenetçi. RAM ile ve sabit olarak iletişim kurar. Operasyonel hesaplama ile gerçekleşir. Kalıcı bir işlemciden, işlemcinin belirli algoritmalar ve girdilerdeki sinyallerle eylemleri gerçekleştirmesine neden olan komutları alır.

G / Ç Portları (Bağlantı Noktaları) ve Sıralı I / O Bağlantı Noktaları - Bacaklar mikrodenetçidış dünyayla etkileşime girmeyi amaçladı.

Zamanlayıcılar - algoritmalar yaparken döngü sayısını hesaplamak için tasarlanmış bloklar.

Lastik Kontrol Cihazı - İçindeki tüm bloklar arasındaki değişimi kontrol etme mikrodenetçi. İstekleri işler, kontrol komutları gönderir, kristalin içindeki iletişimi düzenler ve düzenler.

Kesme denetleyicisi, harici cihazlardan kesme isteklerini kabul eden bir bloktur. Kesme talebi - Herhangi bir bilgi için değiştirilmesi gerektiğini bildiren harici bir cihazdan gelen bir sinyal mikrodenetçi.

Dahili Karayolları - İçinde bırakılan rotalar mikrodenetçi Bloklar arasındaki bilgi alışverişi için.

Saat jeneratörü, tüm bunlara saat uyarıları üreten harici bir çipdir. Çalışma mikrodenetleyici.

Mikrodenetleyici blokların bileşenlerinin ilişkisi

İÇİNDE mikrodenetçi, içinde ayrım dan PlisÇalışmalar, yukarıdaki bloklar arasında karmaşık olanlar arasında meydana gelir. mimariProgram geliştirme sürecini kolaylaştırmak. Firmware, yalnızca MK'nın tüm çalışmalarını güvendiren sabit hafızayı değiştirirsiniz.


FPGA ve Mikrodenetleyici'nin temel farkı

FPGA, kristalin neredeyse her yerinde demir seviyesine dikilir. Sinyaller, transistörlerin karmaşık zincirlerinden geçer. Mikroişlemci, demir programının seviyesine dikilir, sinyaller gruplardan, bloktan bloğa geçer - bellekten işlemciye, işlemciye, işlemciye işlemciye, işlemciye i / i / O bağlantı noktaları, G / Ç limanlarından RAM'den RAM'den ... vb. Sonuç: Nedeni mimari plis Hız ve daha geniş konveyör yetenekleri için kazanır, MK yazma algoritmaları kolaylıkla kazanır. Programları tanımlamanın en basit yolu nedeniyle, fantezi geliştiricisi Mikrodenetçi hata ayıklama ve geliştirme süresi ile daha az, ve dolayısıyla MK'da aynı robotu programlama zamanı ve Plis olacak farklılık Birçok ve birçok kez. Ancak, üzerinde çalışan bir robot Plis Daha kesin, daha kesin ve daha fazlası olacak.

Demir ve program.

İÇİNDE Plis Tüm işler manuel olarak yapılmalıdır: Herhangi bir programı uygulamak için Plis, her bir kablolama için gelen her alarmı izlemeniz gerekir. Plis, bellek hücrelerinde bazı sinyaller düzenlemek için, başka bir alarmın doğru anda doğru anda döndüğünü, aynı zamanda izleyeceğiniz, hatta ürettiğiniz ve sonunda, bellekte gözaltına alınan kabulleri, ihtiyaç duyduğunuz sinyali dahil ettiğini, Örneğin, belirli bir çıktı bacağına gidecek ve bağlı olan LED'i açacak. Alarmın bir kısmı bellekte değil, örneğin, algoritmanın (program) belirli bir bölümünün başlatılmasında. Yani, mikroçücünün dilinde, bu bacaklar hedeflenir. Örneğin, programımızda, verilog'da uyguladığımız her bir algoritmalarla ilgili bazı algoritmalarla ilgili bazı bacaklar (veya ilişkili) dahil olmak üzere üç hedefli bacaklarımızda bulunduk. Plis. Ayrıca, üç adres bacakları hariç, programda, hala herhangi bir bilgi içeren bir giriş alarmı (örneğin farklı sensörlerden) (örneğin, akvaryumdaki su sıcaklığı) olan bilgi bacaklarından 20'simiz var. Akvaryumda su sıcaklığı sensörü). 20 bacak \u003d 20 bit. 3 Bacaklar -3 bit. Adres sinyali 001 (üç ayaklı adreslerden) geldiğinde - 20 bellek hücresinde (20 tetikleyici) 20 bilgi alarmını yazan ilk algoritmayı başlatıyoruz, daha sonra aşağıdaki 20 alarm daha önce elde edilen 20 alarmı ile çarpılır. Çarpımın hafızaya kaydedilir ve ardından sonucu diğer bacaklar için, örneğin akvaryumdaki su termostatında gönderin. Ancak bu sonucu yalnızca Örnek 011 kodu adresimize geldiğinde ve okuma ve iletim algoritmasını başlattığımızda hareket edeceğiz. İyi, doğal olarak, "atıfta bulunmak", "oku" ve hala kılavuzda bir şeyler kaydedin. Her alarmı her saat çalışmasına taşırız Plis Belli bir yolda, kaybetmeyin. Devam ediyoruz ya da yazıyoruz. Katlanır veya çoğalırız. Yazmayı unutma. Bir sonraki sinyali almayı ve diğer tetikleyicilere yazmayı unutmayın. Hatta saat frekansına bağlı bir iş eklemek, senkronizasyon (aynı zamanda manuel olarak uygulanır), gelişme ve hata ayıklama aşamalarındaki kaçınılmaz hatalar ve bu makalede bir sürü başka problemin anlamsızdır. Zor. Uzun. Ancak çıkışta, hızlıca, aksaklıklar ve frenler olmadan süper çalışır. Demir!

Şimdi mikrodenetçi. Bilgi alma konusunda 20 bacak - çoğu için mikrodenetleyiciler Fiziksel olarak imkansız bir iş. Ancak 8 ya da 16 - Evet, lütfen! 3 Bilgi - Kolay! Program? 001'de, ilk sayıyı ikinci olana çarpın, 011'de sonucu termostata gönderin. Her şey! Hızlı. Kolayca. Süper değil, derhal. Glitches ve fren olmadan bir program yazmak çok yetkin ise. Yazılım!

Demir ve program! İşte asıl şey fPGA ile mikrodenetleyici arasındaki fark.

İÇİNDE mikrodenetçi Kesilenlerin çoğu, ancak sıklıkla kullanılan algoritmalar zaten dikilir (kristalde). Yalnızca bu algoritmanın depolandığı, adı olarak adlandırdığı arzu edilen kütüphaneyi aramanız gerekir, ismiyle arayın ve sizin için tüm kirli işleri yapacaktır. Bir yandan uygundur, çipin iç aygıtı hakkında daha az sayıda bilgi gerektirir. MICRICK, kendi depolama, işleme, gecikmeleri hakkında benimsenen, üretilen ve sonuçlanan sinyalleri izlemeye özen gösterir. Hepsi kendini yapar. Çoğu mikrooproger görevinde, ihtiyacınız olan şey budur. Ancak tüm bu olanakları kolayca kullanırsanız, hatalı iş olasılığı ortaya çıkar. Demir ve program!

Sonuç

Modern işlemci ve mikroişlemci geliştiricileri başlangıçta cihazlarını geliştirir Plis. Evet, evet, doğru tahmin ediyorsun: Önce oluşturulanları taklit ettiler mikrodenetleyici mimarisi Programın geliştirilmesi ve üretici yazılımı ile PlisVe sonra, gerçekleştirilen algoritmaların hızı, simüle edilmiş MK bloklarının belirli bir düzenlemesinde ve her bloğun bir veya başka bir fonksiyonel olarak ayrı ayrı bir şekilde ölçülür.

Sinyal çıktısının özelliklerine göre, Plis En sık 3.3V, 20., Mikrodenetçi 5V, 20mA.

Altında mikrodenetçi AVR, Arduino platformuna başarılı bir şekilde yerleştirilmiş olan AVR, çeşitli açık programlar yazılır, harika bir füze seti, sensörler, motorlar, monitör ve tek şey bu şekilde geliştirilmiştir! Arduino şu anda çocuklar ve yetişkinler için bir oyun tasarımcısı gibi. Bununla birlikte, bu tasarımcının çekirdeğinin "akıllı evleri", modern tüketici elektroniği, cihazları, arabaları, uçaklar, silahlar ve hatta uzay aracını yönettiğini unutmayın. Kuşkusuz, böyle bir tasarımcı, insanlığın güçlü bir yarısının herhangi bir temsilcisi için en iyi hediyelerden biri olacaktır.

Prensip olarak, her şey basittir!

Sorularım var? Bir yorum Yaz. Cevap vereceğiz ve anlayacağız \u003d)

Gerçekten farklı oldukları şeyle uğraşalım ve bu iki tür dijital radyo-elektronik cihazın benzerlikleri nedir.

Ve mikroişlemci ve mikrodenetleyici bazı işlemler gerçekleştirmek için tasarlanmıştır - komutları bellekten çıkarırlar ve bu talimatları (aritmetik veya mantık işlemlerini temsil eden) yürütürler ve sonuç çıkış cihazlarını korumak için kullanılır. Ve mikrodenetleyici ve mikroişlemci, bellekden gelen komutları sürekli olarak seçebilir ve cihaz çalıştırırken bu talimatları yürütebilir. Talimatlar kendilerinden bitlerdir. Bu talimatlar her zaman hafıza olarak adlandırılan depolama konumlarından çıkarılır.

Mikroişlemci nedir

Mikroişlemci (Angoy-Dil Edebiyatında)MPU - Mikro İşlemci Ünitesi ) Bir yarı iletken kristal (IC - integral yonga veya Batı) entegre devrede bir bilgisayar merkezi işlemci işlevi veya CPU (CPU - Merkezi İşleme Ünitesi) içerir.

Özünde, bu, aritmetik ve mantıksal işlemler, kontrol sistemleri, depolama ve diğer sistemleri gerçekleştirmek için kullanılan bir mikrobilgisayardır.

Mikroişlemci, verileri giriş çevresel cihazlarından işler ve işlenmiş verileri çıkış çevre birimlerine iletir.

Mimarisinde farklı dört ana işlemci vardır.

Komple komut kümesi olan mikroişlemciler (karmaşık talimat seti bilgisayar, cisc-rhiteCut). Karakterize komut uzunluğunun sabit olmayan değeri, aritmetik eylemleri tek bir komutla kodlayarak, kesin olarak tanımlanmış işlevler gerçekleştiren az sayıda kayıt. Bu tür işlemcilere bir örnek, X86 ailesidir.

Azaltılmış komut seti olan mikroişlemciler (azaltılmış talimat seti, RISC-Mimarisi). Genellikle sahip olmak Süreci basitleştirmek için talimatların pahasına artan hızkod çözme ve buna göre, yürütme sürelerini azaltın. Çoğu grafik işlemcisi bu tür bir mimari kullanılarak geliştirilmiştir.

Minimum komut kümesi olan mikroişlemciler (minimum talimat seti bilgisayar, MISC -RHITECUT). RISC mimarisinin aksine, onlara uzun komut sözcükleri kullanırlar, bu da bir cihaz çalışma döngüsü için oldukça karmaşık bir eylemler yapmanızı sağlar. Mikroişlemci cihazların boşalmasını arttırarak uzun "komut sözcüğü" oluşumu yapıldı.

Supercalar işlemcilerde (Superscalar işlemciler) ve birkaç takım kod çözücü kullanılırBu birçok yürütme bloğunun çalışmasını indirin. Planlama Komut akışının yürütülmesi dinamik olarak gerçekleşir ve bilgisayar çekirdeğinin kendisi tarafından gerçekleştirilir. Böyle bir tür mimarili bir işlemcinin örneği, örneğin Cortex A8'dir.

Ayrı ayrı, özel amaçlı mikroişlemcileri tahsis etmek istiyorum(ASIC - Uygulamanın Pecific I NTEgrated C Ircuit). Adından aşağıdaki gibi, Belirli bir görevi çözmek için tasarlanmıştır. Genel amaçlı mikroişlemcilerin aksine, belirli bir cihaza uygulayın ve yalnızca bu cihaz için karakteristik özellikleri gerçekleştirin. Dar bir fonksiyonun uygulanmasında uzmanlaşması, cihazın hızında bir artışa yol açar ve bir kural olarak, böyle bir entegre devrenin maliyetini azaltır. Bu tür mikroişlemcilerin örnekleri, yalnızca cep telefonu yönetimi için tasarlanan bir mikro-telefon olabilir., Donanım kodlama cips ve kod çözme ses ve video sinyalleri - sözdedijital sinyal işleme, DSP çoklayıcıları). FPGA (programlanabilir mantıksal entegre devre) olarak uygulanabilir. Bu tür işlemcileri geliştirirken İşlevselliklerini Kullanma Donanım Açıklama Dillerini (HDL - Donanım D Esaştırma L Aguage), Verilog ve VHDL gibi.

Mikroişlemci tabanlı sistemler yaklaşık olarak aşağıdaki gibi inşa edilmiştir.

Görülebileceği gibi, bu sistemindeki mikroişlemci, sabit bir depolama cihazı, RAM, seri arayüz, zamanlayıcı, G / Ç portu vb. Gibi birçok yardımcı cihaza sahiptir. Tüm bu cihazlar, sistem veriyolu aracılığıyla bir mikroişlemci olan komutlar ve verilerle değiştirilir. Mikroişlemci sistemindeki tüm yardımcı cihazlar haricidir. Sistem otobüsü, sırayla, hedeflenen bir otobüs lastiği, veri yolu ve kontrol otobüsünden oluşur.

Şimdi, mikrodenetleyiciyi düşünelim.

Mikrodenetleyici nedir

Aşağıda bir mikrodenetleyicinin bir blok diyagramıdır. Mikroişlemcisinden ana farkı nedir? Sabit bir depolama cihazı, RAM, zamanlayıcı, seri arayüz, G / Ç bağlantı noktaları gibi tüm referans cihazları yerleşiktir. Bu nedenle, bu yardımcı cihazlarla arabirim oluşturmaya gerek yoktur ve sistem geliştiricisi için çok zaman kazandırır.

Mikrodenetleyici, bir çip içine entegre tüm referans cihazları olan bir mikroişlemci sisteminden başka bir şey değildir. Harici bellek veya bir DAC / ADC ünitesiyle etkileşime giren bir cihaz oluşturmak istiyorsanız, yalnızca uygun güç kaynağı kaynağını, tahliye zincirini ve kuvars kristalini (saat frekans kaynağı) bağlamanız gerekir. Sadece yarı iletken bir kristal içine entegre olmak için problemlidirler.

Mikrodenetleyicinin çekirdeği (merkezi işlemci) genellikle RISC mimarisinin temelinde inşa edilir.

Mikrodenetleyicinin hafızasına kaydedilen program, yetkisiz kullanımına karşı koruyan sonraki okuma / yazma olasılığından korunabilir.

Mikrodenetleyici ve mikroişlemciyi karşılaştırın

Mikroişlemci Mikrodenetçi
KullanmaBilgisayar sistemleriGömülü sistemler
cihazMerkezi bir işlemci, genel amaçlı kayıtlar, yığın işaretçileri, program sayaçları, zamanlayıcı ve kesme zincirleri içerirMikroişlemci devresi, gömülü ROM, RAM, GRAM, G / Ç aygıtlarını, zamanlayıcıları ve sayaçları içerir.
Veri hafızasıBellek ve işlemci arasındaki verileri taşımak için birçok talimat vardır.Bellek ve işlemci arasındaki verileri taşımak için bir veya iki talimat vardır.
Elektrik zincirleriYüksek zorlukYeterince güzel
MasraflarTüm sistemin maliyeti artarDüşük sistem maliyeti
Kayıt SayısıDaha az kayıt yaptırır, operasyonlar çoğunlukla hafızada üretilir.Daha fazla sayıda kayıt var, bu yüzden program yazmak daha kolay
Hafıza cihazıNymanan'ın mimarisine dayanarak. Program ve veriler aynı bellek modülünde saklanır.Harvard mimarisine dayanarak. Programlar ve veriler farklı bellek modüllerinde saklanır.
Erişim süresiBellek erişim süresi ve giriş / çıkış aygıtları daha büyüktür.Dahili bellek ve G / Ç aygıtları için küçük erişim süresi.
DemirDaha fazla donanım gerektirir.Daha az miktarda donanım gerektirir.

Yeni gelişiminizin dayanacağı uygun bir cihazın seçimi kolay değildir. Fiyat, performans ve güç tüketimi ile bu seçimin uzun vadeli sonuçlarını dikkate almanın yanı sıra, fiyat, performans ve güç tüketimi arasında bir denge bulmak gerekir. Örneğin, kullanılan cihaz, bir mikrodenetleyici veya mikroişlemci olsunsa, bir dizi yeni ürünün temeli olacaktır.

Mikroişlemci ile mikrodenetleyici arasındaki fark nedir?

İlk önce, mikrodenetleyici (MCU) ile mikroişlemci (MPU) arasındaki farka bakalım. Genellikle, mikrodenetleyici, programının depolandığı ve yürütüldüğü yerleşik flash belleği kullanır. Bundan dolayı, mikrodenetleyici çok kısa bir başlangıç \u200b\u200bsaatine sahiptir ve kodu çok hızlı bir şekilde çalıştırabilir. Yerleşik belleği kullanırken tek sınırlama son hacmidir. Piyasada bulunan çoğu mikrodenetleyici, maksimum flaş hafızası ~ 2 megabayt miktarına sahiptir. Bazı uygulamalar için, bu kritik bir faktör olabilir.

Mikroişlemciler, hafızanın boyutunda kısıtlamaları yoktur, çünkü programı ve verileri saklamak için harici bellek kullanırlar. Program genellikle NAND veya Sıralı Flaş Belleği gibi uçucu olmayan hafızada depolanır. Başlarken, program harici dinamik RAM'e yüklenir ve daha sonra yürütülür. Mikroişlemci, bir mikrodenetleyici kadar çabuk çalıştırılamıyor, ancak işlemciye bağlanabilecek operasyonel ve uçucu olmayan bellek miktarı yüzlerce ve hatta binlerce megabayeye ulaşabilir.

Mikrodenetleyici ile mikroişlemci arasındaki başka bir fark, güç sistemidir. Dahili voltaj regülatörü sayesinde, mikrodenetleyici sadece bir harici voltaj değeri gerektirir. Mikroişlemci, çekirdek, çevre, G / Ç portları vb. İçin birkaç farklı stres gerektirirken Kuruldaki bu gerilimlerin varlığı hakkında, geliştiriciyle ilgilenmelidir.

MPU veya MCU'yu seçmeli?

Bir mikrodenetleyici veya mikroişlemcinin seçimi, gelişmiş cihazın özelliklerinin bazı yönleriyle belirlenir. Örneğin, bir mikrodenetleyici ile sağlanamayan, böyle bir çok sayıda çevresel arayüz kanalı gereklidir. Veya kullanıcı arayüzü için gereksinimler, bir mikrodenetleyici kullanılarak gerçekleştirilemez, çünkü hafıza ve hızdan yoksundur. İlk gelişmeye başlamak, ürünün değişmeye devam edebileceğini biliyoruz. Bu durumda, bitmiş platformu en iyi çözümle kullanmak mümkündür. Bu nedenle, cihazın gelecekteki modifikasyonları için hesaplama gücü ve arayüz yetenekleri stokunu dikkate alacağız.

Belirlenmesi zor olan bir husus, gelecekteki sistemin performansı için gereken hızdır. Bu kriteri, DHRystone MIPS veya DPIP'lerde ölçülen (DHRystone bir sentetik bilgisayar testidir ve MIPS, saniye başına milyonlarca talimatın sayısıdır), bu kriteri ölçebilirsiniz. Örneğin, Arm Cortex-M4 çekirdeğine dayanan ATMEL SAM4 mikrodenetleyici 150 DPIP'dir ve ATMEL SAM5AD3 gibi kol korteksi-A5 çekirdeğindeki mikroişlemci, 850 DIPS'ye kadar sağlayabilir. Gerekli DPIP'leri değerlendirmenin bir yolu, uygulamanın bir bölümünü başlatmak için hangi verimliliğin gerektiğini görmektir. Uygulamanızı çalıştırmak için tam teşekküllü bir işletim sistemi (Linux, Android veya Windows CE) çalıştırın, yaklaşık 300 - 400 DIPS gerekir. Ve RTOS uygulaması için kullanıyorsanız, yalnızca 50 DPIPS yeterlidir. RTOS kullanırken, çekirdek genellikle birkaç kilobayt alır. Ne yazık ki, tam teşekküllü bir işletim sistemi, piyasaya sürülmesi için bir bellek yönetimi birimi (MMU) gerektirir, bu da kullanılabilecek işlemci çekirdeklerinin türünü sınırlar.

Çok sayıda sayıyı işleyen uygulamalar için, belirli bir DIPS beslemesi gereklidir. Uygulama ne kadar büyükse, sayısal işlemeye yöneliktir, mikroişlemciyi kullanma olasılığı o kadar yüksek olur.

Ciddi tartışma, hane halkı veya endüstriyel elektronik olsun, kullanıcı arayüzü gerektirir. Tüketiciler, sezgisel grafiksel arayüzleri kullanmaya ve endüstride, operatörle birlikte bu etkileşim yöntemini artan bir şekilde kullandılar.

Kullanıcı arayüzü ile ilgili birkaç faktör var. İlk olarak, ek bir hesaplama yüküdür. Böyle bir arayüz kütüphanesi için Linux`e üzerinde yaygın olarak kullanılan bir QT olarak, ayrıca 80-100 DIPS'ye ihtiyaç duyacaktır. İkincisi, bu kullanıcı arayüzünün karmaşıklığıdır. Animasyonları, efektleri ve multimedya içeriğini ne kadar çok kullanırsanız, görüntü çözünürlüğü o kadar yüksek olursa, daha yüksek performans ve hafıza ihtiyacınız olacaktır. Bu nedenle, büyük olasılıkla mikroişlemci burada uygundur. Öte yandan, düşük çözünürlüklü bir ekranda statik bir görüntüye sahip basit bir kullanıcı arayüzü bir mikrodenetleyici üzerinde uygulanabilir.

Mikroişlemcinin lehine başka bir argüman, yerleşik bir TFT LCD denetleyicisinin varlığıdır. Küçük mikrodenetleyiciler, kompozisyonlarında böyle bir modüle sahiptir. Harici bir TFT LCD kontrol cihazı ve diğer bazı sürücüleri mikrodenetleyiciye koyabilirsiniz, ancak sonunda ürünün maliyetini dikkate almanız gerekir.

Piyasada, şimdi TFT LCD kontrolörlerine sahip flaş mikrodenetleyicileri görünür, ancak yine de ekranı kontrol etmek için yeterli sayıda yerleşik RAM olmalıdır. Örneğin, 16 renkli bir QVGA 320x240, görüntüyü çıkarmak ve ekranı güncellemek için 150 KB RAM gerektirir. Bu oldukça büyük miktarda RAM'dir ve ayrıca maliyetleri de etkileyecek harici hafıza gerektirebilir.

Daha karmaşık grafiksel kullanıcı arayüzleri, özellikle de 4.3 inçten daha fazla görüntü kullananlar, mikroişlemcilerin kullanımını gerektirir. Mikroişlemciler, kullanıcı arayüzünün bir renk TFT ekranında kullanıldığı uygulamalara hakim olursa, mikrodenetleyiciler segment veya nokta matrisi LCD'leri ve seri arayüze sahip diğer ekranların krallarıdır.

İletişim açısından, çoğu mikrodenetleyici ve mikroişlemcilerin çoğu kompozisyonunda en popüler olanıdır. Ancak HS USB 2.0, 10/100 Mbps Ethernet portları veya Gigabit Ethernet bağlantı noktaları gibi yüksek hızlı arayüzler, genellikle sadece mikroişlemcilere sahiptir, çünkü büyük miktarda veri işlemlerine daha iyi uyarlanırlar. Buradaki anahtar soru, veri akışını işlemek için uygun kanalların ve bant genişliğinin varlığıdır. Yüksek hızlı bağlantılar kullanan uygulamalar ve işletim sistemi yönelimli, mikroişlemcilerin kullanımını gerektirir.

Mikrodenetleyici ile mikroişlemci arasındaki seçimin belirlenmesi bir başka önemli boyut, uygulamanın deterministik reaksiyon süresi için gereksinimdir. İşlemci çekirdeği nedeniyle, yerleşik flash bellek ve yazılım RTOS (gerçek zamanlı işletim sistemi) veya saf kodlar formundaki, mikrodenetleyici kesinlikle bu kriter yol açacaktır.

Tartışmamızın son kısmı enerji tüketimini ilgilendirecektir. Mikroişlemci düşük güç modlarına sahip olsa da, tipik bir mikrodenetleyici çok daha büyüktür. Ek olarak, mikroişlemcinin dış donanım desteği, çevirisini bu modlara karmaşıklaştırır. Mikrodenetleyicinin gerçek tüketimi, mikroişlemcisinden anlamlı derecede düşüktür. Örneğin, güç tasarrufu modunda kayıtların ve RAM'in korunması ile, mikrodenetleyici 10-100 kat daha az tüketebilir.

Sonuç

Mikrodenetleyici ile mikroişlemci arasındaki seçim, verimlilik, yetenekler ve bütçe gelişimi gibi birçok faktöre bağlıdır.

Genel olarak konuşursak, mikrodenetleyiciler genellikle ürünün ve enerji tasarrufunun değerinin önemli olduğu ekonomik olarak optimize edilmiş çözümlerde kullanılır. Örneğin, uzun pil ömrü gerektiren ultra düşük güç tüketimi olan uygulamalarda yaygın olarak kullanılmaktadırlar. Örneğin, uzaktan kumandalarda, tüketici elektrik sayaçlarında, güvenlik sistemleri vb. Ayrıca sistemin oldukça belirleyici bir davranışının olduğu yerlerde de kullanılırlar.

Mikroişlemciler genellikle işlevsel ve yüksek performanslı uygulamalar oluşturmak için kullanılır. Hesaplamaların yoğun olarak kullandığı işletim sistemlerine dayanarak endüstriyel ve tüketici uygulamaları için idealdir veya yüksek hızlı veri değişimi veya pahalı kullanıcı arayüzü gereklidir.

Ve son olarak. Yazılımın yeniden kullanılmasını arttırabilen, yukarı veya aşağı göç etmek için uyumlu mikrodenetleyiciler veya mikroişlemciler sunan bir tedarikçi seçin.

Mikroişlemciler arasındaki mikroişlemciler arasındaki fark. Ve en iyi cevabı aldım

Releboy'dan Cevapla [Guru]
Mikroişlemci, bir veya daha fazla büyük entegre devre formunda yapılan bağımsız veya gelen bir mikro bilgisayar bilgisi işleme cihazıdır (aslında, bu bir mikrodenetleyici beynidir). Tek çipli mikro bilgisayarın ortaya çıkmasıyla, kontrol alanında bilgisayar otomasyonunun kitlesel uygulamasının döneminin başlangıcını bağlar. Görünüşe göre, bu durum ve "denetleyici" terimini belirledi (ENG. Denetleyici - kontrol cihazı, kontrol cihazı). Yurt içi üretimin durgunluğu ve hesaplamalı olarak, "mikrodenetleyici" (MK) terimi, daha önce kullanılan "tek-histerik mikro-bilgisayar" terimini tüketimden değiştirmiştir. Tek çipli bir mikro bilgisayar için ilk patent, 1971 yılında Mühendisler M. Kochen ve Bunu, Amerikan Texas Instruments çalışanları tarafından verilmiştir. Bir kristalde sadece işlemci değil, aynı zamanda G / Ç aygıtlarıyla belleği de sunan onlardı. Mikrodenetleyiciler tasarlarken, bir taraftaki boyutlar ve maliyet arasındaki dengeye ve diğer taraftaki esneklik ve performans arasındaki dengeye uymak gerekir. Farklı uygulamalar için, bunların ve diğer parametrelerin optimal oranı çok farklı olabilir. Bu nedenle, işlemci modülünün mimarisinde, entegre belleğin boyutunu ve türünde, bir çevresel cihaz, bir dizi çevresel aygıt, mahfaza tipi, vb. Uzun zamandır daha üretken modeller tarafından tamamen atıldım, 8 bit mikrodenetleyiciler yaygın olarak kullanılmaya devam ediyor. Bu, yüksek performansın gerekli olmadığı çok sayıda uygulama olduğu, ancak düşük maliyetin önemli olduğu gerçeğiyle açıklanmaktadır. Aynı zamanda, dijital sinyal işlemcileri gibi büyük bilgi işlem yeteneklerine sahip mikrodenetleyiciler vardır. Günümüzde, mikrodenetleyici terimi, operatörün katılımı olmadan çevresel aygıtları otomatik modda kontrol eden bir bilgisayardır. Genellikle en düşük otomasyon seviyelerinde çalışır. Modern kişisel bilgisayarlar, operatörün katılımıyla çok sayıda işlem ve işlevi yerine getirmeyi amaçlayan güçlü ve yüksek hızlı mikrodenetleyicilerdir. Kontrolörlerden bilgi toplayın ve işleyin. Yüksek otomasyon seviyelerinde kullanılır.

Cevap vermek Yaerensky[Guru]
bildiğim gibi mikroişlemci zaten yasaktır. Bir mikrookanterroller, görevlere bağlı olarak istediğiniz gibi işlenebilir ve aynı kontrolörün, çok basamaklı göstergenin, RF kontrolünde bile çeşitli cihazların süitlerini yönetmek için frekansı oluşturmak için farklı bir kombinasyona sahip olmasına izin verebilir ve çalışabilir. arayüzün (örneğin, modem) genellikle nispeten pahalı olmayan çok fonksiyonlu cihazlarda kullanılır, serbest bırakma süresi aygıtına bağlı olarak fonksiyonel porsiyonlar programla tanımlandığı gibi değişebilir.


Cevap vermek Vladimir Nikolaev[Guru]
Mikrodenetleyici aynı microcircuit'taki bir bilgisayardır. Çeşitli elektronik cihazları ve bunlar arasındaki etkileşimin, mikrodenetleyicide belirtilen programa göre uygulanmasını kontrol etmek için tasarlanmıştır. Kişisel bilgisayarlarda kullanılan mikroişlemcilerin aksine, mikrodenetleyiciler yerleşik ek cihazlar içerir. Bu cihazlar görevlerini, mikrodenetleyici mikroişlemci çekirdeğinin kontrolü altında gerçekleştirir.

Şaşırtıcı bir şekilde, teknolojinin küçük bir kısmı olarak kişisel bilgisayarların yüzünü değiştirdi. 1971'de Intel tarafından geliştirilen ilk ticari mikroişlemcisinden (4 bitlik 4004), daha gelişmiş ve evrensel 64-bit itanium 2 için, mikroişlemci teknolojisi, yeni nesil mimarinin tamamen yeni bir alanına taşındı. Mikroişlemci ekipmanı alanındaki başarılar, kişisel hesaplamaları her zamankinden daha hızlı ve güvenilir hale getirdi. Mikroişlemci bilgisayar sisteminin kalbi ise, mikrodenetleyici beyindir. Hem mikroişlemci hem de mikrodenetleyici, genellikle ortak özelliklere sahip oldukları ve özellikle gerçek zamanlı uygulamalar için özel olarak tasarlandığı için birbirlerinden eş anlamlı olarak kullanılır. Ancak, farklılıkları payları var.

Mikroişlemci nedir?

Mikroişlemci, sadece merkezi bir işlemciye sahip olan entegre bir silikon tabanlı çipdir. Bu, verilerle ilgili çeşitli görevler gerçekleştirmeyi amaçlayan bir bilgisayar sisteminin kalbidir. Mikroişlemciler, çip üzerindeki RAM, ROM, IO kontakları, zamanlayıcılar ve diğer çevre birimleri yoktur. Onları işlevsel hale getirmek için dışarıdan eklenmelidirler. Tüm aritmetik ve mantıksal operasyonları işleyen Alu'dan oluşur; tüm sistemdeki talimatların akışını kontrol eden ve kontrol eden kontrol ünitesi; ve hızlı erişim için verileri hafızadan depolayan diziyi kaydedin. Bilgisayar sisteminde mantık işlemleri gibi genel amaçlı uygulamalar için tasarlanmıştır. Basitçe söylemek gerekirse, bu, bir bilgisayar sistemi tarafından çalışmasını gerçekleştirmek için kullanılan tek bir entegre devrede tamamen işlevsel bir işlemcidir.

Mikrodenetleyici nedir?

Mikrodenetleyici, bir işlemciye sahip bir mini bilgisayara, yanı sıra RAM, ROM, Seri bağlantı noktaları, zamanlayıcılar ve bir çip içine yerleştirilmiş periferik G / Ç aygıtlarına benzerdir. Televizyon uzaktan kumandası, LED ekran paneli, akıllı saat, araçlar, trafik kontrolü, sıcaklık kontrolü vb. Gibi belirli bir kontrol derecesini gerektiren belirli görevleri yerine getirmek için tasarlanmıştır. Bu, mikroişlemci, hafızaya sahip yüksek kaliteli bir cihazdır. ve bir çip üzerinde G / Ç bağlantı noktaları. Bunlar, harici bellek olmadan belirli fonksiyonları gerçekleştirmek için yeterli şemaları içeren bir bilgisayar sisteminin beynidir. Harici bir bileşen olmadığından, güç tüketimi daha azdır, bu da pil üzerinde çalışan cihazlar için idealdir. Basit bir konuşma, bir mikrodenetleyici daha küçük harici ekipman içeren eksiksiz bir bilgisayar sistemidir.

Mikroişlemci ile mikrodenetleyici arasındaki fark

1) mikroişlemci ve mikrodenetleyicide kullanılan teknoloji

Mikroişlemci, bilgisayar sisteminde en önemli bileşen olan programlanabilir çok amaçlı bir silikon çiptir. Bir alu (aritmetik mantıksal birim), bir kontrol ünitesi, komut kod çözücülerinden ve bir dizi kayıttan oluşan bir bilgisayar sisteminin kalbi gibidir. Öte yandan, mikrodenetleyici, mikroişlemci teknolojisinin bir yan ürünü olan yerleşik sistemin kalbidir.

2) Mikroişlemci ve mikrodenetleyici mimarisi

Mikroişlemci, RAM, ROM veya G / Ç teması olmadan sadece entegre bir devredir. Temel olarak, bu, bilgisayar sisteminin merkezi işlemcisini ifade eder, bu da iletilen komutları kaldıran, yorumlar ve yürütür. CPU fonksiyonlarını tek bir entegre devreye içerir. Mikrodenetleyiciler, diğer taraftan, bir mikroişlemci şeması içeren ve bir çipte RAM, IO ve işlemci içeren daha güçlü cihazlardır.

3) Mikroişlemcinin ve mikrodenetleyicinin çalışması

Mikroişlemci için, RAM, ROM, Analog ve Dijital IO gibi çevresel cihazlara ve seri bağlantı noktalarının yanı sıra harici bir veri yolu gerekir. ALU, hafıza veya giriş cihazlarından gelen tüm aritmetik ve mantıksal işlemleri gerçekleştirir ve çıkış aygıtlarıyla ilgili sonuçlar gerçekleştirir. Mikrodenetleyici, bir yongaya gömülü tüm çevre birimlerini olan küçük bir cihazdır ve diğer cihazları yönetmek için programlar yürütmek gibi bazı görevleri gerçekleştirmek için tasarlanmıştır.

4) Mikroişlemci ve mikrodenetleyicide veri belleği

Veri belleği, özel fonksiyonların kayıtlarını ve genel amaçlı kayıtların kayıtlarını içeren resmin bir parçasıdır. Verileri geçici olarak saklar ve ara sonuçları korur. Mikroişlemciler, bellekte depolanan ve sonuçlara sonuç gönderen birkaç talimat gerçekleştirir. Mikrodenetleyiciler, RAM ve diğer çevresel cihazlarla birlikte bir veya daha fazla işlemciyi içerir. CPU, talimatları bellekten çıkarır ve sonuçları gerçekleştirir.

5) Mikroişlemci ve mikrodenetleyicide depolama

Mikroişlemciler, kontrol ünitesinin komutları aldığı, donanımla kontrol sinyalleri atanan ve bunları çözdüğü, Nimanan kökeninin (neumanna arka plan modeli ve Princeton mimarisi olarak da bilinir) mimarisine dayanır. Fikir, talimatlara yönlendirilen verilerle birlikte hafızadaki talimatları saklamaktır. Öte yandan, mikrodenectroller, harvard mimarisine dayanır, burada talimatların ve bu programların ayrı ayrı saklandığı.

6) Mikroişlemci ve mikrodenetleyici uygulamaları

Mikroişlemciler, bir çipli ve kontrol spesifikasyonları, trafik kontrolü, sıcaklık kontrolü, test araçları, gerçek zamanlı izleme sistemi ve çok daha fazlası gibi çeşitli uygulamalara gömülü bir kitle hafıza cihazıdır. Commokontroller, elektriksel ve elektronik devrelerde ve cihazlarda kullanılır. Yüksek kaliteli tıbbi aletler, otomotiv motor kontrol sistemleri, güneş şarj cihazları, slot makinesi, trafik kontrolü, endüstriyel kontrol cihazları vb. Gibi otomatik kontrol.

Mikrodenetleyici Mikroişlemci: Karşılaştırmalı Tablo

Özet MICROPROCESSOR VE MİKROKONTROLLER

Bu terimler arasındaki kilit ayrım, çevresel cihazların varlığıdır. Mikrodenetleyicilerin aksine, mikroişlemciler, sistemi oluşturan yerleşik belleğe, ROM, Seri bağlantı noktalarına, zamanlayıcıları ve diğer çevre birimlerine sahip değildir. Çevresel cihazlarla etkileşim için harici bir lastik gereklidir. Öte yandan, mikrodenetleyici, bir çip içine yerleştirilen bir işlemci, RAM, ROM ve IO gibi tüm çevre birimlerine sahiptir. Tasarımcı için mevcut olmayan bir iç kontrol lastiğine sahiptir. Tüm bileşenler bir çipte paketlendiğinden, büyük ölçekli endüstriyel uygulamalar için ideal kılan kompakt. Mikroişlemci, bilgisayar sisteminin kalbidir ve mikrodenetleyici beyindir.