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

 
 
> Cyclone III PLL bug, Откуда дровишки(+)
des00
сообщение Dec 29 2009, 08:16
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день господа!

Есть у меня проект Cyclone III (25 ка, 7 ка в TQFP144 корпусе), наблюдается там занятнейший баг.

Схема следующая ClockGen -> FPGA -> АЦП. Тактирование АЦП идет от ПЛИС (так сделано для удешевления, на Cyclone I/II работает без проблем). Сигнал переноситься из третьей зоны найквиста на ПЧ, потом идет обработка. С генератора идет тактовая 96МГц. Для эксперимента сделано две сборки : 1. Клок для АЦП берется с ПЛИС напрямую со входного порта. 2 Клок для АЦП берется с PLL в режиме работы 1:1. В остальном прошивки абсолютно одинаковые. С выхода АЦП сигнал сливается на комп, где по нему строим фурье.

1 ая сборка спектр сигнала чистый, а вот на второй видно что принимается два спектра сигнала, нужный и мешающий, с отстройкой по частоте на пару МГц. В процессе копания платы в спектре выходного сигнала PLL нашлась частота, преобразование которой дает мешающий спектр. Вот история в картинках

Входной клок на ПЛИС 96МГЦ
Прикрепленное изображение

Выходной клок с ПЛИС с работающей PLL
Прикрепленное изображение

Частота, преобразование с которой крайне не айс
Прикрепленное изображение

Та же частота когда работаем с 1 ой сборкой
Прикрепленное изображение


PLL стоит в режиме Auto (хотя проверял режимы Low/Medium/High), частота ГУНа 576МГц. Главный вопрос откуда взялась частота в 336МГц? На плате нет источников сигнала такой, либо кратной частоты, на гармонику ГУНа это тоже не похоже. Еще вопрос что такого PLL сделала с чистым сигналом, что его так разнесло?

Питание ПЛИС и PLL сделано как по даташиту. В схеме стоят импульсники, но замена их на хороший лабораторный источник питания результатов не дает. И самое занятное что точно так же сделаны платы на Cyclone I/II, там таких проблем нет. Это особенность третьих сыклонов, или особенность корпуса ?

ЗЫ. Может быть Stewart Little поможет выяснить ситуацию unsure.gif


--------------------
Go to the top of the page
 
+Quote Post
7 страниц V  « < 2 3 4 5 6 > »   
Start new topic
Ответов (45 - 59)
DmitryR
сообщение Jan 3 2010, 14:11
Сообщение #46


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(des00 @ Jan 3 2010, 16:48) *
Ушел коннект с c0 на внешний пин, затем пошел на ближайший CLKCTRL блок

Таким образом, нагрузка на с0 получилась 2 вместо одного. Вобщем, я тоже уже советовал разделить на разные выводы PLL тактирование внешних и внутренних схем. IMHO искать смысл в чем-то разумно тогда, когда на пробу уходят значительные силы. Когда на это уходит одна перекомпиляция - надо попробовать и забыть.
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 3 2010, 14:26
Сообщение #47


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des00 @ Jan 3 2010, 19:48) *
попробывать то можно, но вот логического обоснования не вижу %). Ушел коннект с c0 на внешний пин, затем пошел на ближайший CLKCTRL блок, там прошел через мультиплексоры и ушел через буфер. Буфер этот скорее всего с высокоомным входом и сильно низкоомным выходом.

ну, омы буфера слабо коррелируют с reverse isolation. по аналогии с усилителем, он имеет мощный выход(такую сеть на такой тактовой тянуть), маленькие размеры, меры по защите входа от выхода уже нужны. а если еще и вход высокоомный, сами понимаете..
Цитата
Каким местом выход этого буфера даст наводку на вход этого буфера, а тем более на выделенную линию связи PLLCLKOUT в принципе не понятно.

выход буфера - мощный, согласование - хреновое в общем случае, линия связи соединена с входом буфера.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 3 2010, 16:22
Сообщение #48


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



ок после праздников проверю.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 5 2010, 11:55
Сообщение #49


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Хроники расследования :

Забежал на пару часов на работу, проверил несколько идей. Результаты отрицательные.

1. Идея насчет изоляции клока АЦП от всего в схеме. Условия : PLL_3, с0 - только АЦП, с1/с2 - только система. c0 идет на PLLCLKOUT. Результат : помеха остается. Если инверсии клока нет то уровень помехи -28дБ. Если инверсия клока есть уровень помехи -23дБ.

2. Проверка использования другой PLL. Условия: PLL_2. Результат тот же -23/-28Дб.

Еще заметил интересную вешь. Есть у меня сигнал сброса CIC фильтров, в этом случае с выхода CIC фильтров летят нули. Так вот помеха пропадает в случаях :
1. Отключаю enable chain
2. Включаю сброс CIC фильтров.

Т.е. enable chain не сильно то и причем. Получается косяк в количестве хлопающей логики.


--------------------
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Jan 6 2010, 05:01
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(des00 @ Jan 5 2010, 17:55) *
Т.е. enable chain не сильно то и причем. Получается косяк в количестве хлопающей логики.

мысль о недостаточной развязке клоков на этом и основывалась: клок логики самый разветвленный, большие блоки при срабатывании вполне могут давать просадку (по уровню, на самом клоке). судя по децибелам, что вы привели, просадку в момент строба должно быть хорошо видно на осциллографе. непонятен механизм наводки этого "грязного" клока на клок АЦП. а если попробовать так: задействовать 2 PLL, одна только для АЦП, вторая только для логики.
upd:
собрал на стартер-ките(EP3CF324) системку с PLL и ниосом. входной клок 50 МГц идет на PLL, c0 (66 МГц) идет на пин PLLCLKOUT, с1 - на ниос (50 МГц, имитирует логику проекта). смотрю спектр с PLLCLKOUT (выведен на разъем), интересная картина:

видны гармоники и свои, и 50 МГц(паразитные). так что BGA не спасает )
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Jan 6 2010, 06:25
Сообщение #51


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(des00 @ Jan 5 2010, 20:55) *
Хроники расследования :

Забежал на пару часов на работу, проверил несколько идей. Результаты отрицательные.

1. Идея насчет изоляции клока АЦП от всего в схеме. Условия : PLL_3, с0 - только АЦП, с1/с2 - только система. c0 идет на PLLCLKOUT. Результат : помеха остается. Если инверсии клока нет то уровень помехи -28дБ. Если инверсия клока есть уровень помехи -23дБ.

2. Проверка использования другой PLL. Условия: PLL_2. Результат тот же -23/-28Дб.

Еще заметил интересную вешь. Есть у меня сигнал сброса CIC фильтров, в этом случае с выхода CIC фильтров летят нули. Так вот помеха пропадает в случаях :
1. Отключаю enable chain
2. Включаю сброс CIC фильтров.

Т.е. enable chain не сильно то и причем. Получается косяк в количестве хлопающей логики.

может это SSN? cranky.gif
http://www.altera.com/literature/an/AN508.pdf


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 6 2010, 08:27
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Postoroniy_V @ Jan 6 2010, 09:25) *
может это SSN? cranky.gif

Да это явно оно, к бабке не ходи, только я думаю, скорее всего это SSN в части SSO, особенно тех O, что рядом с PLL.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 6 2010, 08:37
Сообщение #53


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(vadimuzzz @ Jan 5 2010, 23:01) *
а если попробовать так: задействовать 2 PLL, одна только для АЦП, вторая только для логики.

сейчас смоюсь на работу и проверю

Цитата
видны гармоники и свои, и 50 МГц(паразитные). так что BGA не спасает )

ндя и это на альтеровском ките....


Цитата(Postoroniy_V @ Jan 6 2010, 00:25) *
может это SSN? cranky.gif

Насколько я понимаю SSN относиться к наводкам на сигналы ввода/вывода когда много пинов переключаются одновременно. Под данную конкретную ситуацию это не сильно подходит %)


Цитата(SM @ Jan 6 2010, 02:27) *
Да это явно оно, к бабке не ходи, только я думаю, скорее всего это SSN в части SSO, особенно тех O, что рядом с PLL.

ну вот откуда возьмутся наводки, когда клок выводился в отдельный, неиспользуемый порт, при этом по бокам у него была земля ? smile.gif

UPD при этом slew rate везде выставлен самый медленный


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 6 2010, 08:42
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jan 6 2010, 11:37) *
ну вот откуда возьмутся наводки, когда клок выводился в отдельный, неиспользуемый порт, при этом по бокам у него была земля ? smile.gif

А какая разница-то, куда и как выводится клок, если, например, прыгает потенциал подложки под PLL-кой из-за того, что ее обложили скоростными портами с fast slew rate, нагруженными аццкими емкостями... Уже очень давно как все эти дела производителями ПЛИС свалены на разработчика содержимого ПЛИС, и ПЛИСы имеют ограничение по SSO куда более жесткое, чем можно максимально нагрузить при помощи среды разработки. Насчет расположения дифпар об этом среда хоть как-то заботится, а вот о расположении PLL по видимому нет.

Да и есть уверенность в грамотности топологии разводки питания на плате? То, что это кит, вовсе не говорит, что индус, его разрабатывавший, все предусмотрел.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 6 2010, 08:48
Сообщение #55


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Jan 6 2010, 02:42) *
А какая разница-то, куда и как выводится клок, если, например, прыгает потенциал подложки под PLL-кой из-за того, что ее обложили скоростными портами с fast slew rate, нагруженными аццкими емкостями... Уже очень давно как все эти дела производителями ПЛИС свалены на разработчика содержимого ПЛИС, и ПЛИСы имеют ограничение по SSO куда более жесткое, чем можно максимально нагрузить при помощи среды разработки. Насчет расположения дифпар об этом среда хоть как-то заботится, а вот о расположении PLL по видимому нет.


Все так, но как уже писал. У ПЛИС используется 23 порта(!!!). При этом 10 это данные АЦП (вход), 1 клок АЦП(выход), 8 inout USB, 2 USB стробы (выходы), 2 USB флаги (входы). ВСЁ. USB используется в асинхроне, там эквивалентная частота около 8МГц. Остальные порты заглушены, в них выдается 0. Какие сверхскоростные интерфейсы вы тут видите?

Цитата
Да и есть уверенность в грамотности топологии разводки питания на плате? То, что это кит, вовсе не говорит, что индус, его разрабатывавший, все предусмотрел.

Про кит да, никакой. А в человеке который разводил мою плату есть %) эффект проявляющейся на ней тот же самый.


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 6 2010, 08:52
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jan 6 2010, 11:48) *
Какие сверхскоростные интерфейсы вы тут видите?

Теперь вижу, что никаких. Тогда остается превышение SSN не по SSO, а по количеству одновременно переключаемых тяжело нагруженных LE внутри. Как вариант - попробуйте уменьшить max_fanout синтезатору (точно знаю, что синплифай с латисом это умеют, а вот квартус - не знаю, но думаю должен ). Или поставить более толстый кристалл, совместимый по пинам.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 6 2010, 08:59
Сообщение #57


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Jan 6 2010, 02:52) *
Тогда остается превышение SSN не по SSO, а по количеству одновременно переключаемых тяжело нагруженных LE внутри. Как вариант - попробуйте уменьшить max_fanout синтезатору (точно знаю, что синплифай с латисом это умеют, а вот квартус - не знаю, но думаю должен ).

спасибо за наводку, почитаю отчеты синтезатора и проверю эту идею.

Цитата
Или поставить более толстый кристалл, совместимый по пинам.

в данном корпусе TQFP144, это самый жирный кристал. Проект и так заоптимален по размеру по самые помидоры, еле всё влезло %)


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 6 2010, 09:10
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jan 6 2010, 11:59) *
еле всё влезло %)

Вот это и есть IMHO основная причина. Я тут как-то с привидениями в латисе воевал - триггер сам изредка асинхронно сбрасывался... А причина была околопохожая.
Go to the top of the page
 
+Quote Post
des00
сообщение Jan 6 2010, 11:44
Сообщение #59


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(SM @ Jan 6 2010, 03:10) *
Вот это и есть IMHO основная причина. Я тут как-то с привидениями в латисе воевал - триггер сам изредка асинхронно сбрасывался... А причина была околопохожая.

Наводка появилась когда заполненность кристалла была 40-50% и ИМХО плохой это метод ставить печеньку много толще чем нужно %)

Хроники расследования :

1. Идея подвинуть клок на 90 градусов. PLL2/PLL3 - клок на АЦП отдельный со сдвигом на 90 градусов. не инвертированный. Результат -(23-25)Дб. Т.е. эффекта не дало
2. Максимальные фанауты в проекте : на одном сегменте enable - chain цепи 2532, остальные не выше 950. Поставил на ту enable секцию фанаут = 1000. результата не дало.


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Jan 6 2010, 12:27
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(des00 @ Jan 6 2010, 14:44) *
2. Максимальные фанауты в проекте : на одном сегменте enable - chain цепи 2532, остальные не выше 950. Поставил на ту enable секцию фанаут = 1000. результата не дало.

Фигасе фанауты... Я в латисе игрался цифрами ограничителя не более 100 (который по умолчанию). Неужели в альтере такие мегаваттные LE smile.gif что один умудряется без проблем протянуть 1000 входов....
Go to the top of the page
 
+Quote Post

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

 


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


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