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

 
 
> PCI-express
Владимир_О
сообщение Nov 24 2011, 06:24
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 24-10-11
Из: Санкт-Петербург
Пользователь №: 67 915



Добрый день.

Читая спецификацию PCIe уткнулся в один вопрос, который сразу не смог сам себе разъяснить. Заявленная скорость PCIe - 2.5Gbit/s (Gen1), при этом тактовая частота - 100 Mhz Как такое возможно, учитывая, что интерфейс последовательный и пакет pcie содержит еще и кучу служебной информации, то есть скорость приема/передачи по логике должна быть менее 100 Mbit/s ??
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
alexvu
сообщение Nov 24 2011, 07:50
Сообщение #2


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

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Тактовая частота - это просто для синхронизации, а сама передача идет на больших частотах.
Например, возможно и до 256 Gbit/s.
Почитайте хотя бы здесь:
http://ru.wikipedia.org/wiki/PCI_Express
Go to the top of the page
 
+Quote Post
Владимир_О
сообщение Nov 24 2011, 08:42
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 24-10-11
Из: Санкт-Петербург
Пользователь №: 67 915



Понятно, что тактовая частота - для синхронизации. но для синхронизации чего - начало/конец пакета и тп? Еще используется такая фича - информация о синхронизации встраивается в сигнал - тоже интересно, что за зверь. Если кто хорошо это понимает - буду благодарен за краткие разъяснения и ссылки, а так придется дальше ковырять спецификацию, в любом случае когда-нибудь разберусь.

Сообщение отредактировал Владимир_О - Nov 24 2011, 08:44
Go to the top of the page
 
+Quote Post
ИльяКи
сообщение Nov 24 2011, 09:12
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 30-01-10
Из: Таганрог
Пользователь №: 55 160



Почитайте документацию от Xilinx и Altera по их ядрам PCI Express, станет многое понятно.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Nov 24 2011, 09:18
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Прежде изучения спецификации следует изучить гугле.
К примеру, вам дали ссылку на вики.
Там вы встретили упоминание о канальном кодировании 8b\10b.

Мышкой выделяете это "8b\10b" и переносите в поисковую строку и нажимаете искать.
После чего первой ссылкой у вас будет
http://en.wikipedia.org/wiki/8b/10b_encoding

И так далее.

А вот что НЕПОНЯТНО - это да. Разъяснить можно.
Но гугле надо знать и использовать. Они там ночей не досыпают, индексируют...


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Fast
сообщение Nov 24 2011, 09:59
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 216
Регистрация: 31-03-05
Из: Зеленоград
Пользователь №: 3 839



100, 125 или 250 МГц тактируют PCIe EndPoint
а данные передаются через GTP или GTX, 2.5/5 гбит/с по каждому lane
Go to the top of the page
 
+Quote Post
cioma
сообщение Nov 24 2011, 21:46
Сообщение #7


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

Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65



100 МГц - это просто опорная частота для PLL в End Point, прямого отношения к RX и TX она не имеет. End Point может иметь и свой локальный генератор, и тогда 100 МГц от Root может не использовать. Так или иначе PLL умножает те или иные 100 МГц для получения частоты, нужной для обмена данными.
Go to the top of the page
 
+Quote Post
Владимир_О
сообщение Nov 25 2011, 09:08
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 24-10-11
Из: Санкт-Петербург
Пользователь №: 67 915



Цитата(cioma @ Nov 25 2011, 01:46) *
100 МГц - это просто опорная частота для PLL в End Point, прямого отношения к RX и TX она не имеет. End Point может иметь и свой локатьный генероатор, и тогда 100 МГц от Root может не использовать. Так или иначе PLL умножает те или иные 100 МГц для получения частоты, нужной для обмена данными.

Вот этот ответ почти самое оно)
То есть, допустим есть ПЛИС, на которой необходимо реализовать PCIe EndPoint ( ну пусть Циклон четвертый какой-нить) На PLL заводим PCIe Clk - и дальше все процессы обработки данных для приема/передачи будут запускаться как раз по сигналу clk частотой PCIeclk, умноженной. допустим, на 25. Примерно так? Что же тогда за синхронизация внутри сигнала. 8b/10b - ответ там?
Go to the top of the page
 
+Quote Post
cioma
сообщение Nov 25 2011, 16:21
Сообщение #9


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

Группа: Свой
Сообщений: 1 226
Регистрация: 19-06-04
Из: Беларусь
Пользователь №: 65



Думается, что PCIe clock надо заводить на REFCLK трансиверов FPGA, а для тактирования основной логики FPGA надо будет иметь отдельный генератор, ибо, если не изменяет память, PLL трансиверов FPGA нельзя использовать для тактирования логики. Ну или сначала PCIe clock буферизировать, разветвить на два, один подать на REFCLK, а другой - на CLKIN.

Кодирование 8b/10b позволяет выделять тактирующую из потока данных и лочить на нее PLL.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th July 2025 - 11:59
Рейтинг@Mail.ru


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