Arduino должным образом измеряет редкий импульс 1 мкс с разрешением 0,2 мкс для многих каналов

Я стажер в исследовательском центре, я изучаю физику, но здесь я работаю над электроникой, так что это не совсем в моей области. Я использую Arduino DUE, который использует Atmel SAM3X8E ARM Cortex-M3, и мне нужно "точно подсчитать" время между двумя прерываниями (прерывание будет ~1 мкс, а мне нужна точность ~0,2 мкс), а библиотеки созданы для весь мир Arduino не достаточно точен. Я хотел бы иметь доступ к таймеру Atmel, но мне не удается найти библиотеку, которая делает это, я нашел https://github.com/ivanseidel/DueTimer и этот https://github.com/antodom/tc_lib но эти библиотеки периодически вызывают функцию или захватывают импульсы извне. Я не нашел ничего другого. Знаете ли вы библиотеку, которая будет делать это в DUE, или учебное пособие о том, кто должен использовать регистр руки Atmel непосредственно в Arduino IDE?

Хорошего дня!

Изменить: Привет, На самом деле я тестирую чипы, которые будут реализованы в эксперименте через несколько лет. Они используют "новые технологии" (флип-чип, переходные отверстия и т. Д.) И развиваются в диапазоне от -40 до 60 градусов Цельсия (-40 140 F) с излучением. Я должен проверить срок службы этих технологий в этой среде, чтобы "я" (с большой помощью) поместил их в духовку и сделал цикл между -40 и 60С. Мне нужно знать, когда произойдет обрыв в цепи, это создаст сбой, приблизительно, 300 Ом в течение 1 микросекунды, но мне нужно знать "точно" (точность 0,2 микросекунды или меньше, что составляет Теоретически, это возможно при 12-часовом цикле тактовой частоты Arduino - времени между нарастанием и спадом этих глюков. У меня есть 70 входов для тестирования и почти нет знаний в электронике, поэтому я выбрал Arduino Due с 54 входами. Я использую 25 входов на 3 Arduino. Почти нет шансов, что 2 прерывания произойдут одновременно, поэтому моей первой идеей было запустить таймер на переднем фронте, прикрепить прерывание на заднем фронте и прочитать в конце значение в таймере, чтобы узнать продолжительность (который будет приблизительно одна микросекунда) с таймаутом, чтобы избежать шума. Но я не думал, что в библиотеках Arduino не будет функции для запуска таймера с большей точностью...

0 ответов

Другие вопросы по тегам