TOG 0 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба Товарищи, сделал такую программку. Дергает выводом A8. (Частота МК 216 Мгц. Оптимизация по времени включена.) while(1) { *(__IO uint32_t *)0x40020018 = 0x100 << 16; // Pin Reset *(__IO uint32_t *)0x40020018 = 0x100 ; // Pin Set } На осциллографе длительность импульса ~ 10 нс. Но если я вставлю между этими командами __ASM("NOP"), то длительность импульса становится сразу ~60 нс. А мне бы хотелось как-то плавно регулировать ее в пределах 10..100 нс. Что посоветуете ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 10 минут назад, TOG сказал: Что посоветуете ? Изучать таймеры и ШИМы вашего МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба Посоветуем либо ПЛИС, либо формирователь на конденсаторе или таймере, либо - ассемблер в руки и ага 🙂 Да, и еще - а зачем "магические цифры"? Скорости они не добавляют. Скорости добавит ассемблер 216 МГц... это около 5 нс. Такова будет минимальная "плавность". Причем, случись какое-нить прерывание - и всё, хана котёнку. Таймеры и ШИМы не шибко то помогут "плавности", дискретность на малых коэфф деления высока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 87 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 31 минуту назад, EdgeAligned сказал: Таймеры и ШИМы не шибко то помогут "плавности", дискретность на малых коэфф деления высока. Так непонятно что ТС надо - одиночный импульс или непрерывно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба Хоть одиночный, хоть циклический, но дискретность шага изменения длительности импульса на малых коэф.деления будет высока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 2 часа назад, EdgeAligned сказал: Таймеры и ШИМы не шибко то помогут "плавности", дискретность на малых коэфф деления высока. Нормально помогут. Дискретность будет равна = 1 такту тактирования ШИМ-а. Советую почитать теорию по теме "ШИМ". 1 час назад, EdgeAligned сказал: Хоть одиночный, хоть циклический, но дискретность шага изменения длительности импульса на малых коэф.деления будет высока. Бред. Зачем коэффициент деления трогать если ТСу нужно изменять длительность импульса? Ещё раз советую почитать учебник по теме: "Что такое ШИМ". Вы не понимаете что это такое и для чего. Нормальный микроконтроллерный ШИМ позволяет менять длительность импульса с дискретностью >= 1 такт. 2 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladislavS 39 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба Все попытки сделать импульс программно умрут вот тут Проследите путь от CPU до GPIO (он не работает на частоте CPU) и всё поймёте. А вот таймер с ШИМ то что доктор прописал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 189 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 10 минут назад, VladislavS сказал: Все попытки сделать импульс программно умрут вот тут Они умерли бы и в обычном Cortex-M0/3/4, на самом-то деле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 31 августа, 2023 Опубликовано 31 августа, 2023 (изменено) · Жалоба 12 hours ago, jcxz said: Бред. Не кажи гоп, хлопец 🙂 Импульс то сделаешь, а вот дискретность изменения шага... посчитай, кстати, на счетах 🙂 И еще раз советую перечитать тему и пересчитать на электросчетах 🙂 Изменено 1 сентября, 2023 пользователем haker_fox Удалил потенциальное нарушение правил форума. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 16 minutes ago, EdgeAligned said: Не кажи гоп, хлопец 🙂 Импульс то сделаешь, а вот дискретность изменения шага... посчитай, кстати, на счетах 🙂 И еще раз советую перечитать тему и пересчитать на электросчетах 🙂 А то громко пукнуть получается, а как по делу - так тут и ноль. А какая дискретность нужна топикстартеру известна ? Он же ее не озвучил ! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 86 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба Он сказал, что "хотелось бы плавно". Шаг по 10-50% - как-то не очень то плавно. По крайней мере, в моем понимании. Если кто понимает иначе, ну чтож, это его право громко об этом заявлять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 189 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 1 час назад, EdgeAligned сказал: Не кажи гоп, хлопец 🙂 Импульс то сделаешь, а вот дискретность изменения шага... посчитай, кстати, на счетах 🙂 Дискретность изменения шага будет 1 такт синхронизации таймера. Это для 216 МГц ~ 5 нс. Какие еще "малые коэффициенты деления"? ТС указал 10...100 нс, значит шкала 90 нс, значит с дискретом 4.6 нс получается точность регулировки ~ 5%. Какие 10 - 50 %? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 242 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 2 минуты назад, Arlleex сказал: Какие еще "малые коэффициенты деления"? Человек не понимает что такое "ШИМ". Бесполезно. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба В 31.08.2023 в 14:47, EdgeAligned сказал: Посоветуем либо ПЛИС Можно на чем-то типа STM32H745xI/G удержаться за счет High-Resolution Timer (HRTIM). Обещают: Цитата 1× high-resolution timer (2.1 ns max resolution) или на STM32G474 с его Цитата HRTIM (Hi-Resolution and complex waveform builder): 6 x16-bit counters, 184 ps resolution, 12 PWM (эквивалентная частота 5.44 ГГц) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 189 31 августа, 2023 Опубликовано 31 августа, 2023 · Жалоба 1 час назад, adnega сказал: Можно на чем-то типа STM32H745xI/G удержаться за счет High-Resolution Timer (HRTIM). Обещают: или на STM32G474 с его (эквивалентная частота 5.44 ГГц) Не так давно имел случайность узнать, что все эти гигагерцы - грамота филькина) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться