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

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

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

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

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

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

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

 
Опции темы
Непрочитано 18.07.2003, 10:03  
a2226
Частый гость
 
Регистрация: 13.05.2003
Сообщений: 32
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
a2226 на пути к лучшему
По умолчанию Что такое манчестерское кодирование и с чем его едят?

Хотелось бы правильные алгоритмы приёма и передачи.
Спасибо.
Реклама:
a2226 вне форума  
Сказали "Спасибо" a2226
warel (24.06.2019)
Непрочитано 28.07.2003, 16:07  
bialix
Гость
 
Сообщений: n/a
По умолчанию про манчестер

Манчестерский код представляет собой фазоманипулированный сигнал с возвратом к нулю. Каждый бит исходной посылки кодируется одним периодом меандра, причем в зависимости от того, какой бит передается - 0 или 1 - меняется фаза меандра. Поток битов передается "сплошняком". В итоге для передачи последовательности бит необходимо закодировать в каждом периоде меандра фазу.
Короче примерно это выглядит так
Код:
 1  0   0  1   1  0
-|__|-|_|--|_|-|__|-
Иногда информацией считают фронт сигнала: если возрастающий то 0, если спадающий - то 1 (или наоборот - как выберешь сам).

У манчестерского кода есть определенное достоинство - он с возвратом к нулю, и в спектре содержатся только гармоники частоты передачи деленной на 2.

Исходя из определения сигнала легко построить алгоритм передачи/приема. Причем передача делается довольно легко - на основе прерываний от таймера, которые приходят с частотой в двое большей чем частота передачи. На каждом нечетном прерывании берешь очередной бит и устанавливаешь в соответсвующее состояние выход-передатчик. На четном прерывании делаешь инверсию состояния выхода.
С приемником придется немножко попотеть. Во-первых, при приеме необходимо отловить начало посылки (по какому-нибудь фронту), а затем принимать или по таймеру или по фронту. Если отлавливать только фронты сигнала - то будет бяка. Если вдруг проскочит помеха, то ее можно отловить только по длительности (т.е. нужно посматривать на таймер). Если же вести прием только по таймеру, то велика опасность рассинхронизации (если только два устройства не тактируются от одного генератора).
 
Непрочитано 30.07.2003, 08:38  
a2226
Частый гость
 
Регистрация: 13.05.2003
Сообщений: 32
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
a2226 на пути к лучшему
По умолчанию Re:

Не совсем всё понял, но всё равно спасибо! Просто я не асм-ист
a2226 вне форума  
Сказали "Спасибо" a2226
warel (24.06.2019)
Непрочитано 30.07.2003, 09:06  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,528
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию

http://www.piclist.com/techref/method/errors.htm - Error Detection / Correction Methods

Кое-какая теория есть (не про манчестер, про разные методы) Вроде как ссылки на примеры есть. Мож, пригодится?
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Сказали "Спасибо" DK
warel (24.06.2019)
Непрочитано 30.07.2003, 09:24  
a2226
Частый гость
 
Регистрация: 13.05.2003
Сообщений: 32
Сказал спасибо: 0
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
a2226 на пути к лучшему
По умолчанию

Ага! Спасибо!
a2226 вне форума  
Сказали "Спасибо" a2226
warel (24.06.2019)
Непрочитано 30.07.2003, 13:01  
vova
Частый гость
 
Регистрация: 08.05.2003
Сообщений: 23
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
vova на пути к лучшему
По умолчанию Re: про манчестер

Сообщение от bialix
Если отлавливать только фронты сигнала - то будет бяка. Если вдруг проскочит помеха, то ее можно отловить только по длительности (т.е. нужно посматривать на таймер). Если же вести прием только по таймеру, то велика опасность рассинхронизации (если только два устройства не тактируются от одного генератора).
и каковы типовые решения/методы ?
__________________
Инженер тех. службы телеканала
vova вне форума  
Сказали "Спасибо" vova
warel (24.06.2019)
Непрочитано 01.08.2003, 16:38  
bialix
Гость
 
Сообщений: n/a
По умолчанию типовые решения для приема манчестера

При приеме манчестера чаще всего нужно решить две задачи:
1) засинхронизироваться с передатчиком (и поддерживать синхронизм при приеме посылки)
2) производить прием при наличии статистических помех.

Первая задача в общем виде решается так: ищется или первый фронт/срез и затем делается попытка засинхронизироваться на определенной скорости передачи либо (я предпочитаю второй вариант) в начале каждой посылки передается специальная последовательность (маркер) по которой можно однозначно узнать начало посылки и засинхронизироваться. Код для маркера можно выбирать любой, лучше конечно что-нибудь помехоустойчивое. Неплохим выбором бывает использование последовательноcти из N подряд идущих 0 и 1, что дает меандр с частотой вдвое меньшей частоты передачи. Легко синхронизироваться или даже делать автоопределение скорости передачи.
При приеме длинных пакетов просто необходимо производить подстройку синхронизации в детекторе манчестера. Для этого набирается статистика за некоторое время приема - это может быть измерение отклонения (опережение или запаздывание) фронта сигнала в середине каждого передаваемого бита информации. По знаку и величине отклонения корректируют задающий таймер в приемнике.

Прием сигнала при наличии помех - собственно говоря эта задача решается за счет режекции помех по длительности. Т.е. грубо говоря если длительность состояния декодируемого сигнала (лог.0 или лог.1) меньше 1/4 длительности передачи бита, это считается помехой и отбрасывается (вместо этого уровня сигнала предполагается наличие противоположного). Довольно действенный метод.

И наконец - практическое решение, как выполнять декодирование манчестера с помощью таблицы:
Частота выборок принимаемого сигнала берется по крайней мере в 4 (лучше в 8 или более раз) выше, чем частота передачи. На каждый принимаемый бит будет приходиться 4 (или выборок. Уровень сигнала считывается со входа и вдвигается в приемный буфер. Когда мы получили все 4( выборок, то получим во входном буфере некое 4-х (8-ми) битное число, которое будет являться индексом в таблице декодирования. Таблицу декодирования вы должны составить сами, так как вы хотите, чтобы реагировал приемник на помехи и дрожание фронта в середине бита. Из таблицы извлекается значение - какой это был принят бит 0 или 1 (или вы можете заложить значение ошибка - когда из-за помех невозможно однозначно догадаться о значении бита, например когда все выборки равны лог.0 или лог.1). Также удобно использовать этот же индекс для выборки из (другой) таблицы значения рассинхронизации. Собирая статистику на основе определенного числа битов о рассинхронизации, вы четко получите информацию о величине и знаке временной рассинхронизации между передатчиком и приемником и сможете периодически корректировать частоту выборок. Принимаемые декодированные биты вы будет складывать в байты как обычно. Только настоятельно рекомендую использовать CRC для контроля правильности принятого пакета. А то всякое может быть.
 
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое JDM? pfgx Микроконтроллеры, АЦП, память и т.д 29 22.11.2007 22:37
[Решено] NAOH с чем едят? (фототравление) Shtecer Отвлекитесь, эмбеддеры! 12 13.08.2007 10:20
что такое??? worldmasters Аудиотехника 14 24.04.2007 22:52
WDT с чем его едят? t34 Микроконтроллеры, АЦП, память и т.д 6 17.08.2005 23:16
Что такое OEM ? Guest Микроконтроллеры, АЦП, память и т.д 1 30.07.2003 07:23


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


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