Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cyclone II & AD9235
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
artem79
Доброго времени суток.

Собираю систему, точнее наращиваю функционал, ПЛИС, АЦП, UART(USB). С частью процессора и юсб проблем нет. Все великолепно работает.

Проблема вылезла следующая.

При повышении частоты работы с АЦП , конкретно на 8 МГц, наблюдается "нарастание уровня". На низких частотах, 2 МГц, такого нет.

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

Мысли заканчиваются( В чем может быть баг?

Спасибо.

Kuzmi4
2 artem79
А с констрейнами у вас как?
Из беглого просмотра DS можно прикинуть, что если защёлкивать данные по falling_edge, то про констреный можно забыть на ваших частотах. А если всё таки хочется по rising_edge - там смотреть нужно..
eugen_pcad_ru
Как вариант: а может быть Вы не с той частотой считываете, на которой АЦП выдает отсчеты?
artem79
Цитата(Kuzmi4 @ Aug 8 2012, 12:39) *
2 artem79
А с констрейнами у вас как?
Из беглого просмотра DS можно прикинуть, что если защёлкивать данные по falling_edge, то про констреный можно забыть на ваших частотах. А если всё таки хочется по rising_edge - там смотреть нужно..



Перебрал все возвожные варианты тактирования и считывания. Сдвиг. Разные фронты. Результат оди. Может это быть с компиляцией? Использую Quartus 12.0


P.S.
Не первый раз строю системы такого типа. Были гораздо сложнее. И частоты выше в разы. Но с данной ... столкнулся впервые
Kuzmi4
2 artem79
ну если вы уверены что с констрейнами/частотами/лапами у вас всё в порядке, тогда думаю нужно смотреть на лог Quartus 12.0.
Я бы так же так же тыканулся осцилом, сначала аналоговым - проверить, что частота и нижний бит в нормально приходят на лапы, а потом с цифровым анализатором на лапы - частоты у вас не сильно большие, он нарежет нормально.
Timmy
Цитата(artem79 @ Aug 8 2012, 11:51) *
При повышении частоты работы с АЦП , конкретно на 8 МГц, наблюдается "нарастание уровня". На низких частотах, 2 МГц, такого нет.

С опорными напряжениями на АЦП всё в порядке? Такое может быть, например, при слишком большой последовательной индуктивности блокировочных конденсаторов, или просто какая-то ошибка в схеме.
А ещё такое может быть при слишком большом импедансе драйвера аналоговых входов.
artem79
Цитата(Timmy @ Aug 8 2012, 14:44) *
С опорными напряжениями на АЦП всё в порядке? Такое может быть, например, при слишком большой последовательной индуктивности блокировочных конденсаторов, или просто какая-то ошибка в схеме.
А ещё такое может быть при слишком большом импедансе драйвера аналоговых входов.


Тогда это проявлялось бы на любой частоте
DSIoffe
А не может быть обратной связи по данным? Есть возможность повтыкать небольшие резисторы между выводами ПЛИС и АЦП и посмотреть, что получится? Или ещё как-то изменить ёмкости и/или расположение проводников?
Ещё можно попробовать подключить SignalTap прямо к выводам ПЛИС, которые читают АЦП, и сравнить данные на них с тем, что видно в компьютере. Это чтобы исключить подозрение на нехорошие констрейны.
Timmy
Цитата(artem79 @ Aug 8 2012, 15:27) *
Тогда это проявлялось бы на любой частоте

К примеру, переключающие транзисторы на входах дают charge injection 10 фемтофарад. На частоте 1МГц ток смещения будет 10нА, на 10МГц - 100нА, что при входном сопротивлении 1МОм даст очень заметное смещение 100мВ, линейно зависящее от частоты.
UPD:конечно, заряд надо в кулонах, а не фарадах, мерятьsm.gif.
artem79


Перебрал разные варианты. Результат тот же. Единственное что удалось выяснить. Это происходит если я пытаюсь забирать выборочные данные от АЦП, только в определенные моменты. Если читаю все без пропусков, то нормально. Проблема в ацп? - врятли. Входные линии - то же мало вероятно. Где то постепенно накапливается. Где - не понял.
Timmy
Цитата(artem79 @ Aug 15 2012, 18:39) *
Перебрал разные варианты. Результат тот же. Единственное что удалось выяснить. Это происходит если я пытаюсь забирать выборочные данные от АЦП, только в определенные моменты. Если читаю все без пропусков, то нормально. Проблема в ацп? - врятли. Входные линии - то же мало вероятно. Где то постепенно накапливается. Где - не понял.

Как можно забирать от АЦП выборочные данные, если он сам выдаёт их каждый такт при постоянной тактовой частоте? Если же вы тактируете АЦП апериодическим клоком от FPGA, то он в принципе может брыкаться как угодно.
artem79
Цитата(Timmy @ Aug 16 2012, 12:59) *
Как можно забирать от АЦП выборочные данные, если он сам выдаёт их каждый такт при постоянной тактовой частоте? Если же вы тактируете АЦП апериодическим клоком от FPGA, то он в принципе может брыкаться как угодно.


Нет тактуется постоянным сигналом. Но забираю только в определнные такты. Точнее 8 через 8. Частота постоянная 8 МГц. скважность 2
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.