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

 
 
> Проектирование 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
DmitryR
сообщение Aug 26 2009, 14:01
Сообщение #3


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

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



Во-первых, почитайте хорошенько книжки по основам синхронного дизайна, чтобы никогда больше (по крайней мере до тех пор, пока вы не начнете проектировать крутые заказные микросхемы) не пытаться тактовую частоту обрабатывать асинхронно ("if (ic='0')" etc.). Тогда станет ясно, что по линии clk надо передавать просто тактовый сигнал, непрерывно, а передачу пакетов данных осуществлять придумав формат пакета, передаваемый по линии данных. Наперед скажу, что если надо передавать данные не постоянно, а пачками проще протянуть третий провод, который будет как clock enable, чем заморачиваться пакетами.
Go to the top of the page
 
+Quote Post
nonedub
сообщение Aug 26 2009, 21:15
Сообщение #4


Участник
*

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



Цитата(DmitryR @ Aug 26 2009, 18:01) *
Во-первых, почитайте хорошенько книжки по основам синхронного дизайна, чтобы никогда больше (по крайней мере до тех пор, пока вы не начнете проектировать крутые заказные микросхемы) не пытаться тактовую частоту обрабатывать асинхронно ("if (ic='0')" etc.). Тогда станет ясно, что по линии clk надо передавать просто тактовый сигнал, непрерывно, а передачу пакетов данных осуществлять придумав формат пакета, передаваемый по линии данных. Наперед скажу, что если надо передавать данные не постоянно, а пачками проще протянуть третий провод, который будет как clock enable, чем заморачиваться пакетами.


А что делать, если имеется двухпроводной (двухпарный) LVDS, да еще с gated clock?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- yudu   Проектирование LVDS на ПЛИС Altera   Aug 26 2009, 12:57
||- - 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
|- - yudu   Цитата(Kuzmi4 @ Aug 26 2009, 17:08) 2 yud...   Aug 27 2009, 04:27
|- - DmitryR   Цитата(yudu @ Aug 27 2009, 08:27) Все дел...   Aug 27 2009, 10:05
|- - nonedub   Цитата(DmitryR @ Aug 27 2009, 14:05) Ну э...   Aug 27 2009, 17:10
|- - DmitryR   Наличие линий управления не просто упрощает интерф...   Aug 28 2009, 06:04
|- - nonedub   Цитата(DmitryR @ Aug 28 2009, 10:04) Нали...   Aug 28 2009, 17:22
- - 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 Текстовая версия Сейчас: 22nd July 2025 - 18:57
Рейтинг@Mail.ru


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