Перейти к содержанию
    

Поддержка автоопределения полярности в PCIe

Добрый день!

Если я правильно понял документацию на стандарт PCIe, polarity reversal обязаны поддерживать все PCIe устройства, так ли это?

Правильно ли я понимаю что polarity reversal работает на каждой паре независимо друг от друга, т.е. при разводке PCIe x4 можно поменять полярность только у части пар и всё будет работать?

И правильно ли я понимаю что выравнивание задержек между парами не требуется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, AlexMI сказал:

Если я правильно понял документацию на стандарт PCIe, polarity reversal обязаны поддерживать все PCIe устройства, так ли это?

Да, так и есть:

Цитата

4.2.4.2. Lane Polarity Inversion
During the training sequence, the Receiver looks at Symbols 6-15 of TS1 and TS2 as the indicator of
Lane polarity inversion (D+ and D- are swapped). If Lane polarity inversion occurs, the TS1
Symbols 6-15 received will be D21.5 as opposed to the expected D10.2. Similarly, if Lane polarity
inversion occurs, Symbols 6-15 of the TS2 ordered set will be D26.5 as opposed to the expected
D5.2. This provides the clear indication of Lane polarity inversion.


If polarity inversion is detected the Receiver must invert the received data. The Transmitter must
never invert the transmitted data. Support for Lane Polarity Inversion is required on all PCI
Express Receivers across all Lanes independently.

 

4 часа назад, AlexMI сказал:

Правильно ли я понимаю что polarity reversal работает на каждой паре независимо друг от друга, т.е. при разводке PCIe x4 можно поменять полярность только у части пар и всё будет работать?

Да, пары независимы.

4 часа назад, AlexMI сказал:

И правильно ли я понимаю что выравнивание задержек между парами не требуется?

image.thumb.png.12ff3d0b81d0b652aa055beef417dde4.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!

Да, эти 20 нс ( 6 нс для Gen 3 ) я и имел ввиду, сложно представить плату на которой в такие требования можно не вписаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ещё один интересный момент, касательно PCI-E: можно ли инвертировать полярность опорного тактового сигнала? Формально в спецификации запрета на это нет, с точки зрения логики - можно. Но в общем мнения на этот счёт расходятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, makc said:

Есть ещё один интересный момент, касательно PCI-E: можно ли инвертировать полярность опорного тактового сигнала? Формально в спецификации запрета на это нет, с точки зрения логики - можно. Но в общем мнения на этот счёт расходятся.

Казалось бы, у любого не синхронного интерфейса можно инвертировать полярность тактового сигнала? У CDR интерфейсов уж точно.

Я инвертировал, работало 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Только что, Flood сказал:

Я инвертировал, работало 🙂

Я тоже, но, например, интеловский саппорт говорит, что так делать нельзя. Правда непонятно почему. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что такое "полярность тактового сигнала"? Это ж просто меандр, где у него полярность? Может начальная фаза имеется в виду, что она должна приходить на устройства, тактируемые от одного источника, в одной фазе? Но если так, то PCIe вообще может работать от разных источников тактовой частоты, которые не разбегаются по частоте больше, чем 600 ppm, какая уж тут начальная фаза может быть, если клоки полностью асинхронные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 минут назад, dxp сказал:

А что такое "полярность тактового сигнала"?

При соединении P-P и N-N фаза 0 (прямая полярность), P-N и N-P фаза 180 (обратная полярность, polarity inversion). Это не полярность самого тактового сигнала, а полярность его подключения. 

15 минут назад, dxp сказал:

Может начальная фаза имеется в виду, что она должна приходить на устройства, тактируемые от одного источника, в одной фазе?

Что есть начальная фаза? Где начало?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, makc сказал:

При соединении P-P и N-N фаза 0 (прямая полярность), P-N и N-P фаза 180 (обратная полярность, polarity inversion). Это не полярность самого тактового сигнала, а полярность его подключения. 

Ну, так это имеет смысл только для данных, не для клока.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, dxp сказал:

Ну, так это имеет смысл только для данных, не для клока.

Т.е. такое подключение не инвертирует клок, а инвертирует только данные? 😉 Или что вы вкладываете в слова "имеет смысл"?

PS: В спецификации есть следующий пункт, касательно клока:

Цитата

4.3.1.1. Clocking Dependencies
The Ports on the two ends of a Link must transmit data at a rate that is within 600 parts per million
(ppm) of each other at all times. This is specified to allow bit rate clock sources with a +/- 300 ppm
tolerance.

Т.е. формально никаких требований по фазе нет, но есть требование по стабильности этого тактового сигнала (+/- 300 ppm tolerance).

Отсюда, кстати, появляется еще один интересный вопрос: какие есть ограничения по джиттеру этого тактового сигнала и можно ли использовать в качестве его источника, например, выход ПЛИС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, makc сказал:

Т.е. такое подключение не инвертирует клок, а инвертирует только данные? 😉 Или что вы вкладываете в слова "имеет смысл"?

Имеется в виду, что клок -- это сигнал, который присутствует всегда, независимо от того, идут данные или нет -- например, сигнал SCK в SPI -- это не клок, а просто сигнал синхронизации. Поэтому к начальной фазе клока привязаться нельзя, а только к тому или иному фронту. Поэтому инвертирование для клока по барабану -- дальнейшая логика "привяжется" к нужному фронту или PLL (если она там) зацепится за как надо.

 

34 минуты назад, makc сказал:

Т.е. формально никаких требований по фазе нет, но есть требование по стабильности этого тактового сигнала (+/- 300 ppm tolerance).

Отсюда, кстати, появляется еще один интересный вопрос: какие есть ограничения по джиттеру этого тактового сигнала и можно ли использовать в качестве его источника, например, выход ПЛИС?

Я про 600 ppm выше и писал -- это как бы и указывает, что если PCIe физику можно тактировать от разных источников, то про "переполюсовку" тут вообще говорить не приходится. 🙂

Про джиттер тоже, вроде, были чиселки в спеке, "но это не точно" (с ходу не вспомню).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 минут назад, dxp сказал:

Про джиттер тоже, вроде, были чиселки в спеке, "но это не точно" (с ходу не вспомню).

В спецификации я их не нашёл. Находятся разные статьи на эту тему, но хотелось бы понять, на сколько они адекватны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, makc сказал:

В спецификации я их не нашёл. Находятся разные статьи на эту тему, но хотелось бы понять, на сколько они адекватны.

на 49 странице и далее , рассматривается бюджет по джиттеру и вклад компоненты реф_клока.

Эти условно сотни пикосекунд  , да хоть и десятки, вроде бы не являются пугающей проблемой. Как я наслышан , разработчики блоков больше озабочены детерминированным джиттером выходных каскадов у ТХ на больших скоростях. 

А клок на приеме так и вовсе не используется, а восстанавливается из данных.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, тау сказал:

Эти условно сотни пикосекунд  , да хоть и десятки, вроде бы не являются пугающей проблемой. Как я наслышан , разработчики блоков больше озабочены детерминированным джиттером выходных каскадов у ТХ на больших скоростях. 

Судя по представленным значениям использовать в качестве источника сигнала выходы ПЛИС не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, тау said:

А клок на приеме так и вовсе не используется, а восстанавливается из данных.

Реф. клок используется как опора для восстановления клока RX, поэтому джиттер так же важен как и для TX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...