|
2 / 2 / 2
Регистрация: 07.08.2015
Сообщений: 72
|
|
Синхронизация ШИМ от разных устройств19.11.2016, 11:20. Показов 3802. Ответов 16
Доброго времени суток, народ. В процессе учебной деятельности, возникла одна интересная задача. Суть в следующем: имеются 3 микроконтроллера (AVR, ведомые, с тактовой частотой 16МГц) и Raspberry в качестве ведущего. Вся система служит для реализации многофазного управления подачей питания на много дофига потребляющих нагрузок. Каждый контроллер (включая Raspberry) выдает аппаратно 5-фазную ШИМ. Необходимо, чтобы выходные ШИМ импульсы от разных контроллеров были строго синхронизированы по времени, с точностью до единиц наносекунд. Прошу помощи с указанием направления в какую сторону копать или идеями каких-нибудь алгоритмов синхронизации применимых в данном случае.
P.S.: Решение мне видится в синхронизации фазы опорных генераторов микроконтроллеров, но вмешательство в схемотехнику должно быть минимальным (иначе поставил бы ФАПЧ и не парился).
0
|
|
| 19.11.2016, 11:20 | |
|
Ответы с готовыми решениями:
16
Два разных АЦП разных устройств к одному датчику Модуль EVO II синхронизация 50гц, На какой ножке контроллера синхронизация шим двигателя? Синхронизация мобильных устройств с компьютером |
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
||
| 19.11.2016, 12:08 | ||
|
там до проха таймеров и в каждом(практически) есть 4 канальный шим
0
|
||
|
1184 / 670 / 113
Регистрация: 15.05.2012
Сообщений: 4,080
|
|
| 19.11.2016, 14:03 | |
|
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|
| 21.11.2016, 20:59 | |
|
Все контроллеры, выдающие импульсы, необходимо тактировать от одного источника и сбрасывать общим сбросом. Это что думается в первую голову. А иначе синхронизовывать асинхронные процессы задача неблагодарная.
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|
| 21.11.2016, 21:10 | |
|
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 21.11.2016, 21:18 | |
|
1
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 21.11.2016, 21:41 | |||
|
жестко синхронизировать шим можно на жесткой логике более- менее, мастер и куча слейвов с обратной связью в одноранговом кто в лес кто по дрова ![]() но вот зачем может там совсем не шим нужен
0
|
|||
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 21.11.2016, 21:50 | |
|
5 фазный аппаратный ШИМ, выбирайте SI-7510, SLA5073, SLA5074
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 25.11.2016, 23:38 | ||
|
Можем проверить на конкретных примерах - например, можно сделать отдельную программку, выполняющую инит порта в какое-то состояние, и далее - только ресет. Я предполагаю, что в 99% чипов мы увидим ровный генератор импульсов на выходе пина. ЗЫ: другое дело - запуск RC и/или внешних генераторов... С ними действительно ресет будет "аналоговым"... Добавлено через 1 час 7 минут ...сказал, но полез в доки. Оказалось, что, например, в AVR не так и много источников сигнала RESET. Но... Помимо чисто "аналоговых" Power-On-Reset, и Brown-Out-Detection, при сбросе которых цифра действительно может давать не детерминированный сброс, существуют относительно "цифровые" сигналы RESET от внешнего источника, и по вочдогу (который конечно можно использовать в качестве внутреннего программного сброса). И сброс по ним описан в доках на AVR с загадочной задержкой "Tout", которая нигде в документации не описана. Но я вангую, что это совершенно постоянное количество тактов процессора, которое нужно ему для инициализации всего того, что нужно для нормальной его жизни. Так что в этом случае сброс будет работать "как часы", то есть срабатывать за точно отведенное для него время.
0
|
||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 26.11.2016, 09:22 | ||
![]() Добавлено через 9 минут Вообще приходилось мне измерять время от сигнала сброса до внутренних программных событий у некоторых микроконтроллеров, правда не широкого применения. Времянки стояли как вкопанные, поскольку непосредственно с момента снятия сигнала сброса стартовала программа. Но к тому времени напряжение питания уже было устаканенным и тактовая частота тоже.
0
|
||
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 26.11.2016, 09:25 | |
|
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 26.11.2016, 09:38 | ||
|
Добавлено через 3 минуты Ну чтобы возможные моменты переключения логических уровней во всей схеме были едины. Добавлено через 4 минуты Думаю глюки у меня тогда вылезали от того, что одна микросхема иногда проверяла логический уровень как раз в тот момент когда вторая его переключала. И результат такой проверки выходил 50/50.
0
|
||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||
| 26.11.2016, 09:53 | |||
![]() тактируем с одного генератора но одна ножка подключена по ближайшему пути, вторая как то вокруг, вот тебе и сопротивление и емкость, в результате тупо смотрим что к чему
0
|
|||
|
75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
|
|
| 28.11.2016, 09:29 | |
|
EfesXZC, самое надежное это логика (ПЛИС), формирующая сразу все ШИМы (только это уберет все биения частот и соответственно низкочастотные ЭМ помехи).
Можно попробовать еще с помощью прерывания синхронизировать внутренние таймеры ШИМ, при этом все мк и одноплатный компьютер должны будут запитаться от одного генератора. В принципе вход в прерывание это фиксированное время, если пока идет синхронизация не использовать ни каких других прерываний.
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 05.12.2016, 20:24 | ||
|
Добавлено через 18 минут ...отыскал - примерная задержка сигнала в проводнике - 4нс/м. То есть для того, чтобы "придержать" сигнал на n нс - мотаете катуху длиной 25см на каждую наносекунду, бифилярным способом . Не забывая про емкость приемной стороны и емкость провода + его сопротивление...
0
|
||
|
0 / 0 / 0
Регистрация: 01.04.2017
Сообщений: 2
|
|
| 01.04.2017, 17:29 | |
|
Обычно задачу синхронизации ШИМ на разных контроллерах решают использованием аппаратного пина синхронизации таймеров ШИМ. Контроллер-мастер конфигурируется испускать синхросигнал при проходе его таймером ШИм нуля, а другие контроллеры принимают синхросигнал и обнуляют таймеры ШИМ по его получении. Это синхронизирует несущие ШИМа. Такая опция обычно бывает во всех motorcontrol микроконтроллерах, например, Texas Instruments Delfino, Piccolo и других. Есть ли такое на указанных, не знаю.
Что касается синхронизации уставок сравнения, то их можно уже синхронизировать через интерфейс связи, здесь таких жестких требований уже обычно нет.
0
|
|
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 03.04.2017, 10:38 | ||
|
Речь идет об AVR. а в AVR ШИМ построен на таймерах, тактируемых PLL, даже в случае с умножителем (как в tiny25/45/85) до 64МГц. Поэтому, чтобы получить синхронный клок таймеров, достаточно сделать синхронный внешний клок и одинаковый код программ, чтобы сопадало количество тактов обработчиков. Просто тут еще немного другое. ТС говорил за синхронизацию с точностью до нескольких нс. Даже если предположить, что клок будет 16МГц (62,5нс) - даже один такт разницы приведет к нежелательным расхождениям. И это без учета запаздывания сигнала, разных входных уровней и завала фронтов. Вполне возможно, это вызовет некий не-большой джиттер. Но даже "небольшой джиттер" вполне может быть ощутим, если мы говорим о наносекундах.
0
|
||
| 03.04.2017, 10:38 | |
|
Помогаю со студенческими работами здесь
17
Подключение к Wi-Fi с разных устройств Система 5.1 из разных устройств Синхронизация БД разных структур Синхронизация таблиц из разных БД Синхронизация данных на разных листах Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|