Цифрови сигнални контролери (DSC)

Начало > Електроника > Статии > Сп. Инженеринг ревю - брой 3, 2013

Въведени като наименование (Digital Signal Controller – DSC) и за пръв път пуснати на пазара от компанията Microchip Technology, интегралните схеми от този тип вече са доста популярни и се използват в многобройни приложения. Името им отразява съчетаването на специфичните особености на микроконтролерите (MCU) - бързо задействане на прекъсванията, наличие на таймери, управление на устройства чрез широчинноимпулсна модулация (PWM), ниска постояннотокова консумация и програмиране чрез С или асемблер с тези на цифровите сигнални процесори (DSP) - например извършване на умножение на многоразредни числа на един такт, големи акумулатори и регистри, числото в които може да се премества в един такт на желан брой разреди (Barrel Shifter). В първите модели са използвани 8-разредни MCU, но днес на практика се прилагат 16- и 32-разредни. Трябва да се има предвид, че някои производители на DSC, например компаниите Renesas и Infineon, продължават да ги наричат MCU. Благодарение на DSC много електронни прибори придобиват нови и непостижими доскоро възможности и области на приложение.

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

Структура на DSC
Във всеки DSC част от функциите се изпълняват от DSP, а останалите – от MCU. Например при ползването на DSC в областта на управлението на индустриални съоръжения основното разпределение на функциите е следното:
l DSP - корекция на фактора на мощността, реализация на алгоритми за безсензорно управление на електродвигатели, при масово използваното в индустриалните системи пропорционално-интегрално-диференциално управление (PID Control) и множество други функции в зависимост от конкретното приложение.

l MCU – за осъществяване на комуникацията между отделните части на индустриалните системи, осигуряване на контрола на работата им и на връзката "човек-машина" (HMI) при ръчно управление и визуален контрол на действието на прибор, машина или комплекти от тях.

В областта на телекомуникациите има друго основно разпределение.
l DSP - за оформяне на пакетите от данни според комуникационния протокол, в цифровата телефония за т. нар. Silence Suppression – прекратяване на предаването на данни, когато няма разговор (в противен случай шумът на предавателя също се превръща в цифров сигнал и се предава по линията), за компресиране и декомпресиране на звукови сигнали, за потискане на ехото (Echo Cancellation) - отстраняване на нежелано повторение на сигнала, което достига приемника с известно закъснение и, съответно, подобряване на качеството на разговорите, за създаване и детектиранe на DTMF сигнали в телефонията, за осигуряване на различни служебни функции.

l MCU – за осигуряване на работата на мрежовия протокол, за осигуряване на нормалната работа на мрежата (Network Management), осъществяване на сигнализацията (Telephony Signaling) и за осигуряване на друга част от служебните функции.

Очевидно е, че чрез DSC една ИС изпълнява всички описани функции, което означава опростяване на техническата част на устройствата.
Като неписано правило е производителите да предлагат не единствен DSC, а серия от DSC с еднаква или малко различаваща се структура и различни параметри на някои от блоковете. Съществена особеност е, че обикновено серията се предлага в няколко корпуса (дори до десетина), което позволява на конструктора да подбере най-подходящия за разработваното устройство.

За изясняване на това какви блокове включва един DSC на фиг. 1 са показани тези на серията 56F8000, основните параметри на чиито представители са дадени в редове 3 и 4 на табл. 1. Основният блок е 16-разредният процесор с фиксирана запетая 56800Е на Motorola, който се използва и в много други DSC и изпълнява описаните функции на DSP и MCU. Дадените на фигурата два основни параметъра са изяснени по-нататък. Както във всеки DSP, така и в DSC има блок умножител-акумулатор (Multiplier-Accumulator) МАС за умножаване на числа и прибавяне на получения резултат в съдържанието на блока. Неговото означение nxn, bits показва, че се умножават n-разредни числа. Процесорът може да работи с програмна памет с обем до 4 МВ и памет за данни до 32 МВ, като данните могат да са 8- 16- или 32-разредни числа. Флаш паметта (Flash) е за временен запис на данните от процесора, което е задължително за неговата нормална работа. Четенето на данните от нея става със скоростта на процесора, докато записът и изтриването – с честота до 1 MHz. Тя е защитена от промяна на съдържанието й от нежелани външни въздействия и обемът й може да бъде разширяван чрез свързване към DSC на външна EEPROM. Оперативната памет RAM е със същото предназначение, както в класическите микропроцесори, практически винаги е статична и затова понякога се означава като SRAM. Сравнително рядко има DSC и с ROM. В значителна част от DSC (обикновено 32-разредните) част от RAM (обособена като отделен блок) е достъпна едновременно за повече изпълнявани програми и се означава като Shared RAM. Блокът JTAG/OnCE служи за откриване и евентуално отстраняване в реално време на грешки в програмната или техническата част на DSC.

Чрез Voltage Regulator захранващото напрежение на DSC се преобразува в необходимите стабилизирани напрежения за различните му части. Важна негова функця е осигуряването на икономичен режим на работа (Low-power management mode), който има няколко разновидности, понякога повече от една в даден DSC. Например в режим "очакване" (Sleep Mode, Standby) DSC не работи, но един от блоковете му остава действащ, за да го включи при подходящ външен сигнал. Типичната консумация в този режим е няколко десетки uA. В режим Idle се изключват само осцилаторите, които по принцип консумират най-много енергия. Производителят на всеки DSC избира какви икономични режими да има той и те са описани в каталога (кои блокове как работят във всеки от тях и каква е консумацията на DSC).

Чрез блока Power Supervisor се следи стойността на захранващото напрежение и DSC се изключва при негова стойност под определена граница (Power-on-Reset). Както е известно, изпълнението на дадена програма обикновено е съпроводено с прекъсвания за изпълнение на други програми или части от тях. По подобен начин работят и DSC, като прекъсванията в даден момент и за определено време се управляват от блока Interrupt Controller, осигуряващ 5 до 35 техни нива на приоритет и голяма бързина на извършването им. Съкращението COP означава Computer Operating Properly, като този блок подобрява надеждността на работата на DSC. Например той съдържа изваждащ брояч, задействан по програмен път в определен момент и изключващ дадени блокове при нулирането си. Блокът MSCAN осигурява връзка с външни устройства чрез интерфейса CAN, а блокът 3-PIT (от Programmable Interval Timer) съдържа 3 еднакви таймера PIT, реализирани с 16b броячи с програмируем коефициент на броене за осигуряване на желани прекъсвания през определено време в изпълнение на различните програми, както и за задаване на интервали от време за работа с периферни устройства, свързани с DSC.

Чрез блока SIM се контролира тактовата честота на импулсите, подавани на блоковете 6 Output PWM и 8-16 Bit Timer. Първият от тях може да генерира импулси с ШИМ, чиято продължителност се задава чрез 15-битово число, а максималната им честота е 96 MHz. Вторият съдържа 8 независими един от друг таймера, продължителността на чиито импулси се задава чрез 16-битово число. За увеличаване на задаваното от тях време те могат да се свързват каскадно и се използват за генериране на единични импулси (т. е. интервали от време) със задавана продължителност, като пускането им (началото на интервала) може да става едновременно чрез подходящ импулс. Освен тези таймери с общо предназначение (General Purpose Timer) и споменатите PIT почти винаги има още един или два таймера с наименование Watchdog Timer (или COP Timer), който изключва DSC или се намесва в изпълнението на основната програма при настъпване на някаква грешка в нормалното функциониране на DSC. Чрез таймерите с общо предназначение може да се осигури задействане на който и да е от аналоговоцифровите преобразуватели (АЦП) в блока Up to 16 Input ADCs. Тези АЦП са предназначени за преобразуване на външни аналогови сигнали в цифрови с цел последваща обработка в DSC. Обикновено могат да се използват с несиметричен и диференциален вход и всеки от тях може да се свързва чрез мултиплексор към няколко входа (channel), чийто брой се означава с nch. Например наличието на два АЦП с 8-входов мултиплексор се означава като 2x8 Channel. Стартирането на преобразуването в АЦП се извършва по различни начини, включително чрез синхронизация с PWM. В блока се съдържат и две независими следящо-запомнящи схеми.

Блокът 2-QSCI съдържа две еднакви и независими разновидности на серийния комуникационен интерфейс SCI, в който постъпващите и излизащите числа могат за известно време да се задържат в памет FIFO, откъдето е първата буква Q (от queued – изчакващи). Предназначението на блока е да работи в дуплексен режим (във всеки момент единият интерфейс работи като предавател, а другият – като приемник) като универсален асинхронен приемник и предавател (UART). Подобен е 2-QSPI, но той е с два еднакви "чакащи" периферни интерфейса (разновидност на SPI). Обменът на данни чрез блока с външни устройства е със скорост до 16 Mbps. Блокът I2C е също за връзка с външни устройства чрез интерфейса I2C, като могат да се програмират 256 стойности на скоростта на обмен на данни и е възможна работата му като управляващ (Master) или управляем (Slave). Блокът 2-12 bit DACs съдържа два независими 12-битови ЦАП с изходна величина напрежение и време на преобразуване 2 us. Analog Comparators са с диференциален вход за външни напрежения, които се сравняват с едно от петте възможни напрежения от вградени в DSC източници (от ЦАП, от другия компаратор и от 3 входно-изходни извода с общо предназначение – GPIO).

Нормалната работа на целия DSC изисква тактови импулси с много стабилна честота, които се изработват в блока System Clock Control, където има схема с фазова донастройка на честотата PLL за избор (синтез) на честотата на импулсите, като контролирането на подаването им на различните блокове се извършва от SIM (System Integration Module). За работата на PLL е необходим източник на правоъгълни импулси с много стабилна честота, което налага свързването към DSC на външен кварцов резонатор. Има приложения, в които неточност на честотата от няколко десети от процента е без значение. В този случай за работата на DSC без кварцов резонатор в блока е вграден релаксационен генератор (означен на фиг.1 като Osc).

На фиг. 1 не са показани споменатите изводи GPIO, всеки от които може да работи като вход или изход (чрез съответното програмиране) с аналогови и цифрови сигнали. Чрез тези GPIO, които са поне няколко десетки, се осъществява основното свързване на DSC с други устройства.

Бързо разширяващите се приложения на DSC са причина някои производители (например Microchip) освен DSC с общо предназначение, какъвто е даденият на фиг. 1, да предлагат и специализирани DSC. Най-голямата засега група са тези за управление на електродвигатели и захранвания (Motor Control and Power Conversion DSC), които имат специализирана ШИМ (Motor Control PWM) с до 8 извода. Пример за такъв е даденият в ред 8 на табл. 1. Сравнително по-малко са DSC за сензори (Sensor DSC), които са с минимален брой блокове (например обикновено нямат ЦАП и са с един АЦП), с което се намалява постояннотоковата им консумация и имат малък брой изводи от типа GPIO за намаляване на броя на тези на корпуса (те са между 18 и 44) и, съответно - размерите му. Пример е DSC в ред 9 на табл. 1 с корпус с 18 извода.

Връзките между блоковете на DSC се извършват чрез шини, чиято разредност зависи от типа на DSC и се вижда от даваната винаги в каталозите негова блокова схема (вж. разделите за 16-разредни и 32-разредни DSC).

Основни параметри на DSC
Те дават най-важните сведения за работата на процесора и основните блокове. Максималният брой инструкции, които могат да бъдат изпълнени от процесора за 1s, практически винаги са с мерна единица Million Instruction Per Second (MIPS), а разредността (Resolution) n е на числата, с които той работи. Блокът МАС работи с числа с разредност nMAC и негов параметър е nMACxnМАС, като обикновено nMAC=n. Разредността nAC на акумулаторите обикновено е по-голяма от n, а техният брой е NAC. Обемът на паметите е в КВ, като начинът на разпределението им по блокове зависи от конкретния DSC. За АЦП с NADC се отбелязва броят им, а основни параметри са разредността nADC и максималният брой MADC на преобразуванията в секунда (мерна единица sample per second, sps). Почти винаги всеки АЦП се свързва чрез мултиплексор към няколко входа (Channel) nch, при което вместо NADC се използва означението NADC x nch. Подобно е положението при ЦАП, но там няма мултиплексори, а броят и разредността им се отбелязват съответно с NDAC и nDAC, към които се прибавя времето на преобразуване tconv (за 1s ЦАП може да направи 1/tconv преобразувания). Сред основните параметри са честотата fc на работа на процесора (Core Frequency), която е означената на фиг. 1, и честотата f0 на вградения осцилатор заедно с нейния толеранс df0. Следват броят NT и разредността nT на таймерите с общо предназначение, като поради важността на таймерите PIT техният брой NPIT и разредност nPIT се дават като отделни параметри. За таймерите Watchdog се дава само броят NWD. По-нататък са броят NCOMP на компараторите, NGPIO на входно-изходните изводи и използваните интерфейси. В част от DSC някои от последните са по 2 от един тип. За NGPIO трябва да се отбележи, че не е фиксиран за даден DSC, а зависи от броя на изводите на използвания корпус, поради което в каталозите се дава максималният им брой. Като параметри на PWM се задава максималната честота fPWM на импулсите и разредността nPWM на двоичното число за задаване на продължителността им. Това означава, че коефициентът на запълване на импулсите има 2nPWM стойности между 0 и 1. Също параметър е броят NPWM на изходите GPIO с такива импулси.

От електрическите параметри най-важно е захранващото напрежение VDD и консумираният от него ток IDD, който може да се дава като стойност при дадена честота на процесора (най-често максималната) или с мерна единица mA/MHz. Трябва да се прибави, че част от DSC имат няколко извода за различни захранващи напрежения на определени групи от блокове. Например процесорът по принцип се захранва с по-ниско напрежение от това на входно-изходните блокове. Трябва да се има предвид, че електрическите параметри на DSC са твърде много на брой, обикновено се задават за всеки от блоковете поотделно и в каталозите заемат поне 20 страници, като включват и множество времедиаграми за работата на отделните блокове.

16-разредни DSC
В табл. 1 са дадени основните параметри на 16-разредни DSC, като особености на този в ред 1 са възможността му за работа с 8-, 16- и 32-битови числа, наличието на два PWM изхода за управление на стъпкови електродвигатели и USB 2.0 интерфейс. Особено подходящ за управление на различни видове електродвигатели (променливотокови индукционни, постояннотокови колекторни и безколекторни, с превключваемо и променливо магнитно съпротивление) е DSC от ред 2. Даденият DSC в ред 5 е от серия от 11 ИС, различаващи се по обема на паметите, броя на каналите на АЦП и наличието, вместо на интерфейси, на 6 канала за сериен обмен на данни.
Подобно е положението с DSC от ред 6, но той е част от серия от 29 ИС, разделени в 3 групи – с общо предназначение, за управление на електродвигатели и за ключови и цифрови стабилизатори. Даденият в таблицата е най-новият от серията, като съдържа и два интерфейса за работа с кодек на аудиоустройства, има EEPROM с обем 1 КВ и 105 цикъла запис/изтриване и изводите му GPIO издържат ток до 25 mA. Модулът за PWM на DSC от ред 7 е предназначен за осигуряване на работата на DC/DC и AC/DC преобразуватели, на непрекъсваеми захранвания (UPS), схеми за подобряване на cosj, в зарядни устройства за акумулатори и в осветителната техника за димиране (цифрово регулиране на интензитета на светлината). Даденият в таблицата брой на GPIO е за споменатия корпус с 18 извода, докато един от другите, предлагани корпуси с 28 извода, има 21 GPIO. Дадената честота f0 на вградения осцилатор може по програмен път да се дели между 2 и 256 пъти. Освен това DSC съдържа втори осцилатор с честота 32768 Hz. DSC в ред 8 е от серия от 8 ИС и се предлага в 4 различни корпуса, като има вграден PWM модул с 6 изхода за управление на електродвигатели (трифазни индукционни, с превключваемо магнитно съпротивление и безколекторни постояннотокови), както и на UPS. Честотата на вградения осцилатор се дели по същия начин, както в предния DSC. Последният DSC в табл. 1 също съдържа EEPROM с обем 1 КВ, а изводите GPIO издържат ток до 25 mA.

32-разредни DSC
Като неписано правило те, подобно на 16-разредните, се произвеждат в серии с описаните различия между отделните DSС на серията. В табл. 2 са дадени основните параметри на 32-битови DSC, всеки от които е част от някаква серия, (т. е. при ползването на таблицата би могло да се потърси в сайта на производителя означението на DSC и да се видят останалите представители на серията с цел евентуален избор на най-подходящия от тях). Дадените в редове 1 и 2 DSC са от една серия и имат Cortex-M4 процесорно ядро, което може да работи с 8-, 16- и 32-битови числа. Те съдържат 16 b таймер с тактова честота 1 Hz, както и часовник за реално време с календар (Real-Time Clock, RTC). Чрез специфични вградени драйвери DSC може да установява връзка чрез USB с устройства, притежаващи RS-232 интерфейс. С TWI е означен специфичен фирмен 2-проводен интерфейс със скорост на обмен на данните 400 kbps, а HSMCI е интерфейс за четене на MMC карти. Изводите GPIO на DSC в ред 4 могат да работят с CMOS и LVDS логически нива. Специфика на DSC от ред 5 е предназначението му за управление на електродвигатели, триядреният процесор, работата с 8-, 16-, 32- и 64-битови числа, както и наличието на 16 KB постоянна памет. В ИС има сензор за измерване на температурата й, чиито данни се записват в 32 b регистър. За управление са предвидени 3 извода с PWM импулси, чиято продължителност се регулира от 12-битово число. Чрез DSC могат едновременно да се управляват 5 трифазни електродвигателя.

Със същия процесор е DSC от ред 6, а данните му са криптирани с AES128. Подобен е DSC на ред 7, но той има контролер за управление на LCD дисплеи 1024x768, постоянна памет 64 КВ, EEPROM 16 КВ и специален PWM модулатор за управление на трифазни електродвигатели. Контролерите от редове 10 и 11 са с вграден часовник със собствен осцилатор и имат идентификационен номер под формата на 96-битово число. Могат да се използват и в аудиосистеми чрез добавяне на външен ЦАП и усилвател на мощност. DSC от редове 6 и 12 имат интерфейсен блок за Ethernet10/100, а този от ред 12 - и интерфейс за цифрова камера.

Примери за приложение
На фиг. 2 е показана една от масово използваните разновидности PV системи за производство на електроенергия. Фотоволтаикът РV осигурява сравнително ниското постоянно напрежение VРV, което от DC/DC се преобразува в по-високо, също постоянно Uo. Работата на DC/DC се управлява от PWM импулси от DSC1, а полученото Uo се следи от ADC в този DSC. Чрез DC/AC напрежението се преобразува в променливо 220 или 380 V, като управлението отново е чрез PWM от DSC2, който същевременно следи стойността на Uo с един от своите АЦП и на променливото изходно напрежение (преобразувано в постоянно от REC) чрез друг АЦП. Третият DSC3 е свързан с останалите чрез подходящ интерфейс (освен CAN могат да се използват и други), като събира информацията за работата на DC/DC и DC/AC и я предава, например чрез Ethernet на изходната шина Comm. Управлението на двата блока може да се извършва чрез клавиатура (Keyboard), свързана към някой от изводите GPIO на DSC3. Системата може да се разшири за увеличаване на изходната мощност чрез прибавяне успоредно на DC/DC на още преобразуватели, всеки със собствен DSC.

Вторият пример за управление е на безколекторен постояннотоков електродвигател (фиг. 3). Мрежовото напрежение се изправя от REC, като полученото Uo се следи от ADC1. Електродвигателят М се захранва от Conv и оборотите и въртящият му момент могат да се регулират чрез PWM от DSC. Постоянното напрежение на М също се следи от ADC2, а самото управление се извършва от блока Control, свързан чрез подходящ интерфейс (показан е USB) към DSC.

Последният пример е за приложение в ключов стабилизатор с галванична изолация (фиг. 4). Чрез PWM2 се управляват мощните високоволтови транзистори Q1 и Q2, а чрез PWM0 и PWM1 - нисковолтовите транзистори Q3 и Q4. Чрез ADC0 се следи изходният ток (чрез пада на напрежение върху резистора), а с ADC1 – изходното напрежение на стабилизатора. Напрежението на масата се измерва чрез ADC3. Така всяка промяна на Uo води чрез DSC до изменение на коефициента на запълване на импулсите на PWM0 и PWM1, с което се осигурява стабилно изходно напрежение. Блокът Temperature реално е сензор за температура, който следи например тази на Q3 и Q4 и при превишаване на определена стойност полученото напрежение чрез ADC3 задейства DSC за намаляване или изключване на изходното напрежение. Настройката на изходното напрежение се прави от блока Calibration Reference чрез ADC4. Връзка на DSC с външни обекти, например за даване на информация за стойностите на изходното напрежение и ток и за получаване на управляващи сигнали (задаване на желано изходно напрежение), се извършва чрез I2C интерфейс.

Стефан Куцаров

 


Вижте още от Електроника


Ключови думи: цифрови сигнални контролери, цифрови сигнални процесори, микроконтролери, DSC, DSP





Top