|
ADS5400 + FPGA., Некорректный приём данных с АЦП. |
|
|
|
Apr 18 2013, 09:32
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Здравствуйте, вуажаемые форумчане! У нас есть плата с ADS5400 на борту. Она соединяется с микромодулем, несущим ПЛИС через высокоскоростные разъёмы расширения. Проблема в том, что при считывании данных с АЦП видны сильные выбросы при пересечении нуля синусом. Причём, сбой возникает в одном бите и только в момент пересечения нуля. Картина вот такая:
Чем это может быть вызвано? С уважением, Михаил.
|
|
|
|
|
Apr 18 2013, 12:10
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Входная тактовая частота - 1024 МГц; Вывод данных - по одной шине (Шина "А"); Частота дискретизации входного сигнала - 1024 МГц; Тактовая частота выходных данных - 512 МГц (используется DDR); Источник опорного напряжения - внутренний; Формат данных - двоичный дополнительный; Режим синхронизации данных - отключен; Опции LVDS - нормальный режим; Выходной ток LVDS 3,5 мА; Опции внутренней терминации LVDS - внутренний 100 Ом резистор.
|
|
|
|
|
Apr 18 2013, 12:18
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Дифф пары не инвертированы. Перевод в дополнительный код происходит в АЦП. На малых частотах дискретизации такого явления не наблюдается.
|
|
|
|
|
Apr 18 2013, 12:20
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399

|
Цитата(_pv @ Apr 18 2013, 15:12)  какая-то определённая комбинация младших битов умудряется опрокинуть 8ой бит. Нее, просто t_setup/t_hold "на пределе". Может constrain-ы не заданы или неправильно заданы. Или нужно тонко двигать фазу CLK. А может даже в трассировке печатной платы проблема. Все-таки 500 MHz.
|
|
|
|
|
Apr 18 2013, 13:00
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
ПЛИС - Spartan-6 xc6slx150. Данные поступают в ПЛИС, там принимаются с использованием DDR (получается 1024MSPS) и десериализируются восьмикратно - на выходе десериализатора имеем 8 шин данных с частотой 128 МГц. От этой частоты тактируется и внутренняя логика ПЛИС и, собственно, ChipScope, посредством которого были сняты данные.
|
|
|
|
|
Apr 18 2013, 13:26
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Спидгрейд кристалла -3. Тактовая частота данных, подаваемых на кристалл, 512 МГц. DDR создаётся за счёт двух BUFIO2, на одном из которых сигнал инвертирован (всё как описано в XAPP1064).
|
|
|
|
|
Apr 18 2013, 17:34
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
По поводу таймингов - очень возможно такое. Но на всякий случай, выложу и картинку с разводкой линий данных.
Это - верхний слой. Меня терзают смутные сомнения по поводу, собственно, геометрии дорожек в шине данных. Опыта, просто, у нас в таких высокоскоростных вещах нет.
Сообщение отредактировал InsaneLogic - Apr 18 2013, 17:35
|
|
|
|
|
Apr 19 2013, 06:00
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
И ещё одинг вопрос: какова последовательность программирования регистров ADS5400? У меня складывается такое ощущение, что мы не можем его корректно запрограммировать. По поводу последовательности программирования регистров в даташите нничего не сказано. Мы программируем их в прямом порядке (1-й, 2-й и т.д.). А по другую сторону разъёма у нас немецкий микромодуль от Trenz Electronics GigaBee TE0600 со spartan-6 xc6slx150. И ещё вопрос: в каком ПО лучше получится симулировать прохождение цифрового сигнала по шинам на плате с учётом влияния физических параметров линий передачи данных на длины фронтов, амплитуды сигналов, рассчитать время их прохождения друг относительно друга?
А дорожки выравнивались. Максимальная разность в длине их составляет 10 мм относительно друг друга. Единственное, влияние кривизны их на целостность сигнала. Оно не рассчитывалось.
|
|
|
|
|
Apr 20 2013, 07:06
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Цитата(dm.pogrebnoy @ Apr 20 2013, 00:16)  Так и остался вопрос, почему вы решили что на 1024 МГц будет работать без сбоев. При каких значениях тактовой исчезают выбросы? На 512 МГц работает идеально. А решил, что на 1024 МГц будет работать без сбоев на основании технической документации (конкретно, XAPP1064, UG381).
|
|
|
|
|
May 30 2013, 06:13
|
Участник

Группа: Участник
Сообщений: 66
Регистрация: 21-02-13
Пользователь №: 75 726

|
Спасибо.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|