Здравствуйте. Я предположил, что переменное напряжение можно измерить, подав его непосредственно между двумя выходами АЦП. Разница преобразованных значений даст мне отрицательный или положительный результат от -Vref 3.3v до +Vref 3.3v итого 6.6 вольта. Можно проводить последовательные преобразования каналов в группе, а можно запустить одновременное преобразование на двух или даже трех АЦП. Контроллер DMA, может работать c определенным периферийным устройством только на определенном потоке-канале. Первое что непонятно, для чего например ADC1 можно подключить на: DMA2 stream0 channel0 DMA2 stream4 channel0 то есть в чем разница, подключу я на нулевой поток или на четвертый? Второе это в регистрах настройки каждого АЦП есть бит указывающий ему отправлять запросы в DMA. Но это только для single ADC mode. А в настройка общего для всех АЦП регистра ADC_CCR можно указать режим DMA для multi ADC mode. Третье, могу ли я обойтись одним потоком DMA для передачи из ADC_CDR в память? На каком потоке-канале ожидать запросов к DMA от какого АЦП? Я понимаю, задача того еще шрёдингера , но все же...
Разница в приоритете арбитража: Arbiter ... Hardware: If two requests have the same software priority level, the stream with the lower number takes priority over the stream with the higher number. For example, Stream 2 takes priority over Stream 4.
Арбитраж. ... Аппаратый: если два запроса имеют одинаковый уровень программного приоритета, поток с меньшим номером имеет приоритет над потоком с большим номером. Например, поток 2 имеет приоритет над потоком 4.
По второму и третьему вопросам - аналогично, ищем ответ в референс-мануале: DMA requests in Multi ADC mode: In Multi ADC mode the DMA may be configured to transfer converted data in three different modes. In all cases, the DMA streams to use are those connected to the ADC:
Запросы DMA в режиме Multi ADC: В режиме Multi ADC DMA может быть настроен для передачи преобразованных данных в трех различных режимах. Во всех случаях используются потоки DMA, подключенные к АЦП:
ну и далее по тексту. Копипастить сюда его полностью - много текста.
В принципе я разобрался, просто допустил ошибку в коде. В мануале написано: In multi ADC mode, the converted data can be read on the multi-mode data register (ADC_CDR), то есть можно прочитать оттуда, но как бы не обязывает. Оказалось что нет, если не забирать данные из ADC_CDR выскакивает ошибка переполнения АЦП (overflow). И наоборот, забирать данные из ADC1_DR, ADC2_DR, ADC3_DR уже не нужно. Осталось разобраться когда происходит запрос DMA если два одновременных преобразования финишируют в разное время.
Я предположил, что переменное напряжение можно измерить, подав его непосредственно между двумя выходами АЦП. Разница преобразованных значений даст мне отрицательный или положительный результат от -Vref 3.3v до +Vref 3.3v итого 6.6 вольта
Сделать так не выйдет. Сигнал на вход АЦП подается, прежде всего, относительно общего провода схемы. Даже если это дифференциальный АЦП. Про "склейку" двух разных АЦП я уже не говорю. Это практически неразрешимая проблема. Погрешность такой "склейки" будет на несколько двоичных порядков выше разрешающей способности 12-разрядного АЦП. То есть гораздо проще и эффективнее просто сместить переменный сигнал на половину динамического диапазона АЦП. А если нужно повысить разрядность, то для этого есть оверсемплинг.
Последний раз редактировалось КРАМ Пн янв 30, 2023 07:21:53, всего редактировалось 1 раз.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Так то да, это будет то же самое, что и измерение относительно Vref/2. Но пусть попробует Как говорится, пока вот сам не попробуешь - не поймешь. У АЦП, кстати, есть специальный относительный режим, в котором можно задать в регистрах data offset половину от Vref и в регистрах результата получать уже сразу положительные и отрицательные числа. Значение в регистре смещения аппаратно вычитается из измеренного АЦП и в регистр результата кладется эта разность.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Да, потенциал gnd контроллера может плавать относительно относительно нулевого потенциала источника сигнала. Может получится привязать их. Смещать переменку в плюс я пробовал примитивной схемой делителей, на синусоиде 50 гц бугры глубже ям в полтора раза )). И выше я там прогнал про overflow, конечно же overrun.
Последний раз редактировалось danone78 Ср фев 01, 2023 09:20:37, всего редактировалось 1 раз.
Не надо ничего пробовать. Нужно посчитать, а потом сделать. Схема может быть любой. Важно, чтобы она работала при существующем внутреннем сопротивлении источника сигнала и сопротивлении делителя. И с учетом времени захвата сигнала. Никакого другого способа измерять переменные напряжения на униполярном АЦП, кроме как сместить весь сигнал так, чтобы он уложился в ДД АЦП, не существует.
Вы получите два противофазных сигнала на каждом АЦП относительно нуля, если входы будут совершенно равноимпедансны (иначе будут разные амплитуды плеч). Подавать отрицательное напряжение на вход АЦП нельзя. Получите либо защелкивание входа, либо непредсказуемое поведение после отрицательной полуволны.
ЗЫ. В догон. Амплитуда на каждом будет вполовину меньше. Источник в симуляторе имеет амплитуду 1 Вольт. Амплитуда плеч - 0,5 Вольта.
Мне вас не победить )), не будет отрицательного напряжения относительно Vss, -Vref. В худшем случае при зашкале сработает защитный TVS , по даташиту встоенная защита держит 20 mA. Уже все работает, осталось наладить настройку сэмплирования и частот тактирования ацп. Хочу обратить вниманиена другое: Включение DMA на ацп производится переключением битов ответственных за этот режим из нуля в единицу. При первой инициализации проблем нет, но если потом не обнулить adc-ccr, то при следующем включении ацп, dma будет ждать у моря погоды и контроллер не получит запрос на прерывание от dma. Однако overrun при этом не происходит, видимо потому, что режим dma не включился.
Добавлено after 1 hour 7 minutes 15 seconds: По факту я подключал ацп f407vet6 сеть 220в через два резистора в 150кОм, один к Vss другой к PA0. Без шунтов все зашкаливает, но он не умер.
не будет отрицательного напряжения относительно Vss
Конечно не будет. Ибо остальное будет ограничено балластом в виде внешних сопротивлений и током через диодную растяжку. Просто вы по сути ничего не получили, использовав два АЦП, по сравнению с обычным смещением. Кроме того, вы не проверили как себя ведет сигнал около нуля НА ПОЛУЧЕННЫХ ЗНАЧЕНИЯХ с АЦП. Настроить оффсет нуля так же стало невозможно.
Все импульсные источники питания проектируются гальванически отвязанными от сети. Обратная связь оптопарой. Тот же трансформатор, только частота 20-45 кГц. С нулем проблем нет, даже импенданс не снижал пока. Обвязка у меня будет громоздкая ввиду того что все это у меня висит на кнопочном телефоне 1984 года. Ловит много помех на высоком импендансе.
Постараюсь отправить схему, а то у меня почему-то картинки не грузятся. Вы прислали схему из ltspice это очень хорошо, но она у вас не дает полной картины. Добавьте туда питание ацп.
Последний раз редактировалось danone78 Чт фев 02, 2023 21:08:18, всего редактировалось 1 раз.
Это хоть и более корректная попытка, но и она ничего результативного не принесет. Склеить шкалы двух разных АЦП практически невозможно. Точка склеивания будет иметь неизвестный разрыв на сумму разных оффсетов двух АЦП. Точность может даже ухудшиться.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения