Комментарии 22
Оценка линейности работы АЦП мной не производилась
Такое себе "Тестирование встроенного АЦП"
Используем сборку SiFive Freedom Bare Metal GCC.
Чтобы выполнить более-менее нормальное измерение DNL и INL необходим хороший генератор с характеристиками на порядок лучше чем исследуемый девайс, к сожалению такого под рукой не оказалось. Я сделал несколько замеров вручную по всему диапазону. В начале и в конце сильные искажения. На мой взгляд пригодный линейный участок находится в диапазоне 0.1 до 1.1 В.
От встроенного АЦП вообще не нужно ждать выдающихся метрологических характеристик. Если хочется что-то точно измерить - нужна отдельная схема.
Спасибо за статью!
Тулчейн какой использовали - riscv-gnu-toolchain ?
Используем сборку SiFive Freedom Bare Metal GCC.
Проверяли ли измерение каналов АЦП с предварительным измерением канала GND (Чередование измерений Канал_1, GND, Канал_2, GND).
В одном из наших изделий мы планируем применить этот МК
А почему именно его? Или изначально стоит задача использовать отечественные компоненты?
...на вход АЦП было подано постоянное напряжение в средней точке его динамического диапазона (0,6 В)...
А как это напряжение формировалось?
Сначала потенциометром. Потом фиксированным резисторным делителем.
а что являлось источником напряжения? питание?
Питание платы от USB. На отладочной плате стоит линейный стаб с двумя электролитами по входу и выходу. Со стаба получал делителем через бусину и отправлял на вход. Параллельно со входом АЦП запаивал конденсатор большой емкости - рояли не играет. Позже выяснил, что сильно шумит "клацание" аналоговым коммутатором.
А, ну тогда еще как вариант может шуметь стаб. Сдается мне он всяко менее стабилен чем внутренний ИОН.
upd: На фото обратил внимание на разложенные провода, вполне возможно на них так же наводится помеха.
Можно mcu в спящий режим переводить - это немного снижает шумы.
По хорошему, надо на том же стенде с теми же параметрами проверить альтернативы - взять что-нибудь дешевое китайское, вроде ch32v203, потом средненькое stm32f103, и подороже - nxp/TI/microchip
До недавних времен мы в своих изделиях плотно использовали STM32F4. У этой STM-ки тоже 12 битный АЦП и на нём "из коробки" легко достижима точность измерения в 1 мВ при опорном 2,5 В. А за счет высокой скорости (2,4 MSPS) и оверсэмплинга можно получать неплохие результаты. К сожалению, у MIK32 всего 0,8 MSPS и производительность ядра не позволяет в оверсэмплинг. И еще, я не припомню, чтобы у STM-ки вносился шум при переключении каналов.
Это да, шустро там. У некоторых STM32F4 еще и 3 АЦП, и в режиме чередования до 7.2 MSPS, а в новых сериях G4 еще быстрее. Плюс аппаратный oversampling (впрочем и в не_новых 16-битных dsPIC33 встречается).
Но STMelectronic успели на все грабли наступить, пока до этих серий дошли. А МИК32 совсем новый. Например, Миландр на К1986ВЕ несколько (7?) ревизий выпустили пока всё исправили, может через пол года и МИКРОН в новых ревизиях шум АЦП уменьшит.
Инициализация АЦП очень странная, завел только используя Hal (посмотрел внутри функцию инициализации, там прям какая то магия происходит,ну а на регистрах провозился два дня, так и не полетел он у меня, примерно все тоже самое делал. В руководстве на мк хотелось бы примеры запуска различной периферии , как у стма например, в конце референс мануала. Мое мнение сыроват ещё мк и документацию немного поподробнее бы сделать.
Тестирование встроенного АЦП (ADC) на MIK32 AMUR (К1948ВК018)