|
edk lvds adc |
|
|
|
 |
Ответов
|
Jan 29 2008, 15:27
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(rv3dll(lex) @ Jan 29 2008, 11:22)  как в едк подключить lvds ацп
на какие ноги подавать клоки, как назначить эти ноги нужен ли dcm
ацп - битовая частота 300 фреймовая 50 по 2м фронтам 12 бит Давайте сначала подумаем, что с этим богатством будет делать MicroBlaze? Даже если предстваить, что канал у этого АЦП один - вы получите 75 мегабайт (18.75 мегаслов) в секунду. С учетом, что MicroBlaze работает максимум на 200 МГц - у него будет 10 тактов на каждое слово. Загрузить-выгрузить и сделать пару-тройку арифметических операций. То есть, обычно поток c быстрого АЦП предварительно аппаратно обрабатывается. Как после этой аппаратной обработки отдать поток процессору - это уже другой разговор, можно сделать ему интерфейс PLB, можно любой другой, какой есть в EDK IP. Можно конечно прямо поток АЦП перевести на PLB или FSL, но толку от этого я не вижу. Не сделав же никакого железа (HDL-кода), используя только стандартные IP EDK захватить поток 300 МГц думаю, не выйдет.
|
|
|
|
|
Jan 29 2008, 16:24
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(DmitryR @ Jan 29 2008, 18:27)  Давайте сначала подумаем, что с этим богатством будет делать MicroBlaze? Даже если предстваить, что канал у этого АЦП один - вы получите 75 мегабайт (18.75 мегаслов) в секунду. С учетом, что MicroBlaze работает максимум на 200 МГц - у него будет 10 тактов на каждое слово. Загрузить-выгрузить и сделать пару-тройку арифметических операций. То есть, обычно поток c быстрого АЦП предварительно аппаратно обрабатывается. Как после этой аппаратной обработки отдать поток процессору - это уже другой разговор, можно сделать ему интерфейс PLB, можно любой другой, какой есть в EDK IP. Можно конечно прямо поток АЦП перевести на PLB или FSL, но толку от этого я не вижу. Не сделав же никакого железа (HDL-кода), используя только стандартные IP EDK захватить поток 300 МГц думаю, не выйдет. вы не поняли вопрос - отсчёты с 50 меговым шагом уже вовсю успешно обрабатываются!!!!! из параллельного ацп перехожу на ацп с лвдс каналом нужно подключить его грамотно с первого раза
|
|
|
|
|
Feb 6 2008, 08:47
|

Полное ничтожество
    
Группа: Banned
Сообщений: 1 991
Регистрация: 20-03-07
Из: Коломна
Пользователь №: 26 354

|
Цитата(DmitryR @ Jan 29 2008, 21:51)  Так в чем тогда сложность? Добавьте к существующей схеме десериализатор, это же банальное устройство, сдвиговый регистр. я пытаюсь использовать ISERDES но пока безуспешно я завёл 300 меговый клок на DCM - получил 2 противофазных сигнала(для чередования) и делённый на 6 сигнал, которые завёл на ISERDES на входы CLK CLKDIV соответственно не понимаю что делать дальше как использовать фрамовый клок 50 мгц который идёт от АЦП и как осуществляется защита от циклического сдвига ????
|
|
|
|
|
Feb 6 2008, 13:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Начнем с того, что ISERDES использовать не надо - он коротковат и все равно придется его перехлопывать в триггеры, 300 МГц даже на спартане ловится без проблем.
Далее, для захвата битов необходимо использовать входную частоту 300, пропущенную через IDELAY (или DCM), задержку (или phase shift) на котором (которой) надо подобрать либо по результатам временного моделирования, либо написать калибровочный автомат, который будет переводить АЦП в режим тестирования и, меняя задержку IDELAY (dynamic phase shift DCM), находить окно, в котором приходят правильные данные, впоследствии устанавливая задержку на середину этого окна. Захват битов необходимо осуществлять в IDDR, также в IOB надо обязательно разместить триггер, который будет захлопывать строб фрейма.
Затем биты, захваченные в IDDR уже только по восходящему фронту входной частоты по два захлопываются в обычный сдвиговый регистр длиной 12. В момент подъема фреймового строба, задержанного еще на такт для компенсации задержки в IDDR этот регистр записывается в короткий FIFO (elastic buffer). Читается elastic buffer по входной частоте, деленной на 6.
Исходный код я тут не привожу сознательно - учитесь, это занимает немного времени, но приносит большой опыт.
P.S. Имейте в виду, что в текущей версии ISE есть баг (обсужденный на Webcase и признанный), в результате которого IDELAY с переменной задержкой во временную модель не попадает, поэтому ее (модель) надо поправлять руками.
Сообщение отредактировал DmitryR - Feb 6 2008, 13:28
|
|
|
|
Сообщений в этой теме
rv3dll(lex) edk lvds adc Jan 29 2008, 08:22     rv3dll(lex) Цитата(DmitryR @ Feb 6 2008, 16:25) Начне... Feb 7 2008, 08:32      DmitryR Цитата(rv3dll(lex) @ Feb 7 2008, 11... Feb 7 2008, 08:48 rv3dll(lex) не соглашусь - не знаю как в других в 4 виртексе ... Feb 7 2008, 09:39 DmitryR Цитата(rv3dll(lex) @ Feb 7 2008, 12... Feb 7 2008, 14:28  rv3dll(lex) Цитата(DmitryR @ Feb 7 2008, 17:28) Я не ... Feb 8 2008, 05:37   DmitryR Цитата(rv3dll(lex) @ Feb 8 2008, 08... Feb 8 2008, 10:03 rv3dll(lex) пока решаю проблемы такого плана
Pack:1107 - Unab... Feb 8 2008, 10:48
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|