Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 05:57

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Синхронизация обмена данных через LiFi
СообщениеДобавлено: 29 окт 2014, 10:48 
Здравствуйте!

Зарегистрирован: 29 окт 2014, 10:41
Сообщения: 2
Здравствуйте. Никак не могу придумать способ реализации обмена через свет.

Алгоритмом все вроде бы хорошо: "отмигиваем" хидер, далее шлем сообщение фиксированной длины, или что тут угодно.
Сигналы можно представить в виде 0 и 1, либо 1 и 11, это тоже по моему не проблема. Что эффективнее выяснится на практике легко.

Но никак не могу понять как реализовать синхронизацию приемника и передатчика, чтобы не было смещения во времени и потере бита, или принятия лишнего:
Допустим отправили мы три единицы, на единицу пауза по 5 мс, а приемник обработал их с паузойтак же в 5 мс, но еще время ушло на обработку принятой информации.

В общем, никак не могу понять что тут можно придумать, либо алгоритм в корне не верен. Делаю на ардуине (на двух).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация обмена данных через LiFi
СообщениеДобавлено: 30 окт 2014, 10:41 
Старожил

Зарегистрирован: 20 мар 2010, 17:31
Сообщения: 1394
Откуда: Челябинск
Riketta писал(а):
Здравствуйте. Никак не могу придумать способ реализации обмена через свет.

Алгоритмом все вроде бы хорошо: ...
это тоже по моему не проблема. Что эффективнее выяснится на практике легко.

Но никак не могу понять как реализовать синхронизацию ...

В общем, никак не могу понять что тут можно придумать,

Как вы думаете, вы первый озаботились таким способом обмена? :-) Если справшиваете совета - очевидно, понимаете, что вы далеко не первый... и делаете совершенно правильный вывод:
Цитата:
алгоритм в корне не верен.

---------------------
Совет: не городите "алгоритмов" для "выяснения на практике" - начните с теории... почитайте что-нибудь о кодировании сигналов на физическом уровне, о самосинхронизирующихся кодах (манчестерский, NRZ). это избавит вас от изобретения велосипедов с квадратными колесами...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация обмена данных через LiFi
СообщениеДобавлено: 30 окт 2014, 11:06 
Здравствуйте!

Зарегистрирован: 29 окт 2014, 10:41
Сообщения: 2
Mikesoft писал(а):
Как вы думаете, вы первый озаботились таким способом обмена? :-) Если справшиваете совета - очевидно, понимаете, что вы далеко не первый... и делаете совершенно правильный вывод

Конечно я понимаю что это уже реализовано, и не раз. Проблема только в том что сложно найти то, не знаешь что.
Вот вы дали мне направление (за что Вам и спасибо) и стало легче, теперь я знаю как это называется и что мне нужно искать :)

Я скорее программист, а не хардварщик. МК занимаюсь чуть более месяца - очень много мне еще предстоит изучить =)

Вот теперь еще вопрос:
Цитата:
- по изменению состояния сигнала с "OFF" на "ON" определяем начало передачи
- отсчитываем четверть длительности бита (чтобы попасть в середину полубита)
- начинаем записывать значение сигнала. С этого момента и далее через интервалы, равные длительности бита. И так - до получения необходимого количества бит.

По поводу "отсчитываем четверть длительности бита" - а как это реализовать? Надо ли учитывать время исполнения кода? Ведь насколько я понимаю при большом сообщении может произойти смещение по времени которое инвертирует принимаемые далее биты.
Как решение я вижу передачу пакетов фиксированной, малой длины. Чтобы гарантированно избежать смещения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синхронизация обмена данных через LiFi
СообщениеДобавлено: 30 окт 2014, 11:29 
Старожил

Зарегистрирован: 20 мар 2010, 17:31
Сообщения: 1394
Откуда: Челябинск
Riketta писал(а):
Проблема только в том что сложно найти то, не знаешь что.
теперь я знаю как это называется и что мне нужно искать :)

правильный подход !
Цитата:
Я скорее программист, а не хардварщик. МК занимаюсь чуть более месяца - очень много мне еще предстоит изучить =)
Это да. Хотя если как у программиста есть понятие о кодировании информации - это уже лучше. можно не пугаясь читать достаточно заумные книжки :-) Названия я сейчас навскидку не подскажу, но раздел: "кодирование информации в физических линиях связи", "самосинхронизирующиеся коды"
Цитата:
Вот теперь еще вопрос:
По поводу "отсчитываем четверть длительности бита" - а как это реализовать?
лучше всего прерыванием по таймеру.
Цитата:
Надо ли учитывать время исполнения кода? Ведь насколько я понимаю при большом сообщении может произойти смещение по времени которое инвертирует принимаемые далее биты.
Как решение я вижу передачу пакетов фиксированной, малой длины. Чтобы гарантированно избежать смещения.

используйте буфер, контрольную сумму, и квитирование. и тогда размер пакета не будет играть особой роли...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB