ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
27 октября
1549786 Топик полностью
CS! (24.10.2025 05:13, просмотров: 46) ответил Cкpипaч на Именно так. Но под 256 отсчетов нужно 512 байт + указатели на старое/новое. Полкило. У меня на atmega8 вся память кристала 1К.
Я делал через 2 кольцевых буфера по 16 отсчётов, результат одного подавал на вход другого. Суть та же, что и при 256 отсчётах, но память экономится существенно, если нужно. И, кстати, использовал оверсемплинг в паре коммерческих девайсов на печатках с хорошей разводкой и во многих своих, не серийных, "макетных" поделках на PIC18 c 12-битным АЦП, вообще не запариваясь на тему подмешивания шума в сигнал. Расход памяти на окна - 2*16+3*16+2+3=85 байт + 2 байта сохраненный 

результат АЦП + 2 байта на индексы. 4К хватало на все каналы АЦП вместе с внутренними (температурный диод, VDD, 1.024v bandgap и VSS для компенсации смещения 0), При этом стабильно получал весьма удовлетворяющий меня результат - видимо, внутреннего шума АЦП вполне достаточно на пару с шумами квантования. Без усиления, через повторитель на ОУ (да и без него) и 1K/10nF фильтр на входе, 5-вольтовый сигнал в оцифровке шумел младшим разрядом 16-битного значения, +-75-150uV.


Оцифровывать таким способом периодический сигнал я не пробовал. Но мне и нужны были, в основном, контроли напряжений, токов, опросы потенциометров и т.п. Делал так же нечто вроде "алгоритмического PID - контроллера", комбинируя в расчётах результаты из обоих аккумуляторов вместе с "моментальным", последним считанным АЦП значением. В результате получал быструю реакцию на резкие изменения сигнала, но и точность не страдала. Оцифровка запускалась в приоритеных прерываниях, без "джиттера" (не на всех таймерах получалась нужная конфигурация с нужной частотой из-за прескейлеров).