плохо проверял
1й и 2й работают... два дня потерял, но нет худа без добра! - зато теперь могу похвастаться знанием АЦП
а дело видимо в том, что 0й канал делят ногу с WKUP. Теперь найти бы, как направить ногу на путь истинный
RM0033 писал(а):PWR power control/status register (PWR_CSR)
Bit 8 EWUP: Enable WKUP pin
This bit is set and cleared by software.
0: WKUP pin is used for general purpose I/O.
An event on the WKUP pin does not wakeup
the device from Standby mode.
1: WKUP pin is used for wakeup from Standby mode and forced in input pull down
configuration (rising edge on WKUP pin wa
kes-up the system from Standby mode).
Note: This bit is reset by a system reset
И ADC отличается от ADC других линеек только "незначительными нюансами " . )))))
Зато эти грабли надолго запомнишь- как бы не прославляли SPL от чтения даташита она не освободит...
Ну блин. Я же пользую SPL исключительно ради читабельности кода, а разбираюсь по даташитам...
Все: теперь трипл-мод возводить. Благо все регистры перековырял, и если скрытых граблей не попадется, - то все должно прокатить быстро и безболезненно
Кстати, никто не знает кем ДМА запрос формируется в мульти модах АЦП?
я так понимаю, что это в регистре ADC_CCR надо настроить, а в ADC1..3->CR2 надо запретить. или же в ADC1 разрешить.
Edal писал(а):Кстати, а что за девайс должен выйти?
3х канальный осциллограф.
Спасибо за код. А чего не на STM32f303/313, там ведь ADC пошустрее будет? В теме об самодельном осциллографе выкладывали результаты разработок(но не код к сожалению) на STM32F3DISCOVERY - вполне прилично получилось
FPGAlover писал(а):А чего не на STM32f303/313, там ведь ADC пошустрее будет?
Ну, что под рукой было то и осваиваю...
А он действительно шустрее?
Я думал, что 2мгц (на 12 бит) это предел для STM32... Обещают дельтасигму вроде, но не в курсе пока.
Посмотрел... Действительно шустрее 5мгц x 4. Нехило, однако. И кроме всего прочего операционники на борту. Не хватает только цифровых потенциометров для полного счастья
Посмотрел еще повнимательнее, всетаки 5мгц x 2. Оцифровать 4канала синхронно получится. А вот как засинхронизировать ADC12 и ADC34 в interlived mode, что бы получить 20 Мгц, почти без идей. Разве что счетчиками меандр с нужной скважностью задать и разными фронтами блоки ADC12 и ADC34 запускать... типа такого:
Про STM32F303
Можно запустить два таймера одновременно в MASTER/SLAVE режимах. Потом выставить скажем разные PWM задержки на них и уже от этого закпускать ADC12 и ADC34 в continuous dual mode. Теоретически все должно работать, но не пробовал. Лично мне с запасом хватает и двух каналов.
Сэмплирование 1.5 такта - это как мне кажется несколько экстремально. Разумнее выбирать консервативные 7.5 такта.
С таймер-счетчиками пока не бодался, отсюда и сомнения
Кстати, пока не пробовал, да и в случае неудачи программно должно фиксится.
Вопрос такой: Если один и тот же канал одновременно оцифровывать разными АЦП. Насколько будет разница полученного результата (смещение) ?
понятное дело, программно это легко решается, но в некоторых случаях не совсем удобно.
И вот еще вопрос по поводу культурного шока: сегодня у меня открылись глаза на факт, что в микроконтроллер встраивают компараторы и ОУ. По этому поводу, подскажите, пожалуйста, наиболее мощные решения однокристалок со встроенным аналоговым обвесом (не обязательно АРМ ), заточенных на построение измерительных систем (не особо прецизионных).
Ну, как бы, там вокруг цифра кипит с другой стороны аналоговая часть расположена на одной части кристалла. Немного удручает , что выход 4го ОУ и его его входы разделены цифровым питанием (для 48 пинового корпуса) . Как по вашему? если расположить полигон аналоговой земли под этой частью? на сколько это поможет?
balmer писал(а):Максимум для чего подходит - повысить входное сопротивление ADC да усилить в 2-3 раза сигнал, что вобщем тоже приятно
И все таки. Допустим я снимаю 40кгц-овый ультразвук муратовскими датчиками. Ориентировочно мне надо 2-3тыс коэф. усиления. При этом, в конечном счете в ход пускается программный фильтр нехилого порядка, так как отклик предпологается порядка 10 периодов. Естественно я ставлю 2 каскада. 1й внешний с аналоговым фильтром, маленького порядка, и 2й чисто усилительный. Остальное решает ЦОС. По идее, для этой задачи и встроенными усилителями можно обеспечить кф 50. Главное, чтоб ВЧ в ограничение не врубались
А по хорошему надо пдф просмотреть внимательно по поводу характеристик АЦП.
FPGAlover писал(а):А чего не на STM32f303/313, там ведь ADC пошустрее будет?
Ну, что под рукой было то и осваиваю...
А он действительно шустрее?
Я думал, что 2мгц (на 12 бит) это предел для STM32... Обещают дельтасигму вроде, но не в курсе пока.
Посмотрел... Действительно шустрее 5мгц x 4. Нехило, однако. И кроме всего прочего операционники на борту. Не хватает только цифровых потенциометров для полного счастья
Посмотрел еще повнимательнее, всетаки 5мгц x 2. Оцифровать 4канала синхронно получится. А вот как засинхронизировать ADC12 и ADC34 в interlived mode, что бы получить 20 Мгц, почти без идей. Разве что счетчиками меандр с нужной скважностью задать и разными фронтами блоки ADC12 и ADC34 запускать... типа такого:
FPGAlover писал(а):По идее, для этой задачи и встроенными усилителями можно обеспечить кф 50.
Да может быть.
Хотя лично я не смог воспользоваться.
Потому, что ОУ там напрямую без RC цепочки подключается к ADC.
Там есть такая чудная вещь, как PGA резистивный делитель, для задания коэффициента усиления. Но он подключен так, что усиливает сигнал относительно нуля (если ничего не путаю).
Мне бы очень пригодился усилитель с PGA встроенный в STM32, если бы можно было задать центральную точку как VREF/2. А так не смог ни для чего путного использовать. В конце концов прикрутил внешний MCP6S21 усилитель.