Перейти к содержанию
    

Lionet

Участник
  • Постов

    36
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Lionet

  • Звание
    Участник
    Участник

Посетители профиля

1 156 просмотров профиля
  1. Честно признаюсь, несколько потерял ход темы. Как считаете, нарушает или нет нижеприведённая схема требование "1.11.З. Стыковые цепи на основе симметричных кабелей не должны иметь гальванической связи между собой и с «землей»."?
  2. Благодарю! К слову, основной проблемой интерфейса для не очень опытного ПЛИСовода является отсутствие в составе сигналов линк-портов постоянного тактового сигнала. Десериализовать и прокинуть в другой домен синхронизации такой достаточно высокоскоростной поток из-за этого весьма непросто. Последовательные трансиверы (повезло, у кого есть при нынешних ценах на ПЛИС) тоже неприменимы, насколько я понимаю - нет нужного кодирования, чудной прерывистый клок отдельно от данных и т.д.
  3. "Проспал" уведомление об ответах в теме :) Напряжение изоляции у сигнальных трансформаторов (ТИЛ или ТОТ, например) - 100...500 вольт; выше, соответственно, пробой. А диоды применяют для защиты от "статики", которая по IEC 61000-4-2, например, до 8 кВ. Главное, чтобы энергия разряда не превышала ту, которую диод способен рассеять. Разрядники, по аппноутам, рекомендациям и прочим примерам - это всё таки для чего-то вроде воздушных линий связи, когда энергия разряда весьма велика (всякие "наведенки" от близких молний и т.п.). В любом случае, достаточны ли 90-100 вольт "на пробой" разрядника или трансформатора для выполнения требования "не должны иметь гальванической связи между собой и с «землей»"? Омметр-то конечно покажет, что соединения нет, но что-то мне кажется, есть какой-то момент, который я упустил.
  4. А какой именно ГОСТ на E1 Вы имеете ввиду? G.703/26886-86 про параметры изоляции как раз ничего не определяют, кроме самой её необходимости. А по TVS-диодам - они вроде как ставятся ближе всего ко входу, чтобы и трансформатор от пробоя "статикой" защищать.
  5. Разбираюсь с реализацией интерфейса E0 по ITU-T G.703. ГОСТ 26886-86 (наша калька с G.703) требует: 1.11.З. Стыковые цепи на основе симметричных кабелей не должны иметь гальванической связи между собой и с «землей». Выполнить данное требование можно с помощью разделительного трансформатора, но какое у него должно быть допустимое напряжение между обмотками и сопротивление изоляции? Предполагаю, что на это есть ли какой-то отдельный ГОСТ по цифровым интерфейсам, либо ГОСТ на гальваническую изоляцию вообще (причём тех же лет издания, а не что-то современное), но найти пока не смог. Вторая проблема: для защиты от "статики" и прочих перенапряжений вроде бы стандартное решение - пара TVS-супрессоров с проводников витой пары на корпус/землю или, в особо тяжёлых случаях (опять же, надо как-то классифицироваться по какому-то ГОСТ) - газовый разрядник. Но не нарушают ли они требования гальванической изоляции и на какое минимальное напряжение пробоя их нужно выбирать (что выше сигнального - очевидно). Поискал по похожим по конструкции (витая пара + трансформатор) интерфейсам - в телефонии (С1-ТЧ ГОСТ 25007-81) та же неопределённая фраза, в Ethernet вроде как аж 2 кВ (но все ставят TVS на землю), в МКИО (MIL-STD-1553) прямое указание найти сходу не осилил. P.S. Вопрос по сути общий по интерфейсам с трансформатором на входе/выходе. Так что если модераторы решат перенести из раздела G.703 - не буду возражать :)
  6. Доброго дня! Внезапно понадобилось вспомнить такой олд-скул, как соединение сигнального процессора с ПЛИС по последовательным ("линк") портам. В связи с чем нагуглил AN332 от Altera(Intel, да) и XAPP634, XAPP635 от Xilinx-а. Одна беда - корпоративными сайтами всегда заведуют какие-то мракобесы, которые то внешний вид поменяют, то структуру, то файлы удалят. Сделать с этим что-то сложно, поэтому прощу помощи у коллективного разума :) Если есть у кого-то архивы с исходниками от данных аппноутов - поделитесь, пожалуйста. Смысл там, конечно, понятен и по тексту (хоть его не удалили), но хотелось бы увидеть и референсный код. Есть еще Xilinx-овский XAPP727, но pdf-ка и архив с исходниками есть на этом форуме. Если кто-то подскажет еще какие-то примеры - буду благодарен.
  7. Я имею ввиду для интерфейса передачи данных. И сделали "gated clock", который одновременно и тактирование, и и сигнал валидности данных
  8. Внезапно задачка оказалась нетривиальной. Вот же сэкономили разработчики микросхемы пару ног на отдельные постоянный клок и "data valid" Хотел пообещать, что во вторник доберусь до нужных отладок и попробую реализовать, но там 3 дня разъезды.
  9. Тут есть нюанс: RDY - это сигнал, формируемый во внутреннем тактовом домене ПЛИС (например, когда процессор проинициализировал DMA для приёма данных). Соответственно, он находится не в тактовом домене входного сигнала CLK (в котором работает счетчик входных бит). И чтобы его туда пробросить, нужно, чтобы этот CLK работал. А он появляется, когда уже пошла передача, соответственно что-то обнулять поздно. Т.е. логически я идею, конечно, понял и сам пытался её реализовать. Но всё оказалось не так просто
  10. Как вариант. Но всё равно остаётся ощущение, что что-то делаю не так. К слову, тот же счётчик входных бит надо бы периодически обнулять - при сбросе или перед приёмом очередного байта (пусть он и сам по переполнению обнуляется, но так дополнительная защита от сбоев). А для этого сигнал от внутреннего клока ПЛИС надо затащить в домен внешнего CLK. а его опять нет до передачи данных. Снова засада...
  11. Думаю, можно оставить в стороне все частоты входного тактирования выше 100 МГц - бОльшая скорость в моей задаче не требуется, а меньше не позволяет микросхема-передатчик. Собственно, на такой частоте у меня сейчас работает "сырой" тест приёмника данных на ZedBoard-e (Zynq-7020) - выводит полученные данные на светодиоды :) Регистр причём даже один - загружается по обоим фронтам, хотя это, возможно, и не совсем корректно. Проблема в том, что вся эта схема работает в тактовом домене входного сигнала (тот самый CLK, который то есть, то нет). И чтобы корректно передать их в основной тактовый домен ПЛИС,нужно какое-то хитрое FIFO, которое умеет работать с непостоянным клоком с одной стороны. IP core FIFO от Xilinx не умеет - даже в даташите написано.
  12. Приветствую! Возникла задача сделать на ПЛИС приёмник данных по интерфейсу, временная диаграмма работы которого схематически выглядит так: RDY - выход (для ПЛИС), показывает внешнему устройству, что можно начинать передачу данных. Начавшуюся передачу тормозить уже нельзя, к слову, но объём каждой посылки фиксирован и тут всё норм. С этим сигналом сложностей нет - он синхронизирован с логикой в ПЛИС. CLK - внешний клок, определяющий как частоту следования данных, так и битовую синхронизацию - первый фронт после выставления RDY - нулевой бит и т.д. Как видно, этот сигнал тактирования присутствует не постоянно, а только на время передачи, что, как оказалось, доставляет массу проблем. Din0...Din3 - линии передачи данных. Их может быть 1 или 4. Тут всё просто. Как видно, интерфейс DDR - с передачей данных по обоим фронтам тактового сигнала. Это не представляется проблемой, т.к. получить data_rise и data_fall несложно, но это увеличивает число параллельных сигналов, подлежащих передаче между доменами тактирования в ПЛИС. Впрочем, Xilinx-овский примитив IDDR применить не удалось - он конвееризирован и при любой конфигурации требует несколько дополнительных тактов (которых у меня нет) для вывода последних полученных бит. После обдумывания проблемы, я вспомнил, что это мне напоминает - частый на форумах вопрос о реализации SPI slave - там тоже клок внешний и присутствует только при передаче данных. Но в том случае большинство рекомендаций сводится к стробированию входных сигналов внутренним тактовым через стандартную схему с регистрами. Однако, даже там получается шина как минимум из двух сигналов SPI_CLK и SPI_MOSI, а шину так синхронизировать, насколько я знаю, не рекомендуют. А главный вопрос - скорость передачи. В случае SPI - внешняя тактовая МГц до 10 при клоке ПЛИС 50-100 МГц. А у меня интерефейс работает с частотой 100-500 МГц. Понятно, что после десериализации частота следования данных упадёт как минимум в 8 раз (если распараллеливать в 8 бит по фронту + 8 бит по спаду), но синхронизировать шинные сигналы через асинхронные регистры нельзя, нужно FIFO. А вот как раз FIFO у Xilinx работает только при постоянно присутствующем (free running) тактировании с обеих сторон. Засада... Пока что попробовал сделать приём данных в принципе, только по внешнему клоку. Сыро, но работает. Но чтобы всё это интегрировать в полную подсистему, с AXI-stream инфраструктурой, нужно корректно передать данные во внутренний тактовый домен - иначе хитрая Вивада пошлёт лесом, да и работать всё будет глючно. Пока что правильного рещения не нашёл.
  13. Брал паузу на обдумывание :) Спасибо за советы, идея в целом понятна. В итоге, необходимо приделывать демодулятор для интересующего вида сигналов и сравнивать показатели уже с ним. Здесь, конечно, есть некоторые опасения, что можно занизить какие-то характеристики из-за неоптимальной реализации этого самого демодулятора (т.к. до него серьёзно дело ещё не дошло). Было бы интересно сравнить, условно, тракт от антенны до квадратур различных конструкций (где, разумеется, эти квадратуры есть). Но это уже, похоже, тема другой ветки.
  14. Пусть меня интересует только ЧМ, как я написал. А остальном верно?
×
×
  • Создать...