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

 
 
> Синхронизация в ПЛИС, Работа с несколькими частотами
Kenav
сообщение Apr 12 2007, 10:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 19-10-05
Пользователь №: 9 839



Здравствуйте! smile.gif
При разработке проекта возникла такая проблема. Используем ПЛИС CyclonII, генератор на 16.384 Мгц. Фреймер DS21Q50. Тактовую частоту генератора завожу на глобальный клок Плис(использую четвертый банк). Там эта частота делится на 8 (получаем частоту 2048) и вывожу ее с ножки плис на MCLK фреймера. Для фреймера эта частота является опорной. С фреймера идет частота 16.384 Мгц тоже на глобальный клок ПЛИС (используем первый банк). Эта частота формируется самим фреймером. И она, возможно, может отличаться от частоты, которая идет с генератора. Так как в фреймере есть ФАПЧ и он подстраивает частоту под себя. На Плис реализуется FIFO. При такой организации сбиваются внутренние счетики. Получается рассинхронизация. Если подавать на фреймер частоту 2,048 МГц с генератора (т.е. с отдельного прибора) то все работает. При этом не используем делитель на ПЛИС. То есть получается что нельзя использовать делитель частоты или что то еще. Не могу разобраться в чем проблема. Прошу помощи, коллеги. help.gif
Сколько разных частот можно заводить на ПЛИС. Так чтобы не было влияния.
У нас получается, что мы подаем две разные частоты на ПЛИС.
Если подавать с прибора частоту 16.384 МГц и подавать на делитель ПЛИС. Эффект такой же. Не работает. help.gif На выходе все по честному. Частота делится. Не могу разобраться. angry.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Apr 12 2007, 15:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Один клоковый домен имеется ввиду банк ввода ввывода?
///////////////////////////////////////////////////////////////////////
Можно и так сказать. У Вас два домена одной частоты, но не синхронны. И фифо как раз должно было помочь.
Вот пример посмотрите (представьте, что эти два регистра одноклоковое фифо)

module in_out_data
(
output reg [7:0] out_data,
output out_clk,
input global_clk,
input [7:0] input_data,
input in_clk_a,
input in_clk_b
);

reg [7:0] data_rg;
reg [2:0] sdvig_in_rg;
reg [2:0] sdvig_out_rg;

wire e_wr_rg;
wire e_rd_rg;

assign out_clk = in_clk_b;

always @ (posedge global_clk)
begin
sdvig_in_rg <= {sdvig_in_rg[1:0], in_clk_a};
sdvig_out_rg <= {sdvig_out_rg[1:0], in_clk_b};
if (e_wr_rg) data_rg <= input_data;
if (e_rd_rg) out_data <= data_rg;
end

assign e_wr_rg = sdvig_in_rg[1] & ~sdvig_in_rg[2];
assign e_rd_rg = ~sdvig_out_rg[1] & sdvig_out_rg[2];

endmodule
Go to the top of the page
 
+Quote Post
Kenav
сообщение Apr 13 2007, 08:36
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 19-10-05
Пользователь №: 9 839



Ну вот так в кратце. Вроде все просто, но не получается. angry.gif
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 13 2007, 09:11
Сообщение #4


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

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



Цитата(Kenav @ Apr 13 2007, 09:36) *
Ну вот так в кратце. Вроде все просто, но не получается. angry.gif
Прикрепленное изображение


Дело в том, что для PLL второго циклона 16 МГц - предельно низкая частота, а реализация делителя на счетчике думаю грязновата получается - все же фреймер требует 50 ppm. Поэтому мне кажется, что надо просто поставить на фреймер отдельный генератор, не пропуская его через ПЛИС. Если не удастся найти 2.048 - поставьте 16.384, ведь фреймер умеет сам делить опорную частоту на 2, 4 или 8.
Go to the top of the page
 
+Quote Post
Postoroniy_V
сообщение Apr 13 2007, 10:03
Сообщение #5


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



Цитата(DmitryR @ Apr 13 2007, 10:11) *
Дело в том, что для PLL второго циклона 16 МГц - предельно низкая частота, а реализация делителя на счетчике думаю грязновата получается - все же фреймер требует 50 ppm. Поэтому мне кажется, что надо просто поставить на фреймер отдельный генератор, не пропуская его через ПЛИС. Если не удастся найти 2.048 - поставьте 16.384, ведь фреймер умеет сам делить опорную частоту на 2, 4 или 8.

1) предельно низкая не 16384 вообще то, для циклона2 смотрите в
Table 5–51. PLL Specifications (Part 1 of 2) - 10 Мгц

2)если у вас генератор 50 ppm то эти самые ppm не могут прибавится за счёт делителя
3) проблемы возможно как раз в самом генераторе который тактирует плис - ведь насколько стало ясно
"так работает" - это происходит при тактировании от внешнего источника


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kenav   Синхронизация в ПЛИС   Apr 12 2007, 10:25
- - Евгений Николаев   Количество используемых частот в ПЛИС явно не огра...   Apr 12 2007, 11:04
|- - Kenav   Цитата(Евгений Николаев @ Apr 12 2007, 12...   Apr 12 2007, 11:32
|- - -=Sergei=-   Цитата(Kenav @ Apr 12 2007, 12:32) Это я ...   Apr 12 2007, 12:15
- - Евгений Николаев   Кто-то из нас кого-то (опять-таки из нас :-) ) не ...   Apr 12 2007, 12:19
|- - Kenav   Цитата(Евгений Николаев @ Apr 12 2007, 13...   Apr 12 2007, 13:12
- - sazh   Проблема в том, что если подавать на фреймер 2048 ...   Apr 12 2007, 14:16
|- - Kenav   Цитата(sazh @ Apr 12 2007, 15:16) Проблем...   Apr 12 2007, 14:49
- - Евгений Николаев   Если не секрет - выложите проект, чтобы можно было...   Apr 12 2007, 15:15
|- - DmitryR   Цитата(Postoroniy_V @ Apr 13 2007, 11:03)...   Apr 13 2007, 10:32
|- - Postoroniy_V   Цитата(DmitryR @ Apr 13 2007, 11:32) Хоро...   Apr 13 2007, 10:55
- - Евгений Николаев   Послушайте, а в качестве генератора 16.384МГц Вы ч...   Apr 13 2007, 11:10
|- - Postoroniy_V   Цитата(Евгений Николаев @ Apr 13 2007, 12...   Apr 13 2007, 11:11
|- - Stewart Little   Ну, ИМХО сперва нужно посмотреть, какие сигналы вы...   Apr 13 2007, 12:00
|- - Kenav   Цитата(Stewart Little @ Apr 13 2007, 13:0...   Apr 13 2007, 14:15
|- - Stewart Little   Цитата(Kenav @ Apr 13 2007, 15:15) Тоесть...   Apr 13 2007, 14:44
- - Tosha   Все таки непонятно где именно происходит рассинхро...   Apr 16 2007, 08:39


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 20:42
Рейтинг@Mail.ru


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