Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


Ответ
Опции темы

Алгоритм простого осцилографа

Непрочитано 09.08.2017, 21:30   #21
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от verdana Посмотреть сообщение
А статья в википедии, это далеко не знания,
о-о-очень далеко.
Ну как до Киева в позе членистоногого.
Согласна куда мне до Вас по знаниям.

Сообщение от hacker7 Посмотреть сообщение
При слове DMA у программиста начинается мандраж
У меня не начинается. Именно DMA и использую. По таймеру (по обоим фронтам)два каннала DMA складывает в два массива результаты измерений. Как только массивы заполнятся - прерывание, сигнализирующее что данные готовы. Далее рисуй себе на дисплее.


Сообщение от Akkord Посмотреть сообщение
Но кто про что.. а я все про своЁ - т.е. про фигуры Лиссажу.
Они родимые, и есть амплитудно-фазовое отображение взаимоотношения двух сигналов...
Причем - мгновенное...
Ну все убедили лиссажу намного лучше!
Только вот мне это не нужно. В двух словах: После ремонта servovalve, внутри которого и есть этот LVDT, нужно убедиться что ремонтник правильно провода припоял на разъем перед сборкой и ВСЕ! Процедура проверки простая - черз servovalve пропускается 8 mA на контакт под номером "1" плюс, на контакт "2" минус. У этого LVDT перемещение меньше миллиметра. Мне не важно знать на сколько он переместился. Гораздо важнее направление. И рисунок в инструкции иллюстрирует как должны выглядеть две синусоиды. in phase если контакт 1(+) контакт 2 (-) и out of phase если наоборот. И выглядят они примерно так см вложение.

Теперь по существу, почему вчера ничего не получалось, казалось бы в простом цикле? Оказалось все просто. Получив массив данных я начинала искать условие триггера не остановив таймер, который продолжая работать заставлял DMA исправно ложить данные в массив. Как итог, когда дело доходило до отрисовки, данные в массиве были уже другие. И самое противное что Keil в Watch этого не показывал.

И снова NewWriter оказался прав. Синусоида немного дрожит, кроме того нужно игратся со слоями дисплея, поскольку заметно что по нему бегут темные полосы, как в старом телевизоре... Буду ковырять дальше.
Миниатюры:
Нажмите на изображение для увеличения
Название: In Phase.jpg
Просмотров: 0
Размер:	526.4 Кб
ID:	117438   Нажмите на изображение для увеличения
Название: Out of Phase.jpg
Просмотров: 0
Размер:	549.1 Кб
ID:	117439  
Реклама:
Jane9226 вне форума   Ответить с цитированием
Непрочитано 09.08.2017, 22:25   #22
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Для устранения дрожания нужно вводить гистерезис. Как вариант: после прохождения уровня синхронизации смещать порог на несколько единиц вверх-вниз и возвращать его обратно при обратном проходе. Впрочем это вариант я использовал для аппаратного формирования синхро сигнала из последовательности отсчетов АЦП.
Цитата:
заметно что по нему бегут темные полосы, как в старом телевизоре.
Это эффект от интерференции развертки ЖКИ и вывода с процессора. В регистрах контроллера ЖКИ есть возможность отслеживать обратный ход. Можно пробовать привязать вывод к этому сигналу.
Для улучшения стабильности картинки можно увеличить частоту дискретизации в 8 раз (до 640кГц) и после нахождения синхрособытия выводить на экран среднее значение из 8 отсчетов.
__________________
misterdi<@>i.ua

Последний раз редактировалось MisterDi; 09.08.2017 в 22:36.
MisterDi вне форума   Ответить с цитированием
Непрочитано 10.08.2017, 05:00   #23
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

TE - Tearing Effect - сигнал с дисплея о достижении разверткой дисплея невидимой области и по этому сигналу можно начинать обновление дисплея.
И еще момент - если используете SDRAM для хранения буферов слоев, то при двух слоях и таких размерах дисплея можете иметь ограничение по скорости. Тут рядом была тема про дисплей и SDRAM, я там приводил ссылку на интересный такой документ...
С фигурами Лиссажу будет другая, неочевидная сразу, беда. Форма фигуры зависит не только от фазы между сигналами, но и от соотношения их амплитуд.
NewWriter вне форума   Ответить с цитированием
Сказали "Спасибо" NewWriter
Jane9226 (10.08.2017)
Непрочитано 10.08.2017, 06:22   #24
Jane9226
Прописка
 
Регистрация: 26.10.2011
Сообщений: 122
Сказал спасибо: 53
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
Jane9226 на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от NewWriter Посмотреть сообщение
Тут рядом была тема про дисплей и SDRAM, я там приводил ссылку на интересный такой документ...
Документ действительно интересный, нужно будет изучить.
У меня тут идея возникла и я провела эксперимент, суть вот в чем:
Алгоритм обновления дисплея следующий
1) Очислили BSP_LCD_Clear(LCD_COLOR_BLACK);
2) Установили цвет BSP_LCD_SetTextColor(LCD_COLOR_LIGHTYELLOW);
3) В цикле из 800 интераций нарисовали синусоиду BSP_LCD_DrawLine(X1pos, Y1pos, X2pos, Y2pos); // Рисовать линией красивее получается чем по пикселям

Аналогично нарисовали вторую синусоиду.

Что произойдет если закоментировать строчку очистки дисплея - Правильно каждое новое обновление накладывается на старое, в результате синусоиды, из-за шума, становятся все толще и жирнее. НО! ничего не дергается и бегущих темных полос нет! Все идеально стабильно.
Вот и возникла идея, а что если вместо очистки дисплея нарисовать черным цветом (под цвет фона) две синусоиды по предыдущим данным? В итоге эти черные синусоиды наложаться в точности поверх старых, экран сделается черным и рисуй себе заново. Сказано - сделано. Дисплей действительно типо очищается и даже идеально работает по шагам. На реальной скорости дрожание и полосы тут как тут. Эксперимент не удался, но вопрос остался - почему же все идеально, если дисплей не очищать, да я его и не очищала во время эксперемента. Вообщем нужно учить мат часть

Последний раз редактировалось Jane9226; 10.08.2017 в 06:31.
Jane9226 вне форума   Ответить с цитированием
Непрочитано 10.08.2017, 10:50   #25
Akkord
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2008
Сообщений: 708
Сказал спасибо: 302
Сказали Спасибо 408 раз(а) в 263 сообщении(ях)
Akkord на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от Jane9226 Посмотреть сообщение
Только вот мне это не нужно. В двух словах: После ремонта servovalve, внутри которого и есть этот LVDT, нужно убедиться что ремонтник правильно провода припоял на разъем перед сборкой и ВСЕ!

Так это два светодиода.... и триггер...
Akkord вне форума   Ответить с цитированием
Сказали "Спасибо" Akkord
mike-y-k (10.08.2017)
Непрочитано 10.08.2017, 10:58   #26
verdana
Заблокирован
 
Регистрация: 16.03.2005
Сообщений: 5,879
Сказал спасибо: 559
Сказали Спасибо 9,139 раз(а) в 2,883 сообщении(ях)
verdana на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от Akkord Посмотреть сообщение

Так это два светодиода.... и триггер...
Это слишком просто....

Вы так дойдёте до того, что фазу в розетке
будете неонкой определять.

А "умище" куда девать?
Зря что ли человек код писать учился?
verdana вне форума   Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо verdana за это сообщение:
Akkord (10.08.2017), mike-y-k (10.08.2017), true71 (10.08.2017)
Непрочитано 10.08.2017, 12:29   #27
MisterDi
Почётный гражданин KAZUS.RUN
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,284
Сказал спасибо: 441
Сказали Спасибо 1,040 раз(а) в 701 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Цитата:
почему же все идеально, если дисплей не очищать, да я его и не очищала во время эксперемента.
Т.к у Вас сигнал практически один и тот же, при отсутствии очищения вы видите не только полезный сигнал, но и шумы АЦП которые при единичном отображении глазу не заметны.
Вариант с перерисовкой "старых" синусоид цветом фона работает быстрее чем полная очистка экрана поэтому мерцание становится не заметным.
Можно попробовать выводить картинку не по окончанию приема данных, а с фиксированным интервалом например 20мС
__________________
misterdi<@>i.ua

Последний раз редактировалось MisterDi; 10.08.2017 в 12:37.
MisterDi вне форума   Ответить с цитированием
Непрочитано 10.08.2017, 13:03   #28
Akkord
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2008
Сообщений: 708
Сказал спасибо: 302
Сказали Спасибо 408 раз(а) в 263 сообщении(ях)
Akkord на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от verdana Посмотреть сообщение
А "умище" куда девать?
Зря что ли человек код писать учился?
Угу! Да еще на ARM...
Akkord вне форума   Ответить с цитированием
Непрочитано 10.08.2017, 14:32   #29
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,288
Сказал спасибо: 11,862
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Jane9226, конечно извиняйте, но уж очень похоже на тяжёлое комсомольское прошлое - сначала в поте лица создаём проблему, а потом героически ее преодолеваем.
Для одноразового использования городить такое
А просто взять (даже на прокат) нормальный двухлучевой осциллограф и закрыть вопрос с проверкой?
А академическим вопросом уже потом можно заняться, в свободное от безделья время .
Ну и я уже писал про множество проектов осциллографов - там немало с открытым кодом и можно посмотреть на исходники. Тут не обязательно совпадение среды/железа. Главное понять алгоритм, а воспроизвестиего можно и не только copy-paste .
PS Если использовать два буфера - старый и новый, то можно сразу рисовать Без стирания, фоном - старое, цветом - новое. Такой подход ещё на CGA позволял со снегом бороться.

Akkord, лучше один - красный, для неверного варианта .

verdana, каюсь, грешен - неонка всегда в кармане .

Старый монах со своей бритвой как всегда прав
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 10.08.2017 в 14:36.
mike-y-k вне форума   Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо mike-y-k за это сообщение:
Akkord (10.08.2017), verdana (10.08.2017)
Непрочитано 10.08.2017, 14:39   #30
Akkord
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.05.2008
Сообщений: 708
Сказал спасибо: 302
Сказали Спасибо 408 раз(а) в 263 сообщении(ях)
Akkord на пути к лучшему
По умолчанию Re: Алгоритм простого осцилографа

Сообщение от mike-y-k Посмотреть сообщение
Akkord, лучше один - красный, для неверного варианта .
Правильно!
Но можно "попробовать" использовать для этого дисплей - просто красный фон!
Akkord вне форума   Ответить с цитированием
Сказали "Спасибо" Akkord
mike-y-k (10.08.2017)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм опережения зажигания artyomugr Микроконтроллеры, АЦП, память и т.д 18 02.03.2012 11:40
алгоритм преобразования CVSD (ADM) в PCM csm7 Цифровые сигнальные процессоры 0 04.02.2012 15:17
Алгоритм частотомера artyomugr Микроконтроллеры, АЦП, память и т.д 26 11.05.2011 15:42
Видеовход компа для осцилографа z3 Измерительное оборудование 1 24.02.2010 21:45
Алгоритм билдер для ПИК контроллеров. Gladkih Микроконтроллеры, АЦП, память и т.д 9 24.02.2007 18:41


Часовой пояс GMT +4, время: 03:50.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.