реклама на сайте
подробности

 
 
> Интерфейс DDR FPGA2FPGA, Глючит зараза
_Anatoliy
сообщение Apr 26 2017, 12:42
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Есть две 12-ти битные шины DDR между FPGA, шина AB и шина CD. Частота клока - 300МГц. Для контроля на передающей стороне сейчас отправляется содержимое двоичного счётчика, а на приёмнике стоит счётчик ошибок. Сответственно 4 приёмных регистра SDR - rega,regb,regc,regd. Видно что шина CD принимается совсем без ошибок. А в шине AB наблюдаются странные регулярные ошибки. В шине А бит номер 6 не меандр! В шине B присутствуют странные регулярные "иголки". Если эти же прошивки залить в другую такую же плату - обе шины работают без ошибок. Методом замены шин на передатчике пришёл к выводу что глючит именно приёмная часть (ну или совместно с платой). Питание? Всё обвешано прилично,номинал в норме. Что посоветуете, коллеги? Логически обосновать такое поведение у меня не получилось.
На левом рисунке в строке 6 - флаг ошибки. Подвигал немного фазу клока в приёмнике - эффект нулевой.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 28)
_Anatoliy
сообщение Apr 27 2017, 09:08
Сообщение #16


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Изменяю задержки D1 и D3 в лапах, в файле *.qsf изменения есть, в assignments editor изменения есть, после компиляции смотрю в property editor - остаются старые значения wacko.gif И соответственно в сигналтапе картинки абсолютно не меняются. Как этот глюкодром уже достал...
Go to the top of the page
 
+Quote Post
Inanity
сообщение Apr 27 2017, 10:09
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Цитата(_Anatoliy @ Apr 27 2017, 10:19) *
Такой большой разброс параметров микросхем?


Что-то сомнительно, 300МГц не такая уж высокая частота для разброса параметров микросхем. Как у вас вообще тактирование устроено? Source или System synchronouse? Может генератор шалит на глючной плате?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 27 2017, 10:28
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



FYI: Source_Synchronous_Interfaces_between_Altera_FPGAs
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 27 2017, 10:54
Сообщение #19


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Inanity @ Apr 27 2017, 13:09) *
Что-то сомнительно, 300МГц не такая уж высокая частота для разброса параметров микросхем. Как у вас вообще тактирование устроено? Source или System synchronouse? Может генератор шалит на глючной плате?

А на это можете что либо сказать "А с другой стороны у меня длительность "глазка" 1600ps , а дискрета изменения задержки для D1 равна 517ps. Всего 3 отсчёта на глазок, имхо не очень большая степень свободы."? Как с такой дискретой можно получить хорошее качество приёма?

Так вот и для меня это стало сюрпризом. Схема Source synchronouse, передатчик VirtexV , приёмник ArriaV. У генератора смотрел фазовые шумы,нормально.
Пересобрал проект, в шине AB совсем выбросил задержки в лапах - в сигналтапе картинка практически не изменилась,в шестом бите как не было меандра так и нет.

Цитата(blackfin @ Apr 27 2017, 13:28) *

А это Вы к чему? Этот файл есть у меня но там не написано как с такой дискретой надёжно раскрыть максимум глазка. Две платы-то работают, охлаждал/нагревал, норма.
Go to the top of the page
 
+Quote Post
Inanity
сообщение Apr 27 2017, 12:36
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



_Anatoliy, я почему-то ошибочно зациклился на проблеме 6-го бита. А ведь проблема в иголках... И они на всех битах.

Цитата(_Anatoliy @ Apr 27 2017, 10:19) *
А с другой стороны у меня длительность "глазка" 1600ps , а дискрета изменения задержки для D1 равна 517ps. Всего 3 отсчёта на глазок, имхо не очень большая степень свободы.


Согласен, но вас не смущает то, что иголки проскакивают в битах в которых долго держится 1 или 0? Это не похоже на расфазировку. Иголка не рядом с фронтом или спадом, а прямо в центре бита (как у 7-го бита). Или у 9-10-11 битов, линия длительно находится в 1 или 0 и тут проскакивает иголка, как будто наводится помеха.


По-моему слишком глубоко копаем, обратите ещё внимание на периодичность помехи:


Даже период можно вычислить. Может какой DC-DC себя плохо чувствует? Например то, что питает банк FPGA?



Сообщение отредактировал Inanity - Apr 27 2017, 12:53
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 27 2017, 13:34
Сообщение #21


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Inanity @ Apr 27 2017, 15:36) *

Спасибо,коллега! Да,действительно, очень похоже на регулярную помеху по питанию,я и частоту прикинул - 8 МГц. Но банки с LVDS и запитаны от 2,5В формируемого линейным стабилизатором. Кондюков блокирующих хватает. Осциллом ничего криминального не видно(примерно тоже что и на земле). Тут ещё другая информация появилась. Я сейчас подал из передатчика чисто все нули в статике - а на приёмнике увидел несколько единиц! Сейчас ещё подам все единицы - потом будем думать. А периодичность помехи вполне может быть связана с периодичностью сигнала.

Выглядит это вот так:
Код
На передатчике отправляются все нули
А = 050h
B = 054h
C = 000h
D = 004h

На передатчике отправляются все единицы
А = FEFh
B = FF3h
C = FFFh
D = 003h


Поскольку выглядит как полный бред осмысливать буду завтра с утра. laughing.gif
Go to the top of the page
 
+Quote Post
blackfin
сообщение Apr 27 2017, 13:47
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(_Anatoliy @ Apr 27 2017, 16:34) *
Да,действительно, очень похоже на регулярную помеху по питанию,я и частоту прикинул - 8 МГц. Но банки с LVDS и запитаны от 2,5В формируемого линейным стабилизатором.

Линейные стабилизаторы имеют обыкновение возбуждаться, если на выходе стоит ёмкость с очень низким ESR (как правило, керамика).
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Apr 27 2017, 15:40
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Я бы задумался почему сбои приходятся ровно на спад regb[5]. Попробуйте скорость передачи уменьшить процентов на 20-30 и сравнить.
Go to the top of the page
 
+Quote Post
lembrix
сообщение Apr 27 2017, 16:32
Сообщение #24


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 13-04-17
Из: Зеленоград
Пользователь №: 96 508



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

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 27 2017, 17:52
Сообщение #25


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(blackfin @ Apr 27 2017, 16:47) *
Линейные стабилизаторы имеют обыкновение возбуждаться, если на выходе стоит ёмкость с очень низким ESR (как правило, керамика).

Что-то мне подсказывает что этот дефект был бы обнаружен быстро - питание обычно проверяется в первую очередь.

Цитата(alexadmin @ Apr 27 2017, 18:40) *
Я бы задумался почему сбои приходятся ровно на спад regb[5]. Попробуйте скорость передачи уменьшить процентов на 20-30 и сравнить.

Обязательно задумаюсь, но завтра. В чём я сегодня убедился - так это в том что фаза клока здесь ни при чём,ошибки есть даже на статических сигналах.

Цитата(lembrix @ Apr 27 2017, 19:32) *
А я вижу в момент спада 5-го бита нормальную работу счетчика, 6-ой бит переключается и все старшие биты ведут себя соответственно счетчику.
А тактовый сигнал для signal tap правильный?

Выше я говорил что эти же прошивки на двух аналогичных платах работают замечательно. К проекту у меня вопросов нет. Чует моя задница что завтра придётся микросхемы демонтировать, возможно некачественная пайка с коротышами. А возможно и приёмная микросхема поджаренная, мы её взяли по случаю, как б.у. по дешёвке т.к. всё равно купить больше негде, а заказ выполнять нужно. Вот теперь и огребём по полной...
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 4 2017, 09:50
Сообщение #26


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(_Anatoliy @ Apr 27 2017, 20:52) *
Чует моя задница что завтра придётся микросхемы демонтировать, возможно некачественная пайка с коротышами. А возможно и приёмная микросхема поджаренная, мы её взяли по случаю, как б.у. по дешёвке т.к. всё равно купить больше негде, а заказ выполнять нужно. Вот теперь и огребём по полной...

Ну с микросхемой оказалось всё нормально,был банальный непропай одной линии в диффпаре 6-го бита. А насчёт не очень большая степень свободы беру слова обратно, погорячился... При дальнейшем развитии проекта буду делать автоматику. Интересно,можно ли как нибудь исхитриться и построить глазковую диаграмму для бит данных интерфейса?
Go to the top of the page
 
+Quote Post
Timmy
сообщение May 4 2017, 12:19
Сообщение #27


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(_Anatoliy @ May 4 2017, 12:50) *
Ну с микросхемой оказалось всё нормально,был банальный непропай одной линии в диффпаре 6-го бита. А насчёт не очень большая степень свободы беру слова обратно, погорячился... При дальнейшем развитии проекта буду делать автоматику. Интересно,можно ли как нибудь исхитриться и построить глазковую диаграмму для бит данных интерфейса?

Очень любопытно, почему непропай одной линии приводил к сбоям сразу в нескольких линиях?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 4 2017, 12:36
Сообщение #28


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(Timmy @ May 4 2017, 15:19) *
Очень любопытно, почему непропай одной линии приводил к сбоям сразу в нескольких линиях?

Тоже не понятно, вроде приёмники для каждого бита индивидуальные. Был обрыв одной линии диффпары со стороны передатчика, соответственно на оба входа приёмника этого бита подавалось почти синфазное напряжение увеличенной амплитуды (примерно раза в два). А как это влияет на другие биты,хз? Как-то опора перекашивается? Но,кстати,после перепайки этот дефект ушёл но появился другой,теперь в 5-м бите идут очень редкие ошибки(ber примерно 1е-6) и тут уж нет никакой регулярности. Это уже очень похоже на уход таймингов.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 10 2017, 10:38
Сообщение #29


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Коллеги, а кто разбирался с ALTIOBUF? Чему реально равен шаг изменения задержки для Аррии-V-GX? В руководстве по применению ALTIOBUF пишут :
Код
For Arria®V (GX, GT, ST, SX) and Cyclone® V, the io_config_datain begins with MSB on the left and end with LSB on the right. Each delay block has 5 io_config_datain bits and each step is 25ps, that makes a total delay of 31 steps * 25ps = 775ps.


При симуляции этого процесса получаю шаг изменения 10ps. И где же истина?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016