На DAC Ch1 вывожу аппаратно созданный треугольник. Соединил выход DAC Ch1 (PA4) со входом ADC1_IN3 (PA2) перемычкой. Результат АЦП вывожу на DAC Ch2 (PA5), задействованы DMA1, прерывание от него, флаг, потом программно записываю из массива в DAС... Не могу добиться нормальной работы ADC1, пока не задам тактовую частоту меньше 72 MHz. Более-менее нормально работает при тактах 18 MHz. При 36 MHz "ломает" сигнал, а при 72 MHz - вообще, сплошной шум, преимущественно выше входного сигнала. Считаю это аппаратной ошибкой STM32F303VC, Rev Y.
Есть в datasheet упоминание про каналы PA2 и др., табл. 67, что они не совсем fast. Это не то.
upd. ADC2 ведет себя так же плохо! Видимо, где-то я просчитался. Странно, что в двухканальном режиме (interlive) второй АЦП работал нормально. Потому и возникло подозрение насчет первого.
Errata смотрел, делал DMA раздельными, не помогло.
|