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

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

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

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

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

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


 
Опции темы
Непрочитано 15.05.2018, 12:15  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Так нормально. Вывод только переделать нормальный на экран и все. Там как-то по корявому у Вас мне кажется(- последний for).
Еще, как вариант, можно искать положительный перепад так. Как-бы ось X вправо, ось Y - вверх. Берутся 2 соседние точки и смотри перепад(разница) по Y. Если она большая, т.е. больше какого-то порога - значит это перепад.
Ну или между несколькими точками смотреть, например, 5, 12 или 15 точек.
Проверьте также, чтобы в буферах были данные. А то может у Вас там пусто вообще. Одни нули.
Реклама:

Последний раз редактировалось Signalshik2; 15.05.2018 в 12:20. Причина: Добавил фразу.
Signalshik2 вне форума  
Непрочитано 15.05.2018, 12:25  
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Signalshik2, Ничего не понял.
Сообщение от фёдорыч Посмотреть сообщение
Код:
DataTFT[i] = 200 - DataBuf[rise]*200/256;
- а вот это что означает?

DataBuf[rise]*200/256 - отсчет преобразованный для вывода на экран.
200- координата y, дисплей 320х240, поле вывода 320х200, ориентация дисплея альбомная, начало координат левый верхний угол. То есть если не писать (200 - и т.д) осциллограмма рисуется из левого ВЕРХНЕГО угла).

Описку исправил, изменений нет.
фёдорыч вне форума  
Непрочитано 15.05.2018, 12:29  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

А, ну теперь, понял, спасибо. Так отладчик-то есть или нет? Может у Вас АЦП или DMA не работает? У Вас железная плата? Какое устройство, если не секрет?
Signalshik2 вне форума  
Непрочитано 15.05.2018, 12:49  
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

IDE - Atollic True Studio for STM, отладчик ST-Link V2, не свисток, со свистком я намучился, как раз Atollic и не желал с ним работать. Платка куплена на Али, я с ней уже пол-года развлекаюсь. Камень 100-ножечный STM32F407VET6.

Пошагово выводится картинка с меандром, но почему-то один раз и усе, может куда-то программа улетает, у меня никаких обработок ошибок пока не предусмотрено.

А на счет кода примера - так он специально и прикреплен к SPL для изучения и освоения так сказать. Я все с AVR возился, а тут прикупил DSO068, собрал, поплевался и решил свой осциллоскоп сварганить на STM.

Последний раз редактировалось фёдорыч; 15.05.2018 в 13:05.
фёдорыч вне форума  
Непрочитано 15.05.2018, 13:47  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Сообщение от фёдорыч Посмотреть сообщение
отладчик ST-Link V2
- с помощью этого отладчика можно посмотреть переменные, когда посмотреть переменные, когда программа застопорена. Если можно, то посмотрите, что в буферах лежит. Корректные ли там данные?
Signalshik2 вне форума  
Сказали "Спасибо" Signalshik2
фёдорыч (15.05.2018)
Непрочитано 15.05.2018, 13:53  
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Сообщение от индюк Посмотреть сообщение
ну я исходил из того что наверно у человека маленькая плата гшде все и сразу собрано. по аналогии с китайцами.
поэтому я имел ввиду что компаратор мониторит аналоговый тракт и дает на отдельную ногу проца импульс. мошт на прерывание даже.

причем там компорт?? нигде про него у автора не увидел
Вообще-то хотел отслеживать сигнал в режиме AnalogWatchDog и затем выводить данные на дисплей. Но пошел проторенной дорожкой - может еще вернусь к этой идее.
фёдорыч вне форума  
Непрочитано 15.05.2018, 14:09  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Нужно смотреть отладчиком. Возможно ДМА отработало только один цикл. Смотри внимательно настройки ДМА и АЦП.
И ... почему обработку стартуем по заполнению половины буфера? Надеемся на то, что данные в буфер придут раньше чем программа их прочитает?
DanilinSA вне форума  
Непрочитано 15.05.2018, 14:19  
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Сообщение от Signalshik2 Посмотреть сообщение
- с помощью этого отладчика можно посмотреть переменные, когда посмотреть переменные, когда программа застопорена. Если можно, то посмотрите, что в буферах лежит. Корректные ли там данные?
Этим сейчас и занимаюсь - смотрю ADC_Data.
"Меня мучат смутные сомнения"(с), что как-то некорректно забираются оттуда данные. Я ведь назначил размер ADC_Data в 512 полуслов а читаю только первую половину.
Сбрасываю флаг половины передачи - а он сбрасывается? Буду копать.
А насчет поиска по двум и более отсчетам я думал над этим.
При двух отсчетах можно поймать помеху и принять ее за фронт.
По условию нам неизвестно:
1. амплитуда
2. сдвиг по уровню
3. частота тестируемого сигнала.
Получается, что только проанализировав весь буфер, можно ответить на эти вопросы.
фёдорыч вне форума  
Непрочитано 15.05.2018, 14:38  
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Сообщение от DanilinSA Посмотреть сообщение
Нужно смотреть отладчиком. Возможно ДМА отработало только один цикл. Смотри внимательно настройки ДМА и АЦП.
И ... почему обработку стартуем по заполнению половины буфера? Надеемся на то, что данные в буфер придут раньше чем программа их прочитает?
Ход мысли был такой: DMA выставляет флаг завершения передачи буфера и тут же перезагружается для новой передачи (установлен CONT), затирая данные в начале буфера. Чтобы избежать этого (и пока ничего не менять в коде примера, который был выбран для обучения) данные забираются только из мл. половины буфера.
фёдорыч вне форума  
Непрочитано 15.05.2018, 15:09  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: синхронизация осциллограммы

Разберись с АЦП! и c DMA! Что происходит при заполнении буфера? При заполнении буфера ДМА встает.
Как отрисовал кривую - нужно перезапустить ДМА. И тогда тебе будет следующая порция данных в буфер.

И вообще, ждать в бесконечном цикле события - потенциально неправильно.
Есть контроллер прерываний. И ДМА, и АЦП прекрасно могут дергать его линии. И можно хорошо распределить работу. Например одновременно ДМА тащить данные от АЦП, а ядро в этот момент будет обсчитывать/рисовать данные предыдущего цикла измерений.
А у тебя сейчас пока ДМА не отработает - ядро крутится в пустом цикле ожидая событий.
DanilinSA вне форума  
Сказали "Спасибо" DanilinSA
фёдорыч (15.05.2018)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация потоковой оцифровки в LPC2478. Oleg_IT ARM 0 28.08.2014 13:39
С1-73 синхронизация U~A Измерительное оборудование 9 18.01.2012 14:50
Осцилограф ОМЛ-2М синхронизация urisss Измерительное оборудование 6 24.12.2011 23:52
Пакетная синхронизация в SPI alberio Микроконтроллеры, АЦП, память и т.д 7 12.06.2010 17:41
Синхронизация surgutw Делимся опытом 1 10.06.2005 15:32


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot