Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Модули ePWM (ШИМ)





Современные электронные системы используют такие термины как, «direct digital control» (прямое цифровое управление), «digital power supply» (цифровой блок питания), «digital power converters» (цифровые преобразователи энергии) и так далее. Основная черта всех этих приложений – способностью генерировать серию цифровых импульсов для управления электронными ключами мощности по результатам математических вычислений. Семейство F283xx включает такие аппаратные устройства; различные виды широтно–импульсной модуляции (PWM) выходного сигнала, вместе с модулями формирования отрезков времени («Capture Units»).

Таймеры являются аппаратными средствами формирования отрезков времени, но они способны только выдать сигнал в конце определенного периода. В таком случае, подпрограмма обработки прерываний могла бы начать и выполнить желаемую программную последовательность. Если этот сценарий достаточный для большинства программных приложений с временными критериями деятельности, то он не пригоден для аппаратных средств, связывающих быстрые действия, как например, быстрая периодическая коммутация выходной линии. В этом случае нужен более точный и автоматический ответ в цепях управления приводом, базирующийся на другом графике событий. Это – PWM – ШИМ.

Основные приложения PWM:

– цифровое управление двигателями (DMC);

– цифровое управление импульсным блоком питания (DPS);

– генераторы аналогового напряжения.

F2833x снабжены несколькими независимыми каналами PWM; F28335, например, имеет 6 PWM.

F2833x также способен измерять отрезки времени, используя сигналы аппаратных средств. С помощью независимого модуля входного захвата названного «Capture Units» можно измерить длительность импульса, чтобы определить скорость вращения вала в оборотах в минуту для сигнала обратной связи.

Третья аппаратная часть системы управления названа «Quadrature Encoder Pulse»(QEP). Это – устройство используется, чтобы получить информацию о скорости и направлении вращающегося вала непосредственно по аппаратным сигналам из инкрементных энкодеров или резольверов.

Каждый модуль ШИМ (ePWM) управляется своим собственным логическим блоком, как показано на рисунке 2.33. Эта логика служит для автоматического генерирования сигналов с заданными временными характеристиками, а также для формирования запросов прерываний с использованием PIE системы F2833x, для поддержки своих режимов.

Уникальное свойство ePWM модуля – способность запускать АЦП (ADC) без программного вмешательства, непосредственно по внутреннему аппаратному событию. Типовой микроконтроллер должен бы запросить обработку прерываний, чтобы сделать то же самое, F2833x делает это автоматически.

Примечание. Есть два основных режима работы ePWM системы:

– стандарт ePWM – 16–битовый режим;

– 24–битовый режим PWM высокого разрешения (HRPWM).

Рассмотрим 16–битовый режим.

Назначение ePWM устройства – сгенерировать единственный выходной сигнал или пару выходных сигналов, названных EPWMxA и EPWMxB, которые связаны друг с другом. Буква нижнего регистра x является меткой для номера ePWM устройства, например, 1– 6.

Примечание. Чтобы сгенерировать физический выходной сигнал на F2833x, необходимо соответственно установить мультиплексные регистры для портов I/O.

Как можно увидеть на рисунке 2.33, чтобы сгенерировать физический выходной сигнал, мы должны установить несколько устройств: база времени, логика сравнения, классификатор действия, устройство зоны нечувствительности, прерыватель и «мёртвую» зону. На первый взгляд, это выглядят громоздким. Тем не менее, это позволяет устанавливать режимы работы, которые могут использоваться при современном цифровом управлении.

 

Рисунок 2.33 – Блок–схема модуля ePWM

Центральным блоком ePWM модуля является 16–битовый таймер (регистр TBCTR), с тактовым сигналом SYSCLKOUT. Этот сигнал устанавливает временную базу для всех ePWM устройств. Предварительный делитель частоты (регистр TBCTL, биты 12 – 7) может использоваться для деления входной частоты на делитель между 1 и 1792.

Регистр TBPRD определяет длительность периода выходного сигнала, в количестве периодов входного сигнала.

Другим свойством F2833x является наличие регистров «зеркального» действия. В случае ePWM модуля, это два регистра сравнения A, B и регистр периода. Для некоторых приложений необходимо модифицировать величины в регистрах сравнения или регистре периода, в каждом периоде. Преимущество регистров фона («зеркальных») – то, что мы можем подготовить величины на следующий период в течении предыдущего. Без функции фона мы должны бы ждать конца текущего периода, и затем запускать высокоприоритетное прерывание.

Два аппаратных сигнала SYNCI (синхронизация вход) и SYNCO (синхронизация выход) могут использоваться, чтобы синхронизировать ePWM устройства друг другу. Например, можно определить один ePWM модуль как «главный» («master»), чтобы сгенерировать выходной сигнал SYNCO всякий раз, когда начинается период. Два других ePWM модуля («slave») могли бы настраиваться, чтобы распознать этот сигнал как SYNCI и начинать немедленно считать, всякий раз, когда они получают этот сигнал. Таким образом, мы установили бы синхронный комплект из 3–х ePWM каналов. Используя другой регистр TBPHS мы можем ввести сдвиг фаз между master, slave 1 и slave 2, необходимый для трехфазных управляющих систем. Рисунок 2.34 показывает такой пример, где регистры TBCNT ePWM2 и ePWM3 перезагружаются со стартовой величиной, которая соответствует 120° и 240° соответственно. В этом примере ePWM1 проинициализирован как «мастер», чтобы сгенерировать SYNCO всякий раз, когда счетчик равен нулю. При разрешении сдвига фаз для ePWM2 и ePWM3 два канала действуют как slave 1 и slave 2 и загрузят свои регистры TBCNT числами сохраненными в соответствующих регистрах фазы TBPHS.

Пример:

– ePWM1 считает от 0 до 6000. TBPRD = 6000;

– ePWM2 регистр TBPHS = 2000;

– ePWM3 регистр TBPHS = 4000.

 

 

Рисунок 2.34 – Синхронизация фаз ePWM

Счетчик временной базы может работать в трех режимах показанных на рисунке 2.35. Какой из трех режимов использовать, по большей части определено приложением. Первых два операционных режима названы «несимметричными» поскольку счетчик считает от 0 до TBPRD (прямой счет) или от TBPRD до 0 (обратный счет). При «симметричном» способе сигнала, регистр TBCNT начинает считать с нуля до значения в TBPRD. Затем TBCNT изменяет направление, чтобы считать в обратном направлении до нуля, до завершения счетного периода.

 

 

Рисунок 2.35 – Режимы счетчика временной базы ePWM

 

Для инициализации базы времени для одного из ePWM устройств, необходимо инициализировать первую группу регистров, показанную в таблице 2.9.

 

Таблица 2.9 – Регистры модуля временной базы

Регистр Назначение Описание
TBCTL TBSTS TBPHS TBCTR TBPRD Регистр управления Регистр статуса Регистр фазы Счетчик Регистр периода EPwmxRegs.TBCTL.all EPwmxRegs.TBSTS.all EPwmxRegs.TBPHS EPwmxRegs.TBCTR EPwmxRegs.TBPRD

Чтобы иметь доступ к этим регистрам, с использованием языка программирования C, можно воспользоваться файлом исходной программы «DSP2833x_GlobalVariableDefs.c», который определяет всю память отображающую аппаратные регистры как глобальные переменные. Все переменные базируются на структуре и типе данных, и также уже определены в основным файле заголовка «DSP2833x_headers.h».

ePWMs в этом файле определяют 6 структур с «EPwm1Regs» по «EPwm6Regs», которые включают все регистры, принадлежащие одному из этих аппаратных устройств. Содержимое регистров непосредственно связано со временем, как например, регистр периода, чтобы определить период в 6000 импульсов счета, мы можем использовать:

EPwm1Regs.TBPRD = 6000;

Для управляющих регистров, как например, TBCTL, структуры определены как unions. Эта техника позволяет нам иметь доступ к регистрам блока (union памяти «all») или к отдельному биту группы (union памяти «bit»). Например, строка, для заполнения всего регистра TBCTL должно выглядеть так:

EPwm1Regs.TBCTL.all = 0x1234;

Битовый доступ к областям CLKDIV должен выглядеть так:

EPwm1Regs.TBCTL.bit.CLKDIV = 7;

Регистр управления TBCTL и назначение его битов показано на рисунке 2.36.

Бит FREE_SOFT:

– управляет взаимодействием между DSC и JTAG – эмулятором;

– если в кодовой последовательности попадается контрольная точка, то мы можем определить что должно случиться на этом ePWM устройстве.

Бит PHSDIR:

– определяет направление счета ePWM модуля после того, как SYNCIN импульс обнаружен;

– в случае единственного ePWM модуля с запрещенной синхронизацией в характеристике, этот бит – «безразлично»

Биты CLKDIV и HSPCLKDIV:

– предварительный делитель частоты, чтобы уменьшить входную частоту «SYSCLKOUT»;

– для 100MHz–системы каждый импульс соответствует 10 ns, для 150MHz – Системы 6.667ns.

Бит SWFSYNC:

– инструкция, которая устанавливает этот бит немедленно произведет SYNCO – импульс от этого ePWM устройства

Бит SYNCOSEL:

– выбор источника для SYNCO сигнала.

– если канальная синхронизация не используется, выключает эту характеристику.

 

 

Рисунок 3.36 – Регистр TBCTL

 

Бит PRDLD.

Разрешает (0) или запрещает(1) «зеркальную» функцию регистра TBPRD. Если запрещено, все инструкции записи в TBPRD непосредственно изменяют регистр периода. Если разрешено, инструкция записи загрузит новую величину в «зеркальный» регистр. Со следующим событием CTR = 0 зеркальная величина загрузится в TBPRD автоматически.

Бит PHSEN.

Разрешает (1) перезапись регистра TBCTR из TBPHS по SYNCIN триггеру.

Бит CTRMODE.

Определяет операционный режим этого ePWM устройства.

Регистр статуса временной базы TBSTS сигнализирует о текущем состоянии ePWM устройства.

Бит 0 – CTRDIR.

Показывает, если ePWM считает вверх (1), если вниз то (0)

Бит 1 – SYNCI.

Если SYNCI событие произошло для этого ePWM устройства, то этот бит – 1, если нет, то – 0.

Примечание. Чтобы очистить этот бит, в него необходимо записать 1.

Бит 2 – CTRMAX.

Если по некоторой причине 16–битовый счетный регистр TBCTR переполнен, бит CTRMAX установится в 1. При нормальных обстоятельствах этого не должно случаться, так что можно рассматривать этот бит как сигнал тревоги безопасности.

Примечание. Чтобы очистить этот бит, в него необходимо записать 1.

Модуль, для управления активной фазой импульса и позицией точек переключения в PWM назван «Compare Unit» (см. рис.2.33).

Работа модуля базируется на паре регистров, которые называются регистры «Compare A и B» (CMPA и CMPB). Связи между буквами A и B в этих регистрах и присваивании имен двум выходным сигналам в правом нижнем углу, EPWMxA и EPWMxB, нет. Эти обозначения является небольшим буквенным рассогласованием, оно было бы лучше, чтобы использовать другие имена как например, CMP1 и CMP2, но решение было сделано инженерами ТИ.

В зависимости от предустановленного режима ePWM устройства, возможно определять 2 или 4 события в пределах периода PWM – частоты, выбирая соответствующие величины в CMPA и/или CMPB.

На рисунке 2.37 показаны режимы работы модуля сравнения:

– режим прямого счета;

– режим обратного счета;

– режим прямого и обратного счета.

События сравнения выбираются в модуле Action Qualifier. Вместо использования двух точек 0 или TBPRD можно использовать 4 точки за период. Назначение регистров модуля приведено в таблице 2.10, а биты регистра управления показаны на рисунке 2.38.

CMPA и CMPB – регистры, определяющие точку сравнения с счетчиком, CMPCTL управляет функционированием (теневых) «зеркальных» регистров для CMPA и CMPB. Теневые или «фоновые или зеркальные» регистры могут использоваться, чтобы подготовить новую величину для загрузки в следующем периоде пока текущий период все еще выполняется.

 

 

Рисунок 2.37 – Сравнение вариантов сигналов ePWM

 

Биты регистра управления.

LOADxMODE – пределяет аппаратный случай, который скопирует величину из «зеркального» регистра в активный.

SHDWxMODE – разрешает (0) или запрещает (1) перезапись из «зеркального» регистра. Если запрет, все инструкции записи немедленно изменят величину в регистре CMPA или CMPB.

SHDWxFULL (статус)– только чтение. Если «зеркало» – полный (1) и аппаратные средства копируют величину в основной регистр, бит очищается автоматически. Для большинства приложений, очень рекомендуется использовать эту характеристику, поскольку она снижает срочность доступов к регистрам CMP, когда мы изменяем эти величины в базе цикла – за – циклом, иногда называемым «on the fly» («на лету»).

После аппаратного сброса, или по умолчанию, «зеркальный» режим разрешается и LOADxMODE устанавливается на «загрузка по CTR=0»; Если CMPCTL инициализируется как «all», встроенный режим будет активным.

Это устройство можно проинициализировать комплектом из двух управляющих регистров, AQCTLA для выходной линии A и AQCTLB для линии B. Для каждых 6 событий на шкале времени (ноль, CMPA–вверх, CMPB – вверх, период, CMPA – вниз и CMPB – вниз) мы можем определить определенное действие в соответствующей сигнальной линии:

– установить на линии высокий уровень (передний фронт);

– установить на линии низкий уровень (задний фронт);

– переключить линию (с низкого уровня на высокий, ИЛИ с высокого на низкий);

– нет действия (этот случай игнорируется).

 

Таблица 2.10 – Регистры модуля Compare Unit

Имя Назначение Структура
CMPCTL CMPA CMPB   Compare Control Compare A Compare B   EPwmxRegs.CMPCTL.all EPwmxRegs.CMPA EPwmxRegs.CMPB  

 

 

Рисунок 2.38 – Регистр управления CMPCTL

Модуль Выбор Действия (Action Qualifier).

Кроме того, можно также заставить соответствующую линию перейти на определенный уровень напржения выполняя программную инструкцию в одном из двух программных принудительных регистров. В большинстве случаев, последний выбор не используется, из–за того, что он не может синхронизироваться с другой аппаратной деятельностью устройства PWM. Иногда, тем не менее, особенно для аварийных программ, этот вариант может быть выбран.

На рисунках 2.39 и 2.40 показаны примеры использования модуля сравнения.

Первый пример (рис.2.39) использует линии A и B в режиме прямого счета. На втором примере (рис.2.40) режим счета реверсивный. Циклы независимо управляются то CMPA для лини A и CMPB для линии B. EPWMA управляется CMPA и всегда центрируется относительно начала периода. Уменьшая различие между CMPA и TBPRD мы можем уменьшить размер импульса, увеличивая различие – импульс возрастет до 100%. Регистр CMPB используется, чтобы управлять шириной импульса EPWMB независимо от EPWMA. На примере выходной импульс EPWMB – также центрируется относительно начала периода.

 

Рисунок 2.39 – Независимая модуляция в EPWMA /B в режиме прямого счета

 

Рисунок 2.40 – Независимая модуляция в EPWMA /B в режиме реверсивного счета

 

Регистры модуля сведены в таблицу 2.11, а назначение битов регистров показано на рисунках 2.41 и 2.42.

 

Таблица 2.11 – Регистры модуля выбора действия

Имя Назначение Структура
  AQCTLA AQCTLB AQSFRC AQCSFRC   AQ Control Output A AQ Control Output B AQ S/W Force AQ Cont. S/W Force   EPwmxRegs.AQCTLA.all EPwmxRegs.AQCTLB.all EPwmxRegs.AQSFRC.all EPwmxRegs.AQCSFRC.all

 

Регистр управления Action Qualifier EPwmxRegs.AQCTLy (y = A или B)

Рисунок 2.41 – Регистр программной установки Action Qualifier SW Force Register EPwmxRegs.AQSFRC

Регистр постоянной установки SW Force Register PwmxRegs.AQCSFRC

Рисунок 2.42 – Регистры модуля выбора действия. Модуль «мертвой зоны» ePWM (Dead Band)

В силовой электронике, типичная схема управления состоит из 3–х фаз, в которых пара ключей мощности переключается последовательностью PWM – импульсов. Конечно, необходимо защитить оба ключа от одновременного включения. Проблема возникает из того, что из–за переходных процессов, обычно включение ключа происходит быстрее, чем его выключение. Если мы прикладываем идентичный но противофазный импульс к верхнему и нижнему ключам фазы, то на короткий промежуток времени может возникнуть ситуация, когда в фазе открыты оба ключа. Модуль «мертвой зоны» обеспечивает удобные средства борьбы с этой проблемой в преобразователе мощности. Хотя длительность сквозных токов конечна в течение PWM, (то есть транзистор, в конечном счете выключится), повторяющиеся через равные краткие периоды условия короткого замыкания могут привести к чрезмерному нагреву и вывести из строя преобразователь мощности или блок питания.

Раздвигая фронты на сигналах PWM с фиксированным периодом времени (это называется «мертвая зона»), F2833x дает возможность выполнять программную реализацию «мертвой зоны», реализованную аппаратно, которая не требует никаких дополнительных действий ЦП.

Блок–схема модуля показана на рисунке 2.42. Схема устройства «мертвой зоны» базируется на шести ключах, S0 – S5. Хотя все комбинации поддерживаются, не все способы могут быть использованы на практике. Более классические способы допускают что S4=0 и S5=0 [IN_MODE] и конфигурируются так что “EPWMxA–IN” – источник как для задержки среза так и для задержки фронта. Расширенные или нетрадиционные способы могут достигаться изменением входного сигнального источника.

Регистры модуля сведены в таблицу 2.12, а блок схема показана на рисунке 2.43.

 

Таблица 2.12 – Регистры модуля «мертвой зоны»

 

Рисунок 2.43 – Блок–схема модуля «мертвой зоны»

Управляющий регистр «мертвой зоны» объединяет битовые области для ключей S0 – S5 (рис.2.44).

 

Рисунок 2.44 – Регистр управления модуля «мертвой зоны» DBCTL

Модуль прерывателя ePWM

Модуль PWM–Прерыватель позволяет модулировать высокочастотным сигналом PWM сигнал сгенерированный классификатором действия и модулем мертвой зоны. Эта возможность важна, если необходима трансформаторная развязка переключающих элементов и формирователей импульсов управления.

Основные функции субмодуля PWM–прерывателя:

– программируемая несущая частота прерывания;

– программируемая ширина первого импульса;

– программируемая фаза вторых и последующих импульсов;

– возможность полного отключения, если не требуется.

Несущая частота модуля ePWM прерывателя производная от SYSCLKOUT. Частота и фаза модуля прерывателя управляются через CHPFREQ и CHPDUTY биты в PCCTL регистре.

Оne–shot блок обеспечивает высокую энергию первого импульса, чтобы гарантировать жесткое и быстрое включение ключа мощности. Однократная ширина программируется через OSHTWTH биты.

PWM–Прерыватель может полностью быть отключен через CHPEN бит.

Верхняя половина рисунка 2.45 показывает упрощенные сигналы при работе прерывателя. Нижняя часть этого рисунка показывает диаграмму специального «one shot» режима, в котором длительность первого импульса может быть запрограммирована независимо от остальных импульсов последовательности прерыватели.

Ширина первого импульса может программироваться любой из 16 возможных величин. Ширина или период первого импульса равна

 

Т1stPULSE=TSYSCLKOUT·8·OSHTWTH (2.7)

где TSYSCLKOUT – период системных часов (SYSCLKOUT) и OSHTWTH устанавливается четырьмя управляющими битами между 1 и 16. На рисунке 2.46 показан регистр управления модулем.

 

 

Рисунок 2.45 – Сигнал ePWM прерывателя

 

 

Рисунок 2.46 – Регистр управления ePWM прерывателем EPwmxRegs.PCCTL

Date: 2015-06-06; view: 2477; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию