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

 
 
> LVDS DDR данные из АЦП в ПЛИС
Ar-han
сообщение Jun 30 2014, 18:43
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 12-09-11
Пользователь №: 67 135



Что не так делаю?
Почему вместо синуса вижу корявый меандр?
Не реагирует на изменение амплитуды сигнала.
С какой стороны младшие биты? (c D0 или с D6)
Тактирую ПЛИС по CLK_OUT от АЦП

АЦП ADS6145
http://www.ti.com/lit/ds/symlink/ads6145.pdf
Спасибо.




Код
   component IBUFGDS
  --    -- synopsys translate_off
      generic( DIFF_TERM : boolean :=  FALSE);
  --    -- synopsys translate_on
      port ( I  : in    std_logic;
             IB : in    std_logic;
             O  : out   std_logic);
   end component;
   attribute IOSTANDARD of IBUFGDS : component is "DEFAULT";
   attribute DIFF_TERM of IBUFGDS : component is "FALSE";
   attribute BOX_TYPE of IBUFGDS : component is "BLACK_BOX";
  
   component IBUFDS
      -- synopsys translate_off
      generic( DIFF_TERM : boolean :=  FALSE);
      -- synopsys translate_on
      port ( I  : in    std_logic;
             IB : in    std_logic;
             O  : out   std_logic);
   end component;
   attribute IOSTANDARD of IBUFDS : component is "DEFAULT";
   attribute DIFF_TERM of IBUFDS : component is "FALSE";
   attribute BOX_TYPE of IBUFDS : component is "BLACK_BOX";


begin

data_out <= out13 & out12 & out11 & out10 & out9 & out8 & out7 & out6 & out5 &
                out4 & out3 & out2 & out1 & out0 ;

clk_out <= USER_CLK;


   IBUFGDS_1 : IBUFGDS
      port map (I=>SMA_DIFF_CLK_IN_P,
                IB=>SMA_DIFF_CLK_IN_N,
                O=>USER_CLK);


   IBUFDS_1 : IBUFDS
      port map (I=>HDR2_28_SM_11_P,
                IB=>HDR2_26_SM_11_N,
                O=>DDR_1);
  
  
   IBUFDS_2 : IBUFDS
      port map (I=>HDR2_32_DIFF_3_P,
                IB=>HDR2_30_DIFF_3_N,
                O=>DDR_2);
....

process(USER_CLK)
begin

        if (USER_CLK = '1') then
      
        out0 <= DDR_0;
        out2 <= DDR_1;
        out4 <= DDR_2;
        out6 <= DDR_3;
        out8 <= DDR_4;
        out10<= DDR_5;
        out12<= DDR_6;
        

        elsif (USER_CLK = '0') then
        
        out1 <= DDR_0;
        out3 <= DDR_1;
        out5 <= DDR_2;
        out7 <= DDR_3;
        out9 <= DDR_4;
        out11 <= DDR_5;
        out13 <= DDR_6;

        end if;

end process;



Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
doom13
сообщение Jul 7 2014, 20:09
Сообщение #2


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

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



А что там с режимом SDR CMOS, можете джампер перебросить, чтобы включить его?
По второму рисунку видно, что данные от АЦП приёмник принимает неправильно, шуметь должно несколько разрядов АЦП относительно среднего значения 8192. Путаница с порядком следования бит у Вас осталась.
Цитата(Ar-han @ Jul 7 2014, 17:32) *
Пила на входе вместо диф. приемников рисуется правильно.

Это говорит о том, что запись данных в память и их вычитка из памяти работают нормально. Эту часть можно пока оставить.
Цитата(Ar-han @ Jul 7 2014, 17:32) *
Разделил по времени запись и чтение в двухпортовую память. Теперь сигнал не режется на куски, но какие-то ошибки возникают, снова запутался, порядок ног уже 5 раз проверил.

Тут может влиять не только порядок ног (Вы его уже много раз проверяли), но и выровнены ли линии, какая фаза у клока относительно данных, она может отличаться для разных линий. Т.е. тут решением может быть либо переключение в SDR CMOS режим, где каждая линия будет соответствовать одному биту, либо реализовать SPI и сего помощью управлять АЦП, задать на выход тестовую последовательность 10...10 и тогда можно будет увидеть, какие именно биты перепутаны.

Цитата(Ar-han @ Jul 7 2014, 17:32) *
Может быть какие-то временные ограничения нужно указать сигналу, по которому защелкиваю данные в диф. приемниках?
Защелкиваю данные по сигналу clk_out с АЦП. Может нужно подвигать фазу защелкивания DCM блоком, или указать допустимый джиттер на этот сигнал (USER_CLK) ?

Временные ограничения прописать стоит, но основная проблема у Вас не в этом. Подвигать фазу PLL скорее всего не получится, если не ошибаюсь, то клок был заведён на неправильную ногу. Но даже если получится, где гарантия, что поправив для одной линии не испортите для другой.
Варианта дальнейших действий для успешного решения проблемы два:
1) Включить режим SDR CMOS.
2) Завести SPI, выдать тестовую последовательность, увидеть причину неправильного приёма данных.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Ar-han   LVDS DDR данные из АЦП в ПЛИС   Jun 30 2014, 18:43
- - VladimirB   Цитата(Ar-han @ Jun 30 2014, 22:43) ...   Jun 30 2014, 19:54
|- - doom13   Цитата(VladimirB @ Jun 30 2014, 22:54) Ди...   Jun 30 2014, 20:39
||- - druzhin   У меня есть рабочие проекты на Spartan-6 по приёму...   Jul 4 2014, 18:42
||- - Ar-han   Цитата(druzhin @ Jul 4 2014, 22:42) У мен...   Jul 4 2014, 22:35
||- - doom13   Цитата(Ar-han @ Jul 5 2014, 01:35) О...   Jul 5 2014, 06:58
||- - Ar-han   Цитата(doom13 @ Jul 5 2014, 10:58) Откуда...   Jul 7 2014, 14:32
|||- - Ar-han   Цитата(Ar-han @ Jul 7 2014, 18:32) с...   Jul 8 2014, 07:07
||- - Ar-han   Цитата(doom13 @ Jul 5 2014, 10:58) в вари...   Jul 9 2014, 05:45
||- - doom13   Цитата(Ar-han @ Jul 9 2014, 08:45) П...   Jul 9 2014, 06:38
||- - doom13   Цитата(Ar-han @ Jul 9 2014, 08:45) Н...   Jul 9 2014, 07:11
||- - doom13   Цитата(Ar-han @ Jul 9 2014, 08:45) Т...   Jul 9 2014, 07:52
|- - Ar-han   Цитата(VladimirB @ Jun 30 2014, 23:54) ПЛ...   Jul 1 2014, 05:30
|- - doom13   Цитата(Ar-han @ Jul 1 2014, 08:30) П...   Jul 1 2014, 06:32
|- - Ar-han   Цитата(Ar-han @ Jul 1 2014, 09:30) X...   Jul 1 2014, 10:00
- - Ar-han   Цитата(Ar-han @ Jun 30 2014, 22:43) ...   Jul 1 2014, 13:08
|- - doom13   Долго же Вы понимали   Jul 1 2014, 13:20
|- - Ar-han   Цитата(doom13 @ Jul 1 2014, 17:20) Долго ...   Jul 1 2014, 13:59
|- - doom13   Цитата(Ar-han @ Jul 1 2014, 16:59) И...   Jul 1 2014, 14:11
|- - Ar-han   Цитата(doom13 @ Jul 1 2014, 18:11) Биты у...   Jul 1 2014, 14:19
- - iosifk   Цитата(Ar-han @ Jun 30 2014, 22:43) ...   Jul 1 2014, 14:21
|- - Ar-han   Цитата(iosifk @ Jul 1 2014, 18:21) А симу...   Jul 1 2014, 14:26
- - doom13   Могу предложить, но для этого Вам понадобиться нал...   Jul 1 2014, 14:35
|- - Ar-han   Цитата(doom13 @ Jul 1 2014, 18:31) Могу п...   Jul 1 2014, 14:39
|- - doom13   Цитата(Ar-han @ Jul 1 2014, 17:39) Ж...   Jul 1 2014, 14:53
||- - Ar-han   Цитата(doom13 @ Jul 1 2014, 18:53) Баг в ...   Jul 1 2014, 17:53
|- - Timmy   А я посоветую сначала запустить SPI и перевести АЦ...   Jul 1 2014, 16:08
- - Golikov A.   А у вас не с АЦП проблемы? В ветке армов обсуждало...   Jul 1 2014, 14:47
- - Golikov A.   ЦитатаПозвольте спросить, Вы работали с АЦП с похо...   Jul 1 2014, 16:22
|- - doom13   Цитата(Golikov A. @ Jul 1 2014, 19:22) Ну...   Jul 1 2014, 20:26
|- - Ar-han   Цитата(doom13 @ Jul 2 2014, 00:26) Но, во...   Jul 2 2014, 07:37
||- - doom13   Цитата(Ar-han @ Jul 2 2014, 10:37) П...   Jul 2 2014, 09:44
||- - doom13   Цитата(Ar-han @ Jul 2 2014, 10:37) И...   Jul 2 2014, 10:28
||- - Ar-han   Цитата(doom13 @ Jul 2 2014, 14:28) Судя п...   Jul 2 2014, 12:39
||- - doom13   Цитата(Ar-han @ Jul 2 2014, 15:39) Д...   Jul 2 2014, 12:50
|||- - Ar-han   Цитата(doom13 @ Jul 2 2014, 16:50) Если х...   Jul 3 2014, 04:43
||- - doom13   Цитата(Ar-han @ Jul 2 2014, 15:39) Я...   Jul 2 2014, 15:55
||- - Ar-han   Цитата(doom13 @ Jul 2 2014, 19:55) Чтение...   Jul 2 2014, 18:52
||- - doom13   Цитата(Ar-han @ Jul 2 2014, 21:52) С...   Jul 2 2014, 20:11
|- - Timmy   Цитата(doom13 @ Jul 2 2014, 00:26) но инт...   Jul 2 2014, 10:14
- - Golikov A.   дополнительный код - старший бит определяет знак. ...   Jul 3 2014, 06:46
|- - doom13   Цитата(Golikov A. @ Jul 3 2014, 09:46) М...   Jul 3 2014, 07:58
|- - Ar-han   Цитата(Golikov A. @ Jul 3 2014, 10:46) до...   Jul 3 2014, 19:57
- - Golikov A.   ЦитатаЭто, насколько я понимаю преобразование в пр...   Jul 4 2014, 05:47
|- - doom13   Цитата(Golikov A. @ Jul 4 2014, 08:47) Гл...   Jul 4 2014, 07:50
|- - Ar-han   Цитата(Golikov A. @ Jul 4 2014, 09:47) не...   Jul 4 2014, 09:19
- - Golikov A.   Цитатано если использовать прерывание от GPIO, как...   Jul 4 2014, 08:18
|- - doom13   Цитата(Golikov A. @ Jul 4 2014, 11:18) Сн...   Jul 4 2014, 16:37
- - Golikov A.   а ну да... это я действительно тупанул. Инверсия с...   Jul 4 2014, 10:39
|- - Ar-han   Цитата(Golikov A. @ Jul 4 2014, 14:39) Вы...   Jul 4 2014, 11:32
- - Golikov A.   ЦитатаПриведите пример подразумеваемого процессора...   Jul 4 2014, 16:45
|- - doom13   Цитата(Golikov A. @ Jul 4 2014, 19:45) LP...   Jul 4 2014, 17:34
- - Golikov A.   ЦитатаТут Вы не разобрались в предложенном вариант...   Jul 4 2014, 18:33
|- - doom13   Цитата(Golikov A. @ Jul 4 2014, 21:33) Я ...   Jul 4 2014, 19:35
- - Golikov A.   ЦитатаПодвигать фазу PLL скорее всего не получится...   Jul 7 2014, 20:22
|- - doom13   Цитата(Golikov A. @ Jul 7 2014, 23:22) Ну...   Jul 7 2014, 21:29
- - Golikov A.   Перейдите уже на FIFO в конце концов... Брать 2 ...   Jul 9 2014, 07:03
- - Golikov A.   ЦитатаУ меня есть пример констрейна для входного с...   Jul 9 2014, 07:17
- - Golikov A.   У меня нет времени и желания разбираться в предлож...   Jul 9 2014, 09:05
|- - doom13   Цитата(Golikov A. @ Jul 9 2014, 12:05) У ...   Jul 9 2014, 10:01
- - Golikov A.   FIFO 1. Размер отправляемого пакета - любой задает...   Jul 9 2014, 10:15
- - doom13   Цитата(Golikov A. @ Jul 9 2014, 13:15) Не...   Jul 9 2014, 10:52
- - doom13   Цитата(Golikov A. @ Jul 9 2014, 13:15) FI...   Jul 9 2014, 11:55


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

 


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


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