DSC
Цифровий сигнальний контролер (англ. Digital Signal Controler (DSC)) – певний гібрид мікроконтролерів та цифрових сигнальних процесорів (DSP).
Об'єднання сигнальних процесорів і мікроконтролерів дозволяє отримувати при мінімальних витратах прийнятне рішення для багатьох побутових і промислових систем. І сьогодні, аналогічно тому, як з класу мікропроцесорів виділилися мікроконтролери, сформувався новий клас цифрових мікросхем - сигнальні контролери, або DSC.
Історично мікроконтролери та сигнальні процесори (DSP) призначені для різних додатків. Мікроконтролери в основному використовуються в засобах управління, які виконують функції впізнання і контролю події. Типове призначення контролера – реакція на зовнішні події, тобто аналіз вхідних даних і статусу системи, з тим щоб своєчасно змінити її стан. Основні його операції – умовні переходи, маніпулювання великим обсягом даних і послідовне переміщення розрядів регістру або комірки пам'яті. Вони легко програмуються на мові Сі. Але мікроконтролери малопридатні для складної обробки сигналів.
Спеціалізовані цифрові сигнальні мікропроцесори (DSP) традиційно застосовуються в системах, що вимагають прецизійної обробки аналогових сигналів. Сигнальні процесори являють собою швидкісні обчислювачі і виконують математичні дії з надзвичайно високою швидкістю, безперервно маючи при цьому обчислювальні блоки необхідними даними. Ця остання завдання і робить програмування DSP менш привабливим у порівнянні з мікроконтролером.
Таким чином, основні властивості мікроконтролерів – можливість керування в реальному часі і детермінований відгук, DSP – висока продуктивність. Мікроконтролери, як правило, виконуються на одному кристалі, DSP часто вимагають застосування зовнішніх схем пам'яті, ПЛІС, контролера і сполучних логічних схем.
Сьогодні, у міру збільшення складності систем, мікроконтролери вже здатні виконувати деякі функції обробки сигналу, а DSP – функції відгуку на подію в реальному часі, зберігаючи при цьому своє безпосереднє призначення. У системах прецизійного керування електродвигунами, робототехніки, драйвери накопичувачів на жорстких дисках, ряді електронних засобів вимірювання з метою збільшення швидкості виконання математичних операцій передбачена можливість доступу DSP до зовнішньої пам'яті мікроконтролера. А в цифрових фотоапаратах, стільникових телефонах можлива спільна робота двох пристроїв, що виконують різні операції системи. І, звичайно, у розробників систем виникло питання: "А чому б не скоротити витрати і не об'єднати мікроконтролери та сигнальні процесори на одному кристалі?".
Існують два способи об'єднання мікроконтролера і DSP.
Відповідно до першого, у мікроконтролері можна передбачити можливість виконання функції сигнального процесора. Згідно з другим, мікросхема сигнального процесора "збагачується" функціями мікроконтролера і отримує набір периферії, властивий мікроконтролеру.
Деякі виробники мікроконтролерів намагалися додати до схеми, яка вже є у випуску, функції множення і додавання (MAC) сигнального процесора. Але функції DSP набагато складніше, ніж просто множення і додавання: введення й виведення даних, обробка різних типів даних, рішення проблем насичення і переповнення під час обчислень. Ці функції, а також виконання спеціальних алгоритмів DSP не можна просто "додати" до існуючих мікроконтролерів. Та мікроконтролери з додатковими блоками МАС не змогли працювати з швидкодією, властивим DSP. Такий підхід виявився прийнятний лише для створення цифрових сигнальних контролерів, використовуваних у системах з малим об'ємом математичних дій.
Були і спроби виробників цифрових сигнальних процесорів "збагатити" свої схеми периферійними пристроями мікроконтролерів (принаймні, UART, SPI і одним таймером). Але мікроконтролери, виконані на основі DSP-ядер, вже не володіють швидким детермінованим відгуком або можливістю побітової обробки. Єдине прийнятне рішення полягало в розробці цифрового сигнального контролера "з нуля" з урахуванням всіх особливостей мікроконтролерів та сигнальних процесорів. В результаті розроблені мікросхеми цифрових сигнальних контролерів з швидкою реакцією на переривання і периферійними пристроями, розрахованими на виконання функцій управління, такими як ШІМ і програмовані сторожові таймери, і з такими притаманними більшості DSP блоками, як МАС, багаторегістрові схеми циклічного зсуву і суматори великого об'єму.[1]
На сьогодні найбільшими постачальники мікросхем сигнальних контролерів є компанії: Microchip Technology, Texas Instruments і Freescale Semiconductor.
Цифрові сигнальні контролери цієї марки представлені на ринку моделями сімейства dsPIC30F та dsPIC33F. Зупинимось детальніше на першому.[2]
Цифрові контролери цифрового сигналу dsPIC30F 30 MIPS пропонують продуктивність DSP з простотою MCU. DsPIC30F найкраще підходить для застосувань, де використовується широка робоча напруга (від 2,5 до 5,5 В), надзвичайно низьким струмом в режимі очікування, інтегрованим EEPROM, а також для дизайнерів, які віддають перевагу 5 В роботі з огляду на системи. Варіанти продукту інтегрують периферійні пристрої SMPS, периферійні пристрої управління двигуном та інтерфейс Codec, які дозволяють використовувати ефективні цифрові перетворювачі потужності, вдосконалені алгоритми управління двигуном та програми мови та аудіо. Невеликі пакети DSC з високоефективними АЦП добре підходять для інтелектуальних програм зондування.
Product | 5K Pricing | Family | Part Family | CPU Speed (MIPS/DMIPS) | SRAM (Bytes) | Temp Range, (С) | Data EEPROM/HEF (Bytes) | Internal Oscillator | Max I/O Pins | Pin count |
dsPIC30F1010 | $2.93 | 16-bit MCU/DSC | PIC30F2023 | 30 | 256 | -40 to 125 | 0 | 7.37 MHz, 512 kHz | 21 | 28 |
dsPIC30F2010 | $2.59 | 16-bit MCU/DSC | PIC30F2010 | 30 | 512 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 20 | 28 |
dsPIC30F2011 | $2.37 | 16-bit MCU/DSC | PIC30F3013 | 30 | 1024 | -40 to 125 | 0 | 7.37 MHz, 512 kHz | 12 | 18 |
dsPIC30F2012 | $2.47 | 16-bit MCU/DSC | PIC30F3013 | 30 | 1024 | -40 to 125 | 0 | 7.37 MHz, 512 kHz | 20 | 28 |
dsPIC30F2020 | $3.86 | 16-bit MCU/DSC | PIC30F2023 | 30 | 512 | -40 to 125 | 0 | 7.37 MHz, 512 kHz | 21 | 28 |
dsPIC30F2023 | $4.28 | 16-bit MCU/DSC | PIC30F2023 | 30 | 512 | -40 to 125 | 0 | 7.37 MHz, 512 kHz | 35 | 44 |
dsPIC30F3010 | $3.22 | 16-bit MCU/DSC | PIC30F6010 | 30 | 1024 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 20 | 28 |
dsPIC30F3011 | $3.54 | 16-bit MCU/DSC | PIC30F6010 | 30 | 1024 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 30 | 40 |
dsPIC30F3012 | $2.85 | 16-bit MCU/DSC | PIC30F3013 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 12 | 18 |
dsPIC30F3013 | $2.95 | 16-bit MCU/DSC | PIC30F3013 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 20 | 28 |
dsPIC30F3014 | $3.45 | 16-bit MCU/DSC | PIC30F4013 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 30 | 40 |
dsPIC30F4011 | $4.28 | 16-bit MCU/DSC | PIC30F6010 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 30 | 40 |
dsPIC30F4012 | $3.95 | 16-bit MCU/DSC | PIC30F6010 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 20 | 28 |
dsPIC30F4013 | $4.16 | 16-bit MCU/DSC | PIC30F4013 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 30 | 40 |
dsPIC30F5011 | $5.28 | 16-bit MCU/DSC | PIC30F5013 | 30 | 4096 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 52 | 64 |
dsPIC30F5013 | $5.72 | 16-bit MCU/DSC | PIC30F5013 | 30 | 4096 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 68 | 80 |
dsPIC30F5015 | $5.41 | 16-bit MCU/DSC | PIC30F6010 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 52 | 64 |
dsPIC30F5016 | $5.62 | 16-bit MCU/DSC | PIC30F6010 | 30 | 2048 | -40 to 125 | 1024 | 7.37 MHz, 512 kHz | 68 | 80 |
dsPIC30F6010A | $7.47 | 16-bit MCU/DSC | PIC30F6010 | 30 | 8192 | -40 to 125 | 4096 | 7.37 MHz, 512 kHz | 68 | 80 |
dsPIC30F6011A | $6.89 | 16-bit MCU/DSC | PIC30F6014 | 30 | 6144 | -40 to 125 | 2048 | 7.37 MHz, 512 kHz | 52 | 64 |
dsPIC30F6012A | $6.96 | 16-bit MCU/DSC | PIC30F6014 | 30 | 8192 | -40 to 125 | 4096 | 7.37 MHz, 512 kHz | 52 | 64 |
dsPIC30F6013A | $7.14 | 16-bit MCU/DSC | PIC30F6014 | 30 | 6144 | -40 to 125 | 2048 | 7.37 MHz, 512 kHz | 68 | 80 |
dsPIC30F6014A | $7.25 | 16-bit MCU/DSC | PIC30F6014 | 30 | 8192 | -40 to 125 | 4096 | 7.37 MHz, 512 kHz | 68 | 80 |
dsPIC30F6015 | $7.65 | 16-bit MCU/DSC | PIC30F6010 | 30 | 8192 | -40 to 125 | 4096 | 7.37 MHz, 512 kHz | 52 | 64 |
Платформа C2000 пропонує різноманітні аналогові периферійні пристрої, такі як АЦП, ЦАП, програмовані підсилювачі, компаратори, сигма-дельта-фільтри та зйомку високої роздільної здатності з метою підвищення точності входів системи управління при одночасному зниженні системних витрат.
Part Number | Description | Frequency, (MHz) | CAN | Total processing (MIPS) | Flash, (KB) | RAM, (KB) | Sigma-delta filter | PWM, (Ch) | Operating temperature range (C) | Approx. price (US$) |
TMS320F28378D | C2000™ 32-bit MCU with 800 MIPS, 2xCPU, 2xCLA, FPU, TMU, 1024 KB Flash, CLB, EMIF, 12b ADC | 200 | 2 | 800 | 1024 | 204 | 8 | 24 | -40 to 125 | 12.79 | 1ku |
TMS320F28378S | C2000™ 32-bit MCU with 400 MIPS, 1xCPU, 1xCLA, FPU, TMU, 1024 KB Flash, CLB, EMIF, 12b ADC | 200 | 2 | 400 | 1024 | 164 | 8 | 24 | -40 to 125 | 11.20 | 1ku |
TMS320F280040 | C2000™ 32-bit MCU with 100 MHz, FPU, TMU, 128 KB Flash, PGAs, SDFM | 100 | 2 | 100 | 128 | 100 | 3 | 16 | -40 to 125 | 4.01 | 1ku |
TMS320F280040C | C2000™ 32-bit MCU with 100 MHz, FPU, TMU, 128 KB Flash, InstaSPIN-FOC, CLB, PGAs, SDFM | 100 | 2 | 100 | 128 | 100 | 3 | 16 | -40 to 125 | 4.73 | 1ku |
TMS320F280048 | C2000™ 32-bit MCU with 100 MHz, FPU, TMU, 256 KB Flash, CLA, PGAs, SDFM | 100 | 2 | 200 | 256 | 100 | 3 | 16 | -40 to 125 | 4.87 | 1ku |
TMS320F280048C | C2000™ 32-bit MCU with 100 MHz, FPU, TMU, 256 KB Flash, CLA, InstaSPIN-FOC, CLB, PGAs, SDFM | 100 | 2 | 200 | 256 | 100 | 3 | 16 | -40 to 125 | 5.58 | 1ku |
TMS320F28035-EP | C2000™ Enhanced Product 32-bit MCU with 60 MHz, 128 KB Flash, CLA | 60 | 1 | 120 | 128 | 20 | 3 | 14 | -55 to 125 | 14.08 | 1ku |
TMS320F280041C | C2000™ 32-bit MCU with 100 MHz, FPU, TMU, 128 KB Flash, InstaSPIN-FOC, CLB, PGAs, SDFM | 100 | 2 | 100 | 128 | 100 | 4 | 16 | -40 to 125 | 4.30 | 1ku |
TMS320C28341 | C2000™ 32-bit MCU with 200 MIPS, FPU, 196 KB RAM, EMIF | 200 | 2 | 200 | 0 | 196 | 0 | 12 | -40 to 105 | 7.88 | 1ku |
TMS320C28342 | C2000™ 32-bit MCU with 300 MIPS, FPU, 196 KB RAM, EMIF | 300 | 2 | 300 | 0 | 196 | 0 | 12 | -40 to 105 | 8.98 | 1ku |
TMS320C28343 | C2000™ 32-bit MCU with 200 MIPS, FPU, 260 KB RAM, EMIF | 200 | 2 | 200 | 0 | 260 | 0 | 18 | -40 to 105, | 9.90 | 1ku |
TMS320C28344 | C2000™ 32-bit MCU with 300 MIPS, FPU, 260 KB RAM, EMIF | 300 | 2 | 300 | 0 | 260 | 0 | 18 | -40 to 105 | 11.26 | 1ku |
TMS320C28345 | C2000™ 32-bit MCU with 200 MIPS, FPU, 516 KB RAM, EMIF | 200 | 2 | 200 | 0 | 516 | 0 | 18 | -40 to 105 | 12.72 | 1ku |
Компанія Freescale пропонує поєднання мікроконтролерів і цифрових сигнальних процесорів, так звані цифрові сигнальні контролери (рисунок 1), що володіють такими властивостями:
- Команди, оптимізовані для управління, цифрової обробки, матричних операцій;
- Компактний асемблерний і Сі-код;
- Простота програмування;
- Висока продуктивність і розширене адресний простір.
Цифрові сигнальні контролери (DSC) компанії Freescale знаходять застосування в таких областях, як:
- автомобільна промисловість (EPAS, гальмування, X-Wire, трансмісія, привід гідравлічні або пневматичні розподільники, стартери, датчики інерції, управління двигунами);
- предмети домашнього побуту (пральні машини, холодильники, посудомийні машини, індуктивні печі);
- промисловість (імпульсні джерела живлення, частотні інвертори, безперебійні джерела живлення);
- торгові автомати, вимірювальні пристрої, системи безпеки, інтелектуальні іграшки.
Сімейство цифрових сигнальних контролерів, 56F8xxx, складається з трьох груп, 56F80xx, 56F81xx, 56F83xx, побудованих на базі ядра 56800E і розрізняються по продуктивності, обсягу пам'яті і функціональності[3]
Сімейство | Продуктивність, MIPS | Об'єм Flash, кБ | Об'єм RAM, кБ | Каналов 12-бітн. АЦП | Виходів ШІМ | Послідовні інтерфейси | GPIO | Кількість виводів |
56F80xx | 32 | 16…128 | до 8 | до 16. | до 6 | до 2 SCI, до 2 SPI, I2C, CAN | до 53 | 32…64 |
56F81xx | 40 | 32…512 | до 2 | до 16. | до 6 | SCI, SPI | до 76 | 48…160 |
56F83xx | 60 | 32…512 | 4…32. | до 16 | до 12 | до 2 SCI, до 2 SPI, до 2 CAN | до 76 | 48…160 |
В основі цифрових сигнальних контролерів знаходиться 16-бітове ядро побудовано за принципом Гарвардської архітектури. Містить умножитель, який здійснює 16 × 16-бітну операцію множення з накопиченням за один цикл, чотири 36-бітних акумулятора, 32-бітовий арифметичний і логічний мультибітний рушійний пристрій, 3 внутрішніх адресних шини, 4 внутрішніх шини даних. Система команд підтримує як команди цифрової обробки сигналу, так і команди управління. Типи операндів: байти (8 біт), 16-бітові слова (цілі і дробові), 32-бітові слова (дробові). Акумулятором є 36-бітний регістр. Вектора переривань можуть розташовуватися в будь-якому місці пам'яті. Підтримується чотири рівні пріоритетів вкладених переривань. Вищий пріоритет у не замаскованому перериванні. Програмні системні переривання на кожному рівні пріоритету. Підтримуються швидкі переривання, що дозволяють в 2-3 рази швидше здійснити обробку події.
- ↑ Электроника НТБ - научно-технический журнал - Электроника НТБ - Сигнальные контроллеры. Два в одном. www.electronics.ru. Архів оригіналу за 7 лютого 2020. Процитовано 27 травня 2020.
- ↑ 16-bit PIC Microcontrollers - dsPIC30F | Microchip Technology. www.microchip.com. Архів оригіналу за 7 жовтня 2018. Процитовано 27 травня 2020.
- ↑ Цифровые сигнальные контроллеры для управления приводами. www.compel.ru (рос.). Процитовано 27 травня 2020.
{{cite web}}
: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)