Size: a a a

2020 April 17

A

A_D in Deus Volt!
вот для примера, у меня всего 3 канала ацп надо опрашивать и при этом все 3 одинаково важны
источник

A

A_D in Deus Volt!
просто итог опроса, по dma складывать мне бы хотелось не в одну кучу последовательно, а в разные массивы
источник

A

A_D in Deus Volt!
или я много хочу?
источник

D

Dr Zlo in Deus Volt!
A_D
Парни, такой вопрос... я чет туплю. Пример на HAL или на CMSIS, не столь важно, вот есть АЦП, допустим 3 канала надо, я дергаю его по таймеру, по DMA пишу в массив по кругу, вроде все ок, в массиве же данные хранятся так (номера каналов, по кругу N раз):
adc_data[*] = {1,2,3,1,2,3 ....}

А как сделать адекватно, если надо 8\16\32 и более замеров, но что бы писалось нужным блоком каждого канала в разные переменные?
adc_data1[*] = {1,1...}
adc_data2[*] = {2,2...}
adc_data3[*] = {3,3...}

Нахожу только, что в том же HAL в callback (или прерывании по завершению, не суть) просто тупо  копируют в новый массив, как надо уже. Это норм?
А тебе для удобства или прям надо?
источник

A

A_D in Deus Volt!
Dr Zlo
А тебе для удобства или прям надо?
ну вот потом наложить фильтр если захочется из CMSIS-DSP, то надо блоком передавать 16\32\256 отсчетов за раз
источник

A

A_D in Deus Volt!
а если они вперемешку идут - уже только свою реализацию писать
источник

A

A_D in Deus Volt!
или в callback от DMA просто в цикле переложить как надо (но не уверен в правильности такого подхода)
источник

A

A_D in Deus Volt!
вот и спрашиваю, может кто таким занимался и опыт имеет
источник

И

Илья in Deus Volt!
A_D
так это используется для немедленного опроса интересующего тебя канала, но не для сортировки ведь
Тебе проще так раскладывать данные. Просто пишешь с одного регистра DR1 в mass1, а из DR2 в mass2
источник

И

Илья in Deus Volt!
В итоге, если тебе надо взять среднее для одного канала, то ты работаешь с массивом целиком, а не вычленяешь из него циферки, которые касаются только нужного канала
источник

И

Илья in Deus Volt!
По сути ты избавляешься от сортировки массива
источник

И

Илья in Deus Volt!
Maxim
Я пытался сказать, что за 70К продаётся дааааалеко не фулл, фулл гораздо дороже стоит, а ломают ли их - не очень понятно. Нужны/не нужны все опции - это уже второй вопрос :)

Что касается полосы, циферок и маркетинга - на eevblogs измеряли, емнип там что-то овер 450 на самом деле у "рыгола" после полной разлочки.
Это чисто руснявое... ломать. Купить не? Если не хочешь купить, то оно 146% тебе не нужно никогда, т.к. опция на CAN/UART стоит около 200 евро, а это отбивается любым мизерным заказом прям мгновенно
источник

И

Илья in Deus Volt!
К тому же выше писал - "фулл" не имеет смысла, т.к. это чисто маркетинг будет. То, что тебе на осциллографе написали 100...200...300 МГц еще не означает, что ты получишь нормальный аналоговый фронтенд с такой полосой
источник

M

Maxim in Deus Volt!
Илья
К тому же выше писал - "фулл" не имеет смысла, т.к. это чисто маркетинг будет. То, что тебе на осциллографе написали 100...200...300 МГц еще не означает, что ты получишь нормальный аналоговый фронтенд с такой полосой
Овер 450 мегагерц реальная полоса, измеряли на еввблогс
источник

И

Илья in Deus Volt!
Прелесть нормальных производителей, что они не пытаются наебать тебя и пишут полосу в которой у тебя не заваливаются параметры и не падает разрешение
источник

И

Илья in Deus Volt!
Maxim
Овер 450 мегагерц реальная полоса, измеряли на еввблогс
Ой, он там хуету какую-то натворил
источник

M

Maxim in Deus Volt!
Илья
Ой, он там хуету какую-то натворил
Кто конкретно? Юзеры разные измеряли
источник

И

Илья in Deus Volt!
Самый простой тест - берешь сигнал 300 МГц и с амплитудой 1 мВ и пытаешься по нему синхронизироваться. Если осцил смог, то у тебя реально 300 МГц, если нет, то у тебя помойка
источник

И

Илья in Deus Volt!
Maxim
Кто конкретно? Юзеры разные измеряли
Они измеряли просто по -3 дБ уровню и все
источник

M

Maxim in Deus Volt!
Илья
Они измеряли просто по -3 дБ уровню и все
А R&S как-то иначе измеряет?
источник