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

SerDes SN65LV1023/SN65LV1224 от TI

> Зачем нужны такие жесткие требования????

 

Теория и практика иногда не совпадают с нашими желаниями.

У меня обычно со 2-го раза совпадает :))))) Старый мудрый Каа, говорил: "сначала подумай, что ты хочешь увидеть ,потом смотри :)))))))))"

По делу, нашел в загашниках 2 подходящих БМГ-ных генератора, вроде как с джиттером меньше пики, буду пробовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня обычно со 2-го раза совпадает :))))) Старый мудрый Каа, говорил: "сначала подумай, что ты хочешь увидеть ,потом смотри :)))))))))"

По делу, нашел в загашниках 2 подходящих БМГ-ных генератора, вроде как с джиттером меньше пики, буду пробовать.

 

Так ведь pll fpga не даст приемлемых результатов. Наверно можно обойтись без pll, если работать на клоке 67.584

Может дело в проекте. Когда фаза сформированного клока может измениться относительно фазы формирования данных для этого клока.

module clk_serdes
(
input            clk_67_584,
output           clk_10_24,
input      [9:0] in_data_a, in_data_b,
output reg [9:0] out_data_a, out_data_b
);

reg [5:0] ct;
reg       div_2;

wire posedge_clk_10_24, negedge_clk_10_24;


assign clk_10_24 = div_2;
assign posedge_clk_10_24 = (ct == 6'd32) && (div_2 == 1'b0),
       negedge_clk_10_24 = (ct == 6'd32) && div_2;
       
always @(posedge clk_67_584)
begin
if (ct == 6'd32)         ct <= 6'd0;
else                     ct <= ct + 1'b1;

if (ct == 6'd32)         div_2 <= ~div_2;

if (posedge_clk_10_24)   out_data_a <= in_data_a;
if (negedge_clk_10_24)   out_data_b <= in_data_b;
end

endmodule

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1-Так ведь pll fpga не даст приемлемых результатов.

2-Наверно можно обойтись без pll, если работать на клоке 67.584

3-Может дело в проекте. Когда фаза сформированного клока может измениться относительно фазы формирования данных для этого клока.

 

1 - нашел генераторы 20.48, PLL в FPGA не нужен, надо только на 2 поделить

2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24 :)

3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня :(

 

ЗЫ

Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

> Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.

 

Думаю, что проблем не будут. У меня деление происходит в маленьких Ксайлинксах: XC 9536 XL и XC 9572 XL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24 :)

3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня :(

 

ЗЫ

Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.

 

2 Да конечно. Дело не в posedge_clk_1_024. Я о формировании данных и клока на передачу. Меня интересовала Ваша реализация (На одном клоке или на нескольких. Если несколько их привязка относительно друг друга).

Действительно прием, передача асинхронные, так почему не работает. Заворот платы (сама на себя?) работает. Мне интересно конечно, в чем дело. Почему у других тоже самое работает при той же схемной реализации. (Чтобы с доверием в будущем к этим приемникам передатчикам относиться)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы с доверием в будущем к этим приемникам передатчикам относиться

Сам возлагаю большие надежды, на этот проект, развитие видится в перспективе, поэтому и бодаюсь..

Пока что нашел 10.24 управляемые (выпаял с плат старых), посажу сигнал управления на землю получится неуправляемый ))))

Сейчас хочу проект сильно упростить, оставить только фреймеры и счетчики ошибок, все остальное в топку, чтоб компилилось быстрее, может в таком виде выложу где нибудь на обозрение.

 

ЗЫ

У большинства (у кого "работает") 8b10b кодирование используется и практически никто CRC не считает, код избыточный.. поэтому может проблем и не видят :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У большинства (у кого "работает") 8b10b кодирование используется и практически никто CRC не считает, код избыточный.. поэтому может проблем и не видят :(

 

Действительно так. Но crc считают. (Тут нет проблем). Может быть дело в организации фреймовой структуры. Присутствии в канале idle состояния

case (ct_idle)
2'd0  : {out_data_rg, txct} <= {8'hbc, 2'b01}; /// k28.5
2'd1  : {out_data_rg, txct} <= {8'h95, 2'b00}; /// d21.4
2'd2  : {out_data_rg, txct} <= {8'hb5, 2'b00}; /// d21.5
2'd3  : {out_data_rg, txct} <= {8'hb5, 2'b00}; /// d21.5 ////////Idle

 

Точного соответствия рекомендациям. Наличие pecl генератора на pecl буфер fpga (Ведь Ваше согласование - это 3.3в pecl, а не lvds. Да и приемники передатчики тоже к pecl ближе.

В общем на 100 мГц с 8b10b работает даже на витой паре. (Сделано под оптику, но до нее еще не добрался).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

8b10b круто, тут вопросов нет, у меня просто фрейм без избытка, как в STM1, нет у меня возможности (желания) отдадть дяде 20% канала, жаба душит.... Главный вопрос, как определить джиттер на выходе FPGA Altera????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Главный вопрос, как определить джиттер на выходе FPGA Altera????

 

Не знаю. У меня с pecl генератора на LVPECL FANOUT BUFFER. А с него один выход на fpga, другой на передатчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А с него один выход на fpga, другой на передатчик.

Моему (TI) де/сериалайзеру LVTTL нада т.е. 3.3v

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Главный вопрос, как определить джиттер на выходе FPGA Altera????

А какая у Вас Altera? Судя по даташитам приемлимый джиттер гарантирует только Stratix (50 - 250 ps), да и то с использованием PLL и выводом частоты через ногу deicated clock output.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А какая у Вас Altera? Судя по даташитам приемлимый джиттер гарантирует только Stratix (50 - 250 ps), да и то с использованием PLL и выводом частоты через ногу deicated clock output.

CyclonII пользую. Вот CommErr правда утверждает, что делить можно, у него работает, сомнения берут однако по поводу получаемого джиттера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема состоит в том, что исользованный оптотрансивер вовсе не годится для линейного кода со скремблированием. Тут нужно либо использовать трансивер для цифового ТВ, который выполняет стандарты/рекомендации SMPTE 259 M, RP-178, EG 34, либо применить код 8B/10B.

Вот что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Добрый день! Извините, за запоздалый ответ, так обстоятельства сложились :( Битва была долгой, но в конечном итоге сейчас на руках имею работающее решение. Доработка проекта велась сразу по нескольким направлениям, перечислю все, что было сделано:

1) Использованы малошумящие генераторы ГК-155-П 6Б-10-10.24МГц (БМГ+)

2) Частота с выхода генератора подана через согласующие резисторы непосредственно на входы SN65LV1023ADB и SN65LV1224BDB и FPGA, была мысль поставить буфферный элемент нечто вроде IDT5V55, но не стал.

3) PCB переведена на 4 слоя.

4) согласование LVPECL <-> LVDS (согласование оптики с TI) выполнено преобразователем MAX9376EUB.

5) Для достижения автоматического вхождения в синхронизм данные подаваемые на сериалайзер предварительно скремблируются.

6) для анализа целостности данных в потоке применена процедура подсчета CRC.

Итог все работает, нареканий нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...