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

 
 
> Проектирование LVDS на ПЛИС Altera, проектирование канала LVDS на Cyclone3
yudu
сообщение Aug 26 2009, 12:57
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 26-08-09
Пользователь №: 52 053



Кто проектировал канал LVDS помогите!
Соединяю два плиса Cyclone3 по lvds. Передатчик пашет, а вот на приемнике не могу считать данные. Имею две диф. пары, одна DATA и одна CLK.
Все вроде бы обозначил как надо. Снимаю принятые данные и клок на линейные выводы - точная копия того что давал на передачу. Но вот зацепить
клок внутри приемника не могу, не получается даже сосчитать импульсы. Другим словом в коде сигнал OK меняется раньше чем 64 импульса клока..sad.gif


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;
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kuzmi4
сообщение Aug 26 2009, 13:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 yudu - зачем вам чтото городить своё ? Всё уже украдено до вас - есть ALT_LVDS (в мегавизарде) или как то так - там и клок и сериализатор, линий мало, скорость нормальная... Если соединять 2 циклона - с минимум линий и по LVDS - самое оно laughing.gif
Там и примеры есть у альтеры как раз рабочие...
Go to the top of the page
 
+Quote Post
yudu
сообщение Aug 27 2009, 04:27
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 26-08-09
Пользователь №: 52 053



Цитата(Kuzmi4 @ Aug 26 2009, 17:08) *
2 yudu - зачем вам чтото городить своё ? Всё уже украдено до вас - есть ALT_LVDS (в мегавизарде) или как то так - там и клок и сериализатор, линий мало, скорость нормальная... Если соединять 2 циклона - с минимум линий и по LVDS - самое оно laughing.gif
Там и примеры есть у альтеры как раз рабочие...


Все дело в том, что канал LVDS должен давать данные пачками. После передачи должен быть основной режим для остальной части схемы,
а для плиса наступает режим молчания(подведено только питание). И еще, работа плиса должна на момент приема тактироваться сигналом клок(clk),
внешнего кварца нет. Data приходит на выводы 128/129, а клок на 49/50.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 27 2009, 10:05
Сообщение #4


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

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
nonedub
сообщение Aug 27 2009, 17:10
Сообщение #5


Участник
*

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



Цитата(DmitryR @ Aug 27 2009, 14:05) *
Ну это же неправда, там контроль передачи ведется через ACK/BCMP.

А причем здесь контроль передачи? Да, он имеется, но это не мешает использовать для передачи gated clock, который молчит, когда линк свободен. То есть, постоянного клока из порта нет. Хотя, согласен, наличие линий управления упрощает интерфейс между ДСП и ПЛИС.

Сообщение отредактировал nonedub - Aug 27 2009, 17:14
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Aug 28 2009, 06:04
Сообщение #6


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Наличие линий управления не просто упрощает интерфейс, оно делает ненужным анализ тактовой частоты на присутствие/молчание, поэтому молчание тактовой влечет в данном случае только одно неудобство - невозможность подать его на PLL, а в остальном это нормальный клок, распространяемый только по выделенным тактовым линиям. А автор пытается тактовую частоту анализировать, что влечет уход клока в логику и известные проблемы с анализом времянки.
Go to the top of the page
 
+Quote Post
nonedub
сообщение Aug 28 2009, 17:22
Сообщение #7


Участник
*

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



Цитата(DmitryR @ Aug 28 2009, 10:04) *
Наличие линий управления не просто упрощает интерфейс, оно делает ненужным анализ тактовой частоты на присутствие/молчание, поэтому молчание тактовой влечет в данном случае только одно неудобство - невозможность подать его на PLL, а в остальном это нормальный клок, распространяемый только по выделенным тактовым линиям. А автор пытается тактовую частоту анализировать, что влечет уход клока в логику и известные проблемы с анализом времянки.

Увы, но наличие _BCMP не избавляет вас от необходимости анализа тактовой частоты на присутствие/молчание для определения начала передачи. Я рассматриваю случай, когда линк-порт ДСП является передатчиком, а ПЛИС - приемником. _BCMP переходит в активное состояние (низкий уровень) только на последних 128 битах блока данных (если, например, используется ДМА).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:30
Рейтинг@Mail.ru


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