есть задача: генерировать ШИМ и считывать реакцию объекта на эти импульсы посредством АЦП. всё сделал как надо: проц завёл на 56 МГц, что бы АЦП работал на 14 МГц (1 выборка за 1 мкс) подключил ДМА к АЦП, что бы оперативно складывать всё в буфер настроил таймер для ШИМ: ШИМ инверсный, частота 40 кГц, скважность 50% выключение ШИМ по достижении счетчика импульсов (эти занимается обработчик прерывания по флагу UIF) соединил напрямую (для теста) выход ШИМ и вход АЦП
запускаю, смотрю результат: в момент включения таймера АЦП регистрирует высокий уровень на ноге ШИМ в течение двух измерений, далее ШИМ работает и отключается как ожидалось. делал запуск АЦП по прерыванию CCIE (мне нужно стартовать АЦП именно в момент подачи импульса) - всё равно эти два значения высокого уровня.
начал экспериментровать и понял, что эти "паразитные всплески" связаны именно с началом работы таймера включил АЦП какая-то задержка инициализировал (но не включил) таймер ещё какая-то задержка включил таймер продолжаю работу ШИМ и АЦП с заданным алгоритмом.
Что в итоге: после запуска АЦП до инициализации таймера - регистрируются случайные значения (очевидно порт висит в воздухе и ловит помехи) после инициализации до старта таймера - регистрируется низкий уровень в момент старта таймера - высокий уровень (в течение 2мкс) далее всё в порядке, согласно ожиданиям.
наличие высокого уровня до начала измерений неприемлемо, ибо может повлиять на результат измерений. если с мусором пока порт висит в воздухе я могу справиться введением дополнительного аппаратного ключа, то как побороть эти "паразитные всплески"? почему в момент старта таймера регистрируется событие CCIF (вставлял запуск АЦП в обработчик этого прерывания)?
а временно блокировать выход таймера? аппаратно входом ETRF или программно. вроде можно поискать варианты.
" (мне нужно стартовать АЦП именно в момент подачи импульса)" идеала не существует в природе, что-то может/должно быть раньше. почему бы "не спрятать" переходные процессы.
Ну я пока так и поступил, запускаю ШИМ, пропускаю пару импульсов, по событию СС запускаю АЦП и подключаю ШИМ к объекту.
ПС. Кто нибудь может скинуть пример на CMSIS как работать с АЦП в dual mode на один канал? Dual fast interleaved mode называется В аппноте AP3116 написано что там можно, а примера нет
Добавлено after 1 hour 48 minutes 42 seconds: А всё, разобрался...
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения