запустить на stm32g4 ?
Емнип смотря какие. Там вроде 1 и 8 всё могут, а остальные так не умеют
там много таймеров, которые могут много всего, но именно чтобы фаза не плавала в master-slave в single shot, у меня есть подозрение, что она даже в в single shot плывёт
Так там умеет по событию 1 таймер синхронить остальные же
это про master-slave
Да, именно что плывет, на том же h7 осциллом проверял) Если нужно что то, где важна фаза, то это ПЛИС имхо
Это именно в single shot? Или просто master-slave ?
Да, именно в single shot. Хотя по идее если просто мастер слейв то то же самое. Более того, в разных таймерах по разному, такое чувство, что у них принципиально разные механизмы тактирования и соответственно задержки
вот такая печалька получается на g4 😕, TIM2 master, TIM3 slave, частота 710Гц, длина импульса 1.1мкс
Тактируется от внутренней RC- цепочки?
нет конечно 😒😒
Это печально...
А чем вы такой график красивый строите?
Байпас PLL можно попробовать
Во во, что то такое же на h7 выходило. Только там оно меньше на нормальное распределение походило, был скос в +)) Я бы поставил для такого внешний гун с кмоп выходом, и с цапа g4 им управлял:3
А ещё я бы попробовал TIM1 master TIM8 slave, результат может отличаться на порядок, как ни странно
Мне фазы надо крутить туда-сюда, single shot и прочая лабуда, какой уж там гун
А, ну тогда точно плисина. Тоненькая какая нибудь, как раз говин можно заюзать, i2c слейв там, и слать команды в него, какую лабуду ей надо сгенерить
Это понятно конечно, ну как обычно - хочется же обойтись одночиповым решением)
А как вообще измерения фазы проводятся?
Лог анализатором, и да я проверял фазу с обычного генератора - там всё ок
У меня не было задач в наносекунды попадать таймером, но если я бы встретился с такой проблемой, то наверное шёл таким путём: 0. Повесил на всяк 50 ом на пинку, чтобы выходное было такое же как у генератора, с которым сравнивалось. Укоротил бы провода. 1. убедился, что таймер в режиме ШИМ сам по себе не даёт джиттера. Если этот даёт, искать тот, который не даёт, либо искал бы проблемы в питании, наводках, разводке, способе тактирования. 2. Если проблема только в slave режиме, то убедился, что таймера тактируются одним источником и искал бы пару таймеров, где эта проблема минимизирована. У STM такое вполне вероятно. Коллеги рассказывали, что проблемы бывают когда просто на другую ножку периферию назначаешь (F429). Про TIM1+TIM8 тут уже советовали. Про тактирование таймеров от HSE тоже. 3. Если то, что выше не дало результата, возможно бы поигрался c частотой шины. Т.к. Event таймера - событие асинхронное и оно синхронизируется с частотой шины. Тут надо глубже ковыряться. Возможно есть такая пара частот AHB/APB с которой проблема минимальна. Если нет, то рассматривал или ПЛИС, или второй мелкий контроллер, специально под эту задачу. Наверняка должны быть мелкие STM8, которые имеют механизм запуска одного таймера другим.
это всё понятно, работы много, а времени нет особо на это, и вообще не понятно нужно ли мне оно такое просто хотел посмотреть как оно вообще работает.
а вы что делаете? а то тут на стм управление ллс делать собрались а там на 260кгц над управлять ключиками от нескольких таймеров, что то вот страшно уже
так у меня получается период 1.4мс, а разброс по фазе ±1мкс - это меньше чем ±0.1% от периода - для всяких двигателей и источников питания вообще пофиг
ну deadtime реализуемые они там в 200нан
посчитайте сами, а не просто смотрите на циферки
?? не понял что посчитать?
то что вам надо
Дедтайм между силовыми ключами и синхр выпрямителем или внтури полумоста? Если внутри полумоста, он там на железе делается. Не было проблем.
у синхронного и у раскачки не на железе
В смысле, есть пауза между включением ключа в первичке и включением во вторичке - вот эта пауза может быть программной, хотя я так не делал. Я про то, что у STM32 есть комплиментарные выходы на ключи. И дедтайм там настраивается жётко. Там не тот механизм, что мы обсуждаем.
нет мы используем 4 таймера
Жеесть. А это точно не кварц дрожит? Там на MCO вроде вывести можно этот клок.
да, действительно проблема была скорее всего в кварце, проблему воспроизвести не удалось( но фапч тут не при делах
Спасибо, полезно. Хоть понятно, что не в ядре.
Обсуждают сегодня