-
- Главное- изобразить цель конкретнее, у вас какой- то кошмар сформулирован. Если задача- подсчёт частоты, тогда реализация может сводиться к следующему: На вход ETR первого таймера (номер присвоен от фонаря) подать входную частоту. Для того, чтобы KLIM83(1028 знак., 03.07.2013 11:17 - 11:33)
- Там вроде какой-то битик задерживает захват. Может, стоит и мешает? - Юра(03.07.2013 18:29, )
- Это Ксении насчет XMEGA... Извиняюсь. Жара( - Юра(03.07.2013 18:30, )
- Есть такой битик "Event Delay" (TC0_EVDLY), только по умолчанию он вроде бы не ставится. - Ксения(03.07.2013 19:46)
- Это Ксении насчет XMEGA... Извиняюсь. Жара( - Юра(03.07.2013 18:30, )
- Вы правильно поняли задачу, именно так и построена схема. Проблема как раз в том, чтобы не вычислять разность между текущим и предыдущим значениями счетчика захвата. Необходимо отслеживать переполнение счетчика. Я надеялся что сброс CNT можно pav256(243 знак., 03.07.2013 18:21)
- Переполнение отслеживать не надо, просто вычитаете предыдущее из текущего. Главное выбрать интервал измерения так, чтобы переполнение не произошло дважды. - йцукен(03.07.2013 20:52, )
- На вход счетчика подключен датчик, который при неисправности может резко и произвольно увеличить частоту! Граница валидности значений частоты известна. Необходимо фиксировать значения выходящие за эту границу, в том числе (ОСОБЕННО) и при pav256(149 знак., 04.07.2013 09:24)
- Ничччего не понимаю... Кому известна граница валидности? Мне точно неизвестна. Какова максимальная частота? Каким целям несообразно уменьшать интервал защёлкивания? - йцукен(04.07.2013 11:18, )
- 1. Для каждого датчика известна максимальная выдаваемая частота (различны для разных датчиков). pav256(446 знак., 04.07.2013 11:26)
- А прерывание по переполнению не катит? - АПМ(05.07.2013 11:35)
- В смысле? - pav256(11.07.2013 10:56)
- что бы отслеживать редкие события переполнения, при увеличения тактовой. - АПМ(11.07.2013 17:53)
- В смысле? - pav256(11.07.2013 10:56)
- У вас в первом сообщении написано, что вы хотите защёлкивать значение счётчика с частотой 100 Гц. Если максимальная частота 5 МГц, между защёлкиваниями придёт не более 50000 импульсов. Поскольку это меньше 65636, простое вычитание предыдущего йцукен(83 знак., 04.07.2013 12:21, )
- Таймер в режиме счетчика внешних событий, один канал COMPARE проверяет значение для максимальной частоты. Перезапуск счетчика - аппаратный от другого таймера, сбор показаний - через DMA. - vmp(04.07.2013 11:54)
- Покажите пожалуйста ссылку в ДШ, где есть аппаратный перезапуск от другого таймера? - KLIM83(04.07.2013 11:59)
- 14.3.19. TIMx and external trigger synchronization. Slave mode: Reset mode. - vmp(04.07.2013 12:10)
- Как я понял, "trigger controller" - работает с одной нитью событий, будь то сброс счетчика или подача на него внешней частоты. В "Slave mode: Reset mode" CNT тактируется от внутреннего генератора. Если это не так прошу выложить/исправить код pav256(1215 знак., 04.07.2013 13:14)
- Тактируются независимо. Читать 14.3.3 Clock Selection, External clock mode 1. И описание TIMx_SMCR. Еще рекомендую AN4013 STM32F1xx, STM32F2xx, STM32F4xx, STM32L1xx, STM32F30/31/37/38x timer overview - vmp(04.07.2013 14:11, ссылка)
- Знатная фишка. Жаль, что не везде есть. - KLIM83(04.07.2013 12:15)
- Как я понял, "trigger controller" - работает с одной нитью событий, будь то сброс счетчика или подача на него внешней частоты. В "Slave mode: Reset mode" CNT тактируется от внутреннего генератора. Если это не так прошу выложить/исправить код pav256(1215 знак., 04.07.2013 13:14)
- 14.3.19. TIMx and external trigger synchronization. Slave mode: Reset mode. - vmp(04.07.2013 12:10)
- Покажите пожалуйста ссылку в ДШ, где есть аппаратный перезапуск от другого таймера? - KLIM83(04.07.2013 11:59)
- Либо жертвовать вычислительными ресурсами на остановку/ обнуление/ запуск счётчика каждый интервал измерения, ну и пропуск сигналов с датчика из этого явно вытекает; либо жертвовать опять таки вычислительными ресурсами на подсчёт разности, что к KLIM83(38 знак., 04.07.2013 11:45)
- Обнулить счетчик таймера (младшие разряды) можно без остановки/запуска, т.к. обнуление гарантирует, что в ближайшее время переполнение не произойдет. При этом подразумевается, что старшие разряды (число переполнений) считаются в переменной по Ксения(376 знак., 04.07.2013 14:12 - 14:25)
- Идея была в том, чтобы остановку/обнуление/запуск/защелкивание счётчика делать аппаратно (пропуски если и будут, то уложатся в погрешность), и программно на низком приоритете лишь читать защелкнутые значения 100 раз в секунду. Если ТАК не pav256(85 знак., 04.07.2013 13:37)
- Ошибка п.п. 2 - 5МГц конечно не меандр, импульсы короче - pav256(04.07.2013 11:32)
- А прерывание по переполнению не катит? - АПМ(05.07.2013 11:35)
- 1. Для каждого датчика известна максимальная выдаваемая частота (различны для разных датчиков). pav256(446 знак., 04.07.2013 11:26)
- Ничччего не понимаю... Кому известна граница валидности? Мне точно неизвестна. Какова максимальная частота? Каким целям несообразно уменьшать интервал защёлкивания? - йцукен(04.07.2013 11:18, )
- На вход счетчика подключен датчик, который при неисправности может резко и произвольно увеличить частоту! Граница валидности значений частоты известна. Необходимо фиксировать значения выходящие за эту границу, в том числе (ОСОБЕННО) и при pav256(149 знак., 04.07.2013 09:24)
- На Хмеге пыталась сделать одновременно захват и сброс, благо ничто этому не мешает. Но, к сожалению, сброс происходит чуть раньше захвата. В результате захватываю ноль. А такая была красивая идея... - Ксения(03.07.2013 18:25)
- Достаточно долго работал и с хмегой. Перешел на STM32 т.к. не хватало вычислительной мощности. Но в плане организации перефирии и распределения альтернативных фу-ий по выводам, такое впечатление, что с мерседеса пересел на китайский авто, вроде pav256(208 знак., 04.07.2013 09:14)
- Точно такие-же ощущения. Проблему нехватку быстродействия планирую решить переходом на Xmega с большим объемом флэши и настройкой компилятора на оптимизацию по скорости. В свежих версиях IAR программу получается или в разы ускорить или в разы AlexG(7 знак., 04.07.2013 15:11)
- Так уж и в разы? У IARAVR с оптимизацией странности давно были - оптимизация по скорости давала как правило меньший размер программы, чем по размеру. Сейчас не так? Какая версия тогда? - Apтём(11.07.2013 13:50)
- Чую проблема с быстродействием у Вас только только всплыла. У меня она наклевывалась уже давно. Последнюю прогу под Xmega я впервые написал без прерываний и без вызова функций, только на макросах (основное ядро). Вычисления крутились в цикле, pav256(754 знак., 11.07.2013 09:45)
- Дешевле? Даже после снижения цен на новые xmega? - Apтём(11.07.2013 13:51)
- Сложно сравнивать даже в аналогичных корпусах, но для моих задач получилось дешевле, в частности, за счет большей встроенной периферии на STM. pav256(293 знак., 11.07.2013 16:02)
- Производительность у xmeg конечно отстаёт от smt32f4, но и цена меньше: Apтём(402 знак., 11.07.2013 18:00)
- Обе ссылки на Хмеги, причем одинаковые. - Ксения(12.07.2013 00:01)
- Производительность у xmeg конечно отстаёт от smt32f4, но и цена меньше: Apтём(402 знак., 11.07.2013 18:00)
- Сложно сравнивать даже в аналогичных корпусах, но для моих задач получилось дешевле, в частности, за счет большей встроенной периферии на STM. pav256(293 знак., 11.07.2013 16:02)
- Дешевле? Даже после снижения цен на новые xmega? - Apтём(11.07.2013 13:51)
- Точно такие-же ощущения. Проблему нехватку быстродействия планирую решить переходом на Xmega с большим объемом флэши и настройкой компилятора на оптимизацию по скорости. В свежих версиях IAR программу получается или в разы ускорить или в разы AlexG(7 знак., 04.07.2013 15:11)
- Достаточно долго работал и с хмегой. Перешел на STM32 т.к. не хватало вычислительной мощности. Но в плане организации перефирии и распределения альтернативных фу-ий по выводам, такое впечатление, что с мерседеса пересел на китайский авто, вроде pav256(208 знак., 04.07.2013 09:14)
- Переполнение отслеживать не надо, просто вычитаете предыдущее из текущего. Главное выбрать интервал измерения так, чтобы переполнение не произошло дважды. - йцукен(03.07.2013 20:52, )
- Там вроде какой-то битик задерживает захват. Может, стоит и мешает? - Юра(03.07.2013 18:29, )
- Среда какая? IAR? - КТ(01.07.2013 22:51)
- Да (6.5), стараюсь, где возможно, использовать SPL. - pav256(02.07.2013 08:42)
- Главное- изобразить цель конкретнее, у вас какой- то кошмар сформулирован. Если задача- подсчёт частоты, тогда реализация может сводиться к следующему: На вход ETR первого таймера (номер присвоен от фонаря) подать входную частоту. Для того, чтобы KLIM83(1028 знак., 03.07.2013 11:17 - 11:33)