Высокоточный скоростной измеритель цыкла

Пользовательские блоки не подходящее под другие разделы
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
lfgjikjjyj
Сержант
Сообщения: 118
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 8 раз

Высокоточный скоростной измеритель цыкла

Сообщение lfgjikjjyj »

2025-03-28_113249.png
Только для ардуино 328
Измерение в блоке выполняется всего за 1 такт микропроцесора
Другими словами он вносит искажение в результат равный 1 такту а это 62,5нс у атмеги 328 которые надо отнять от полученого числа и получится 100% длина цыкла
Что так же позволяет коду исполнится с максимальной скоростью как еслиб почти без этого блока
В отличие от других измерителей которые используют такой же метод инверсии в режиме дигитала у них уйдёт около сотни тактов которое войдут в искажение результата их него
Так же блок посути не требует памяти и не использует переменные инструкции и прочие операторы

Для измерения используется пин4 как вроде малоконфликный с апаратной частью
подключаем анализатор желательно с высокой частотой ну к примеру такт у уно 62,5нс что бы не иметь на выходе результат плюс минус шаг частоты анализатора из за его округления примерно раза в 4 хотя бы выше частоты 16мгц
Либо осцылограф допустим на 100мгц имеет шаг 5нс с такой точностью он вам померит цыкл
Распологать блок в начале на отдельной плате
если пин4 занят можно подправить блок на пин7 или пин8 у последнего надо букву группы регистров изменить на B (вроде ка кэти 3 пина самые менее конфликтные)

LOOP_(Code_-_Basic).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Rovki
Полковник
Сообщения: 5738
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

Re: Высокоточный скоростной измеритель цыкла

Сообщение Rovki »

А для чего нужно точное измерение цикла , да и вообще измерение его?
Если это вычислительная задача или логическая , то тут мало что сэкономить можно, а если используешь интерфейсы тем более. Тут главное все правильно распределить по времени выполнения и применять правильные библиотеки ..А после этого что получится, то и получится ..Если медленно, то используй другой МК.
Например в ПР200 (на стм ) минимальное время цикла 0.5мс. Но при этом количество использование их не уменьшилось , некоторые проекты выполняются за 50-100 мс(цикл)
Электронщик до мозга костей и не только
lfgjikjjyj
Сержант
Сообщения: 118
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 8 раз

Re: Высокоточный скоростной измеритель цыкла

Сообщение lfgjikjjyj »

вижу что вам оно не особо нужно раз появились вопросы
к примеру для отлаживания маленьких кусочков кода для выбора самого быстрого варианта из нескольких вариантов построения его
к примеру работаю я с 74hc165 и луп мне позволяет видеть не размытые области а выделить конкретный рабочий участок который имеет границы теперь и присвоив началу границы 0 можно отсчитывать теперь временые интервалы и варианты от чего то отказаться или как то сузить и тому подобное и как в итоге это вё повлияет
2025-03-28_145212.png
а можно добавить ещё один блок со вторым пином и выделить допустим участок работы фрам то легко вычислить трафик данных за цыкл ну или за мс мкс ... и распологать конкретными данными сколько времени нужно что бы сохранить при пропаже питания в фрам свои данные или сравнить эти два вида епрома хотя и так понятно что встроеный тормаз но насколько уже другой интерес

и чем уже участок работы скажем так в области нс то этот блок предпочтителььнее
если мы говорим о коде где развели помойку чт он еле дышит на мс то там да точности уже не важно и можно включить даже штатный измеритель флпрога на мкс и то который хромой со своей дискретностью огромной
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3147
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 236 раз
Поблагодарили: 117 раз

Re: Высокоточный скоростной измеритель цыкла

Сообщение Phazz »

А скажите пожалуйста, вы ведь явно не новичок в флпрог. Зачем вы создали новую учетку, чтобы выложить этот блок?
lfgjikjjyj
Сержант
Сообщения: 118
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 8 раз

Re: Высокоточный скоростной измеритель цыкла

Сообщение lfgjikjjyj »

нет я пользуюсь флпрогом и слежу за его развитием в помощи моей как понял тут не нуждаются разработчики а вот простым трудягам что нибудь да пригодится

просто один красный неадекват решил поиграть тут в бога раздавая баны и решивший что лиш его мнение есть истина а всё остальное чернь под ногами его та кскажу ему что ложил на него болт если у него какие то претензии ещё остались
Аватара пользователя
Rovki
Полковник
Сообщения: 5738
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

Re: Высокоточный скоростной измеритель цыкла

Сообщение Rovki »

lfgjikjjyj писал(а): 28 мар 2025, 11:08 вижу что вам оно не особо нужно раз появились вопросы
к примеру для отлаживания маленьких кусочков кода для выбора самого быстрого варианта из нескольких вариантов построения его
к примеру работаю я с 74hc165 и луп мне позволяет видеть не размытые области а выделить конкретный рабочий участок который имеет границы теперь и присвоив началу границы 0 можно отсчитывать теперь временые интервалы и варианты от чего то отказаться или как то сузить и тому подобное и как в итоге это вё повлияет

2025-03-28_145212.png

а можно добавить ещё один блок со вторым пином и выделить допустим участок работы фрам то легко вычислить трафик данных за цыкл ну или за мс мкс ... и распологать конкретными данными сколько времени нужно что бы сохранить при пропаже питания в фрам свои данные или сравнить эти два вида епрома хотя и так понятно что встроеный тормаз но насколько уже другой интерес

и чем уже участок работы скажем так в области нс то этот блок предпочтителььнее
если мы говорим о коде где развели помойку чт он еле дышит на мс то там да точности уже не важно и можно включить даже штатный измеритель флпрога на мкс и то который хромой со своей дискретностью огромной
Так большенство пользователей не работают с кодом, что бы там оптимизировать не известно для чего с микросекундами. Луп не луп, мне важно, что задуманный алгоритм выполняется правильно , а абстрактно бороться за нано\микро секунды не стал бы . Особенно если есть в проекте каналы связи(модбас), I2C, SPI , а куда без них , то экономия на вычислительных функциях померкнет. Конечно, для справки(информации) знать время цикла не возбраняется. :smile427:
Электронщик до мозга костей и не только
Аватара пользователя
Rovki
Полковник
Сообщения: 5738
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

Re: Высокоточный скоростной измеритель цыкла

Сообщение Rovki »

За блоки спасибо, просто хотел увидеть обоснование для практического применения и все. Может я чего не понимаю...Тогда может и другие пользователи стали бы использовать их чаще...Правда осциллографы и анализаторы есть не у всех , к сожалению
Электронщик до мозга костей и не только
aidar_i
Полковник
Сообщения: 3360
Зарегистрирован: 24 дек 2016, 16:55
Откуда: Уфа
Имя: Айдар
Благодарил (а): 14 раз
Поблагодарили: 100 раз
Контактная информация:

Re: Высокоточный скоростной измеритель цыкла

Сообщение aidar_i »

lfgjikjjyj писал(а): 28 мар 2025, 11:33 просто один красный неадекват решил поиграть тут в бога раздавая баны и решивший что лиш его мнение есть истина а всё остальное чернь под ногами его та кскажу ему что ложил на него болт если у него какие то претензии ещё остались
За это можете ещё бан получить.
Правила форума никто не отменял.
ecoins
Полковник
Сообщения: 4012
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 158 раз

Re: Высокоточный скоростной измеритель цыкла

Сообщение ecoins »

Этот один и тот же тролль с конкретным именем.
Уже много раз клятвенно покидал форум и никак не угомонится...
Банами его не запугать, он каждый раз входи под новыми никами...
Думаю эту тему надо просто убрать.
lfgjikjjyj
Сержант
Сообщения: 118
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 8 раз

Re: Высокоточный скоростной измеритель цыкла

Сообщение lfgjikjjyj »

Rovki писал(а): 28 мар 2025, 19:38 хотел увидеть обоснование для практического применения
у меня к вам встречный вопрос
вот вы начали оптимизировать какой то кусок кода или блока с чего вы начнёте ?
наверное найдёте рамки единичных выполнений цыкла и рамки среднего выполнения ибо не все коды выполняются синхронно-цыклично некоторые как допустим ванваер рвёт симетрию и все ждут завершения ну и далее естественно обьём памяти и памяти оперативной
посути я выделил 3-4 парметра которые желательно уменьшить стремиться
о том где применить так простейший ответ с практической точки применения у меня была задумка считать с 74hc165 1мгц со входа на базе ардуино а для этого цыкл должен бать менее 1 мгц естественно тоесть 1 мкс как период либо 500нс на1 цыкл или самое правельное выражаться 8 тактов на процессор и как вы уже поняли на ардуино это не возможно уж слишком у неё очень жирный такт по драгоценному времени
здесь нужен как вы правильно ранее выражались процы с мизерным временем на один такт процесора
максимум чего я добился постепенно сжимая цыкл это опрос 125кгц так как здесь нет прерываний и всё синхронно выполняется или правельными словами 128 тактов за минус 1 такт что тратится на мой блок измерения имеем 127 тактов чистого исполнения кода ну или для вас это 7,9мкс
там есть ещё задумки как его более ускорить но это надо отказаться от тормозной библиотеки гувера и делать свою ибо у него работа с спи медленная
я к тому это всё что если вы работаете с тактами процессора без замеров вы ничего не сделаете дельного чт особственно вы так и выразились примерно - лижбы работало ...
я вот планирую попробовать сделат блок дэски для есп через рмт (так как дма там не распростнояется на ванваер) что не должно рвать цыкл поидее и там я вам могу подробнее привести примеры использования этого блока там как раз теоретически будет участвовать среднее измерение цыкла против симтричного
ecoins писал(а): 28 мар 2025, 23:53 Этот один и тот же тролль с конкретным именем.
Уже много раз клятвенно покидал форум и никак не угомонится...
Банами его не запугать, он каждый раз входи под новыми никами...
Думаю эту тему надо просто убрать.
да с вами особенно уже нет желания общаться
троль это по вашему то чт я пытался помочь людям ? - ну мне только жаль вас становится от ваших критериев и права оценивать людей ...
где я клялся уйти покажите мне интересно ?
мне эти баны без разницы потому что щитаю что форум для всех и до вас на нём было прекрасно и куда более живое общение и по делу
но даже такой как вы чем то полезен в обществе даёт ему некие сдвиги но только не когда ваша сущность перекрывает некое процентное соотнощение массы людей с вами конкретным одним где вы начинаете задавливать навязывать этой массе своё видение как единственное правельное а так как процентное соотношение массы не достаточно что бы представить альтернативу то мы имеем то что имеем когда больше половины ушла из за вас одного ...
(оглянитесь собствено вы единственный из всего форума кто зашол сюда поднасрать ну как обычно)
а по поводу удалить - нуда я же выложил блок не по критерию экоинса о его многоплатфомености ну простите дурака что я не силён во всех тематиках програмирования
Ответить

Вернуться в «Другое»

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

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