Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-мар-29 19:12

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 20 сообщений ]  На страницу 1 2 »
Автор Сообщение
СообщениеДобавлено: 2019-дек-06 10:44 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
Уважаемые форумчане, подскажите. На базе 1986ВЕ92 строится плата управления источником питания. Периодически на выводах 2 и 6 порта Е формируются ШИМ сигналы. Формироваться они должны не одновременно, т.е когда есть один другого быть не должно. Код формирователя построен на базе прилагаемого примера. И вот у меня вопрос как лучше и правильно сделать переключатель вывода. Первое что мне приходит в голову это делать переключение вывода из состояния "вход" на состояние "выход", т.е. PORTE->OE = (1<<2) | (0<<6); и наоборот. А что Вы посоветуете?


Вложения:
Timer_PWM.rar [447.73 КБ]
82 скачивания
Вернуться к началу
СообщениеДобавлено: 2019-дек-06 11:04 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 486
В настройках ШИМ использовать логику DeadTime - самое оптимальное.

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 11:12 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 732
Откуда: г. Санкт-Петербург
Использовать PORTE->OE неправильно, поскольку этот регистр задает режим (вход/выход) только для режима 00 - "порт ввода-вывода".
Рекомендую:
1. Использовать регистр PORTE->FUNC для переключения вывода с режима "ШИМ" в режим порта вывода с предварительно (однократно) установленным пассивным уровнем сигнала в регистре PORTE->RXTX.
2. Использовать регистры MDR_TIMERx->CHy_CNTRL1 соответствующего таймера и канала для включения/выключения ШИМ на выводе МК.
p.s. Ваш проект не смотрел.


Последний раз редактировалось vasili 2019-дек-06 11:14, всего редактировалось 1 раз.

Вернуться к началу
СообщениеДобавлено: 2019-дек-06 11:12 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
А где о ней можно почитать? В спецификации на мой контроллер я ничего кроме рисунка с таким генератором ничего не нашел.


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 11:15 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
vasili писал(а): *
Использовать PORTE->OE неправильно, поскольку этот регистр задает режим (вход/выход) только для режима 00 - "порт ввода-вывода".
Да, я попробовал , ничего не выходит.


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 11:34 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
vasili писал(а): *
1. Использовать регистр PORTE->FUNC для переключения вывода с режима "ШИМ" в режим порта вывода с предварительно (однократно) установленным пассивным уровнем сигнала в регистре PORTE->RXTX.
Попробовал этот вариант. Странно но тоже ничего не выходит


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 12:56 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 732
Откуда: г. Санкт-Петербург
vladh писал(а): *
vasili писал(а): *
1. Использовать регистр PORTE->FUNC для переключения вывода с режима "ШИМ" в режим порта вывода с предварительно (однократно) установленным пассивным уровнем сигнала в регистре PORTE->RXTX.
Попробовал этот вариант. Странно но тоже ничего не выходит
Что именно не выходит? При PORTE->FUNC &= ~(3<<4); PE2 не переходит из режима "ШИМ" в режим порта вывода? (бит 2 PORTE->ОЕ при этом д.б. =1).


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 13:08 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
vasili писал(а): *
Что именно не выходит? При PORTE->FUNC &= ~(3<<4); PE2 не переходит из режима "ШИМ" в режим порта вывода? (бит 2 PORTE->ОЕ при этом д.б. =1).
Удалось сделать воспользовавшись этим Вашим советом. Но для этого надо прежде отключить таймер использовав функцию TIMER_Cmd(MDR_TIMER3,DISABLE) и уже затем сделать указанные Вами переключения и вновь включить таймер. СПАСИБО. А как же насчет DeadTime? Где о нем прочесть?


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 13:30 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 732
Откуда: г. Санкт-Петербург
vladh писал(а): *
... Но для этого надо прежде отключить таймер использовав функцию TIMER_Cmd(MDR_TIMER3,DISABLE) и уже затем сделать указанные Вами переключения и вновь включить таймер. СПАСИБО. А как же насчет DeadTime? Где о нем прочесть?
1. Отключать таймер совсем не обязательно.
2. DeadTime имеет смысл применять при совместном задействовании пары комплементарных выводов ШИМ (например TIMER3_CH1, TIMER3_CHN). В Вашем случае используются "прямые" выводы TIMER3_CH1, TIMER3_CH3, поэтому DeadTime здесь вряд ли уместен.
По моему мнению вся необходимая для правильного применения информация по DeadTime приведена в описании на МК ТСКЯ.431296.001СП


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 13:57 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
Если не отключать таймер, то только одним функциональным переконфигурированием выводов заставить их переключится у меня не получилось. А этот ТСКЯ.431296.001СП я так понимаю его за денюжки на до приобретать?


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 14:58 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 472
Организация: Milandr
Откуда: ПКК "Миландр"
По постановке задачи действительно напрашиваются комплиментарные выводы одного канала. Выходной уровень второго можно проинвертировать и "раздвинуть" импульсы через DTG. Картинки DTG можно тут посмотреть https://startmilandr.ru/doku.php/doc:do ... %D1%8B_dtg


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 15:32 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
Vasiliy писал(а): *
По постановке задачи действительно напрашиваются комплиментарные выводы одного канала. Выходной уровень второго можно проинвертировать и "раздвинуть" импульсы через DTG. Картинки DTG можно тут посмотреть https://startmilandr.ru/doku.php/doc:do ... %D1%8B_dtg
Спасибо.


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 16:27 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1454
Откуда: Тула
vladh писал(а): *
... А этот ТСКЯ.431296.001СП я так понимаю его за денюжки на до приобретать?
Качай, пока не удалили! https://ic.milandr.ru/products/mikrokon ... /#docs_tab

_________________
сочувствующий…


Вернуться к началу
СообщениеДобавлено: 2019-дек-06 20:45 
Не в сети

Зарегистрирован: 2018-янв-05 23:41
Сообщения: 154
Организация: ФГУП "РФЯЦ-ВНИИЭФ"
vladh писал(а): *
Если не отключать таймер, то только одним функциональным переконфигурированием выводов заставить их переключится у меня не получилось.
Всё получится, если вывод порта предварительно был настроен на выход и установлен в нужное состояние.


Вернуться к началу
СообщениеДобавлено: 2019-дек-07 08:15 
Не в сети

Зарегистрирован: 2017-авг-09 12:38
Сообщения: 147
Организация: НПФ "Авангард"
prostoRoman писал(а): *
vladh писал(а): *
... А этот ТСКЯ.431296.001СП я так понимаю его за денюжки на до приобретать?
Качай, пока не удалили! https://ic.milandr.ru/products/mikrokon ... /#docs_tab
По этой ссылке то о чем говорили нет. Вот предыдущая ссылка от Vasilyja, реальная.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 20 сообщений ]  На страницу 1 2 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB