|
|
  |
SerDes SN65LV1023/SN65LV1224 от TI, откликнитесь кто использовал? |
|
|
|
Dec 18 2008, 10:09
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(CommError @ Dec 18 2008, 12:03)  > Зачем нужны такие жесткие требования????
Теория и практика иногда не совпадают с нашими желаниями. У меня обычно со 2-го раза совпадает  )))) Старый мудрый Каа, говорил: "сначала подумай, что ты хочешь увидеть ,потом смотри  ))))))))" По делу, нашел в загашниках 2 подходящих БМГ-ных генератора, вроде как с джиттером меньше пики, буду пробовать.
|
|
|
|
|
Dec 18 2008, 11:33
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(cdg @ Dec 18 2008, 13:09)  У меня обычно со 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
|
|
|
|
|
Dec 18 2008, 13:09
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(sazh @ Dec 18 2008, 14:33)  1-Так ведь pll fpga не даст приемлемых результатов. 2-Наверно можно обойтись без pll, если работать на клоке 67.584 3-Может дело в проекте. Когда фаза сформированного клока может измениться относительно фазы формирования данных для этого клока. 1 - нашел генераторы 20.48, PLL в FPGA не нужен, надо только на 2 поделить 2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24  3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня  ЗЫ Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.
|
|
|
|
|
Dec 18 2008, 14:36
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 28-11-08
Из: Berlin
Пользователь №: 42 034

|
> Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24.
Думаю, что проблем не будут. У меня деление происходит в маленьких Ксайлинксах: XC 9536 XL и XC 9572 XL.
|
|
|
|
|
Dec 18 2008, 18:07
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(cdg @ Dec 18 2008, 16:09)  2 - не совсем понял к чему пример? получаем 1.024МГц, а надо в 10 раз больше 10.24  3 - здесь ничего не понял, проект синхронный, частоты прием-передача асинхронные, моделирование вопросов не вызывает, заворот платы сутками стоял ни одной ошибки, не вижу причин не доверять тому что в FPGA, может чего-то неправильно понял, поясните, туплю в конце дня  ЗЫ Правда делить в Альтере тоже не сахар, джиттер выходной не определен, прийдется искать генератор 10.24. 2 Да конечно. Дело не в posedge_clk_1_024. Я о формировании данных и клока на передачу. Меня интересовала Ваша реализация (На одном клоке или на нескольких. Если несколько их привязка относительно друг друга). Действительно прием, передача асинхронные, так почему не работает. Заворот платы (сама на себя?) работает. Мне интересно конечно, в чем дело. Почему у других тоже самое работает при той же схемной реализации. (Чтобы с доверием в будущем к этим приемникам передатчикам относиться)
|
|
|
|
|
Dec 19 2008, 06:29
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(sazh @ Dec 18 2008, 21:07)  Чтобы с доверием в будущем к этим приемникам передатчикам относиться Сам возлагаю большие надежды, на этот проект, развитие видится в перспективе, поэтому и бодаюсь.. Пока что нашел 10.24 управляемые (выпаял с плат старых), посажу сигнал управления на землю получится неуправляемый )))) Сейчас хочу проект сильно упростить, оставить только фреймеры и счетчики ошибок, все остальное в топку, чтоб компилилось быстрее, может в таком виде выложу где нибудь на обозрение. ЗЫ У большинства (у кого "работает") 8b10b кодирование используется и практически никто CRC не считает, код избыточный.. поэтому может проблем и не видят
|
|
|
|
|
Dec 19 2008, 07:00
|
Гуру
     
Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804

|
Цитата(cdg @ Dec 19 2008, 09:29)  У большинства (у кого "работает") 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 работает даже на витой паре. (Сделано под оптику, но до нее еще не добрался).
|
|
|
|
|
Dec 19 2008, 07:26
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(sazh @ Dec 19 2008, 10:00)  ... 8b10b круто, тут вопросов нет, у меня просто фрейм без избытка, как в STM1, нет у меня возможности (желания) отдадть дяде 20% канала, жаба душит.... Главный вопрос, как определить джиттер на выходе FPGA Altera????
|
|
|
|
|
Dec 19 2008, 07:40
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(sazh @ Dec 19 2008, 10:35)  А с него один выход на fpga, другой на передатчик. Моему (TI) де/сериалайзеру LVTTL нада т.е. 3.3v
|
|
|
|
|
Dec 20 2008, 10:36
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(Zwerg_nase @ Dec 19 2008, 18:18)  А какая у Вас Altera? Судя по даташитам приемлимый джиттер гарантирует только Stratix (50 - 250 ps), да и то с использованием PLL и выводом частоты через ногу deicated clock output. CyclonII пользую. Вот CommErr правда утверждает, что делить можно, у него работает, сомнения берут однако по поводу получаемого джиттера.
|
|
|
|
|
Sep 25 2009, 16:07
|
Участник

Группа: Участник
Сообщений: 28
Регистрация: 28-11-08
Из: Berlin
Пользователь №: 42 034

|
Проблема состоит в том, что исользованный оптотрансивер вовсе не годится для линейного кода со скремблированием. Тут нужно либо использовать трансивер для цифового ТВ, который выполняет стандарты/рекомендации SMPTE 259 M, RP-178, EG 34, либо применить код 8B/10B. Вот что.
|
|
|
|
|
Dec 4 2009, 12:46
|
Группа: Участник
Сообщений: 11
Регистрация: 25-11-09
Пользователь №: 53 854

|
так что в итоге???вопрос к основателю темы - получилось добиться какого-нибудь результата?столкнулись с такой же проблемой....вот теперь думаем как ее решать...может поможет кто ?????
|
|
|
|
|
Jan 20 2010, 08:59
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(ded19842008 @ Dec 4 2009, 15:46)  так что в итоге???вопрос к основателю темы - получилось добиться какого-нибудь результата?столкнулись с такой же проблемой....вот теперь думаем как ее решать...может поможет кто ????? Добрый день! Извините, за запоздалый ответ, так обстоятельства сложились  Битва была долгой, но в конечном итоге сейчас на руках имею работающее решение. Доработка проекта велась сразу по нескольким направлениям, перечислю все, что было сделано: 1) Использованы малошумящие генераторы ГК-155-П 6Б-10-10.24МГц (БМГ+) 2) Частота с выхода генератора подана через согласующие резисторы непосредственно на входы SN65LV1023ADB и SN65LV1224BDB и FPGA, была мысль поставить буфферный элемент нечто вроде IDT5V55, но не стал. 3) PCB переведена на 4 слоя. 4) согласование LVPECL <-> LVDS (согласование оптики с TI) выполнено преобразователем MAX9376EUB. 5) Для достижения автоматического вхождения в синхронизм данные подаваемые на сериалайзер предварительно скремблируются. 6) для анализа целостности данных в потоке применена процедура подсчета CRC. Итог все работает, нареканий нет.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|