Prog_Vladimir 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Добрый день. Читая спецификацию PCIe уткнулся в один вопрос, который сразу не смог сам себе разъяснить. Заявленная скорость PCIe - 2.5Gbit/s (Gen1), при этом тактовая частота - 100 Mhz Как такое возможно, учитывая, что интерфейс последовательный и пакет pcie содержит еще и кучу служебной информации, то есть скорость приема/передачи по логике должна быть менее 100 Mbit/s ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Тактовая частота - это просто для синхронизации, а сама передача идет на больших частотах. Например, возможно и до 256 Gbit/s. Почитайте хотя бы здесь: http://ru.wikipedia.org/wiki/PCI_Express Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Prog_Vladimir 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 (изменено) · Жалоба Понятно, что тактовая частота - для синхронизации. но для синхронизации чего - начало/конец пакета и тп? Еще используется такая фича - информация о синхронизации встраивается в сигнал - тоже интересно, что за зверь. Если кто хорошо это понимает - буду благодарен за краткие разъяснения и ссылки, а так придется дальше ковырять спецификацию, в любом случае когда-нибудь разберусь. Изменено 24 ноября, 2011 пользователем Владимир_О Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
elector 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Почитайте документацию от Xilinx и Altera по их ядрам PCI Express, станет многое понятно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба Прежде изучения спецификации следует изучить гугле. К примеру, вам дали ссылку на вики. Там вы встретили упоминание о канальном кодировании 8b\10b. Мышкой выделяете это "8b\10b" и переносите в поисковую строку и нажимаете искать. После чего первой ссылкой у вас будет http://en.wikipedia.org/wiki/8b/10b_encoding И так далее. А вот что НЕПОНЯТНО - это да. Разъяснить можно. Но гугле надо знать и использовать. Они там ночей не досыпают, индексируют... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Fast 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба 100, 125 или 250 МГц тактируют PCIe EndPoint а данные передаются через GTP или GTX, 2.5/5 гбит/с по каждому lane Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cioma 0 24 ноября, 2011 Опубликовано 24 ноября, 2011 · Жалоба 100 МГц - это просто опорная частота для PLL в End Point, прямого отношения к RX и TX она не имеет. End Point может иметь и свой локальный генератор, и тогда 100 МГц от Root может не использовать. Так или иначе PLL умножает те или иные 100 МГц для получения частоты, нужной для обмена данными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Prog_Vladimir 0 25 ноября, 2011 Опубликовано 25 ноября, 2011 · Жалоба 100 МГц - это просто опорная частота для PLL в End Point, прямого отношения к RX и TX она не имеет. End Point может иметь и свой локатьный генероатор, и тогда 100 МГц от Root может не использовать. Так или иначе PLL умножает те или иные 100 МГц для получения частоты, нужной для обмена данными. Вот этот ответ почти самое оно) То есть, допустим есть ПЛИС, на которой необходимо реализовать PCIe EndPoint ( ну пусть Циклон четвертый какой-нить) На PLL заводим PCIe Clk - и дальше все процессы обработки данных для приема/передачи будут запускаться как раз по сигналу clk частотой PCIeclk, умноженной. допустим, на 25. Примерно так? Что же тогда за синхронизация внутри сигнала. 8b/10b - ответ там? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cioma 0 25 ноября, 2011 Опубликовано 25 ноября, 2011 · Жалоба Думается, что PCIe clock надо заводить на REFCLK трансиверов FPGA, а для тактирования основной логики FPGA надо будет иметь отдельный генератор, ибо, если не изменяет память, PLL трансиверов FPGA нельзя использовать для тактирования логики. Ну или сначала PCIe clock буферизировать, разветвить на два, один подать на REFCLK, а другой - на CLKIN. Кодирование 8b/10b позволяет выделять тактирующую из потока данных и лочить на нее PLL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться