Каква е разликата между микросхема и процесор? Микропроцесори и микроконтролери

Изборът на правилното устройство, на което да базирате новата си разработка, може да бъде труден. Трябва да намерите баланс между цена, производителност и консумация на енергия и да вземете предвид дългосрочните последици от тези избори. Например, ако използваното устройство, било то микроконтролер или микропроцесор, стане основата на цял набор от нови продукти.

Каква е разликата между микропроцесор и микроконтролер?

Първо, нека да разгледаме разликата между микроконтролер (MCU) и микропроцесор (MPU). Обикновено микроконтролерът използва вградена флаш памет, за да съхранява и изпълнява своята програма. Благодарение на това микроконтролерът има много кратко времестартер и може да изпълнява код много бързо. Единственото ограничение при използване на вградена памет е нейният ограничен капацитет. Повечето налични на пазара микроконтролери имат максимална флаш памет от ~2 мегабайта. За някои приложения това може да е критично.

Микропроцесорите нямат ограничение на паметта, защото използват външна памет за съхраняване на програми и данни. Програмата обикновено се съхранява в енергонезависима памет като NAND или серийна флаш памет. При стартиране програмата се зарежда във външна динамична RAM и след това се изпълнява. Микропроцесорът не може да стартира толкова бързо, колкото микроконтролерът, но количеството RAM и енергонезависима памет, които могат да бъдат свързани към процесора, може да достигне стотици или дори хиляди мегабайта.

Друга разлика между микроконтролера и микропроцесора е захранващата система. Благодарение на вградения регулатор на напрежението, микроконтролерът се нуждае само от една външна стойност на напрежението. Докато микропроцесорът изисква няколко различни напрежения за ядрото, периферните устройства, I/O портовете и т.н. Разработчикът трябва да се погрижи за наличието на тези напрежения на платката.

Трябва ли да избера MPU или MCU?

Изборът на микроконтролер или микропроцесор се определя от определени аспекти на спецификацията на разработваното устройство. Например, необходими са редица периферни интерфейсни канали, които микроконтролерът не може да осигури. Или изискванията за потребителския интерфейс не могат да бъдат изпълнени с помощта на микроконтролер, защото му липсва памет и скорост. Когато започваме нашата първа разработка, знаем, че продуктът може да се промени значително в бъдеще. В този случай е възможно най-доброто решениеще се използва някаква готова платформа. По този начин ще вземем предвид резерва от изчислителна мощност и интерфейсни възможности за бъдещи модификации на устройството.

Един от аспектите, които е трудно да се определи, е необходимата скорост, за да работи бъдещата система. Този критерий може да бъде количествено определен с помощта на така наречената изчислителна мощност, която се измерва в Dhrystone MIPS или DMIPS (Dhrystone е синтетичен тесткомпютърна производителност, а MIPS е броят милиони инструкции в секунда). Например микроконтролер Atmel SAM4, базиран на ядрото ARM Cortex-M4, осигурява 150 DMIPS, докато микропроцесор ARM Cortex-A5 като Atmel SAM5AD3 може да осигури до 850 DMIPS. Един от начините за оценка на необходимия DMIPS е да се види колко производителност е необходима за изпълнение на част от приложението. Изпълнението на пълна операционна система (Linux, Android или Windows CE), за да работи вашето приложение, ще изисква около 300 - 400 DMIPS. И ако се използва за RTOS приложение, тогава са достатъчни само 50 DMIPS. Използването на RTOS също изисква по-малко памет, тъй като ядрото обикновено заема няколко килобайта. За съжаление, една пълноценна операционна система изисква модул за управление на паметта (MMU), за да работи, което от своя страна ограничава типа процесорни ядра, които могат да се използват.

Приложенията, които обработват големи обеми от числа, изискват определено количество DMIPS. как повече приложенияориентирани към цифрова обработка, толкова по-голяма е вероятността да използвате микропроцесор.

Използването на потребителски интерфейс, независимо дали в потребителската или индустриалната електроника, изисква сериозно обсъждане. Потребителите вече са свикнали да използват интуитивно графични интерфейси, а в индустрията този метод на взаимодействие с оператора се използва все повече.

Има няколко фактора по отношение на потребителския интерфейс. Първо, това е допълнително изчислително натоварване. Интерфейсна библиотека като Qt, която се използва широко в Linux, ще изисква допълнителни 80-100 DMIPS. Второ, сложността на потребителския интерфейс. Колкото повече анимации, ефекти и мултимедийно съдържание използвате и колкото по-висока е резолюцията на изображението, толкова повече производителност и памет ще ви трябват. Следователно микропроцесорът най-вероятно е подходящ тук. От друга страна, прост потребителски интерфейс със статично изображение на дисплей с ниска разделителна способност може да бъде реализиран на микроконтролер.

Друг аргумент в полза на микропроцесора е наличието на вграден TFT LCD контролер. Малко микроконтролери включват такъв модул. Можете да инсталирате външен TFT LCD контролер и някои други драйвери за микроконтролера, но трябва да вземете предвид получената цена на продукта.

Flash микроконтролери с TFT LCD контролери вече се появяват на пазара, но все още трябва да има достатъчно вградени оперативна паметза управление на дисплея. Например 16-цветен QVGA 320x240 изисква 150 KB RAM за показване на изображения и актуализиране на дисплея. Това е доста голямо количество RAM и може да се наложи външна памет, което също ще се отрази на цената.

По-сложните графични потребителски интерфейси, особено тези, използващи дисплеи, по-големи от 4,3 инча, изискват използването на микропроцесори. Ако микропроцесорите доминират в приложения, които използват потребителски интерфейс с цветен TFT екран, микроконтролерите са царете на сегментираните или матрични LCD дисплеи и други екрани със сериен интерфейс.

От комуникационна гледна точка повечето микроконтролери и микропроцесори включват най-популярните . Но високоскоростни интерфейси като HS USB 2.0, 10/100 Mbps Ethernet портове или Gigabit Ethernet портове обикновено се предлагат само на микропроцесори, тъй като те са по-подходящи за обработка на големи количества данни. Ключовият въпрос тук е наличието на подходящи канали и честотна лента за обработка на потока от данни. Приложенията, които използват високоскоростни връзки и са ориентирани към операционната система, изискват използването на микропроцесори.

Друг ключов аспект, който определя избора между микроконтролер и микропроцесор, е изискването за детерминирано време за реакция на приложението. Благодарение на процесорното ядро, вградената флаш памет и софтуерпод формата на RTOS (операционна система в реално време) или чист C код, микроконтролерът определено ще води по този критерий.

Последната част от нашата дискусия ще се отнася до потреблението на енергия. Въпреки че микропроцесорът има режими на ниска мощност, типичният микроконтролер има много повече. Освен това външният хардуер на микропроцесора усложнява прехода му към тези режими. Реалната консумация на микроконтролер е значително по-ниска от тази на микропроцесор. Например, в енергоспестяващ режим със запазване на регистри и RAM, микроконтролерът може да консумира 10-100 пъти по-малко.

Заключение

Изборът между микроконтролер и микропроцесор зависи от много фактори като производителност, възможности и бюджет за разработка.

Най-общо казано, микроконтролерите обикновено се използват в решения с оптимизирана цена, където цената на продукта и икономията на енергия са важни. Те например се използват широко в приложения със свръхниска мощност, където се изисква дълъг живот на батерията. Например в конзоли дистанционно, потребителски електромери, системи за сигурност и др. Те се използват и там, където се изисква силно детерминистично поведение на системата.

Микропроцесорите обикновено се използват за създаване на функционални и високопроизводителни приложения. Те са идеални за промишлени и потребителски приложения, базирани на операционна система, където изчисленията са интензивни или са необходими високоскоростни комуникации с данни или скъп потребителски интерфейс.

И едно последно нещо. Изберете доставчик, който предлага съвместими микроконтролери или микропроцесори, така че да можете да мигрирате нагоре или надолу, увеличавайки повторното използване на софтуера.

И микроконтролерите, и микропроцесорите често се срещат в различни електронни устройства. И двата компонента приемат команди от паметта и изпълняват логически и аритметични операции, докато работите с входно/изходни устройства и други периферни устройства. Каква е разликата тогава?

Микроконтролер

Микроконтролер - (наричан по-нататък МК) е микросхема, предназначена за програмно управление електронни схеми. MK се изпълнява на един чип. Той съдържа както изчислителното устройство, ROM и RAM. Освен това МК най-често съдържа входно/изходни портове, таймери, АЦП, последователни и паралелни интерфейси. В някои дори можете да забележите Wi-Fi/Bluetooth модул и дори NFC поддръжка.

Първият патент за микроконтролер е издаден през 1971 г. на Texas Instruments. Инженерите на тази компания предложиха да поставят върху чипа не само процесора, но и паметта и I/O устройствата.

Въпреки факта, че всичко необходимо за работата на микроконтролера вече се съдържа в него, понякога те се използват заедно с външни периферни устройства. Например, когато вътрешният ROM не е достатъчен (или просто липсва), се свързва външен. Точно това направиха с микроконтролерите от серията ESP. ESP8266 изобщо няма вградена памет, докато ESP32 има нищожните 448 KB. Следователно в кутията им (по-точно под радиатора) се поставя флаш памет с капацитет 1–16 MB.

Тогава защо да не направим някакъв преносим компютър, базиран на микроконтролер? Факт е, че изчислителната мощност на MK най-често е доста малка. Достатъчно е да управлявате например поливна система, микровълнова фурна или някаква машина.

Например, една от мощните платки на платформата Arduino е Due. Управлява се от 32-битов AVR микроконтролер AT91SAM3X8E. Тактовата му честота е 84 MHz. Има 512 KB постоянна памет и 96 KB RAM. MK има 54 цифрови GPIO (12 от които поддържат PWM), 12 аналогови входа и 2 аналогови изхода (DAC). Има и различни интерфейси, като UART, SPI, I2C.

Въпреки тези незначителни характеристики, микроконтролерите са много популярни. Използват се там, където не се изисква голяма изчислителна мощност - роботика, оранжерийни контролери, домакински уреди.

Микропроцесор

С микропроцесора (наричан по-долу MP) нещата са малко по-различни. Съдържа аритметично-логическо устройство, устройство за синхронизация и управление, запаметяващо устройство, регистри и шина. Тоест MP съдържа само това, което е пряко необходимо за извършване на аритметични и логически операции. Всички останали компоненти (RAM, ROM, входно/изходни устройства, интерфейси) трябва да бъдат свързани външно.

Първите микропроцесори също се появяват в началото на 70-те години. По това време се смяташе за най-популярното. Това е микропроцесор, разработен от Intel и представен на 15 ноември 1971 г. Той имаше впечатляващи характеристики за този период:

  • 2300 транзистора;
  • тактова честота - 740 kHz;
  • регистър и ширина на шината - 4 бита;
  • техпроцес - 10 микрона;
  • кристална площ: - 12 mm².

Между другото, 4004 е направен в обикновен пакет DIP-16. Този депутат е най-популярната микросхема за събиране. Някои копия се продават за $400 всяко. По-малко редките струват около 250 долара.

В рамките на няколко години 8-битовите MPs направиха възможно създаването на първите домакински микрокомпютри.

Естествено, предимството тук е, че можете да изберете да свържете различни периферни устройства с различни характеристики към MP (което не е възможно във всички случаи на MK). Втората основна разлика между микропроцесор и микроконтролер е, че микропроцесорите имат по-голяма мощност на обработка. Няма смисъл да ги слагате в микровълнови печки и умни крушки. Микропроцесорите се използват където изчислителна мощност MK вече не може да се справи - игрови конзоли, сложни изчислителни устройства и инструменти, джаджи.

Оказва се, че за да осигурите функционалността на микропроцесора, трябва да го свържете поне с минимален набор от периферни устройства. минуси:

  1. Размер - ако в случай на MK всичко вече е в един случай, тогава минималният набор от елементи за работа на MP заема повече място.
  2. Цена - обикновено целият "монтаж" от компоненти за MP е много по-скъп от "голите" микроконтролери.
  1. Производителност - Микропроцесорите имат по-висока производителност от микроконтролерите.
  2. Избор - при MP имате възможност за избор на компоненти. Това ще ви позволи да инсталирате по-подходящи периферни устройства за вашите цели.

Приложение

Микроконтролерът има очевидна простота: изисква се по-малко хардуер, по-лесно е да се работи с него на софтуерно ниво, а цената започва от стотинки. Но тази простота се разпростира и върху производителността. Както бе споменато по-горе, микроконтролерът не е в състояние да осигури висока производителност наравно с микропроцесорите. Въпреки че микропроцесорите изискват външно хардуерно превключване и са относително сложни за работа в сравнение с микропроцесорите, те могат лесно да се използват в по-сложни устройства.

Понякога обаче в мрежата се появяват занаятчии, които натискат ESP32 в микроконтролера

Разлика между микропроцесори и микроконтролери. и получи най-добрия отговор

Отговор от Releboy[guru]
МИКРОПРОЦЕСОР - самостоятелно или част от микрокомпютърно устройство за обработка на информация, направено под формата на една или няколко големи интегрални схеми (по същество това е мозъкът на микроконтролера). Появата на едночипови микрокомпютри се свързва с началото на ерата на масово прилагане на компютърната автоматизация в областта на управлението. Очевидно това обстоятелство дефинира термина „контролер“ (английски контролер - регулатор, контролно устройство). Поради спада на местното производство и увеличения внос на оборудване, включително изчислително оборудване, терминът „микроконтролер“ (MK) замени използвания преди това термин „едночипов микрокомпютър“ от употреба. Първият патент за едночипов микрокомпютър е издаден през 1971 г. на инженерите M. Kochren и G. Boone, служители на американския Texas Instruments. Именно те предложиха да се постави на един чип не само процесор, но и памет и I/O устройства. При проектирането на микроконтролери има баланс между размер и цена от една страна и гъвкавост и производителност от друга. За различните приложения оптималният баланс на тези и други параметри може да варира значително. Следователно има голяма сумавидове микроконтролери, различаващи се по архитектурата на процесорния модул, размера и вида на вградената памет, набор от периферни устройства, тип корпус и т.н. Докато 16-битовите процесори с общо предназначение отдавна са напълно заменени от повече продуктивни модели, 8-битовите микроконтролери продължават да се използват широко. Това е така, защото има голям брой приложения, в които не се изисква висока производителност, но ниската цена е важна. В същото време има микроконтролери с по-големи изчислителни възможности, като цифрови сигнални процесори. Днес терминът микроконтролер е компютър, който управлява периферни устройства автоматичен режимбез участие на оператор. Обикновено работят на по-ниски нива на автоматизация. Съвременните персонални компютри са мощни и високоскоростни микроконтролери, насочени към извършване на огромен брой операции и функции с участието на оператор. Събирайте и обработвайте информация от администраторите. Използва се на високи ниваавтоматизация.

Отговор от Йеренки[гуру]
Доколкото знам, микропроцесорът вече е програмиран. и микроконтролерът може да се програмира както искате, в зависимост от задачите, същият контролер може да управлява работата на, да речем, многоцифрен индикатор с различни отброявания, да генерира честота, да контролира комутацията различни устройствадори на HF за управление на работата на интерфейс (например модем) те обикновено се използват в сравнително евтини многофункционални устройствав зависимост от времето на пускане на устройството, функционалната услуга може да варира;


Отговор от Владимир Николаев[гуру]
Микроконтролерът е компютър на един чип. Предназначен за управление на различни електронни устройства и взаимодействие между тях в съответствие с програмата, вградена в микроконтролера. За разлика от микропроцесорите, използвани в персонални компютри,микроконтролерите съдържат вградени допълнителни устройства. Тези устройства изпълняват своите задачи под управлението на микропроцесорното ядро ​​на микроконтролера.

Altera-Cyclone и Arduino

Същност на въпроса. Разлика между FPGA и микроконтролер

Всеки начинаещ микропрогер на определен етап от развитието си се чуди какво разлика между FPGA(от Altera или Xilinx) и микроконтролер(микропроцесор)?

Четете форумите - експертите в областта пишат, че това са напълно различни неща, които не могат да се сравняват, с аргумента, че имат различни архитектура. Четете ръководство за Verilog или C++ - и двата използват подобни оператори с подобна функционалност, дори синтаксисът е подобен, но защо са различни? Качвате се на марсохода - там се използват светодиоди (или дори само електрически крушки). FPGAТе мигат, гледате проекти на Arduino - те управляват роботи. Спри се!

Но сега нека спрем и се запитаме: защо с FPGA- глупава крушка, а Arduino - умен робот? В крайна сметка и първото, и второто изглеждат програмируеми устройства, наистина ли? FPGAНямате достатъчно възможности на робота?

До известна степен същността на въпроса „Какво е разлика между FPGA и микроконтролер? се разкрива именно в този пример.

Нека го отбележим веднага. Функционален FPGAпървоначално не по-нисък микроконтролер(и микропроцесора, между другото също), по-точно - основните функции на единия и другия са по същество идентични - да произвеждат логическа 0 или 1 при определени условия, а ако говорим за скорост, броят на пиновете (крачетата ) и възможности за обработка на тръбопроводи, тогава микроконтролерпреди FPGAно като цяло далеч. Но има едно „но“. Време е да разработите един и същ софтуерен алгоритъм на две различни устройства (FPGA и микроконтролер) се различава няколко пъти или дори десетки пъти. Точно FPGAтук в 99% от случаите много отстъпва на МК. И това изобщо не е въпрос на езиково объркване Verilog,VHDLили AHDL, и в самото устройство FPGA.

За взаимодействието на програмния език с архитектурата на FPGA и микроконтролера

FPGA: В FPGAи няма сложни автоматизирани вериги (които вършат част от работата вместо вас). Има само железни жици и магистрали, входове, изходи, логически блокове и блокове памет. Сред следите има специален клас - тактова следа (свързана с определени крака, през които се препоръчва да се провежда тактовата честота).

Основен актьорски състав:

Маршрутът е метал, запоен върху слоевете на микросхемата, която провежда електричество между блоковете.

Блоковете са отделни места на дъската, състоящи се от клетки. Блоковете се използват за съхраняване на информация, умножение, събиране и логически операции върху сигнали като цяло.

Клетките са групи от няколко единици до няколко дузини транзистори.

Транзисторът е основният елемент на TTL логиката.

Заключения (крака на микросхемата) - чрез тях се извършва обмен FPGAс външния свят. Има крака със специално предназначение, предназначени за фърмуер, тактова честота на приемане, захранване, както и крака, чиято цел се задава от потребителя в програмата. И като правило има много повече от тях микроконтролер.

Тактов генератор - външен чип, който генерира тактовите импулси, на които се основава по-голямата част от работата FPGA.

FPGA архитектура. Взаимна връзка на съставните елементи

Следите са свързани към блоковете с помощта на специални CMOS транзистори. Тези транзистори са способни да поддържат своето състояние (отворено или затворено) за дълъг период от време. Състоянието на транзистора се променя, когато се приложи сигнал по определен път, който се използва само когато FPGA програмиране. Това означава, че по време на фърмуера напрежението се подава към определен набор от CMOS транзистори. Този набор се определя от фърмуерната програма. Така вътре се извършва сложно изграждане на огромна мрежа от маршрути и магистрали FPGA, свързвайки огромен брой логически блокове един с друг по сложен начин. В програмата вие описвате точно какъв алгоритъм трябва да се изпълни, а фърмуерът свързва заедно елементите, които изпълняват функциите, които описвате в програмата. Сигналите се движат по пистата от блок до блок. Сложен маршрут е определен от програмата.


FPGA архитектура(FPGA)

Архитектура на микроконтролера

В този елемент на TTL логиката всички операции за обработка на отделни сигнали се извършват независимо от вас. Вие само посочвате какво да правите с този или онзи набор от получени сигнали и къде да подадете сигналите, които трябва да бъдат предадени. Архитектура микроконтролерсе състои от напълно различни блокове от FPGA. И връзките между блоковете се осъществяват чрез постоянни магистрали (и не се презареждат). Сред блоковете на MK могат да се разграничат основните:

Паметта само за четене (ROM) е паметта, в която се съхранява вашата програма. Той включва алгоритми за действие и константи. Както и библиотеки (набори) от команди и алгоритми.

Памет с произволен достъп (RAM) - използвана памет микроконтролерза временно съхранение на данни (като тригери в FPGA). Например при изчисляване на няколко стъпки. Да кажем, че трябва да умножите първото число, което идва, по второто (1-во действие), след това третото по четвъртото (2-ро действие) и да добавите резултата (3-то действие). В този случай резултатът от действие 1 ще бъде въведен в RAM за времетраенето на второто действие, след което ще бъде въведен резултатът от действие 2. И тогава и двата резултата ще отидат от RAM за изчисляване на действие 3.

Процесорът е калкулатор микроконтролер. Той комуникира с RAM, както и с постоянната памет. Изчисленията се обменят с оперативната. От константата процесорът получава команди, които принуждават процесора да изпълнява определени алгоритми и действия с входни сигнали.

I/O съоръжения (портове) и серийни I/O портове - щифтове микроконтролерпроектиран да взаимодейства с външния свят.

Таймерите са блокове, предназначени да отчитат броя на циклите при изпълнение на алгоритми.

Бус контролерът е блок, който управлява обмена между всички блокове в микроконтролер. Той обработва заявки, изпраща контролни команди, организира и рационализира комуникацията в кристала.

Контролерът за прекъсване е блок, който получава заявки за прекъсване от външни устройства. Заявката за прекъсване е сигнал от външно устройство, който информира, че трябва да обмени информация с него микроконтролер.

Вътрешни магистрали - маршрути, положени вътре микроконтролерза обмен на информация между блоковете.

Тактов генератор - външна микросхема, която генерира часовникови импулси, на които всички работа на микроконтролера.

Взаимна връзка на компонентните блокове на микроконтролера

IN микроконтролер, В различияот FPGA, работата се извършва между горните блокове, които имат комплекс архитектура, улеснявайки процеса на разработване на програмата. Когато мигате фърмуера, вие променяте само постоянната памет, на която разчита цялата работа на MK.


Основната разлика между FPGA и микроконтролера

FPGA е зашит на хардуерно ниво, почти по цялата площ на чипа. Сигналите преминават през сложни вериги от транзистори. Микропроцесорът се флашва на хардуерно програмно ниво, сигналите преминават в групи, от блок към блок - от памет към процесор, към RAM, от RAM към процесор, от процесор към I/O портове, от I/O портове към RAM, от RAM... и така нататък. Заключение: поради FPGA архитектурипечели в скоростта и по-широките възможности за конвейерна обработка, MK печели в лекотата на писане на алгоритми. Поради повече прост начинпрограмни описания, въображението на разработчика Микроконтролерпо-малко ограничено от време за отстраняване на грешки и разработка и по този начин време за програмиране на същия робот на MK и FPGAще различаватмного, много пъти. Въпреки това, робот работи FPGAще бъде много по-бърз, по-точен и гъвкав.

Хардуер и софтуер.

IN FPGAтрябва да свършите цялата работа сами, ръчно: за да приложите която и да е програма на FPGA, трябва да проследите всеки сигнал за всеки кабел, който влиза FPGA, поставете някои сигнали в клетките на паметта, уверете се, че в подходящия момент тези клетки на паметта са достъпни от друг сигнал, който също наблюдавате или дори генерирате, и в резултат на това наборът от сигнали, забавени в паметта, активира сигнала, от който се нуждаете, който например ще отиде до определен изходен щифт и ще включи светодиода, който е свързан към него. Някои от сигналите не отиват в паметта, а например за стартиране на определена част от алгоритъма (програмата). Тоест, на езика на микропрогерите, тези крака са адресируеми. Например, на нашата платка в нашата програма имаме три адресни пина за активиране на определени несвързани (или свързани) алгоритми, които внедрихме на езика Verilog в FPGA. Също така в програмата, освен три адресни крака, имаме и например 20 информационни крака, през които набор от входни сигнали (например от различни сензори) идва с някаква информация (например температурата на вода в аквариума от сензора за температура на водата в аквариума). 20 крака = 20 бита. 3 крака -3 бита. Когато адресният сигнал 001 пристигне (от три адресни крака), стартираме първия алгоритъм, който записва 20 информационни сигнала в 20 клетки от паметта (20 тригера), след което умножаваме следващите 20 сигнала по 20-те, получени по-рано, и записваме резултата на умножението в паметта и след това го изпратете по други крака, например във водния термостат в аквариум. Но ние ще изпратим този резултат само когато код, например 011, пристигне на нашия адрес и стартира алгоритъма за четене и предаване. Е, разбира се, ние „изпращаме“, „четем“ и пишем нещо друго ръчно. Ние контролираме всеки сигнал на всяка стъпка от работата FPGAпо определен път, ние не губим. Обработка или запис. Добавете или умножете. Не забравяйте да го запишете. Не забравяйте да приемете следващия сигнал и да го запишете на други тригери. Тук също добавете работа, свързана с тактова честота, синхронизация (която също се изпълнява ръчно), неизбежни грешки на етапите на разработка и отстраняване на грешки и куп други проблеми, които е просто безсмислено да се разглеждат в тази статия. Труден. За дълго време. Но изходът работи супер бързо, без проблеми или забавяния. Желязо!

Сега микроконтролер. 20 крака за получаване на информация - за повечето микроконтролерифизически невъзможна задача. Но 8 или 16 - да, моля! 3 информационни - лесно! програма? На адрес 001 умножете първото получено число по второто, на адрес 011 изпратете резултата на термостата. Всичко! Бърз. Лесно. Не страхотно, но ефикасно. Ако напишете програмата много компетентно, без проблеми и спирачки. Програмно!

Хардуер и програма! Това е основното разлика между FPGA и микроконтролер.

IN микроконтролерПовечето от объркващите, но често използвани алгоритми вече са монтирани в чипа. Просто трябва да се обадиш програмножеланата библиотека, в която се съхранява този алгоритъм, извикайте я по име и тя ще свърши цялата мръсна работа вместо вас. От една страна, това е удобно и изисква по-малко познания за вътрешна структурамикросхеми. Микрик се грижи за проследяването на получените, генерираните и получените сигнали, тяхното съхранение, обработка и забавяне. Той прави всичко сам. За повечето задачи по микропрограмиране това е необходимото. Но ако използвате всички тези удобства неграмотно, тогава има възможност неправилна работа. Хардуер и програма!

Заключение

Съвременните разработчици на процесори и микропроцесори първоначално разработват своите устройства върху FPGA. Да, да, познахте правилно: първо те имитират създаденото микроконтролерна архитектурачрез разработката и фърмуера на програмата на FPGAи след това измерване на скоростта на изпълнение на алгоритми за конкретно подреждане на симулирани MC блокове и определен набор от функционалности за всеки блок поотделно.

Според характеристиките на изходния сигнал, FPGAнай-често проектиран за 3.3V, 20mA, Микроконтролерпри 5V, 20mA.

Под микроконтролерЗа AVR, успешно внедрен в платформата Arduino, е писано много софтуер с отворен код, голямо разнообразие от джаджи са разработени под формата на сензори, двигатели, монитори и всичко, което сърцето ви желае! Arduino сега е по-скоро като комплект за конструиране на игри за деца и възрастни. Не забравяйте обаче, че ядрото на този конструктор контролира " умни къщи“, модерен потребителска електроника, оборудване, автомобили, самолети, оръжия и дори космически кораб. Несъмнено такъв конструктор ще бъде един от най-добрите подаръци за всеки представител на по-силната половина на човечеството.

По принцип всичко е просто!

Все още имате въпроси? Напиши коментар. Ние ще отговорим и ще ви помогнем да разберете =)


Ключова разлика: Разликата между микропроцесор и микроконтролер е наличието на RAM, ROM и други периферни устройства в микроконтролера. Микропроцесорът съдържа само процесора и няма други компоненти.

Микропроцесорът и микроконтролерът са основните процесори, използвани за работа с компютри. Функциите на двата процесора са еднакви. Основната разлика между тях е, че микропроцесорите работят различни функции, докато микроконтролерите са малки компютри, предназначени за специфични задачи. Тази статия ви помага да намерите повече разлики между двата процесора.

Микропроцесорите обикновено се наричат ​​централен процесор или микрокомпютърен процесор. Твърди се, че е сърцето и мозъкът на компютъризирана машина.

Микропроцесорът е необходим за изпълнение на много задачи. Това е малък компютър, който се използва за извършване на аритметични и логически операции като управление на системата, съхранение на данни и т.н. Микропроцесорът обработва входните или изходните данни на периферните устройства и дава функция за връщане на резултатите. Първият търговски микропроцесор е пуснат от Intel през ноември 1971 г. и се нарича 4004; беше 4-битов микропроцесор.

Операциите, извършвани от микропроцесора, са с общо предназначение. Следователно се счита за необходимо да се извършват всякакви логически операции на компютъризирана машина. Микропроцесорите са конфигурирани на чипове; той е направен от миниатюрни транзистори и някои други елементи на веригата на една полупроводникова ИС, за да изпълнява своите задачи в компютър. Съкратено е "µP" или "uP". Има пет основни типа процесори:

  • Изчерпателен набор от инструкции за микропроцесор
  • Микропроцесори с намален набор от инструкции
  • Суперскаларни процесори
  • Интегрална схема със специфично приложение
  • Мултипроцесори за цифров сигнал

Микроконтролерът е вграден компютър, оптимизиран за управление на електрически устройства. Това е устройство, което включва микропроцесор, памет и входно/изходни устройства на един чип. Твърди се, че е сърцето на вградена система.

Микроконтролерите са специфични по природа за задачата, която трябва да изпълняват. Има микропроцесор на борда си, за да изпълнява всички логически операции на джаджата. След като микроконтролерът бъде програмиран, той може да работи самостоятелно със съхранен набор от инструкции и може да изпълнява операции или задачи, ако е необходимо. Предвидено е да бъде самодостатъчно и печелившо. В допълнение, микроконтролерът представлява набор от фракции в системата, което е фундаментално за конфигурацията печатна електронна платка. „Фиксирана компютърна система“ е проектирана да изпълнява една или повече функции отново и отново в реално време. Тази система е вградена в хардуера и моторизираните елементи на компютъризирана машина.

Микроконтролерите са проектирани да изпълняват специфични операции, които помагат за управлението на конкретни системи. Съкращава се като "uC", "µC" или "MCU".

Микроконтролерите са като малък компютър, в който процесорът, паметта като RAM и ROM, I/O периферни устройства, таймери, броячи са вградени в една интегрална схема, т.е. ИНТЕГРАЛНА СХЕМА. Лесно се свързват с външни периферни устройствакато серийни портове, ADC, DAC, Bluetooth, Wi-Fi и др. Тук процесът на сдвояване е по-бърз в сравнение с микропроцесорното сдвояване. В повечето случаи микроконтролерите използват RISC или CISM архитектура за изпълнение на задачи на различни машини. Различни видовемикроконтролери:

  • 8-битов микроконтролер
  • 16-битов микроконтролер
  • 32-битов микроконтролер
  • Вграден микроконтролер
  • Вграден микроконтролер

Сравнение между микропроцесор и микроконтролер:

Микропроцесор

микроконтролер

Това е сърцето на компютърната система.

Това е сърцето на вградената система.

Съдържа

Той съдържа CPU, регистри с общо предназначение, указатели на стека, програмни броячи, синхронизация на часовника и вериги за прекъсване.

Той съдържа микропроцесорна схема и има вградени ROM, RAM, I/O устройства, таймери и броячи.

Памет за данни

Има много инструкции за преместване на данни между паметта и процесора.

Има една или две инструкции за преместване на данни между паметта и процесора.

Това е голямо.

Малко е.

Цена

Цената на цялата система се увеличава.

Цената на цялата система е ниска.

Инструкции за битове

Има едно или двубитови инструкции за обработка.

Има много инструкции за битова обработка.

Регистрационни номера

Има по-малко регистри; следователно операциите са базирани на паметта.

Има по-голям брой регистри; следователно програмите се пишат по-лесно.

Съхранение

Базиран е на архитектурата на фон Нойман, където програмата и данните се съхраняват в един модул памет.

Базиран е на архитектурата на Харвард, където програмната памет и паметта за данни се съхраняват в отделен модул.

Времената за достъп до паметта и I/O устройствата са по-дълги.

По-малко време за достъп до вградената памет и I/O устройства.

хардуер

Това изисква повече оборудване.

Изисква по-малко оборудване.

Публикации по темата