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

 
 
> 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
Ответов
Golikov A.
сообщение Jul 3 2014, 06:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



дополнительный код - старший бит определяет знак. Если он 1, то для получения модуля надо инвертировать число и прибавить 1, если он 0 то ничего делать не надо.

Но это нужно для получения модуля, для вывода синуса это все делать не надо. При выводе графика у вас нет координат -N, Вам надо преобразовать ваш сигнал из диапазона [-(N+1) : N] в диапазон [0 : 2N+1], как не сложно видеть это делается прибавлением (N+1) к каждому значению. Прелесть дополнительного двоичного кода в том что он прекрасно складывается и сам учитывает знак.

Ко всем значениям прибавляете N+1, и на графике в 0 у вас будет минимум -(N+1), в точке (N+1) у вас будет 0, а в точке 2N+1 у вас будет максимум N.

Хотя это и базовые знания программиста...


По передачи данных в память и вычитыванием их из памяти процом. Обращаю ваше внимание что 2 портовая память все же имеет коллизии, и всегда надо следить что вы не пишите и не читаете в одну область памяти. С другой стороны есть железные элементы FIFO, где с одной стороны пишет ваша АЦП, а с другой стороны читает ПРОЦ. Элементы FIFO как раз и созданы для сопряжения и выравнивания частоты чтения и записи. Эти элементы есть как стандартные IP корки на внутренней памяти, но могут быть созданы и ручками на внешней памяти, с них выходит единый сигнал что в FIFO есть данные, при этом можно настроить что сигнал появляется при достаточном пакете, чтобы вас не дергали каждый отсчет. Строго рекомендую обратить внимание на эти элементы прежде чем вы начнете делать свой автомат записи в двойной буфер. Ибо читая что вы имеете трудности с SPI, я представляю что у вас будет при работе с памятью и кучей флагов....

При этом я уверен что самым правильным решением будет АЦП - FIFO - ПРОЦ (если езернет ,будет успевать передавать даныне) или АЦП - FIFO - DMA - DDR - ПРОЦ (если все таки придется данные буфферизировать), Эти цепочки делаются из стандартных компонентов и не изобилуют кучей флагов и прерываний...

если же надо дать максимальную скорость то надо делать АЦП - FIFO - UDP (руками реализованный на железном уровне) При этом надо использовать свойства FIFO что битность входных и выходных данных может быть разная. То есть АЦП может передавать по 16 бит, а UDP забирать и отправлять по 128 или 256 бит, например (там не все сочетания возможны, но их много)
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
|- - 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
- - doom13   А что там с режимом SDR CMOS, можете джампер переб...   Jul 7 2014, 20:09
- - 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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