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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 19.02.2017, 14:33  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,264
Сказал спасибо: 330
Сказали Спасибо 74 раз(а) в 31 сообщении(ях)
vladh на пути к лучшему
По умолчанию Как обнаружить нужное значение в последовательных данных

Добрый день, форумчане. Может кто подскажет идею того как реализовать нижеописанную задачу. Я вот уже несколько дней размышляю но ничего толкового придумать не могу. А Задача состоит в следующем. Имеется канал по которому постоянно и непрерывно приходят последовательные данные. Необходимо в этих данных выявить время прихода такого куска(8 и более разрядов) данных, который бы соответствовал некоторому заданному значению. Частота с которой передаются данные 200-3000 Гц.
Реклама:

Последний раз редактировалось realid; 19.02.2017 в 15:02.
vladh вне форума  
Непрочитано 19.02.2017, 14:53  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,508
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: КАК ОБНАРУЖИТЬ НУЖНОЕ ЗНАЧЕНИЕ В ПОСЛЕДОВАТЕЛЬНЫХ ДАННЫХ

Время относительно чего? Астрономическое время (день, месяц, час, минута) или время от включения устройства, тоже в чем, в минутах, секундах или условных тиках?
В любом случае, имеем некий работающий счетчик времени, и следим за принимаемыми данными. Когда принятые данные равны ожидаемым, записываем текущее значение счетчика времени в отдельную переменную. Всё просто.
NewWriter вне форума  
Непрочитано 19.02.2017, 15:08  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,264
Сказал спасибо: 330
Сказали Спасибо 74 раз(а) в 31 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: КАК ОБНАРУЖИТЬ НУЖНОЕ ЗНАЧЕНИЕ В ПОСЛЕДОВАТЕЛЬНЫХ ДАННЫХ

Сообщение от NewWriter Посмотреть сообщение
В любом случае, имеем некий работающий счетчик времени, и следим за принимаемыми данными. Когда принятые данные равны ожидаемым, записываем текущее значение счетчика времени в отдельную переменную. Всё просто.
По поводу времени - не важно. Пусть будет от времени включения аппарата. А вот как мне из непрерывного потока вычленить нужные данные? Непрерывный поток данных в моем случае такой поток, который внешне напоминает ШИМ-сигнал.

Последний раз редактировалось vladh; 19.02.2017 в 15:12.
vladh вне форума  
Непрочитано 19.02.2017, 15:11  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,796
Сказал спасибо: 2,913
Сказали Спасибо 3,120 раз(а) в 2,111 сообщении(ях)
ForcePoint на пути к лучшему
Вопрос Re: Как обнаружить нужное значение в последовательных данных

Ну а как ещё, кроме постоянного сравнения с заданной маской?
Как хотите? Аппаратно/программно, данные последовательные/параллельные (тип интерфейса)?
__________________
Экзорцист 40-го уровня.
ForcePoint на форуме  
Непрочитано 19.02.2017, 15:16  
tim1960
Почётный гражданин KAZUS.RU
 
Аватар для tim1960
 
Регистрация: 26.12.2006
Адрес: С.-Пб.
Сообщений: 1,415
Сказал спасибо: 304
Сказали Спасибо 494 раз(а) в 316 сообщении(ях)
tim1960 на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Поставить сдвиговый регистр с параллельным выходом и с требуемой разрядностью и запустить на его последовательный вход свои данные. С параллельных выходов данные подать на схему сравнения с требуемым кодом. При совпадении формируется строб фиксации счетчика.
Как-то так !
P.S. Это если аппаратно...
__________________
"Счастье для всех, даром, и пусть никто не уйдет обиженный!" ©
tim1960 вне форума  
Сказали "Спасибо" tim1960
vladh (19.02.2017)
Непрочитано 19.02.2017, 15:18  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,508
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Следим за принимаемыми данными.
Допустим, нужно найти в потоке три последовательных байта 0х03, 0х47, 0xA5.
Каждый принятый байт проверяется на равенство первому искомому 0х03. Дождались? Окей, теперь ждем приема следующего байта, и он должен быть равен второму искомому 0х47. Не равен? Значит снова ждем принятого 0х03. А если был равен 0х47, тогда следующий принятый должен быть равен 0xA5. Равен? Окей, дождались чего хотели, фиксируем время приема первого (или последнего) байта. Не был равен? Снова повторяем ожидание первого искомого 0х03.

ЗЫ. Раз вопрос задан в разделе "Микроконтроллеры", полагаю, что именно на микроконтроллере предполагается делать?
Нет? на дискретной логике? уууу, задолбаться... сдвиговый регистр с параллельным входом, компаратор параллельного кода, мультиплексоры, двоичные счетчики... мдяяя

Последний раз редактировалось NewWriter; 19.02.2017 в 15:21.
NewWriter вне форума  
Непрочитано 19.02.2017, 15:20  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,264
Сказал спасибо: 330
Сказали Спасибо 74 раз(а) в 31 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Сообщение от ForcePoint Посмотреть сообщение
Ну а как ещё, кроме постоянного сравнения с заданной маской?
Как хотите? Аппаратно/программно, данные последовательные/параллельные (тип интерфейса)?
Да, так и хочу - сравнивать с постоянной маской. Реализация решения задачи в настоящий момент любая, но вообще бы хотелось с помощью МК. Я уже писал данные последовательные. Вообще говоря эти данные получаются в результате АЦП некоего шумового сигнала.
vladh вне форума  
Непрочитано 19.02.2017, 15:24  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,264
Сказал спасибо: 330
Сказали Спасибо 74 раз(а) в 31 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Сообщение от tim1960 Посмотреть сообщение
Поставить сдвиговый регистр с параллельным выходом и с требуемой разрядностью и запустить на его последовательный вход свои данные. С параллельных выходов данные подать на схему сравнения с требуемым кодом. При совпадении формируется строб фиксации счетчика.
Наверное это решение аппаратно будет лучшим! Я чего-то о таком варианте не подумал. Теперь это решение надо будет реализовать внутри МК.
vladh вне форума  
Непрочитано 19.02.2017, 15:25  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,508
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Сообщение от vladh Посмотреть сообщение
в результате АЦП некоего шумового сигнала
Тогда вероятность обнаружения именно в точности искомой последовательности - оооочень небольшая. Шумовой сигнал, он потому и шумовой, что вероятность получить именно конкретную последовательность конкретных значений - ноль целых хрен десятых. И чем длиннее искомая цепочка, тем меньше вероятность.
Вот какая вероятность того, что например младшие биты АЦП будут именно 0х03 0х47 0хA5 друг за другом?
Я так понял, вы хотите в шумовом сигнале обнаружить например синусоиду? Гиблое дело таким методом...

Другими методами надо, другими. Цифровая обработка сигналов - цифровые фильтры и тп. Там много математики. Поток принимается в буфер, и с буфером идет работа, вычисления

Последний раз редактировалось NewWriter; 19.02.2017 в 15:32.
NewWriter вне форума  
Непрочитано 19.02.2017, 15:31  
vladh
Почётный гражданин KAZUS.RU
 
Регистрация: 03.12.2004
Сообщений: 1,264
Сказал спасибо: 330
Сказали Спасибо 74 раз(а) в 31 сообщении(ях)
vladh на пути к лучшему
По умолчанию Re: Как обнаружить нужное значение в последовательных данных

Сообщение от NewWriter Посмотреть сообщение
Другими методами надо, другими. Цифровая обработка сигналов.
А разве я не о цифровой обработке говорю? После того как сигнал был преобразован из аналога в цифру я и пытаюсь найти способ выявления нужных моментов. Как вариант это метод предложенный tim1960/
vladh вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ (ЧаВО) по PROTEUS для начинающих и не только dosikus Proteus 221 07.03.2024 22:45
Книги (не радиотехнической тематики) Mike79 Делимся опытом 4264 16.08.2023 23:52
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
Вопрос по мультипроцессорному обмену USART MEGA8 vikont-s Микроконтроллеры, АЦП, память и т.д 0 10.08.2006 14:55


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


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