Прошу помочь разобраться.
Начинаю разбираться с STM32F407VG (до этого долго работал с Silabs 8051 и AVR).
Задача следующая (8-ми канальный самописец):
- есть 8 каналов, одновременно может быть включено 1 или 2 или … все 8
- необходимо считывать данные непрерывно с каждого включенного канала с частотой от 1 КГц до Max возможной (например 7.2 МГц)
- данные писать в ОЗУ и по мере возможностей передавать в ПК по Ethernet
Не могу понять что означает в datasheet “Additional functions”: ADC123_INn и ADC12_INn.
Например PA0 ADC123_IN0 это означает что вывод PA0 можно использовать как канал 0 для АЦП1, АЦП2 и АЦП3 или только для одного из АЦП. Или если используется независимый режим то ADC123_IN0 можно использовать только для одного АЦП, а если используется мульти режим то ADC123_IN0 можно использовать для всех АЦП?
В datasheet написано: However, an ADC cannot start a conversion if the complementary ADC is still sampling its input (only one ADC can sample the input signal at a given time), т.е. только УВХ одного АЦП одновременно может быть подключено к PA0?
Как я понял PA0 просто конфигурируется как аналоговый вход без подтяжек, после чего его номер прописываеться в ADC_SQR. PA0 как то привязывается к определенному АЦП?
Если прописать PA0 сразу в ADC1_SQR, ADC2_SQR и ADC3_SQR и запустить все 3 АЦП в независимом режиме, но что бы их моменты УВХ были разнесены по времени, так правильно?
Каналы ADC12_INn не могу использоваться для АПЦ3?
И еще не совсем ясно что такое external trigger?
Есть биты “Configuring the trigger polarity”
Trigger detection disabled - это означает что АЦП можно запустить только программно SWSTART?
Detection rising / falling edges - это только для trigger запуска от EXTI или еще как-то от таймеров по обоим фронтам?
Спасибо!
P.S.
Как-то странно STM аналоговый каналы сделала, если включаешь Ethernet или USB HS половины аналоговых каналов нет.