|
|
  |
декодер манчестера, аппаратная реализация на частоту 10-50Mhz |
|
|
|
Dec 29 2012, 06:45
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 19-07-12
Пользователь №: 72 823

|
Доброго времени суток! Пытаюсь реализовать декодер манчестерского кода. Причем очень специфичные требования. Цель - фронты входного сигнала должны быть переданы максимально детерминированными задержками, как понимаю с минимальным джиттером (передача irig-b сигнала синхронизации) наихудший показатель 100ns. Как понимаю, чтоб выполнить эти условия тактовая частота при кодировании декодировании должна быть не меньше 10Mhz. Как подобная задача вообще решается? Насколько я понял на приемной стороне нужен PLL , из которого я получу такотовую частоту ну и потом через XOR получу нужный мне результат. Какова будет помехоустойчивость? Каким образом защищаться от коротких ложных импульсов? Как можно догадаться из задаваемых вопросов, опыта работы с PLL я не имел и соотвественно вопрос на какие-нибудь примеры из элементной базы. Нашел CY23EP05, CY2305, но не знаю, то ли это, что мне нужно.
Может для этого есть готовые решения? , цель стоит перегнать irig-b сигнал по оптике через трансиверы формата 1x9 которые не работают на низких частотах (100Hz по факту у irig-B ). Что то вроде сетевых чипов ip113a но с возможностью передавать "чистые" данные.
Сообщение отредактировал некуцй - Dec 29 2012, 07:24
|
|
|
|
|
Dec 29 2012, 08:46
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(некуцй @ Dec 29 2012, 10:45)  Доброго времени суток! Пытаюсь реализовать декодер манчестерского кода. Если не хотите головной боли, то делайте декодер так: входной сигнал задерживайте на 1/3 такта и на 2/3 такта И RS триггер потом берется "И" по 1, и если получается 1, то - активный сигнал подается на S вход, берется "И" по 0, и если получается 0, то - активный сигнал подается на R вход, Правда данные восстанавливаются не на середине интервала а на 2/3, но зато все проблемы с фронтами исчезают...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Dec 29 2012, 09:22
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 19-07-12
Пользователь №: 72 823

|
Цитата(iosifk @ Dec 29 2012, 14:46)  Если не хотите головной боли, то делайте декодер так: входной сигнал задерживайте на 1/3 такта и на 2/3 такта И RS триггер потом берется "И" по 1, и если получается 1, то - активный сигнал подается на S вход,
берется "И" по 0, и если получается 0, то - активный сигнал подается на R вход,
Правда данные восстанавливаются не на середине интервала а на 2/3, но зато все проблемы с фронтами исчезают... кажется я уже встречал такую схему http://www.electronics-circuits.net/manche...oder-vt162.html правда чуть другая логика и периоды Меня смушает, чем задерживать сигнал на таких временных интервалах (100 - 50 ns) ? одновибраторов таких вроде бы нет Тупо логический элемент и емкость вроде как очень не точное решение, погрешности номинала емкости и активных уровней на входах элементов и тп. http://www.maximintegrated.com/datasheet/i...qHw%26cad%3Drjt вроде нашел готовое решение, в продаже есть на 100ns как раз будем пробовать
Сообщение отредактировал некуцй - Dec 29 2012, 09:39
|
|
|
|
|
Dec 29 2012, 09:54
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 19-07-12
Пользователь №: 72 823

|
Цитата(blackfin @ Dec 29 2012, 15:39)  Цитата The decoder clock can be asynchronous to the incoming data, but must be faster than five times the incoming bit rate (in order to detect the next bit transition), and slower than 12 times the incoming bit rate (in order to suppress the between-bit transition). The nominal decode clock frequency should, therefore, be eight times the incoming data rate. Вариант интересный но клок должен быть 200MHz или более а это мне кажется уже слишком.
Сообщение отредактировал некуцй - Dec 29 2012, 10:09
|
|
|
|
|
Dec 22 2015, 10:18
|

Electrical Engineer
     
Группа: СуперМодераторы
Сообщений: 2 163
Регистрация: 4-10-04
Пользователь №: 778

|
Цитата(некуцй @ Dec 29 2012, 12:22)  кажется я уже встречал такую схему http://www.electronics-circuits.net/manche...oder-vt162.html правда чуть другая логика и периоды Меня смушает, чем задерживать сигнал на таких временных интервалах (100 - 50 ns) ? одновибраторов таких вроде бы нет увы, ссылка недоступна.. ( Цитата(iosifk @ Dec 29 2012, 11:46)  входной сигнал задерживайте на 1/3 такта и на 2/3 такта И RS триггер потом берется "И" по 1, и если получается 1, то - активный сигнал подается на S вход,
берется "И" по 0, и если получается 0, то - активный сигнал подается на R вход,
Правда данные восстанавливаются не на середине интервала а на 2/3, но зато все проблемы с фронтами исчезают... а можно это как-то схематично изобразить?.. или на HDL? так сходу не очень могу понять как эта схема проблемы с ложными фронтами убирает. ЗЫЖ и я так понимаю этот декодер работает на частоте 6х от частоты потока?
--------------------
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|