реклама на сайте
подробности

 
 
> Прочитать передачу
micronano
сообщение Aug 2 2011, 09:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 13-10-10
Пользователь №: 60 133



Добрый день!

Кто-нибудь может подсказать как прочитать передачу некоего интерфейса?
Известна его его скорость и структура.

Пытаюсь по первому биту запускать таймер, и с частотой раз в бит увожу контроллер в прерывание, где считываю значение порта.
Но огромное количество ошибок самого разного плана: сдвиг, чтение 1 вместо 0, чтение 0 вместо 1... Не знаю что делать.

Сигнал прямоугольный, так что дело к коде.

Есть программные алгоритмы приема?

Сообщение отредактировал micronano - Aug 2 2011, 09:58
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
micronano
сообщение Aug 2 2011, 10:36
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 13-10-10
Пользователь №: 60 133



Других прерываний нет =)
В программе кроме считывания передачи и отправки пакетов на компорт, ничего нет...

Ошибки конечно есть, но какого плана...

Цитата
Даже если битовая скорость известна, то никто не обещал что что тактовая частота приёмника точно совпадает с тактовой частотой передатчика.
Со временем неизбежно накапливается ошибка.
Нужно подстраивать свою скорость прима под скорость следования битов в принимаемом сигнале.
В зависимости от способа кодирования это можно делать по-разному, обычно это некая разновидность цифровой ФАПЧ которая синхронизируется по фронтам сигнала.


каждое сообщение (порядка 60 бит), таймер запускаю заново по фронту первого бита, т.ч. врятли за 60 бит накапливается ошибка... Тем более что иногда (очень редко) приходит то, что надо!
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 2 2011, 20:37
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(micronano @ Aug 2 2011, 13:36) *
каждое сообщение (порядка 60 бит)

Похоже, Вы мучаете интерфейс какой-нить микросхемы радио управления.

Есть простой способ - используете прерывание capture и складываете отсчеты таймера в буфер. Индекс буфера обнуляется при отсутствии фронтов в течение определенного времени.
Потом, пройдясь по буферу с начала до конца, можно спокойно проанализировать, что же там передавалось.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- micronano   Прочитать передачу   Aug 2 2011, 09:50
- - Непомнящий Евгений   По идее надо читать несколько раз за бит, а уровен...   Aug 2 2011, 09:57
- - AHTOXA   Цитата(micronano @ Aug 2 2011, 15:50) Пыт...   Aug 2 2011, 10:01
- - kovigor   Цитата(micronano @ Aug 2 2011, 12:50) Кто...   Aug 2 2011, 10:02
- - micronano   Непомнящий Евгений Да, спасибо, как вариант. AHTO...   Aug 2 2011, 10:07
|- - kovigor   Цитата(micronano @ Aug 2 2011, 13:07) Фор...   Aug 2 2011, 10:11
- - Непомнящий Евгений   ЦитатаНо огромное количество ошибок самого разного...   Aug 2 2011, 10:17
- - micronano   Вот я и прошу подсказать существующие алгоритмы...   Aug 2 2011, 10:21
|- - kovigor   Цитата(micronano @ Aug 2 2011, 13:21) kov...   Aug 2 2011, 11:21
- - Непомнящий Евгений   В момент, когда читаете вход, инвертируйте некотор...   Aug 2 2011, 10:25
- - micronano   Теперь понял. ЦитатаПотом берете осциллограф и сра...   Aug 2 2011, 10:29
- - Непомнящий Евгений   Ну как что даст - отсечете какие-то виды ошибок......   Aug 2 2011, 10:32
- - SSerge   Даже если битовая скорость известна, то никто не о...   Aug 2 2011, 10:33
|- - Marian   Цитата(Dog Pawlowa @ Aug 2 2011, 23:37) Е...   Aug 3 2011, 14:39
- - Непомнящий Евгений   Сделайте без прерываний ради интереса. На самом д...   Aug 2 2011, 10:36
- - micronano   #include <avr/io.h> #include <avr/interru...   Aug 2 2011, 10:43
|- - zombi   Цитата(micronano @ Aug 2 2011, 12:50) как...   Aug 4 2011, 20:57
|- - ASZ   В документации на любой микроконтроллер AVR (раз у...   Aug 5 2011, 11:27
- - ILYAUL   Не понятго ЦитатаСигнал прямоугольный, меандр , ч...   Aug 2 2011, 11:44
- - _Pasha   Пишут Вам пишут, что надо дождаться фронта, сдвину...   Aug 2 2011, 11:49
- - micronano   kovigor, да, мне нужно принимать биты.. ILYAUL, а...   Aug 2 2011, 11:54
|- - ILYAUL   Цитата(micronano @ Aug 2 2011, 15:54) ILY...   Aug 2 2011, 11:58
- - micronano   ILYAUL, считайте что хотите. Чем вам не понравилос...   Aug 2 2011, 12:14
|- - ArtemKAD   Цитата(micronano @ Aug 2 2011, 15:14) ILY...   Aug 3 2011, 09:13
- - Marian   Нарисуйте, как у вас выглядит лог. "1" и...   Aug 2 2011, 17:20
|- - ILYAUL   Цитата(Marian @ Aug 2 2011, 21:20) В прер...   Aug 2 2011, 17:31
|- - Marian   Цитата(ILYAUL @ Aug 2 2011, 20:31) Это ли...   Aug 2 2011, 17:35
|- - ILYAUL   Цитата(Marian @ Aug 2 2011, 21:35) А вы ч...   Aug 2 2011, 17:44
|- - Marian   Цитата(ILYAUL @ Aug 2 2011, 20:44) На ско...   Aug 2 2011, 18:54
|- - ILYAUL   Цитата(Marian @ Aug 2 2011, 22:31) Как ра...   Aug 2 2011, 18:57
|- - Marian   Цитата(ILYAUL @ Aug 2 2011, 21:57) Всё зн...   Aug 2 2011, 19:02
||- - ILYAUL   Цитата(Marian @ Aug 2 2011, 23:02) Этот в...   Aug 2 2011, 19:05
||- - Marian   Цитата(ILYAUL @ Aug 2 2011, 22:05) И ещё ...   Aug 2 2011, 19:19
||- - ILYAUL   Цитата(Marian @ Aug 2 2011, 23:19) Что ту...   Aug 2 2011, 19:28
||- - Marian   Посмотрите Отрисовка сигнала. Создавалась для отри...   Aug 2 2011, 19:33
||- - ILYAUL   Цитата(Marian @ Aug 2 2011, 23:33) Посмот...   Aug 2 2011, 19:52
|- - Marian   Цитата(ILYAUL @ Aug 2 2011, 21:57) Скорос...   Aug 2 2011, 19:14
|- - ILYAUL   Цитата(Marian @ Aug 2 2011, 23:14) Это не...   Aug 2 2011, 19:14
- - нечитатель   Цитата(micronano @ Aug 2 2011, 13:50) по ...   Aug 2 2011, 19:41
- - micronano   Marian, ILYAUL, спасибо. Попробую сделать на преры...   Aug 3 2011, 08:58
- - ArtemKAD   ЦитатаВроде capture работает по фронту импульса. Р...   Aug 4 2011, 17:06
- - ILYAUL   Цитата(ArtemKAD @ Aug 4 2011, 21:06) .......   Aug 4 2011, 17:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01445 секунд с 7
ELECTRONIX ©2004-2016