|
|
  |
Как изменить скважность, Совет нужен... |
|
|
|
Aug 2 2011, 18:54
|
Участник

Группа: Свой
Сообщений: 64
Регистрация: 4-02-06
Пользователь №: 13 996

|
Думаю можно ипользовать для этого IODELAYE1 (Xilinx Virtex6) или что-то подобное в других FPGA. В отличие от PLL не добавляет джиттер - для сигналов типа CLK, а только заданную калиброванную задержку. Более подробно работа описана в datasheet.
|
|
|
|
|
Aug 2 2011, 21:02
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(тау @ Aug 2 2011, 23:37)  обычно АЦП хочет иметь на входе 50/50% . Если имеется чистый клок с такой скважностью- почему бы его не подать на тактирование АЦП ?
Зачем подавать на АЦП импульс с нестабильным во времени " +/- 10..15% периода" спадом если можно без этого обойтись ? А в том месте где нужна задержка на 20% от периода (надеюсь что это уже не АЦП) , там поставить просто линию задержки например, или любой подходящий формирователь .
Делать же кривой импульс с стабильным "нешумящим" фронтом и нестабильным , читай "шумящим" спадом, и подавать это на клок АЦП - гиблая затея. Шум спада в большей или меньшей степени отразится в шуме фронта. АЦП AD7356, привожу картинку работы. В доке написано выборка производится по спаду CS (перепутал, написал по фронту в предыдущих постах). Так вот этот спад надо и стабильным (во времени) сделать, т.е. с малым джитером. SCLK пойдет однозначно с ПЛИС, там можно и гряззный клок. В общем спад такой есть, НО если он (АЦП) обнаружит фронт CS раньше 10 клоков SCLK (а при скважности CS 50/50 так и будет) он уходит в power-down, а это мне не надо, а если формировать фронт CS после 10-го клока SCLK то получается скважность CS должна быть примерно 20/80. Т.е. когда CS уйдет в 1 неважно, лишь бы после 10-го клока, а вот переход в ноль определяет момент выборки. Цитата Думаю можно ипользовать для этого IODELAYE1 (Xilinx Virtex6) или что-то подобное в других FPGA. В отличие от PLL не добавляет джиттер - для сигналов типа CLK, а только заданную калиброванную задержку. Более подробно работа описана в datasheet. Через ПЛИС пускать чистый клок - сразу все погубить. Проверено. Пускал чистый клок скважностью 50/50 просто НАПРЯМУЮ через ПЛИС, т.е. использовались входной буфер, линия связи, выходной буфер. Как только в плисине начинает что-то работать, все, конец, джитер клока вылетает далеко за рамки дозволенного. Видимо из-за того что порог срабатывания элементов прыгает. Соединил проводом мимо ПЛИС (а не через ПЛИС внутри) - до неприличия красивый сигнал, все ОК. Есть такая идея, покритикуйте: взять у техаса логический элемент AND (один в корпусе SC70), повесить на его питание фильтр с хорошим керамическим конденсатором (чтоб порог срабатывания от питания не прыгал), чистый клок пустить через него и гейтить его плисиной. Суть такая: изначально выставляем на выходе ПЛИС лог.1 (он же вход AND2), поэтому как только клок на втором входе AND перейдет в ноль, на выходе тоже появится ноль - получаем "чистый" спад. Детектим этот спад плисиной, как только появился - на входе AND выставляем 0 (т.е. выход AND в 1 уже не перейдет при переходе чистого клока в 1), генерим 14 клоков, считываем данные, выставляем на входе AND 1. К этому времени чистый клок на втором входе AND уже будет в 1 и на выходе почаем грязный переход из 0 в 1. Дальше по циклу.
Эскизы прикрепленных изображений
|
|
|
|
|
Aug 5 2011, 10:10
|

.
     
Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757

|
Цитата(alexPec @ Aug 3 2011, 01:02)  АЦП AD7356, .... Через ПЛИС пускать чистый клок - сразу все погубить. Проверено. Пускал чистый клок скважностью 50/50 просто НАПРЯМУЮ через ПЛИС, т.е. использовались входной буфер, линия связи, выходной буфер. Как только в плисине начинает что-то работать, все, конец, джитер клока вылетает далеко за рамки дозволенного. Видимо из-за того что порог срабатывания элементов прыгает. Соединил проводом мимо ПЛИС (а не через ПЛИС внутри) - до неприличия красивый сигнал, все ОК. В таких SAR ADC чистый клок не нужен. Спад CS важен и то не всегда. Вот у нас есть пара проектов подобных на 16 разрядных SAR ADC, с полосой сигнала до 300 кГц , там и CS и CLK идут с плисин и ...... всё великолепно просто. То что у вас там с плисовским клоком возникли проблемы - есть какая то другая причина , нежели джиттер. Для хорошего джиттера по CS (например вам это сильно надо из за высокой зоны найквиста) просто пропустите его через отдельный D-триггер , тактируемый чистым клоком и все будет хорошо. Ledum прав. ps / вот вы писали вначале "Он генерит импульсы LVDS со скважностью 50/50. Надо изменить эту скважность с пропорцией примерно 80/20" тут у Вас путаница - клоки это одно , их скважность не надо менять, а CS идет с понижением частоты относительно клока, там любая скважность может быть образована чем угодно, да хоть плисиной. Только почистить при необходимости, что возможно и не надо , имхо. причина , из-за чего у вас "все погубилось" джиттером клока - неясна. Клок не защелкивает данные в УВХ вашего АЦП, это делает CS Цитата The CS signal initiates the data transfer and conversion process.
Сообщение отредактировал тау - Aug 5 2011, 10:26
|
|
|
|
|
Aug 5 2011, 15:36
|
Профессионал
    
Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968

|
Цитата(ledum @ Aug 5 2011, 13:35)  ИМХО Вы все правильно написали. Хотя я бы поставил одногейтовый триггер с подачей чистого клока на вход С, а сброс или установка (что более для Вас удобно) с плисины после отсчета ею 14+ SCLK. Что не очень от Вашего отличается. Хотя смотря что оцифровываете. Может джиттер ПЛИС уже не столь страшен. Если там, скажем, первый Найквист при 5МГц оцифровки и 12 бит Вот то что я хотел услышать - значит направление мысли верное, спасибо. А джитер плис страшен - это демодуляция OFDM и джитер плис при оцифровке здесь сказывается так же как фазовый шум в модуляторе - соседние бины спектра склеиваются при джитере больше 50..100ps. Цитата Под клоком я имел ввиду меандр CS, думаю и ТС об этом говорил. Именно так! Спасибо всем участвовашим в дискуссии, все что хотел -услышал, осталось проверить теорию на практике!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|