|
Проектирование LVDS на ПЛИС Altera, проектирование канала LVDS на Cyclone3 |
|
|
|
Aug 26 2009, 12:57
|
Группа: Участник
Сообщений: 5
Регистрация: 26-08-09
Пользователь №: 52 053

|
Кто проектировал канал LVDS помогите! Соединяю два плиса Cyclone3 по lvds. Передатчик пашет, а вот на приемнике не могу считать данные. Имею две диф. пары, одна DATA и одна CLK. Все вроде бы обозначил как надо. Снимаю принятые данные и клок на линейные выводы - точная копия того что давал на передачу. Но вот зацепить клок внутри приемника не могу, не получается даже сосчитать импульсы. Другим словом в коде сигнал OK меняется раньше чем 64 импульса клока..  LIBRARY ieee; USE ieee.std_logic_1164.all; -- Entity Declaration ENTITY priem IS -- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! PORT ( inclk : IN STD_LOGIC; indat : IN STD_LOGIC; data : out STD_LOGIC :='0';-- линия данных buff : out STD_LOGIC_VECTOR(55 downto 0):=x"00000000000000"; --data dly upravlyemogo ustroystva st,s1,s2: out STD_LOGIC:='0'; C : out STD_LOGIC :='0'; EN : out STD_LOGIC_vector(0 to 1):=b"00" ); -- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE! END priem; -- Architecture Body ARCHITECTURE priem_architecture OF priem IS signal adr:STD_LOGIC_vector (3 downto 0):=x"5";-- АДРЕСС ПРИЕМНИКА signal datbuf:STD_LOGIC_VECTOR(0 to 63):=x"0000000000000000"; -- adres + data signal id,ic:STD_LOGIC:='0'; signal ok,pr_adr,c1:STD_LOGIC:='0'; signal sta:STD_LOGIC:='0'; --сигнал старт-бита / сброс передачи данных BEGIN id<=indat; ic<=inclk; --прием старт-бита / сброс передачи данных --при выполнении условия приема старт-бита --на линии STA появляется импульс --priem start bita --------------------------------------------------------------------------------------------- process (id,ic) variable i: integer:=0; begin if (ic='0') then i:=0; sta<='0'; end if; if ic='1' then if (id='0' and i=0) then i:=1; elsif (id='1' and i=1) then i:=2; elsif (id='0' and i=2) then sta<='1'; end if; end if; end process; --------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------- process (sta,ic) --запись данных variable i: integer:=0; begin if (ic'event and ic='1') then if i<64 then datbuf(i)<=id; i:=i+1; if i=64 then ok<=not ok; end if; end if; end if; if sta='1' then i:=0; end if; end process; --------------------------------------------------------------------------------------------- st<=sta; s1<=ic; s2<=ok; END priem_architecture;
|
|
|
|
|
 |
Ответов
|
Aug 27 2009, 04:27
|
Группа: Участник
Сообщений: 5
Регистрация: 26-08-09
Пользователь №: 52 053

|
Цитата(Kuzmi4 @ Aug 26 2009, 17:08)  2 yudu - зачем вам чтото городить своё ? Всё уже украдено до вас - есть ALT_LVDS (в мегавизарде) или как то так - там и клок и сериализатор, линий мало, скорость нормальная... Если соединять 2 циклона - с минимум линий и по LVDS - самое оно  Там и примеры есть у альтеры как раз рабочие... Все дело в том, что канал LVDS должен давать данные пачками. После передачи должен быть основной режим для остальной части схемы, а для плиса наступает режим молчания(подведено только питание). И еще, работа плиса должна на момент приема тактироваться сигналом клок(clk), внешнего кварца нет. Data приходит на выводы 128/129, а клок на 49/50.
|
|
|
|
|
Aug 27 2009, 10:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(yudu @ Aug 27 2009, 08:27)  Все дело в том, что канал LVDS должен давать данные пачками. После передачи должен быть основной режим для остальной части схемы, а для плиса наступает режим молчания(подведено только питание). То есть у вас еще ко всему на этих двух несчастных проводах несколько источников сигнала, ПЛИС и еще кто-то. Застрелиться, это и для опытного-то человека гимор. А частоты-то какие? Цитата(nonedub @ Aug 27 2009, 11:28)  Например, линк-порты DSP TS201 TigerShark от Analog Devices. Ну это же неправда, там контроль передачи ведется через ACK/BCMP.
|
|
|
|
|
Aug 27 2009, 17:10
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 21-06-09
Пользователь №: 50 504

|
Цитата(DmitryR @ Aug 27 2009, 14:05)  Ну это же неправда, там контроль передачи ведется через ACK/BCMP. А причем здесь контроль передачи? Да, он имеется, но это не мешает использовать для передачи gated clock, который молчит, когда линк свободен. То есть, постоянного клока из порта нет. Хотя, согласен, наличие линий управления упрощает интерфейс между ДСП и ПЛИС.
Сообщение отредактировал nonedub - Aug 27 2009, 17:14
|
|
|
|
|
Aug 28 2009, 17:22
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 21-06-09
Пользователь №: 50 504

|
Цитата(DmitryR @ Aug 28 2009, 10:04)  Наличие линий управления не просто упрощает интерфейс, оно делает ненужным анализ тактовой частоты на присутствие/молчание, поэтому молчание тактовой влечет в данном случае только одно неудобство - невозможность подать его на PLL, а в остальном это нормальный клок, распространяемый только по выделенным тактовым линиям. А автор пытается тактовую частоту анализировать, что влечет уход клока в логику и известные проблемы с анализом времянки. Увы, но наличие _BCMP не избавляет вас от необходимости анализа тактовой частоты на присутствие/молчание для определения начала передачи. Я рассматриваю случай, когда линк-порт ДСП является передатчиком, а ПЛИС - приемником. _BCMP переходит в активное состояние (низкий уровень) только на последних 128 битах блока данных (если, например, используется ДМА).
|
|
|
|
Сообщений в этой теме
yudu Проектирование LVDS на ПЛИС Altera Aug 26 2009, 12:57 DmitryR Во-первых, почитайте хорошенько книжки по основам ... Aug 26 2009, 14:01  nonedub Цитата(DmitryR @ Aug 26 2009, 18:01) Во-п... Aug 26 2009, 21:15   Shtirlits Цитата(nonedub @ Aug 27 2009, 01:15) А чт... Aug 26 2009, 22:14    des00 Цитата(Shtirlits @ Aug 26 2009, 16:14) А ... Aug 27 2009, 03:18    nonedub Цитата(Shtirlits @ Aug 27 2009, 02:14) А ... Aug 27 2009, 07:28 Kuzmi4 2 yudu - это конечно всё хорошо, но всё же не ясно... Aug 27 2009, 07:37 Kuzmi4 Если Цитата..на этих двух несчастных проводах неск... Aug 27 2009, 10:53 yudu Цитата(Kuzmi4 @ Aug 27 2009, 14:53) Если ... Aug 27 2009, 11:55  DmitryR Цитата(yudu @ Aug 27 2009, 15:55) Cyclon3... Aug 27 2009, 13:49 SFx PLL в визарде лучше выбирать встроенную в корку AL... Aug 27 2009, 12:33 Kuzmi4 2 yudu - идеи есть всегда
100Мб/с - это мегабай... Aug 27 2009, 12:38 yudu Цитата(Kuzmi4 @ Aug 27 2009, 16:38) 2 yud... Aug 28 2009, 11:52  DmitryR Цитата(yudu @ Aug 28 2009, 15:52) синхрон... Aug 28 2009, 12:59   yudu Цитата(DmitryR @ Aug 28 2009, 16:59) Если... Aug 31 2009, 05:31    DmitryR Цитата(yudu @ Aug 31 2009, 09:31) Кстати ... Aug 31 2009, 06:01 IT_Pavel А вы правильно подключили ножки ПЛИС? Входной клок... Aug 27 2009, 12:42 Алексей_1990 Здравствуйте. Разъясните, пожалуйста, как я могу п... Feb 10 2016, 12:46 andrew_b Цитата(Алексей_1990 @ Feb 10 2016, 16:46)... Feb 11 2016, 05:47  Алексей_1990 Цитата(andrew_b @ Feb 11 2016, 09:47) Дел... Feb 15 2016, 07:09   andrew_b Цитата(Алексей_1990 @ Feb 15 2016, 11:09)... Feb 15 2016, 07:26    Алексей_1990 Цитата(andrew_b @ Feb 15 2016, 11:26) Не ... Feb 15 2016, 07:51     andrew_b Цитата(Алексей_1990 @ Feb 15 2016, 11:51)... Feb 15 2016, 08:02      Алексей_1990 Цитата(andrew_b @ Feb 15 2016, 12:02) А п... Feb 15 2016, 11:40       Александр77 Цитата(Алексей_1990 @ Feb 15 2016, 14:40)... Feb 15 2016, 18:36        Алексей_1990 Цитата(Александр77 @ Feb 15 2016, 22:36) ... Feb 16 2016, 02:57 Tue Пытаюсь разработать два независимых (один туда, др... Aug 17 2017, 15:10 Flip-fl0p LVDS у Вас запускается на DDR регистрах. Соответст... Aug 17 2017, 15:54 Tue Да, обучения я предусмотрел и сделал (в модели). Н... Aug 17 2017, 16:00 Tue Еще остались непонятными следующие вопросы:
1. Ес... Aug 23 2017, 14:16 Flip-fl0p Цитата(Tue @ Aug 23 2017, 17:16) Еще оста... Aug 24 2017, 07:26  bogaev_roman Цитата(Flip-fl0p @ Aug 24 2017, 10:2... Aug 24 2017, 07:57   Flip-fl0p Цитата(bogaev_roman @ Aug 24 2017, 10:57)... Aug 24 2017, 08:20    bogaev_roman Цитата(Flip-fl0p @ Aug 24 2017, 11:2... Aug 24 2017, 08:25     Flip-fl0p Цитата(bogaev_roman @ Aug 24 2017, 11:25)... Aug 24 2017, 08:34      bogaev_roman Цитата(Flip-fl0p @ Aug 24 2017, 11:3... Aug 24 2017, 08:42       Flip-fl0p Цитата(bogaev_roman @ Aug 24 2017, 11:42)... Aug 24 2017, 08:49        bogaev_roman Цитата(Flip-fl0p @ Aug 24 2017, 11:4... Aug 24 2017, 08:54         Flip-fl0p Цитата(bogaev_roman @ Aug 24 2017, 11:54)... Aug 24 2017, 09:05  Tue Цитата(Flip-fl0p @ Aug 24 2017, 10:2... Aug 24 2017, 12:34   Flip-fl0p Цитата(Tue @ Aug 24 2017, 15:34) Это поня... Aug 24 2017, 13:36    Tue Цитата(Flip-fl0p @ Aug 24 2017, 16:3... Aug 25 2017, 06:21 Magnum А на какое расстояние надо передавать данные? Aug 25 2017, 05:56 Magnum ЦитатаЕсли для rx_inclock меняю I/O Standard на 2.... Aug 25 2017, 06:34 Tue Я говорил об установлении стандарта ввода-вывода п... Aug 25 2017, 07:35 Magnum А, невнимательно прочитал. Для LVDS, есть некоторы... Aug 25 2017, 08:10
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|