PCIe, діагностика та вдосконалення очної діаграми


18

Я реалізував дизайн, який використовує PCIe. Дещо відрізняється тим, що інтерфейс PCIe використовується як смуга зв'язку «чіп-чіп» на одній друкованій платі (наприклад, немає роз'єму PCIe).

Кореневим складним пристроєм є Freescale i.MX6, який сумісний із PCIe Gen 2, і пристрій, з яким я спілкуюсь, - це модуль WiFi з Marvell, який є сумісним пристроєм PCIe Gen 3. Це єдиний інтерфейс, що працює на швидкості 2,5 Гбіт / с.

Я здійснив кілька вимірювань цілісності сигналу, паяючи велику швидкість обертання з належними диференціальними проблемами прямо з іншого боку вкладених кришок, показаних нижче:

введіть тут опис зображення

Для годинника діаграма очей виглядає досить непогано:

введіть тут опис зображення

Але даних про TX не так багато:

введіть тут опис зображення

У мікросхеми WiFi є кінцеві закінчення, тому я не вірю, що мені потрібні додаткові термінали, але я можу помилитися з цього приводу.

Я знайшов деякі регістри, які можна встановити в процесорі i.MX6 для периферійних пристроїв PCIe, але я не точно впевнений, що вони насправді роблять. Трохи спроб і помилок також не дуже мене зачепило.

введіть тут опис зображення

Я перевірив, що макет відповідає правильним правилам маршрутизації і PCB була побудована з правильним опором. Очевидно, що у мене є певний тремтіння в системі, але це також виглядає так, як у мене є проблема роздуму або децентралізації. Я сподіваюся, що хтось міг би описати те, що вони бачать не так у моїй діаграмі очей та / або запропонувати деякі способи виправити це.

Ура!


класне питання. Сподіваюся побачити кілька хороших відповідей.
justing

1
Де ти вимірюєш своє око?
Деякий апаратний хлопець

І для чого встановлені ці регістри?
Деякий апаратний хлопець

Пару питань: у чому проблема TX? i.MX6 до Marvell або Marvell до i.MX6? Яку фільтрацію подачі ви встановили навколо непрацюючого передавача або його рейки подачі годинника? Які поточні значення цих регістрів?
akohlsmith

@SomeHardwareGuy Я вимірюю око tx праворуч з іншого боку цих конденсаторів. З точки зору компонування конденсатори як для годинника, так і для TX знаходяться біля мікросхеми WiFi. Загальна відстань, яку пари проводяться, становить приблизно 2,5 дюйма. I.MX6 насправді є частиною SOM, яка підключається до роз'єму SO-DIMM, і я створив лише плату, яка "несе" цей SOM і чіп WiFi.
Funkyeah

Відповіді:


22

Існує досить багато речей, які зроблять це для вас.

Ви не вказали довжину інтерфейсу. Я часто підключаю чіп до PCIe, і вам потрібно це враховувати, оскільки ви отримаєте ослаблення приблизно 0,18 дБ на дюйм через втрати ефекту шкіри та приблизно 0,5 дБ на дюйм через діелектричне поглинання на «звичайному» FR4.

Я думаю, що ви, можливо, зможете отримати кращі номери з листа даних PCB, якщо ви завантажите його і подивитесь на дотичну інформацію про втрати. Погляньте на Isola 370HR для типової таблиці даних. Наведені вище цифри досить точні при швидкості 5 ГГц. При швидкості 2,5 Гб цифри трохи нижче, із загальною втратою ~ 0,4 дБ на дюйм.

Я припускаю, що крім прориву та конденсаторів з'єднання, ви використовуєте одношарову маршрутизацію для інтерфейсу. Переходи шару можуть легко робити дуже неприємні речі на сигнал. Контрольований імпеданс буде трохи відрізнятися від шару до шару, а відбиття - це природний результат (є способи успішного виконання багатошарової маршрутизації, але для цього потрібна велика обережність і деякі незвичайні хитрощі).

Для експреси PCI (і для цього Infiniband) швидкість підйому і падіння сигналу на передавачі має a мінімальний час підйому і падіння, щоб мінімізувати проблеми EMI, і цей час становить 0,25UI, що дає артефакти сигналізації 10 ГГц на посиланнях gen 2 та артефакти 5 ГГц у ген 1, які необхідно враховувати.

Поле для знеструмлення вище допомагає отримати чисте око на приймачі, піднявши амплітуду без комутації зменшуючи вниз відносно номінальної амплітуди запуску.

Якщо ви втрачаєте занадто велику амплітуду на краю перемикання сигналу, встановіть це поле на велике значення. Ви також можете встановити номінальну амплітуду запуску трохи вище.

Інші проблеми, які ви можете подивитися:

Де відносно передавача є конденсатори зв'язку? Вони повинні бути наближені до передавальних штифтів, наскільки це можливо. Щойно вони перевищують половину хвилі 10 ГГц (приблизно 0,6 дюйма на FR4) [удвічі перевищують цю відстань для 2,5 Гбіт / с посилань], вони, безумовно, відображають енергію.

У мене виникли проблеми з геометрією конденсаторів 0402 або більше в експрес-ген PCI. 2, і тепер я використовую пристрої зворотної геометрії (0204) для зменшеної ефективної серії індуктивності. Вони, здається, отримують роботу дуже добре.

Придивившись уважно до діаграми очей для перехідних бітів (приємний обсяг, який у вас є, до речі, саме для цього вам потрібен), початковий сигнальний привід, здається, веде перервану лінію (сигнал іде на 0,5 В (номінальний) класичним способом лінії електропередачі). Це не особливо довгий рядок (час кругової поїздки - це те, коли сигнал рухається до повної V [номінальної]).

ви кажете, що посилання працює на швидкості 2,5 Гбіт / с (ген 1), і ось що показують сліди обсягу, але ви можете поекспериментувати з полем для децентралізації (дивіться в посібнику з посиланнями, а також на електричному аркуші даних (див. примітку нижче). "Стандартні" значення де-наголосу призначені для номінальної посилання, а не вбудованої ланки, такої як у вас тут (і що я також регулярно роблю). Якщо ви зможете отримати її приблизно до 6 дБ, ви можете отримати кращі результати.

Номінальне знецінення становить 3,5 дБ для Gen 1 і 6 дБ для Gen2. Зауважу, що поле вище, мабуть, означає, що посилання Gen 2 є 3,5 дБ - можливо, ви захочете трохи копатись на цьому. Посилання, яке ви маєте, потребує мінімум 3,5 дБ деактивації.

Зауважте, що око на приймачі буде дуже різним, але це важливо . Як експеримент, прочитайте лічильники помилок у процесорі (більшість з них має лічильник для повторних спроб); якщо ви не бачите істотних помилок, ви можете переслідувати щось, що насправді не є проблемою. Якщо ви бачите велику кількість помилок, можливо, щось із цього може допомогти.

І ще одне: надмірна амплітуда запуску і знецінення так само погано, як встановлення їх занадто низьких.

Можливо, це вам трохи допоможе: Сподіваюся, що так.

Примітка. Фреска масштабує все, але іноді це не в тому місці, де ви очікуєте його знайти. Переконайтеся, що у вас також є остання помилка пристрою.

Оновлення . Додано примітки про геометрію конденсаторів.

До вузла 2,5 Гбіт / сек добре працює 0402 пристрої. Мій зручний калькулятор показує, що типовий пристрій 0402 має приблизно 10 Ом імпедансу (індуктивний) на цій частоті та 21 Ом на 5 ГГц (найвища частота, що цікавить). Це не дуже погано для 100-омної диференціальної системи, оскільки ефективний опір тісно з’єднаної пари дещо менше, ніж прямого додавання.

Резонанс для цього пристрою становить 19 МГц, що значно нижче всіх частот, що цікавлять вас, тому будь-який фазовий шум обумовлений ESL. Зведення імпедансу до менше ніж приблизно 1/3 ефективного опору доріжки означає, що фазовий шум (а отже, і додатковий ISI), який ми отримаємо, становить від 1 до 17 градусів (типова одна доріжка, що закінчилася від близько зв'язаної пари, як правило (Z (розл.) / 2) * 1,25, так що для 100 розм. одинарний опір становить приблизно 65 Ом). Ця кількість фазового шуму керована.

На 10 ГГц ефективний опір становить близько 44 Ом, і він може почати перешкоджати диференціальній парі, вводячи надмірний фазовий шум в частотній смузі, що представляє інтерес, оскільки зараз максимальна фаза становить близько 34 градусів. Хоча я успішно зробив Gen 2 із пристроями 0402, у мене також виникли проблеми з більш тривалими пробіжками, і тепер використовую пристрої 0204 зворотної геометрії для цієї швидкості і вище.

Для кодованих посилань 8b / 10b частотна смуга, що становить інтерес, становить від бітової швидкості / 5 до швидкості передачі бітів * 2. Нижня межа обмежена кодуванням довжини запуску, а верхня межа обмежена вимогою специфікації щодо мінімального часу підйому та падіння. .

ESL для різних геометрій:

0402: близько 700 пГ

0204: приблизно 300pH

0805: близько 1nF

Оновити Доданий коментар про 50% початкових амплітуд запуску.

Розглянемо лінію електропередачі, що закінчується у джерела та місця призначення при характерному опорі лінії Z0.

При початковому запуску, якщо вважати, що лінія довга порівняно з довжиною хвилі сигналу, точка запуску піде на 50% від амплітуди запуску через ділення напруги (передавач бачить лише лінію передачі в цій точці).

Як тільки енергія надійде до точки призначення і починає підніматися до 50% точки, енергія в джерелі ефективно «заповнила» лінію енергією і піднімається до повної амплітуди запуску. Строго кажучи, лінія електропередачі в пункті призначення бачить дільник напруги, а дільник на джерелі зникає, коли вихід наближається до постійного струму (маючи на увазі, що ефект лінії передачі застосовний лише до переходів).

Це також можна візуалізувати як 50% енергетичного рівня рухається вниз по лінії електропередачі до остаточного припинення, а потім відображається назад на повному рівні. Ось чому ми бачимо "час подорожі в зворотній бік" у точці 50% у будь-якій точці лінії.

Ваш графік показує саме таку поведінку в точці на лінії, яка ще не знаходиться в порту призначення , оскільки ця 50% точка насправді рухається по лінії.

У приймачі, як тільки енергія досягне 50% точки, йде повна енергія лінії, і напруга на приймачі продовжує зростати, даючи плавний перехід від одного рівня до іншого.

Це також можна візуалізувати як точка напруги 50%, що рухається по лінії до приймача, потім відбивається на 100% (приймач спочатку досягає постійного струму). З цієї причини напруга на 50%, переглянуте в будь-якій точці лінії, показує час подорожі в зворотному напрямку від цієї точки до приймача.

Ця дискусія справедлива для диференціальних сигналів, як однократна.

Тож ваш сюжет вище показує класичну поведінку лінії електропередачі з невеликими екскурсіями, що перевищує очікувану поведінку. Насправді це одне з найчистіших очей передавача, яке я бачив.


Гарна відповідь. Можливо, додайте посилання або деякі вимірювання, де ви бачите відображення від своїх шапок при наявності будь-яких серйозних втрат? Я ніколи цього не бачив і вважаю, що це більше міф.
Рольф Остергаард

1
У коментарях нижче публікації я уточнив, що довжина становить приблизно 2,5 дюйма. Ми насправді використовуємо Isola 370HR і керували компонуванням досить ретельно. Сказавши, що ми також використовуємо SOM, що робить розміщення кришок біля передавача по суті неможливим. Я вимірюю на стороні приймача ковпачки зчеплення, які максимально наближені до приймача, перш ніж маршрути потраплять у внутрішній шар керованого опору.
Funkyeah

Сказавши вище прекрасну відповідь. Я відзначу це правильним, навіть якщо це не призводить безпосередньо до вирішення мого конкретного питання, оскільки він має стільки корисних знань. Якісь пропозиції щодо хороших ресурсів на цю тему? Я вважаю, що фактичні практичні знання замикаються в пунктах живлення та випадкових документах.
Funkyeah

Рольф: кришки викликають деяке відображення, якщо вони знаходяться на відстані відстані, і ним можна керувати, але це потрібно розпізнати, особливо якщо сигнал повинен надходити з внутрішнього шару до та від кришок, додаючи пару віаси. Розрив не величезний, але якщо бюджет зв’язку розтягується, це може бути солома, яка зламала верблюду спину.
Пітер Сміт

Ще небагато питань, якщо ви не заперечуєте! Що ви маєте на увазі, коли ви порівнюєте початковий VV з Vfull і згадуєте час маршруту ...? Ви кажете, що перша частина - це вимірювання відбиття та сигналу, а остання частина - це лише сигнал? Це доцільно бачити чи погано? У будь-якому випадку її видалити?
Funkyeah
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.