Ср авг 31, 2016 11:17:48
GFX писал(а): С такой подачей как здесь, мол ты дурак, сразу видно программист и т.д. мне помощь не нужна, тратя свое время получать оскорбления? да на фиг оно мне упало, для себя я его доделаю.
Ср авг 31, 2016 12:16:12
Моей целью не было изучение аналоговой части, моя цель была лучшее изучение STM32 в практической задаче, хотите лучшею входную часть, да пожалуйста, изучайте, делайте, АЦП от этого работать по другому не начнет и программа тоже. Мне это не нужно сто лет. Заменю ОУ на МСР6022 и в путь. Форум нужен для конструктивной беседы, а не хаяния, прошу не путать. Дельного только услышал "поставь, что по схеме МСР6022", ну ОК, остальное вода. Мне не интересно изучать ОУ, экспериментировать с ними, покупать кучу разных, оно мне не нужно, в жизни я ими не пользуюсь. Хотите помочь, знаете простую, надежную, проверенную схему, выкладывайте, нет, хорош пустые коменты набивать. Устройство будет по схеме хамелиона, и оно будет работать т.к. он работал, я просто отошел от схемы входной части. в моей задумке входную часть менять не планировалось. Замену МК, и экрана я выполнил.Andrew Martin писал(а):GFX писал(а): С такой подачей как здесь, мол ты дурак, сразу видно программист и т.д. мне помощь не нужна, тратя свое время получать оскорбления? да на фиг оно мне упало, для себя я его доделаю.
Ну-ну По плечу - валяйте. Зачем вам тогда вообще нужен форум?
Потратьте своё драгоценное время лучше на изучение аналоговой схемотехники, чтобы избежать хотя бы детских граблей, и соответствующей, как вы сказали, "подачи".
У людей на уяснение всех нюансов уходят годы, это тебе не HAL с калокубом крутить, когда наваял по-быстрячку и запустил.
Ср авг 31, 2016 13:00:42
GFX писал(а):Устройство будет по схеме хамелиона, и оно будет работать т.к. он работал, я просто отошел от схемы входной части. в моей задумке входную часть менять не планировалось. Замену МК, и экрана я выполнил.
Ср авг 31, 2016 14:03:42
vlad465 писал(а):GFX писал(а):Устройство будет по схеме хамелиона, и оно будет работать т.к. он работал, я просто отошел от схемы входной части. в моей задумке входную часть менять не планировалось. Замену МК, и экрана я выполнил.
У Хамелеона основной недостаток в необходимости поисков дисплея, недорогой распространенный дисплей будет многими приветствоваться. Кстати, как он по SPI, не тормозит?
Нормальная зарядка и преобразователь отрицательного питания на IC тоже хорошо, упростит сборку и наладку.
Если использовать внутренний АЦП STM, можно избавиться от внешнего недешевого, что тоже многим понравится.
Нужно ли два канала? Вопрос спорный.
Но если быстродействие МК значительно превышает возможности аналоговой части, то можно сделать двухканальный с переключением входных каналов.
Ср авг 31, 2016 23:03:55
Чт сен 01, 2016 10:59:58
Чт сен 01, 2016 11:11:34
Чт сен 01, 2016 11:47:49
Буфер с данными есть, можно и проанализировать, только памяти программ мало из-за программного чтения 4000 значений с внешнего АЦП отъелось много памяти, перейду на ДМА, сэкономлю память, можно будет сделать.Andrew Martin писал(а):Анализатор спектра планируется?
Чт сен 01, 2016 11:53:43
амплитуда +-50В без делителей (10В на клетку), частота внутреннего 2мегасепмла нормально, до 9.14мегасемпла - 3й сорт, внешний 21,333 на текущий момент, но если за 5 тактов берет ДМА то будет 25,6 мегасемпла. Какую частоту можно контролировать - 100кГц видно хорошо на встроенном, на внешнем 300 нормально, а так до половины частоты выборки при условии, что входной каскад пропустит столь высокую частоту(но при этом будет сигнал из 2 точек). Частоты менее 100 кГц обычных блоков питания в принципе смотреть можно, но только при ремонте, при создании конечно нужен нормальный прибор чтобы выбросы видеть и прочие помехи, которые наш прибор не покажет.Pixel_84 писал(а):GFX, а какую максимальную частоту можно будет контролировать этим осликом при использовании внешнего или внутреннего ацп? и какова максимальная амплитуда без применения внешних делителей?
Чт сен 01, 2016 17:38:05
GFX писал(а):Буфер с данными есть, можно и проанализировать, только памяти программ мало из-за программного чтения 4000 значений с внешнего АЦП отъелось много памяти, перейду на ДМА, сэкономлю память, можно будет сделать.Andrew Martin писал(а):Анализатор спектра планируется?
Чт сен 01, 2016 19:21:22
Чт сен 01, 2016 19:57:35
Andrew Martin писал(а):Тут давеча говорили про остановку ядра (WFI) на время семплирования...
GFX писал(а):ДМА завелось - 30к кода освободилось Но оно считывает данные только за 9 тактов В чем дело? это в 1.5 раза медленнее моей сосиски кода по ручному считыванию
ДМА не надежное какое-то, если работают два штуки то, оно еще медленнее.
Чт сен 01, 2016 23:18:00
Ну я в сон захожу, первым делом это проверил, разницы нет.Andrew Martin писал(а):Тут давеча говорили про остановку ядра (WFI) на время семплирования...
Чт сен 01, 2016 23:31:34
Reflector писал(а): Как ты производишь измерения?
Reflector писал(а):
Зачем тебе 2 DMA? Внутренние ADC медленные и в dual mode пишут в один регистр, потому все равно хватит одного DMA. Внешний ADC у тебя один, если добавить второй, то нужно его вешать на тот же порт и опять же хватит одного DMA. Запускать одновременно внешний и внутренний ADC на разных частотах бессмысленно, а на одинаковых скорость DMA не важна...
Пт сен 02, 2016 11:23:23
GFX писал(а):Провожу на глаз и потом, видишь у меня частоту сигнала определяет, так вот сигнал 300кГц а определяется как 450, я считал из расчета 6 тактов на замер и частота совпадала. Ну и при прямом сравнении сосиськи и ДМА видно что в 1.5 раза разница
Так что все видно наглядно, такты посчитаны правильно. Вот только это очень плохо. Я обрадовался, что ДМА может работать с портами ввода-вывода и на тебе, процедура ручного считывания отнимает 30 кбайт памяти, т.е. половину из доступной, лучше я на ней анализатор спектра намучу или сохранение на флешку скриншотов, а тут такая подстава. свободно памяти 2.4 кбайта, это только на исправление косяков можно сказать. Есть код работающий быстрее, только не на ХОЛовский функциях?
Dma1Ch3 ch3;
ch3.initMemToMem((void*)&GPIOA->IDR, DmaDataSize::_8bits, false, data, DmaDataSize::_8bits, true, 3584, DmaPriority::VeryHigh);
ch3.interruptEnable(DmaFlag::TransferComplete);
ch3.enable();
__WFI();
Пт сен 02, 2016 11:42:15
Дело ведь не только в измерении частоты, это только один факт. Вы же видите визуально, что один и тот же сигнал 300кГц при ручном считывании выглядит как менее быстрый, в экран помещается меьнше. Отсюда только 2 варианта:Reflector писал(а): а вот измеряя частоту при помощи ADC ошибиться намного проще.
Пт сен 02, 2016 12:22:37
Пт сен 02, 2016 13:40:59
Пт сен 02, 2016 13:47:05
а значит дело не в моей прошивке, печально все это, но хоть разобрались.Reflector писал(а):а это 9 тактов...
Пт сен 02, 2016 16:09:13