ReFFum 0 July 30, 2019 Posted July 30, 2019 · Report post Я хочу узнать, какие существуют способы декодирования манчестерского кода (Манчестер II). Первый способ очевиден: это использовать счетчик, который отсчитывает периоды между перепадами сигнала, и некий конечный автомат, который извлекает из этого информацию. Но для этого способа нужно, чтобы тактовая частота приемника было много выше частоты передачи данных. Какие еще существуют способы декодирования? Quote Share this post Link to post Share on other sites More sharing options...
_4afc_ 9 July 30, 2019 Posted July 30, 2019 · Report post Нарисуйте эпюры вашего (Манчестер II) с тем что в них закодировано. А то мало-ли кто как называет... Какую частоту обоработки/информации вы хотели бы? Quote Share this post Link to post Share on other sites More sharing options...
V_G 8 July 31, 2019 Posted July 31, 2019 · Report post 6 часов назад, ReFFum сказал: Но для этого способа нужно, чтобы тактовая частота приемника было много выше частоты передачи данных. Не обязательно. Я на Амеге128-16 МГц параллельно декодировал 32 канала манчестерского кода скорости 1200 бод. На полубитовый интервал было 8 выборок, по-моему. Quote Share this post Link to post Share on other sites More sharing options...
vladec 1 July 31, 2019 Posted July 31, 2019 · Report post 12 часов назад, ReFFum сказал: Первый способ очевиден: это использовать счетчик, который отсчитывает периоды между перепадами сигнала, и некий конечный автомат, который извлекает из этого информацию. Но для этого способа нужно, чтобы тактовая частота приемника было много выше частоты передачи данных. Какие еще существуют способы декодирования? Может быть и существуют какие то крутые "радиотехнические" методы декодирования с использованием ФАПЧ для восстановления тактовой, но обычные "рабоче-крестьянские" методы предполагают именно стробирование обычно на не менее чем 12 - 16 кратных частотах, с дальнейшим распознаванием единиц и нулей по длительности тактовых интервалов (иногда с учетом предыдущих значений). Quote Share this post Link to post Share on other sites More sharing options...
dxp 10 July 31, 2019 Posted July 31, 2019 · Report post 12 часов назад, ReFFum сказал: Какие еще существуют способы декодирования? Манчестер 2 есть "свёртка" битового потока данных с несущей (клоком) по исключающему ИЛИ (XOR). Для кодирования просто прогоняете сигнал синхронно с клоком: out = in ^ clk Для декодирования операция та же самая, но нужно клок засинхронизировать потоком данных - например, ловите положительный фронт в сигнале и выдаёте клок (положительный же фронт) от этого момента. Дальше - так же, через XOR, на выходе получите поток данных. Quote Share this post Link to post Share on other sites More sharing options...
andk 0 July 31, 2019 Posted July 31, 2019 · Report post Позвольте я вставлю свои 5 копеек Ваш вопрос очень сильно завязан на качество и тип(дифференциальный или одиночный) входного сигнала. Если вход одиночный и чистенький - без дребезга, без искажений фаз и т.п., То ответ Вам дал dxp. В противном случае (реальная жизнь, кхе-кхе) нужно отслеживать: - разницу скоростей и/или джиттер - до +-25% от идеального синхросигнала - дребезг - фазовые искажения - еще какую-нибудь бяку типа режима передачи в синхро бите (запрос-ответ) Кроме как счетчиками (несколькими) не решить. В реале хватает частоты х8-х16 от входной. Еще хороший вариант - применить специализированные микросхемы приемопередатчиков. Это снимет много головных болей Data Delay Devices, HOLT INTEGRATED CIRCUITS к примеру. Quote Share this post Link to post Share on other sites More sharing options...
_pv 27 July 31, 2019 Posted July 31, 2019 · Report post без х8/х16 частоты, и ФАПЧей для восстановления клоков, есть ещё рабоче-крестьянские методы с задержкой на 1.5 такта. http://ww1.microchip.com/downloads/en/appnotes/01470a.pdf баловства ради, подключал msp430g2553 (у них клоки SPI от клоков ядра полностью отвязаны и могут быть какие угодно) к 10МБитному езернету используя 74hc74, 74hc86, и пару RC цепочек в качестве декодера манчестера, даже как-то работало. Quote Share this post Link to post Share on other sites More sharing options...
vladec 1 August 1, 2019 Posted August 1, 2019 · Report post 14 часов назад, _pv сказал: даже как-то работало. Что бы "даже как-то работало" сделать просто, а вот, что бы на приеме работало максимально хорошо очень не просто. Большинство проблем с сигналом в Манчестере ведут к дрожи фронтов на приемной стороне, что сильно затрудняет декодирование, и увеличивает вероятность неверного декодирования. Quote Share this post Link to post Share on other sites More sharing options...
_pv 27 August 1, 2019 Posted August 1, 2019 · Report post 1 hour ago, vladec said: Что бы "даже как-то работало" сделать просто, а вот, что бы на приеме работало максимально хорошо очень не просто. Большинство проблем с сигналом в Манчестере ведут к дрожи фронтов на приемной стороне, что сильно затрудняет декодирование, и увеличивает вероятность неверного декодирования. если фронты дрожжат на +-25% от периода (чтобы метод декодирования с задержкой на 1.5 такта перестал работать нормально), то это явно не у приёмника проблемы. остальные методы с фапчами и оверсэмплингом на высокой частоте, тоже думаю не особо помогут в такой ситуации. Quote Share this post Link to post Share on other sites More sharing options...
andk 0 August 2, 2019 Posted August 2, 2019 · Report post 19 часов назад, _pv сказал: если фронты дрожжат на +-25% от периода (чтобы метод декодирования с задержкой на 1.5 такта перестал работать нормально), то это явно не у приёмника проблемы. Да, фронты дрожат, но к сожалению, чаще всего решение этой проблемы падает на приёмник... В 31.07.2019 в 21:20, _pv сказал: без х8/х16 частоты, и ФАПЧей для восстановления клоков, есть ещё рабоче-крестьянские методы с задержкой на 1.5 такта. http://ww1.microchip.com/downloads/en/appnotes/01470a.pdf То, что описано у микрочипов - это частный случай, не описывающий процедуры стартовой синхронизации и выбора режима передачи на линии. Опять, топикстартер где-то затаился, и не рассказывает, что ему действительно нужно и с какой реализацией протокола он имеет дело. Посему что-то толковое подсказать не представляется возможным. Quote Share this post Link to post Share on other sites More sharing options...
ReFFum 0 August 2, 2019 Posted August 2, 2019 · Report post Мне нужно сделать приемник SPDIF. Но я задал общий вопрос. Ведь есть протоколы, использующие Манчестерский код, со скоростями 100 Мб/с. Например, какие-то варианты Fast Ethernet. Очевидно, что в них нельзя использовать oversampling x8/x16. Используется что-то другое. Мне стало интересно, что? Quote Share this post Link to post Share on other sites More sharing options...
_pv 27 August 2, 2019 Posted August 2, 2019 · Report post манчестер в езернете закончился на 10MБитах. а готовые spdif приёмники чем не устраивают? тем более что в каких-то stm32 вроде бы i2s дополнительно умел spdif кодировать/декодировать. Quote Share this post Link to post Share on other sites More sharing options...
Plain 72 August 4, 2019 Posted August 4, 2019 · Report post В 02.08.2019 в 11:57, ReFFum сказал: Используется что-то другое. Мне стало интересно, что? Очевидно, частотные детекторы, т.е. простые цифро-аналоговые схемы — например, интервал преобразуется в напряжение и подаётся на пиковый детектор, относительно выхода которого компаратору 0,75 будут прекрасно видны и целые интервалы, и вдвое короче. Quote Share this post Link to post Share on other sites More sharing options...
petrov 1 August 4, 2019 Posted August 4, 2019 · Report post ReFFum со скоростями 100 Мб/с. Например, какие-то варианты Fast Ethernet. Там полноценные цифровые модемы с АЦП, синхронизаторами, эквалайзерами и т. п. Большая передискретизация не является необходимой. Quote Share this post Link to post Share on other sites More sharing options...
ReFFum 0 August 9, 2019 Posted August 9, 2019 · Report post Quote а готовые spdif приёмники чем не устраивают? Мне нужно сделать SPDIF приемник для Altera(Intel) Cyclone-IV. В IP я не нашел SPDIF-приемника. На сайте был Application Note, но он не доспупен для скачивания сейчас. Если Вам не трудно, подскажите готовые реализации SPDIF. Quote Share this post Link to post Share on other sites More sharing options...