Процесорът Blackfin е проектиран, разработен и пуснат на пазара чрез Analog Devices & Intel като Micro Signal Architecture (MSA). Архитектурата на този процесор беше обявена през декември 2000 г. и демонстрирана за първи път на ESC ( Вградени системи Conference) през юни 2001 г. Този процесор Blackfin е проектиран главно за постигане на ограниченията на мощността и изчислителните изисквания на настоящите вградени аудио, видео и комуникационни приложения. Тази статия обсъжда общ преглед на a Процесор Blackfin – архитектура и нейните приложения.
Какво е процесор Blackfin?
Процесорът Blackfin е 16 или 32-битов микропроцесор който включва вградена DSP функционалност с фиксирана запетая, доставяна чрез 16-битови MAC (умножаване–натрупване). Тези процесори са проектирани главно за комбинирана процесорна архитектура с ниска мощност, която може да работи с операционна система, като същевременно се справя с трудни цифрови задачи, като H.264 видео кодиране в реално време.
Този процесор съчетава 32-битова RISC и двойна 16-битова MAC функционалност за обработка на сигнали чрез лесно използване на атрибути, които се намират в микроконтролерите с общо предназначение. Така че тази комбинация от атрибути за обработка позволява на процесорите Blackfin да постигат еднакво добри резултати както в приложенията за обработка на управление, така и в приложения за обработка на сигнали. Тази способност опростява значително както задачите за изпълнение на хардуерния, така и софтуерния дизайн.

Характеристики на Blackfin:
- Този процесор има архитектура с един набор от инструкции, включително производителност на обработка, която просто отговаря/побеждава продуктовата гама на цифров сигнален процесор или DSP за осигуряване на по-добра цена, мощност и ефективност на паметта.
- Този процесор с 16 или 32-битова архитектура просто позволява предстоящи вградени приложения.
Обработка на мултимедия, сигнали и управление в едно ядро. - Увеличава производителността на разработчиците.
- Той има регулируема производителност при динамично управление на мощността за консумация на енергия или обработка на сигнали.
- Приема се много бързо в различни дизайни, които просто се поддържат от няколко вериги инструменти, както и операционни системи.
- Изисква минимална оптимизация поради средата за разработка на мощен софтуер, съчетана с основна производителност.
- Процесорът Blackfin поддържа водещи в индустрията инструменти за разработка.
- Производителността на този процесор и половината от мощността на конкурентните DSP позволяват разширени спецификации и нови приложения.
Архитектура на процесора Blackfin
Процесорът Blackfin предоставя както функциите на микроконтролер, така и цифрова обработка на сигнала в рамките на един процесор, като позволява гъвкавост. Така че този процесор включва SIMD (единична инструкция с множество данни) процесор, включващ някои функции като променлива дължина РИСК инструкции, таймер за наблюдение, PLL в чипа, модул за управление на паметта, часовник в реално време, серийни портове със 100 Mbps, UART контролери & SPI пристанища.
MMU поддържа множество DMA канали за пренос на данни между периферни устройства и подсистеми памет FLASH, SDRAM и SRAM. Той също така поддържа кеширане на данни и конфигурируеми инструкции в чипа. Процесорът Blackfin е прост хардуер, който поддържа 8, 16 и 32-битови аритметични операции.
Архитектурата Blackfin се основава главно на архитектурата на микросигнала и е разработена съвместно от ADI (Analog Devices) и Intel, която включва 32-битов набор от RISC инструкции и 8-битов набор от видео инструкции с двойно 16-битово умножение-натрупване (MAC) единици.


Аналоговите устройства са в състояние да постигнат баланс между изискванията на DSP и MCU чрез архитектурата на набора от инструкции на Blackfin. Като цяло, процесорът Blackfin е съчетан с мощните инструменти за разработка на софтуер VisualDSP++, но сега с помощта на C или C++ е възможно да се произвежда високоефективен код много по-лесно от преди. За изискванията в реално време поддръжката на операционната система става критична, така че Blackfin поддържа не. на операционни системи и защита на паметта. Процесорът Blackfin се предлага както с едноядрен като BF533, BF535 & BF537, така и с двуядрен като моделите BF561.
Архитектурата на процесора Blackfin включва различни периферни устройства в чипа като PPI (паралелен периферен интерфейс), SPORTS (серийни портове), SPI (сериен периферен интерфейс), UART (универсален асинхронен приемник предавател), таймери с общо предназначение, RTC (в реално време Часовник), Watchdog таймер, I/O с общо предназначение (програмируеми флагове), Интерфейс на мрежата на контролера (CAN). , Ethernet MAC, периферни DMAs -12, Memory to Memory DMAs -2 включително Handshake DMA, TWI (двупроводен интерфейс) контролер, отстраняване на грешки или JTAG Интерфейс и манипулатор на събития с 32 Прекъсване Входове. Всички тези периферни устройства в архитектурата са просто свързани чрез различни шини с висока честотна лента към ядрото. И така, описание на някои от тези периферни устройства е дадено по-долу.
PPI или паралелен периферен интерфейс
Процесорът Blackfin просто осигурява PPI, който е известен също като паралелен периферен интерфейс. Този интерфейс е директно свързан към паралелни аналогово-цифрови и цифрово-аналогови преобразуватели, видео енкодери и декодери, както и към други периферни устройства с общо предназначение.
Този интерфейс включва специален входен CLK щифт, три щифта за синхронизиране на рамката и 16 щифта за данни. Тук входният CLK щифт просто поддържа паралелни скорости на данни, равни на половината от системната CLK скорост. Три различни режима ITU-R 656 поддържат само активно видео, вертикално заглушаване и пълно поле.
Режимите с общо предназначение на PPI са дадени, за да отговарят на различни приложения за предаване и улавяне на данни. Така че тези режими са разделени в основни категории Получаване на данни чрез вътрешно генерирани кадрови синхронизации, Предаване на данни чрез вътрешно генерирани кадрови синхронизации, Предаване на данни чрез външно генерирани кадрови синхронизации и Данни, получени чрез външно генерирани кадрови синхронизации.
СПОРТ
Процесорът Blackfin включва два двуканални синхронни серийни порта SPORT0 & SPORT1, използвани за серийни и многопроцесорни комуникации. Така че това са високоскоростен и синхронен сериен порт, който поддържа I²S , TDM и различни други конфигурируеми режими на кадриране за свързване ЦАП , АЦП, FPGA и други процесори.
SPI или порт за сериен периферен интерфейс
Процесорът Blackfin включва SPI порт, който позволява на процесора да общува с различни SPI-съвместими устройства. Този интерфейс просто използва три пина за предаване на данни, пинове за данни-2 и един пин CLK. Избраните входни и изходни щифтове на SPI порта просто дават пълен дуплекс SSI (синхронен сериен интерфейс), който поддържа както главни и подчинени режими, така и мулти-главни среди. Скоростта на предаване на този SPI порт и фазата или полярността на часовника са програмируеми. Този порт има вграден DMA контролер, който поддържа или предаване/получаване на потоци от данни.
Таймери
Процесорът Blackfin има 9 програмируеми таймера. Тези таймери генерират прекъсвания към ядрото на процесора за осигуряване на периодични събития, предназначени за синхронизиране с часовника на процесора или с броя на външните сигнали.
UART
Терминът UART означава порт „универсален асинхронен приемник-предавател“. Процесорът Blackfin осигурява 2 полудуплексни UART порта, които са напълно подходящи за PC стандартни UART. Тези портове просто осигуряват основен UART интерфейс към други хостове или периферни устройства, за да осигурят поддържан от DMA, полудуплексен, асинхронен сериен трансфер на данни.
UART портовете включват 5 до 8 бита данни и 1 или 2 стоп бита и поддържат 2 режима на работа като Програмиран I/O & DMA. В първия режим процесорът предава или получава данни чрез I/O-картографирани регистри за четене/запис, където данните се буферират два пъти при предаване и получаване. Във втория режим DMA контролерът предава и получава данни и намалява броя на прекъсванията, необходими за предаване на данни от & към паметта.
RTC или часовник в реално време
Часовникът в реално време на процесора blackfin просто предоставя различни функции като хронометър, текущо време и аларма. И така, часовникът в реално време е тактован с 32,768 kHz кристал, външен за процесора Blackfin. RTC в процесора има щифтове за захранване, които могат да останат включени и с честота дори след като останалата част от процесора Blackfin е в състояние на ниска мощност. Часовникът за реално време предоставя редица програмируеми опции за прекъсване. Входната CLK честота от 32,768 kHz се разделя до сигнал от 1 Hz чрез Prescaler. Подобно на другите устройства, часовникът в реално време може да събуди процесора Blackfin от режим Deep Sleep/режим на заспиване.
Таймер за наблюдение
Процесорът Blackfin има 32-битов таймер за наблюдение, използван за изпълнение на софтуерна функция за наблюдение. Така програмистът инициализира стойността на брояча на таймера, която позволява правилното прекъсване, и след това разрешава таймера. След това софтуерът трябва да презареди брояча, преди да преброи от програмираната стойност до „0“.
GPIO или I/O с общо предназначение
GPIO е щифт за цифров сигнал, който се използва като вход, изход или и двете и се управлява чрез софтуер. Процесорът Blackfin включва GPIO (I/O) пинове, 48 двупосочни в 3 отделни GPIO модула като PORTFIO, PORTHIO и PORTGIO, свързани съответно с порт G, порт H и порт F. Всеки портов щифт с общо предназначение се контролира индивидуално чрез манипулиране на статуса, контрола на порта и регистрите за прекъсване като GPIO DCR, GPIO CSR, GPIO IMR и GPIO ISR.
Ethernet MAC
Ethernet MAC периферното устройство в процесора Blackfin осигурява 10 до 100 Mb/s между MII (независим от медиите интерфейс) и периферната подсистема на Blackfin. MAC просто работи както в режим Full-Duplex, така и в режим Half-Duplex. Контролерът за достъп до медиите се тактова вътрешно от щифта CLKIN на процесора.
памет
Паметта на архитектурата на процесора Blackfin просто осигурява блокове памет от ниво 1 и ниво 2 при изпълнението на устройството. Паметта на L1, подобно на паметта за данни и инструкции, е просто свързана директно към ядрото на процесора, работи с пълна CLK скорост на системата и осигурява максимална производителност на системата за критични времеви сегменти от алгоритъм. Паметта L2 като SRAM паметта е по-голяма, което осигурява малко намалена производителност, но все пак е по-бърза в сравнение с паметта извън чипа.
Структурата на паметта L1 е внедрена, за да осигури необходимата производителност за обработка на сигнали, като същевременно предлага програми в микроконтролери. Това се постига чрез просто разрешаване на паметта L1 да бъде подредена като SRAM, кеш, в противен случай комбинация от двете.
Поддържайки моделите за програмиране на кеша и SRAM, дизайнерите на системата присвояват критични набори от данни за обработка на сигнали в реално време, които се нуждаят от ниска латентност и висока честотна лента в SRAM, като същевременно съхраняват контролни или OS задачи в реално време в кеш паметта.
Режими на зареждане
Процесорът Blackfin включва шест механизма за автоматично зареждане на вътрешна L1 памет за инструкции след нулиране. Така че различните режими на зареждане включват главно; Режим на стартиране от 8-битова и 16-битова външна флаш памет, серийна SPI памет. SPI хост устройство, UART, серийна TWI памет, TWI хост и изпълняват от 16-битова външна памет, заобикаляйки серията за зареждане. За всеки от първите 6 режима на зареждане първо се чете 10-байтов хедър от външно устройство с памет. И така, заглавката показва не. байтове за предаване и адреса на местоназначението на паметта. Няколко блока памет могат да бъдат заредени чрез всяка серия за зареждане. Когато всички блокове са просто заредени, тогава изпълнението на програмата започва от началото на L1 инструкция SRAM.
Режими на адресиране
Режимите на адресиране на процесора blackfin просто определят как индивидуалният достъп до паметта и адресирането трябва да указва местоположение. Режимите на адресиране, използвани в процесора blackfin, са индиректно адресиране, автоматично увеличаване/намаляване, последваща промяна, индексирано с незабавно отместване, кръгов буфер и битово обръщане.
Непряко адресиране
В този режим полето за адрес в инструкцията включва местоположението на паметта или регистъра, където присъства адресът на ефективния операнд. Това адресиране се класифицира в две категории като Непряко регистриране и Непряко на паметта.
Например LOAD R1, @300
В горната инструкция, ефективният адрес просто се съхранява на място в паметта 300.
Автоматично увеличаване/намаляване на адресиране
Адресирането с автоматично нарастване просто актуализира указателя, както и регистрите на индекса след правото на въвеждане. Размерът на увеличението зависи главно от размера на размера на думата. Достъпът до 32-битова дума може да доведе до актуализиране на показалеца с „4“. Достъпът до 16-битова дума актуализира показалеца с „2“, а достъпът до 8-битова дума актуализира показалеца с „1“. Операциите за четене както на 8-битов, така и на 16-битов може да показват или нулево разширяване/разширяване със знак на съдържанието в целевия регистър. Регистрите на указателите се използват главно за 8, 16 и 32-битови достъпи, докато индексните регистри се използват само за 16 и 32-битови достъпи
Например: R0 = W [ P1++ ] (Z);
В горната инструкция 16-битова дума се зарежда в 32-битов дестинационен регистър от посочен адрес през регистъра на указателя „P1“. След това указателят се увеличава с 2 и думата се удължава с „0“, за да запълни 32-битовия целеви регистър.
По подобен начин автоматичното намаляване работи, като намалява адреса след правото на влизане.
Например: R0 = [ I2– ] ;
В горната инструкция 32-битова стойност се зарежда в целевия регистър и намалява индексния регистър с 4.
Адресиране след промяна
Този тип адресиране просто използва стойността в регистрите Index/Pointer като ефективния адрес. След това го променя със съдържанието на регистъра. Индексните регистри просто се променят с модифицирани регистри, докато указателните регистри се променят от други указателни регистри. Подобно на регистрите на местоназначението, адресирането на тип след промяна не поддържа регистрите на указателя.
Например: R3 = [ P1++P2 ] ;
В горната инструкция 32-битова стойност се зарежда в регистъра „R3“ и се намира в мястото на паметта, посочено от регистъра „P1“. След това стойността в регистъра „P2“ се добавя към стойността в регистъра P1.
Индексирано с незабавно отместване
Индексираното адресиране просто позволява на програмите да получават стойности от таблици с данни. Регистърът на указателя се променя от непосредственото поле, след което се използва като ефективен адрес. Така че стойността на регистъра на указателя не се актуализира.
Например, ако P1 = 0x13, тогава [P1 + 0x11] ефективно би било еквивалентно на [0x24], което е свързано с всички достъпи.
Обратно адресиране на битове
За някои алгоритми програмите изискват битово обърнато пренасяне, за да получат резултати в последователен ред, особено за изчисления на FFT (бърза трансформация на Фурие). За задоволяване на изискванията на тези алгоритъми, функцията за обръщане на битове за адресиране на генераторите на адреси на данни многократно позволява подразделяне на серии от данни и съхраняване на тези данни в битово обърнат ред.
Циркулярно буферно адресиране
Процесорът Blackfin предоставя функция като опционално кръгово адресиране, което просто увеличава индексен регистър с предварително определен диапазон от адреси, след което нулира автоматично индексните регистри, за да повтори този диапазон. Така че тази функция подобрява производителността на входно-изходния цикъл, като просто премахва указателя на адресния индекс всеки път.
Кръговото адресиране на буфера е много полезно при многократно зареждане или съхраняване на низ от блокове данни с фиксиран размер. Съдържанието на кръговия буфер трябва да отговаря на следните условия:
- Максималната дължина на кръговия буфер трябва да бъде число без знак с величина под 231.
- Големината на модификатора трябва да е под дължината на кръговия буфер.
- Първото местоположение на показалеца „I“ трябва да бъде в кръговия буфер, който се определя от дължината „L“ и основата „B“.
Ако някое от горните условия не е изпълнено, поведението на процесора не е посочено.
Регистрационен файл на процесор Blackfin
Процесорът Blackfin включва три окончателни регистърни файла като; Файл с регистър на данни, файл с регистър на указател и DAG регистър.
- Файлът на регистъра на данните събира операнди, използвайки шините за данни, използвани за изчислителните единици, и съхранява изчислителните резултати.
- Файлът на регистъра на указателите включва указатели, използвани за операции за адресиране.
- Регистрите DAG управляват кръгови буфери с нулево натоварване, използвани за DSP операции.
Процесорът Blackfin осигурява първокласно управление на мощността и производителност. Те са проектирани с методология за проектиране с ниско напрежение и ниска мощност, която е в състояние да променя както напрежението, така и работната честота, за да намали значително общото използване на мощността. Така че това може да доведе до значително намаляване на използването на мощността в сравнение само с промяна на работната честота. Така че това просто позволява по-дълъг живот на батерията за удобни уреди.
Процесорът Blackfin поддържа различни външни памети като DDR-SDRAM, SDRAM, NAND флаш, SRAM и NOR флаш. Някои процесори Blackfin също включват интерфейси за масово съхранение като SD/SDIO и ATAPI. Те могат също да поддържат 100 мегабайта памет в пространството на външната памет.
Предимства
The предимствата на процесора Blackfin включват следното.
- Процесорите Blackfin предоставят основни предимства на дизайнера на системата.
- Процесорът Blackfin предлага гъвкавост на софтуера, както и мащабируемост за конвергентни приложения като обработка на аудио, видео, глас и изображения в мултиформат, сигурност в реално време, контролна обработка и многомодова обработка на бейсбенд пакети
- Ефективният капацитет за обработка на управление и високоефективната обработка на сигнали позволяват различни нови пазари и приложения.
- DPM (Динамично управление на мощността) позволява на дизайнера на системата специално да модифицира консумацията на енергия на устройството спрямо изискванията на крайната система.
- Тези процесори намаляват значително времето за разработка и разходите.
Приложения
The приложения на процесора Blackfin включват следното.
- Blackfin процесорите са идеални за много приложения като ADAS (автомобилни усъвършенствани системи за подпомагане на водача) , системи за наблюдение или сигурност и индустриално машинно зрение.
- Приложенията на Blackfin включват системи за управление на серво мотори, автомобилна електроника, системи за наблюдение и мултимедийни потребителски устройства.
- Тези процесори просто изпълняват функции на микроконтролер и обработка на сигнали.
- Те се използват за аудио, контрол на процеси, автомобилостроене, тестване, измерване и др.
- Процесорите Blackfin се използват в приложения за обработка на сигнали като широколентова безжична връзка, мобилни комуникации и устройства с възможност за аудио или видео интернет.
- Blackfin се използва в конвергентни приложения като мрежови и стрийминг медии, цифрово домашно забавление, автомобилна телематика, информационно-развлекателни системи, мобилна телевизия, цифрово радио и др.
- Процесорът Blackfin е вграден процесор, който има енергийна ефективност и най-висока производителност, използвани в приложения, където многоформатен глас, аудио, видео, многорежимна базова лента, обработка на изображения, обработка на пакети, сигурност в реално време и контролна обработка са важни.
По този начин, това е преглед на процесора Blackfin – архитектура, предимства и приложения. Този процесор изпълнява функции за обработка на сигнали и микроконтролер. Ето един въпрос към вас, какво е процесор?