Приложение на генератора на комплементарни сигнали

Начало > Електроника > Сп. Инженеринг ревю - брой 8/2016 > 09.12.2016

Приложение на генератора на комплементарни сигнали | Инженеринг ревю, снимка 1
Приложение на генератора на комплементарни сигнали

Майк Гомес, Microchip

Генераторът на комплементарни сигнали (ГКС, англ. Complementary Waveform Generator – CWG) може да е много полезен, когато е необходимо управление в полумостов или пълен мостов режим, какъвто например е случаят при управление на електродвигатели.

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

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

Всеки блок в тази схема представлява една от функциите на генератора, който дава на изходите си комплементарни сигнали, а сигналът на входа му може да се избира. Изходът може да се настрои за работа в различни режими като двутактен пуш-пул (push-pull), полумостов, пълен мостов и с непосредствено извеждане на ШИМ (PWM) сигнала.

Тактовата честота може да се ползва за въвеждането на закъснение – “мъртво” време или време на нечувствителност (dead-band) – между фронтовете на импулсите в двете комплементарни поредици. Всеки изходен извод (пин) може да бъде активиран отделно.

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

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

Някои от периферните модули, които могат да служат като източник на входен сигнал, са компараторът, capture/compare и ШИМ модулът, осцилаторът с цифрово управление и конфигурируемата логическа клетка. Най-напред обаче избраният периферен модул трябва да се конфигурира като входен източник за ГКС.

В контролерите, разполагащи с модул за свързване на входовете/изходите на периферията към външните пинове (peripheral pin select – PPS), входът CWGxIN може да се свърже към всеки външен пин посредством PPS регистъра за избор на входове, с какъвто разполага всеки периферен модул (xxxPPS – “xxx” е означението на модула).

В регистъра, в означението на който на мястото на “xxx” стои CWGxIN, всеки от наличните външни вх./изх. пинове може да бъде избран за вход CWGxIN на генератора.

Изходът на ГКС може да бъде настроен за работа в един от следните режими: полумостов, прав пълен мостов, обратен пълен мостов, двутактен пуш-пул, и с непосредствено извеждане на ШИМ сигнала.

Изборът на режим може да се прави само в някои контролери, като за целта се настроят съответните битове. Като пример на фиг. 2 са дадени времедиаграмите на изхода на ГКС при различни режими на работа за серията микроконтролери Microchip PIC16F161X.

В полумостов режим двата изходни сигнала се генерират така – единият повтаря входния сигнал, а другият го инвертира. В правия и обратния пълен мостов режим на три от изходите се подава статично ниво, а четвъртият повтаря входния сигнал. С превключването на един бит в регистъра правият и обратният режим се сменят.

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

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

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

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

В броячните регистри за времето на нечувствителност след нарастващ и падащ фронт може да се запише най-много 6-битова стойност, която определя броя тактове на изчакване. Когато изходът CWGxB се превключи в ниско ниво, започва отброяването на тактовете “мъртво” време преди пускането на нарастващ фронт на изхода CWGxA.

Така се изчаква в продължение например на 10 такта, преди да се подаде високо ниво на другия изход. Аналогично, когато изходът CWGxA се превключи в ниско ниво, започва отброяването на “мъртвото” време и чак след закъснение от 10 такта на изхода CWGxB ще се подаде високо ниво.

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

Когато нарастващият или падащият фронт, който стартира отброяването на “мъртвото” време на изчакване, идва от асинхронен източник като външния входен пин CWGxIN, възниква такава неопределеност във времето.

Автоматично изключване
Автоматичното изключване – с активно ниско ниво – може да се извърши с подаването на сигнал за грешка от други модули или с команда от микропрограмата. Източникът на грешка може да се избира в регистъра за управление на автоматичното изключване.

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

Този избор се прави чрез битовете за задаване на състоянието при автоматично изключване. Чрез активирането на бита за изключване (shutdown) в регистъра за управление на автоматичното изключване, микропрограмата също може принудително да вкара изходните пинове в изключено състояние.

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

Активиране на изходите
Всеки от изходите на ГКС може да бъде разрешен отделно. Когато битът за разрешение на съответния изходен пин е нулиран, няма връзка между генератора и този пин. Когато битът е включен, на пина или принудително се задава ниво, или пък през него се подава активна импулсна поредица според зададения вътрешен приоритет.

Управлението на изходите може да се деактивира напълно, като битът за разрешение на целия модул бъде нулиран. В ГКС изходите се активират чрез съответните разрешаващи битове. Включването на такъв бит активира изхода.

В някои контролери изходите на ГКС могат да се преместят от обичайните пинове по подразбиране към други пинове чрез функцията, осигуряваща алтернативност на пиновете. В тези, в които има модул за PPS (peripheral pin select – вж. по-горе), няма отделно управление на изходите в ГКС.

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

Управление на поляритета
Чрез управлението на поляритета изходният сигнал може да бъде инвертиран. Поляритетът на изходните импулсни поредици от всеки изход на ГКС може да се задава отделно. Когато съответният бит за поляритета е включен, на съответния изход активното ниво ще е ниско.

При нулиране на бита за поляритет на изхода активното ниво ще е високо. Чрез инвертиране на поляритета на един от изходните сигнали два от изходите ще могат да подават еднакви поредици от импулси.

Конфигуриране
Конфигураторът на микропрограмен код (MCC) MPLAB на Microchip може да се използва за настройките на модула на ГКС. Този конфигуратор е удобно средство, което се добавя към средата MPLAB X IDE и посредством графичния му интерфейс могат да се задават и избират настройките за управление на работата на периферните модули в PIC микроконтролерите.


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


Ключови думи: генератор на комплементарни сигнали, 8-битови микроконтролери, Microchip, Microchip PIC16F161X, конфигуратор на микропрограмен код, MPLAB





Top