Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора ИПУ часть 2.doc
Скачиваний:
8
Добавлен:
29.08.2019
Размер:
3.7 Mб
Скачать
  1. Задачи физического уровня интерфейса pci-xp.

Физический уровень интерфейса PCI-XP

Самым нижним является физический уровень. Он отвечает за передачу битов от отправителя к получателю по двухточечному соединению. Каждое такое соединение состоит из одной или нескольких пар симплексных (однонаправленных) каналов. В простейшем случае на каждое направление выделяется по одной паре, но также допустимо наличие 2, 4, 8, 16 или 32 пар. Каналы, входящие в пары, называются полосами (lanes). На каждое направление должно быть выделено одинаковое количество полос. В первом поколении предусматривается скорость передачи данных от 2,5 Гбайт/с для каждого направления, но через некоторое время эта цифра, вероятно, дойдет до 10 Гбайт/с.

В отличие от шин ISA, EISA и PCI, в технологии PCI Express не предусмотрен тактовый генератор. Устройства вправе начинать передачу в любой момент, как только им будет, что передавать. Такая свобода, с одной стороны, повышает быстродействие, с другой, порождает проблему. Предположим, что 1 кодируется напряжением +3 В, а 0 - напряжением 0 В. Если первые несколько байтов равны нулю, как получатель узнает о том, что ему передаются данные? Действительно - последовательность нулевых битов трудно отличить от простоя канала. Эта проблема решается при помощи так называемой 8/10-разрядной кодировки. Согласно этой схеме, 1 байт фактических данных кодируется при помощи 10-разрядного символа. Из 1024 возможных 10-разрядных символов выбираются такие, которые за счет достаточного количества фронтов без задающего генератора обеспечивают синхронизацию отправителя и получателя по границам битов. В силу применения 8/10-разрядной кодировки суммарная пропускная способность канала, равная 2,5 Гбайт/с, сужается до фактической пропускной способности 2 Гбайт/с.

Физический уровень интерфейса PCI-XP (рис.2.38) подключается к уровню передачи данных с одной стороны и к каналу связи - с другой стороны. Физический уровень принимает и обрабатывает исходящие из уровня передачи данных пакеты TLP(DLL) и DLLP перед их передачей в канал связи, а также принимает и обрабатывает пакеты TLP(PL), DLLP(PL) и PLP, полученные из канала связи, перед их передачей на уровень передачи данных.

Физический уровень устройства составляют два подуровня: логический и электрический (см. рис.2.38).Оба подуровня разделены на передающую часть Tx и принимающую часть Rx (не зависимые друг от друга), которые позволяют осуществлять двойную симплексную связь.

Передающая часть логического подуровня обрабатывает пакеты TLP(DLL) и DLLP, приходящие с

уровня канала данных, и затем преобразует пакеты TLP(PL), DLLP(PL), PLP из параллельного

представления в последовательный поток битов. Битовый поток передается в канал связи со скоростью 2,5 Гбит/с по каждой дифференциальной линии передачи данных.

Принимающая часть логического подуровня преобразует последовательный битовый поток в

параллельный поток символов, обрабатывает входящие символы, собирает пакеты TLP(PL), DLLP(PL) и PLP и отправляет пакеты TLP(PL), DLLP(PL) на уровень канала данных.

  1. Передающая часть логического подуровня физического уровня интерфейса PCI-XP.

  1. Принимающая часть логического подуровня физического уровня интерфейса PCI-XP. Электрический подуровень физического уровня интерфейса PCI-XP.

Электрический подуровень физического уровня интерфейса PCI-XP.

Электрический подуровень физического уровня

Электрический подуровень физического уровня, относящийся к каждой линии (см. рис.2.38),

обеспечивает интерфейс подключения к каналу связи. Он содержит дифференциальные передатчик иприемник. Передатчик передает кодом без возвращения к нулю (NRZ) исходящие символы на каждую

линию и превращает битовый поток в электрические сигналы. Приемник обнаруживает электрические

сигналы кода NRZ на каждой линии и генерирует последовательный битовый поток, который преобразуется

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

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

Кроме того, электрический подуровень физического уровня содержит в передающей части контур

фазовой автоподстройки частоты PLL, выходной сигнал которого синхронизирует работу параллельно-последовательного преобразователя, а в принимающей части - контур фазовой автоподстройки частоты PLL, который синхронизируется с контуром PLL передающей части по переходам из «1» в «0» или из «0» в «1» входящего символьного потока.

Дифференциальные передатчик и приемник устойчивы к короткому замыканию, что делает их

идеально подходящими для «горячего» подключения и отключения. Канал связи, соединяющий два

устройства, поддерживает связь по переменному току. Конденсатор CTX на стороне передатчика препятствует протеканию постоянного тока в

линии связи. В результате два устройства на разных концах канала связи могут иметь свои собственные гальванически развязанные «земли» и источники питания. Высокоскоростная LVDS (низковольтная дифференциальная передача сигналов) используется в схемах передатчика и приемника). Характеристическое (волновое) сопротивление канала - 100 Ом.

Глазковая диаграмма. Понятие «глазковая диаграмма» впервые было предложено Джеймсом

Эдвардсом. Глазковая диаграмма - это график точек сигнала при последовательной форме передачи информации, периодически выбранных из псевдослучайной битовой последовательности и отображенных осциллографом. Временное окно наблюдения имеет два битовых периода (UI). Для PCI-XP при скорости 2,5 Гбит/с период равен 400 пс и временное окно равно 800 пс. Развертка осциллографа внешняя и запускается любым изменением синхросигнала. Глазковая диаграмма позволяет разработчику получить наглядное усредненное представление о работе элементов линии связи в желаемой точке (например, на выходе передатчика или входе приемника).

  1. Склемблер интерфейса PCI-XP; задачи и организация.

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

Рис. 2.5.13. Последовательность пакетов и командных наборов, передаваемых по каналу связи х4

повторяющиеся последовательности в битовом потоке приводят к тому, что значительная часть мощности, передаваемая сигналом, концентрируется на дискретных частотах, что порождает значительный EMI шум. В случае систем с неэкранированными проводами и высокочастотной передачей в 2.5 Гбит/с, EMI шум достигает значительных величин. Скремблирование делает излучаемую мощность канала связи похожей на белый шум. Это помогает обеспечить требования злектромагнитной совместимости.

Скремблер, смотри рис. 2.5.14., реализован на 16-ти битном сдвиговом регистре с обратной связью (LFSR), который реализует полином

G(x) = X16 + X5 + X4+ X3 +1

Рис 2.5.14. Скремблер

Некоторые правила реализации скремблера

  1. В много линейной реализации канала связи скремблеры, связанные с каждой линией должны работать согласованно, поддерживая одно и то же значение одновременно во всех LFSR

  2. Скремблирование применяется к ‘D’ знакам, составляющим пакеты TLP(DLL) и DLLP, включая последовательность логического ожидания (00h). ‘D’ знаки в командных наборах TS1 и TS2 не скремблируются.

  3. ‘K’ знаки и знаки в командных наборах, таких как TS1, TS2, SKIP, FTS и электрическое ожидание не скремблируются. Эти знаки минуют логику скремблирования.

  4. Знаки, относящиеся к последовательностям согласования не скремблируются.

  5. Когда знак COM выходит из скремблера (СОМ не скремблируется) он инициализирует LFSR. Инициализированное значение 16-тибитного LFSR равно FFFFh. Таким же образом, на стороне приемника, когда знак СОМ входит в дескремблер, он инициализируется.

  6. С одним исключением LFSR последовательно продвигается восемь раз для передачи каждого знака (D или K знака). LFSR не продвигается на SKP знаках, принадлежащих командным набором SKIP. Причина этого состоит в том, что приемник входящего пакета может добавлять или удалять SKP символы, чтобы произвести подстройку тактового генератора. Изменение числа знаков в приемнике по сравнению с переданным числом знаков приведет к потере синхронизации между значениями LFSR приемника и передатчика.

После скремблирования 8-битные знаки (8b знаки) кодируются в 10-битные символы (10b символы) с помощью логики 8b/10b кодера. При этом, конечно, происходит 25%-ная потеря реальной скорости передачи из-за расширения каждого 8b знака в 10b символ. Знак определяется как 8-битный не кодированный байт из пакета. Знак поставляется в 8b/10b кодер вместе с сигналом, показывающим является ли он знаком данных (D) или управляющим знаком (К). Символ определяется как 10-битный кодированный эквивалент 8-ми битного знака. Основная задача 8b/10b кодирования знаков пакета состоит в том, чтобы создать достаточную плотность переходов 1-в-0 и 0-в-1 в битовом потоке символов так, чтобы приемник смог выделить в потоке символов синхросигнал с помощью контура фазовой автоподстройки частоты (PLL) и тем самым решить задачу битовой синхронизации потока символов на входе приемника и задачу кадровой синхронизации входящих пакетов. Заметим, что синхросигнал, используемый для синхронизации последовательного битового потока на выходе из передатчика отдельно не передается по линии связи. Для синхронизации входящих пакетов используется синхросигнал, выделяемый приемником с помощью контура фазовой автоподстройки частоты.

Рассмотрим схему (рис.1.21) передачи информации при использовании скремблирования.

Передаваемая по линии последовательность bi не содержит большого числа подряд передаваемых 0 и 1, так как исходная двоичная последовательность ai (например 110110000001) заменяется в скремблере путем перемешивания битов последовательностью bi (110001101111) с ограниченным числом подряд передаваемых «0» и «1» (рис.1.22).

На входе передатчика стоит скремблер, поэтому приемнику передаются уже скремблированные данные, а на выходе приемника стоит дескремблер, восстанавливающий исходную последовательность

ai(110110000001) из двоичной последовательности bi(110001101111).