Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PCI-express
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Владимир_О
Добрый день.

Читая спецификацию PCIe уткнулся в один вопрос, который сразу не смог сам себе разъяснить. Заявленная скорость PCIe - 2.5Gbit/s (Gen1), при этом тактовая частота - 100 Mhz Как такое возможно, учитывая, что интерфейс последовательный и пакет pcie содержит еще и кучу служебной информации, то есть скорость приема/передачи по логике должна быть менее 100 Mbit/s ??
alexvu
Тактовая частота - это просто для синхронизации, а сама передача идет на больших частотах.
Например, возможно и до 256 Gbit/s.
Почитайте хотя бы здесь:
http://ru.wikipedia.org/wiki/PCI_Express
Владимир_О
Понятно, что тактовая частота - для синхронизации. но для синхронизации чего - начало/конец пакета и тп? Еще используется такая фича - информация о синхронизации встраивается в сигнал - тоже интересно, что за зверь. Если кто хорошо это понимает - буду благодарен за краткие разъяснения и ссылки, а так придется дальше ковырять спецификацию, в любом случае когда-нибудь разберусь.
ИльяКи
Почитайте документацию от Xilinx и Altera по их ядрам PCI Express, станет многое понятно.
DpInRock
Прежде изучения спецификации следует изучить гугле.
К примеру, вам дали ссылку на вики.
Там вы встретили упоминание о канальном кодировании 8b\10b.

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

И так далее.

А вот что НЕПОНЯТНО - это да. Разъяснить можно.
Но гугле надо знать и использовать. Они там ночей не досыпают, индексируют...
Fast
100, 125 или 250 МГц тактируют PCIe EndPoint
а данные передаются через GTP или GTX, 2.5/5 гбит/с по каждому lane
cioma
100 МГц - это просто опорная частота для PLL в End Point, прямого отношения к RX и TX она не имеет. End Point может иметь и свой локальный генератор, и тогда 100 МГц от Root может не использовать. Так или иначе PLL умножает те или иные 100 МГц для получения частоты, нужной для обмена данными.
Владимир_О
Цитата(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 - ответ там?
cioma
Думается, что PCIe clock надо заводить на REFCLK трансиверов FPGA, а для тактирования основной логики FPGA надо будет иметь отдельный генератор, ибо, если не изменяет память, PLL трансиверов FPGA нельзя использовать для тактирования логики. Ну или сначала PCIe clock буферизировать, разветвить на два, один подать на REFCLK, а другой - на CLKIN.

Кодирование 8b/10b позволяет выделять тактирующую из потока данных и лочить на нее PLL.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.