С нарастващата популярност на микроконтролерите инженерите използват микроконтролери повече от FPGA. На микроконтролери са станали доминиращи над FPGA заради тяхната евтина цена, добра поддръжка, лесна достъпност, голяма общност, гъвкавост, програмиране и т.н. Но, различна от тази микропроцесори имат някои ограничения, като например указанията, дадени, последователно изпълнение на програми (последователна обработка), липса на гъвкавост и повторна употреба и т.н. Въпреки това FPGA може да преодолее тези ограничения, тъй като FPGA имат паралелно изпълнение на програми и е гъвкав и многократно използваем, което може да бъде препрограмирано отново и отново за различни задачи.
Какво е FPGA и по какво се различава от микроконтролера
А спартакиада Programmable Gate Array е интегрална схема, силициев чип, който има множество логика порти и този масив може да се програмира в областта т.е. потребителят може да замени съществуващите конфигурации с новите си определени конфигурации и могат да създадат своя собствена цифрова схема на полето. FPGA могат да се считат за празен лист. FPGA не правят нищо сами по себе си, докато от дизайнерите зависи да създадат конфигурационен файл, често наричан битов файл за FPGA. FPGA ще се държи като цифровата верига, след като бъде зареден с битов файл.
Докато при микроконтролерите това не е така, тъй като микроконтролерите не могат да бъдат програмирани или преструктурирани на място. Потребителят няма право нито да презаписва съществуващите си конфигурации, нито може да създаде цифрова схема на полето. Микроконтролерите са лесни за програмиране и общността също е широка. Микроконтролерите са вградени по поръчка мини компютри, които се предлагат в IC форма, докато FPGAs съдържат само логически блокове, които отново могат да бъдат пренаредени електрически. Също така по отношение на микроконтролерите той консумира по-малко енергия от FPGA. Известно е, че FPGA са скъпи и изискват повече разходи от микроконтролера, когато става въпрос за изграждане на всяко устройство. FPGAs отнема много повече време за настройка, докато микроконтролерите са на разположение лесно изградени за специфични приложения.
FPGA архитектура
FPGA има редовна структура от логически клетки или модули и взаимовръзки, която е под пълен контрол на разработчиците и дизайнерите. FPGA е изграден с предимно три основни блока като конфигурируем логически блок (CLB), I / O блокове или накладки и комутационни матрични / междусистемни проводници. Всеки блок ще бъде разгледан по-долу накратко.
- CLB (конфигурируем логически блок): Това са основните клетки на FPGA. Състои се от един 8-битов функционален генератор, два 16-битови генератора на функции, два регистъра (джапанки или резета) и препрограмируеми контроли за маршрутизация (мултиплексори). CLB се прилагат за изпълнение на други проектирани функции и макроси. Всеки CLB има входове от всяка страна, което ги прави гъвкави за картографиране и разделяне на логиката.
- I / O подложки или блокове: Входно / изходните подложки се използват за външните периферни устройства за достъп до функциите на FPGA и използвайки I / O подложките може да комуникира с FPGA за различни приложения, използвайки различни периферни устройства.
- Превключваща матрица / свързващи проводници: Превключващата матрица се използва в FPGA за свързване на дългите и късите свързващи проводници заедно в гъвкава комбинация. Той също така съдържа транзисторите за включване / изключване на връзки между различни линии.
Когато са необходими FPGA
Както бе споменато по-горе, че микроконтролерите имат известни ограничения и не могат да се използват за паралелно изпълнение на задача, тъй като микроконтролерът и микропроцесорите работят при последователно изпълнение на програми, което го прави малко бавен в някои приложения, в този сценарий FPGA имат предимство и могат да бъдат ефективно използвани. Също така микроконтролерът може да изпълнява ограничени задачи, тъй като те се доставят с инструкции и техните схеми. Програмистът трябва да спазва ограниченията, докато разработва код. Така че и в този сценарий FPGA имат предимство.
При микроконтролерите обаче процесорът превключва от един код на друг, за да постигне някакво ниво на паралелизъм. Ще ви бъде по-лесно да пишете кодове на микроконтролери, отколкото FPGA. Възможността за паралелна обработка на FPGA ви позволява да контролирате ефективно прекъсванията, като използвате машини с крайно състояние (FSM).
В случай на микроконтролери, трябва да отчетете времето, необходимо на ISR, за да разрешите прекъсване. Можете лесно да преинсталирате FPGA, просто като го препрограмирате. Конфигурацията в FPGA се зарежда на конфигурируемите логически клетки при включване на захранването.
Не е необходимо да правите промени в хардуера, за да препрограмирате FPGA. FPGA са подходящи за високоскоростна обработка на паралелни данни и се предлагат с висока степен на адаптивност. Те обаче имат и недостатъците на работата на прототипа и сложността на конфигурацията. Така че FPGA могат да бъдат избрани с тези предимства пред микроконтролерите. Нека да започнем програмирането на FPGA и да наблегнем