sysel 0 2 декабря, 2019 Опубликовано 2 декабря, 2019 · Жалоба Здравствуйте! Стоит задача разработать очень энерго-эффективный регистратор "аналоговых" событий с батарейным питанием. Суть: есть сигнал (напряжение) с датчика, очень редко возникает бросок напряжения (крутой передний фронт, длительность импульса - единицы миллисекунд). Необходимо записать в микросхему флеш-памяти осциллограмму этого импульса, причем: хотя бы 1мс до события и 20мс после. Хотелось бы сделать это встроенным АЦП микроконтроллера. Разрядность АЦП не менее 10 бит, частота выборки не менее 100 ksps (точность частоты +/- 10%). Вопрос: есть ли в природе микроконтроллер, который можно настроить в следующий режим для ожидания события: 1. ядро остановлено; 2. АЦП выполняет конвертацию с частотой 200 ksps, результаты записывает в кольцевой буфер (или FIFO) (собственный буфер блока АЦП либо же по DMA в ОЗУ); 3. модуль АЦП имеет настраиваемые пороги, при превышении которых пробуждается ядро микроконтроллера; 4. потребление в этом режиме - десятки микроампер. Основной подвох задачи - требование записать 1 мс сигнала (а это 200 отсчетов) до превышения порога, т.е. аналоговым компаратором и быстрым пробуждением тут не обойтись. Существование АЦП ADS7042, потребляющей 23 мкА (при 100 ksps), подсказывает, что задача не из области фантастики. Прошу помощи с выбором микроконтроллера, который имеет АЦП с аппаратным цифровым компаратором и большим буфером (или мало потребляющую связку АЦП->DMA->ОЗУ). Не хотелось бы задействовать процессорное ядро для опроса АЦП и сравнения с порогом отсчетов. Или же существует малопотребляющая микросхема АЦП с большим буфером отсчетов и цифровым компаратором? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
megajohn 3 2 декабря, 2019 Опубликовано 2 декабря, 2019 · Жалоба >Основной подвох задачи - требование записать 1 мс сигнала (а это 200 отсчетов) до превышения порога раздвоить аналоговый сигнал на компаратор для пробуждения и на ультразвуковую линию задержки перед АЦП ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 2 декабря, 2019 Опубликовано 2 декабря, 2019 · Жалоба > раздвоить аналоговый сигнал на компаратор для пробуждения и на ультразвуковую линию задержки перед АЦП ? Что-то мне подсказывает, что затраты энергии на вкачивание сигнала в линию задержки и на приём из неё намного превзойдут потребление микроконтроллера в даже в самом активном режиме работы. Может быть я плохо искал, но найти линию задержки аналогового сигнала на миллисекундные времена мне не удалось. Может быть Вы подскажите модель? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr Baranov 1 2 декабря, 2019 Опубликовано 2 декабря, 2019 · Жалоба EFR32 Вас не устроит? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 66 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба 8 часов назад, sysel сказал: Основной подвох задачи - требование записать 1 мс сигнала (а это 200 отсчетов) до превышения порога, т.е. аналоговым компаратором и быстрым пробуждением тут не обойтись. АЦП+FIFO(типа SN74ALVC7804 или SN74V3680), а для пробуждения контроллера поставить аналоговый компаратор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladec 7 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба Посмотрите еще самые последние контроллеры от NXP, (что то типа LPC55SXX или похожее), могу ошибаться, но вроде как возможность работы АЦП с DMA в спящем режиме и цифровые компараторы на борту для пробуждения ядра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 53 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба 3 hours ago, vladec said: Посмотрите еще самые последние контроллеры от NXP, (что то типа LPC55SXX или похожее), могу ошибаться, но вроде как возможность работы АЦП с DMA в спящем режиме и цифровые компараторы на борту для пробуждения ядра. у мелких lpc8xx в ацп тоже есть цифровые компараторы. и M0 пожалуй поменьше жрать должен чем двухголовый M33. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 187 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба 3 часа назад, vladec сказал: Посмотрите еще самые последние контроллеры от NXP, (что то типа LPC55SXX или похожее), могу ошибаться, но вроде как возможность работы АЦП с DMA в спящем режиме и цифровые компараторы на борту для пробуждения ядра. Возможность работы АЦП при спящем ядре есть во многих МК. Но для 100kS/s нужна тактовая для АЦП 1.5 МГц. Соответственно какие-то части МК будут работать на такой частоте (пускай и при спящем ядре). А значит минимального потребления как в low power режимах - десятков мкА уже не добиться. Но ТС ничего не указал про то - какой ток потребления его устроит? Если устроит потребление в пару мА, то можно выбрать STM8L - там есть и АЦП 12бит и DMA и компараторы и экономичное 8-битное ядро. Если нужно ниже, то тогда наверно только городить какую то внешнюю схему с внешним АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 120 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба STM32 имеет analog watchdog в АЦП, ПДП умеет писать из АЦП в циклический буфер, все это без участия ядра. Сколько все это будет потреблять в таком режиме - надо смотреть в документации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба К сожалению, пока что потребление специфицировано на уровне "чем меньше, тем лучше", т.к. параллельно идёт выбор первичного преобразователя (датчика). И если окажемся перед фактом, что датчик жрёт 5 мА, то и вытягивать микроконтроллер с АЦПшкой на десятки микроампер не будет смысла. Как я понял из обзора документации на микроконтроллеры, режимы с пониженным энергопотреблением и активными АЦП, DMA и оконным компаратором есть практически у всех: STM32L, MSP432, nxp kinetis, ADUCM302x и т.д. Надо внимательно изучать документацию на предмет того, какие аппаратные блоки должны быть включены, чтобы обеспечить работу (например, АЦПшка может тактироваться не от всякого внутреннего генератора), выбирать пару-тройку претендентов для опытов. Тема создавалась чтобы изучить опыт инженеров, имевших практический опыт решения подобных задач. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 53 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба 18 minutes ago, sysel said: Тема создавалась чтобы изучить опыт инженеров, имевших практический опыт решения подобных задач. как-то для какого-то маложоркого усройства после подсчёта всех джоулей, необходимых для довольно несложного фильтра для сигнала в первые кГц оказалось гораздо выгоднее сгородить его на малопотребляющих ОУ и потом только цифровать, чем делать это в цифре. так что внешнее АЦП, со сдвиговыми регистрами и ФИФО, как предложил HardEgor, может вполне оказаться гораздо выгоднее по потреблению. встроенные в МК опоры АЦП обычно жрут довольно много, выгоднее на IO повесить внешнюю она и "включаться" будет быстрее, но в вашем случае когда цифровать надо непрерывно не вариант, но когда МК выбирать будете на потребление внутренней опоры поглядеть полезно. и запись во flash сама по себе может тоже съесть довольно много джоулей по сравнению с fram например. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_4afc_ 25 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба 5 hours ago, jcxz said: Возможность работы АЦП при спящем ядре есть во многих МК. Почему-то у Atmel возможность остановить тактовую CPU, и при этом, по DMA, заливать данные в ОЗУ реализована только на древних ARM типа AT91SAM7S на Cortex М3, М4, М7 - частота CPU уже не отключается, есть только режимы сна ядра... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 3 декабря, 2019 Опубликовано 3 декабря, 2019 · Жалоба Выясняется масса пикантных подробностей, когда читаешь дальше первых двух страниц даташитов :) а если ещё в еррату глянуть... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MiklPolikov 0 4 декабря, 2019 Опубликовано 4 декабря, 2019 · Жалоба Посмотрите в сторону STM32L... Там и АЦП->ДМА->Память при остановленном ядре, и analog wachdog для регистрации вашего события и в документации внятно указаны потребления всех периферий по отдельности для разных частот, можно за 5 минут просуммировать и узнать что получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться