Сделай сам: PCI riser

Автор: serj. Новейшие системные платы избавляются от PCI, а если поддержка и остается, то в крайне урезанном виде - один-два слота в самых неудобных местах. Что же делать, отказываться от звуковой карты и переходить на «встроенную» или бежать в магазин за ее версией PCI-e? Однако можно пойти третьим путем - «перенести» слот, чему и будет посвящена данная статья.
10 июня 2012, воскресенье 03:00
serj для раздела Лаборатория

Оглавление

Вступление

Компьютер – существо многоплановое, в любящих руках оно способно принять самые причудливые формы. Так, конструкция системного блока подразумевает установку произвольного оборудования, хотя стараниями производителей материнских плат широта охвата резко сужается. Дальше речь пойдет об одном умирающем интерфейсе - PCI. Новейшие системные платы избавляются от него, а если поддержка и остается, то в крайне урезанном виде - один-два слота в самых неудобных местах.

Возьмем, например, модельный ряд Gigabyte верхнего диапазона линейки Z77. Если такой интерфейс присутствует, то находится в одном и том же месте – второй слот слева. Это означает, что установка двух видеокарт ставит крест на любом PCI адаптере. Отчасти я понимаю проектировщиков – гордая запись «SLI х3» явно перевешивает обыденное «и PCI». Перевешивает в желании произвести впечатление, сравните распространенность решения с тремя видеоускорителями с «обычным» SLI/CrossfireX и звуковой картой PCI. Впрочем, сейчас SLI/CrossfireX скорее уж действительно обычное явление, хотя и не частое.

Можно перейти на продукцию других производителей - у компаний MSI, ASRock, ASUS и других, довольно часто в середину блока слотов установлен не короткий «PCI Express х1», а второй слот PCI. Однако первый слот PCI так и остается на втором месте, с краю ставят «крайне полезный» слот PCI Express х4 (в формате х16).

К сожалению, «производителя не выбирают». Проще говоря, подбор материнской платы ведется по множеству критериев: набор слотов, состав аппаратуры, тип и мощность источника питания, доверие к программному обеспечению. Последнее тоже важно и дело не в «фанатских» пристрастиях – когда через твои руки проходит не один компьютер, то начинаешь собирать некоторую статистику по характеру и качеству решений. Прорывы бывают, но редко.

Впрочем, я несколько отвлекся. Упомянутая выше материнская плата выглядит следующим образом:

Что же делать, отказываться от звуковой карты и переходить на «встроенную»? Или еще лучше – бежать в магазин за версией PCI-e? К сожалению, оба решения обладают некоторыми существенными недостатками, и дело не только в дополнительных денежных тратах. Однако можно пойти третьим путем - «перенести» слот, чему и будет посвящена данная статья.

Постановка задачи

Идея решения понятна – перенести слот со второго места на первое. Но при этом надо соблюсти ряд условий, которые стоит оговорить заранее. Источник проблемы находится в соседней видеокарте, которая устанавливается в слот «PCI-e х8» - она довольно «толстая» и занимает два слота, закрывая PCI. Как важный элемент постановки задачи следует сразу исключить варианты, которые подразумевают деструктивные действия с материнской платой. Во-первых, при этом сразу теряется гарантия; во-вторых, устройство получается непереносимым и его нельзя использовать после смены материнской платы. Это означает применение «какого-то» переходника без демонтажа разъема PCI из платы. Фактически, в разъем надо установить «как бы» плату PCI, каждый вывод которой соединить с ответным разъемом, то есть, обычный удлинитель «вилка-розетка».

В системном блоке предполагается использование видеокарты верхнего ценового диапазона с классическим исполнением системы охлаждения в виде «кирпича». Для них типичным является расстояние от низа СО до низа разъема PCI-e около 14.5 мм. Измерение слота PCI Express показало глубину хода разъема 7.5 мм при полной высоте 11 мм. Установка видеокарты в такой разъем приведет к расстоянию ее системы охлаждения до материнской платы не менее чем: 14.5 + (11 – 7.5) = 18 мм. Высота разъема PCI составляет 15 мм. Итак, между видеокартой и слотом PCI остается промежуток в 18 – 15 = 3 мм. Одна отправная точка есть, переходник во вставленном положении должен быть не выше 3 мм.

Второе условие, которое стоит оговорить заранее – как далеко будет переноситься слот. Переходник можно сделать с использованием длинного гибкого шлейфа, что позволит переместить плату в любое место системного блока. Однако можно сразу отметить, что любые «универсальные» решения сразу порождают массу недостатков – устройство может работать неустойчиво, длина шлейфа окажется избыточной и его куда-то придется прятать, при этом избегая резких сгибов. Кроме того, «гибкое» исполнение означает, что разъем PCI на целевой плате будет держаться только за счет трения, что не способствует нормальной работе, либо потребуется предусмотреть жесткую фиксацию второй части переходника на корпусе системного блока. Вообще-то, не простое решение.

Никаких других условий к переходнику не предъявляется, поэтому можно перейти к следующей стадии.

Варианты решения

Первое, что приходит на ум после прочтения технического задания – взять обычный «PCI riser». Цена переходника может меняться в ощутимых пределах, от 200 до 1000 рублей, зато хлопот нет – воткнул и работает.

Подходит под условия задачи? Увы, нет. Посмотрите на низ переходника. На нижней части шлейфа смонтирована небольшая плата с «краевым» разъемом, которая вставляется в материнскую плату, и эта плата довольно высока. Теперь посмотрите на нее внимательнее - она входит в разъем PCI на длину желтой части, что составляет только половину ее высоты. В задании оговорено, что выступающая часть не должна превышать 3 мм, а здесь уже речь идет о 15 мм. Можно поступить иначе, срезать высоту платы по уровню желтого цвета и припаять шлейф прямо к контактам. Это уже лучше и вполне осуществимо, только вот… покупать переходник за 1000 рублей, чтобы сразу его переделывать, причем самым кардинальным способом? Плохая идея, отбрасывается.

Собственно, что мешает сделать этот переходник самим? Шлейфы UDMA 33 и 100 вовсе не редкость и зачастую в большом переизбытке. Разъем PCI берется из любой материнской платы, а платку разъема PCI можно отпилить от ненужного адаптера с таким интерфейсом.

Я думаю, многие узнали сетевой адаптер фирмы Realtek RTL8029 со скоростью 10 Мбит.

Шлейф самый обычный, например, UDMA 100.

А что, подходит идеально. Проводники можно поделить «через один», четные на одну сторону платы, нечетные на другую. Или, можно взять шлейф UDMA 33 - в нем не столь жесткие проводники и с ним легче работать. Как недостаток – шлейфов потребуется два, по одному на сторону платы, что может сказаться на величине выступающей части переходника, а она жестко ограничена, лишь 3 мм. Впрочем, толщина шлейфа UDMA 33 около 0.85 мм.

Всё, вариант приемлемый, пора делать? Стоп-стоп, вначале стоит оценить недостатки:

  • Потребуется зачистка и опайка четверти тысячи контактов гибкого шлейфа.
  • Для разъема PCI необходимо предусмотреть способ крепления к корпусу системного блока.

Посмотрите на картинку чуть выше, на полноценном переходнике разъем PCI установлен на небольшую плату с крепежными отверстиями. Для повторения такого исполнения придется делать аналогичную плату, что крайне усложнит изготовление устройства. Если же крепление не делать, то есть шанс «сползания» разъема с платы. Конечно, его можно привязать нитками или скотчем, но, согласитесь, получится не самое изящное решение.

Впрочем, «болтающийся» разъем PCI не самое страшное явление, а вот зачищать и опаивать столько контактов шлейфа занятие «весьма занятное». Но, собственно, зачем нам шлейф? Задача состоит в перемещении слота на одно место, расстояние небольшое. Кроме того, припаивать проводники к самому разъему PCI неудобно – выводы в нем не зафиксированы и могут немного изгибаться под действием внешних усилий. Немного подвинул переходник и получил замыкание – это нам нужно? Бррр! Это означает, что после выполнения пайки это место придется фиксировать каким-то способом, скажем, герметиком. Причем выполнять эту операцию следует крайне аккуратно – протечет на контакты разъема и вся конструкция на выброс.

Альтернативный вариант – не выпаивать разъем из материнской платы, а выпилить его вместе с фрагментом платы. При этом убиваются два зайца – общие шины (земля и питание) будут качественно объединены, выводы разъема не будут двигаться. Но вот заделывание шлейфа – это долго, нудно, а при отсутствии квалификации еще и некачественно.

Гм, может вообще отказаться от шлейфа? Интересная мысль, а почему бы и нет, собственно? Для обеспечения фиксации разъема PCI его можно выпилить, а не выпаивать, но почему бы не отпилить два слота вместо одного? В этой шине большинство цепей являются общими и соединяют одноименные контакты слотов. Тогда получится вариант номер три – выпилить из ненужной материнской платы фрагмент с двумя слотами PCI и вместо одного из них впаять платку подключения. При этом большинство соединений уже будет выполнено имеющейся трассировкой. Остается вопрос толщины, ведь у нас всего 3 мм. Прикинем расходы:

  • Место припайки платки переходника – думаю, 1.5 мм будет достаточно.
  • Толщина печатной платы - 1.6 мм.
  • Трассы платы и выступы – не более 0.1 мм.
  • Прорезь в слоте PCI имеет фаску, примерно 0.2 мм.

Если все просуммировать, то получится 1.5 + 1.6 + 0.1 – 0.2 = 3 мм. «Где-то» укладываемся в размер, но придется жестко экономить.

Недостатки решения:

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

Странно, а больше и нет недостатков, по крайней мере, явных. Если сравнить с вариантом использования гибкого шлейфа, то можно отметить даже несколько достоинств:

  • Переходник четко фиксируется по смещению и повороту, а с вертикальным перемещением легко бороться подставкой под разъем.
  • Расстояние между слотами стандартно, поэтому новая плата встанет строго на свое место.
  • Простая коммутация соединений, большая часть из них уже выполнена (точнее – практически вся).

Лично мне нравится этот вариант, поэтому на нём и остановлю свой выбор.

Техническое обоснование принятого решения

Идея понятна, решение можно бы исполнять, но перед этим надо точно выяснить, как оно работает и не вылезет ли какая-то скрытая неприятность. Нет ничего хуже устройства, которое работает не очень надежно.

Обратимся к основам, интерфейсу PCI. По счастью, нам не требуется изготавливать какое-то свое устройство, необходимо лишь выполнить соединения, поэтому особо глубоко в теорию влезать нет необходимости.

В шине PCI большинство выводов слотов соединяются между собой, что облегчает задачу, но есть и уникальные цепи, которые индивидуальны для каждого слота. Посмотрим таблицу списка цепей разъема PCI, в котором все специальные сигналы будут отмечаться знаком «*».

B1 -12V A1 TRST
B2 TCK A2 +12V
B3 GND A3 TMS
B4 TDO A4 TDI
B5 +5V A5 +5V
B6 +5V A6 INTA(*)
B7 INTB(*) A7 INTC(*)
B8 INTD(*) A8 +5V
B9 PRSNT1 A9 -
B10 - A10 +5V
B11 PRSNT2 A11 -
B12 GND A12 GND
B13 GND A13 GND
B14 - A14 -
B15 GND A15 RESET
B16 CLK(*) A16 +5V
B17 GND A17 GNT(*)
B18 REQ(*) A18 GND
B19 +5V A19 -
B20 AD31 A20 AD30
B21 AD29 A21 +3.3V
B22 GND A22 AD28
B23 AD27 A23 AD26
B24 AD25 A24 GND
B25 +3.3V A25 AD24
B26 C/BE3 A26 IDSEL(*)
B27 AD23 A27 +3.3V
B28 GND A28 AD22
B29 AD21 A29 AD20
B30 AD19 A30 GND
B31 +3.3V A31 AD18
B32 AD17 A32 AD16
B33 C/BE2 A33 +3.3V
B34 GND A34 FRAME
B35 IRDY A35 GND
B36 +3.3V A36 TRDY
B37 DEVSEL A37 GND
B38 GND A38 STOP
B39 LOCK A39 +3.3V
B40 PERR A40 SDONE(*)
B41 +3.3V A41 SBO(*)
B42 SERR A42 GND
B43 +3.3V A43 PAR
B44 C/BE1 A44 AD15
B45 AD14 A45 +3.3V
B46 GND A46 AD13
B47 AD12 A47 AD11
B48 AD10 A48 GND
B49 GND A49 AD9
B50 - A50 -
B51 - A51 -
B52 AD8 A52 C/BE0
B53 AD7 A53 +3.3V
B54 +3.3V A54 AD6
B55 AD5 A55 AD4
B56 AD3 A56 GND
B57 GND A57 AD2
B58 AD1 A58 AD0
B59 +5V A59 +5V
B60 - A60 -
B61 +5V A61 +5V
B62 +5V A62 +5V

Уникальные цепи, индивидуальные для каждого слота PCI:

  • INTx (INTA, INTB, INTC, INTD) – линии прерываний.
  • PRSNT1, PRSNT2 – сигналы наличия платы. Если есть возможность, их лучше соединить, но в проверенных современных (и не очень) материнских платах эти цепи были оттрассированы только в одной, причем весьма древней.
  • CLK - ведущая частота шины, 33 МГц.
  • REQ – запрос шины.
  • GNT (не путать с GND) – предоставление шины.
  • IDSEL – идентификатор слота.
  • SDONE/ SBO – сигнализация шины, может не использоваться конечной платой PCI, но крайне рекомендуется подключить.

INTx приходят одновременно на все слоты PCI, но на каждом последующем они взаимно смещаются по кругу. На первый слот приходит A-B-C-D, на второй B-C-D-A и так далее. Поэтому, хотя линии прерываний общие, но эти цепи придется разделить и соединить заново.

Вторая цепь, требующая вмешательства – IDSEL, с помощью которого плата определяет свой номер. Этот сигнал формируется весьма просто, соединением вывода IDSEL с одним из выводов AD (шина «адрес-данные»). Принято использовать AD16 в качестве младшего слота, AD17 для следующего и так до AD31. В оттрассированной плате вывод IDSEL уже соединен с одним из ADx, но он наверняка не совпадет с тем, чего ждет материнская плата со своего слота. А может быть еще хуже, этот номер совпадет с уже существующим PCI устройством.

Если в системе установлена шина PCI, то нет полной гарантии, что на ней же нет других PCI устройств. Для универсальности цепь IDSEL лучше взять от переходника, а не создавать самостоятельно замыканием на шину ADx. Увы, это единственная цепь, которая может вызвать проблему, поэтому ее следует проверить до того момента, как начали вырезать слоты из старой материнской платы. А именно, трасса IDSEL от вывода A26 должна быть доступной и ее надо отрезать. С остальными цепями проблем нет – просто замкнуть одноименные выводы на двух слотах.

Изготовление

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

Вначале надо отрезать от ненужной платы PCI ее разъем, по уровню чуть выше желтого покрытия. Запас «чуть выше» будет использован на выравнивание и шлифовку. При отделении зоны разъема единый блок развалится на две части – длинную и короткую. Перед резкой обратите внимание, блоки контактов не симметричны – расстояние от края платы до крайнего контакта различно в центральной и внешней части. Если этот момент пропустить, то собранный переходник не будет четко отъюстирован в слоте и может немного смещаться (появится люфт). Неверного замыкания это не вызывает, но неприятно.

После обрезки и выравнивания следует опаять контакты на 1.5-2 мм, то есть просто пройтись жалом паяльника по краю платы. Контактирующая зона хорошо видна по следам на дорожках – туда припой ни в коем случае не должен попасть, иначе плату на выброс! Если припой перейдет на контактные проволочки разъема PCI, то «всё». Будьте аккуратны, это не трудно. Необходимо использовать такое количество припоя, чтобы на поверхности осталось его небольшое количество. Именно небольшое. На данном этапе легко контролировать количество нанесенного материала, а вот при последующем припаивании выводов это осуществить сложнее.

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

Припаивание проводников хорошо бы производить специальным паяльником с тонким жалом. Но, если таковой отсутствует, можно воспользоваться обычным «100-ваттным» сетевым паяльником. Для выполнения столь тонкой пайки придется его слегка улучшить – намотать на жале несколько витков одножильным медным проводом небольшого диаметра (0.8-1.5 мм) и его «хвостиком» выполнять процедуру пайки. Пару раз попадал в подобное положение – надо было сделать тонкую работу, а инструмент неподходящий. Способ с проволочкой работает. Одно «но», наносить припой таким жалом крайне трудно, у него недостаточно мощности для расплавления большой массы припоя. Поэтому, в технологии монтажа предусматривается предварительное нанесение достаточного количества припоя на платку. И не жалейте флюса!

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

В качестве донора выступила материнская плата Intel.

Одно интересное наблюдение – если материнская плата произведена фирмой Intel, то трассировка PCI выполняется в верхнем слое, другие фирмы обычно располагают трассы в нижнем слое. Как мне показалось, первый вариант более подходит для нашей задачи – цепи лучше видны, а устанавливаемый соединитель PCI не «ляжет» на трассы. Впрочем, это мелочи.

Следующей стадией является удаление разъема PCI, но «выпаивать« его не стоит – средние выводы нам еще пригодятся. Мне не трудно снять его «нормально», благо есть паяльная станция, но так действительно будет лучше. Заранее прошу извинить за варварство, но оно полезно – разъем следует выломать из платы, при этом выводы следует сохранить, хоть и можно от души помять. После изуверства надо выпаять внешние ряды контактов и крайне желательно убрать из отверстий припой. Получится примерно следующее:

Шина PCI идет «между» слотами, поэтому все трассы, идущие «вдоль» разъемов, нас не интересуют и их можно удалить (поддеть острым ножом и далее воспользоваться пинцетом или кусачками).

Верхняя сторона платы тоже требует небольшого внимания.

Сверху могут быть установлены какие-нибудь элементы. Крупные компоненты и резисторы надо удалять в обязательном порядке, а вот небольшие керамические конденсаторы можно и оставить. На рисунке показана стадия с уже удаленными средними рядами выводов, и это была моя ошибка – последующая пайка стала гораздо сложнее.

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

Если пропустить эту стадию обработки, то на краях платы может быть замыкание цепей, чаще всего на землю. Особенно страдают шины питания – они довольно широкие и располагаются прямо над (под) шиной земли. При моем изготовлении так и случилось, цепь +5 В замыкалась на землю. Если бы я не проверил, то установка переходника в материнскую плату привела бы к соединению силовой цепи 5 В на землю через довольно тонкие проводники разъема PCI. Скорее всего, это закончилось бы крайне печально, поэтому я очень настаиваю на обязательности обработке краев платы! Увы, это неизбежная «плата» за использование готовой печатной платы.

Итак, настала пора вернуться к средним рядам выводов, которые столь благоразумно были оставлены, и вовсе не случайно – на них будет крепиться соединительная плата. Сами контакты выходят из платы совсем немного, но этого вполне достаточно для надежного соединения. Одна незадача – между рядами порядка 2.5 мм, а нам надо чуть меньше двух миллиметров (1.6 мм платы + слой припоя). Впрочем, эту беду легко исправить подгибанием выводов к центру.

Не забудьте потом проверить, что соединительная плата туда поместится, для чего лучше воспользоваться той платой PCI, с которой спиливали разъем. Пробовать на самой соединительной плате рискованно, припаяно много тонких проводников и их легко запутать или оторвать. Когда я собирал переходник, то удалил все проволочки снимаемого разъема PCI, в результате чего пайка средних рядов к платке сопровождалась их периодическим выпаиванием и выскакиванием кусочков выводов из платы – они маленькие и хорошо приклеиваются припоем к жалу паяльника. Лучше выводы обрезать уже после пайки.

Теперь можно разобраться с трассами цепей INTx. А именно – отрезать трассы от этих выводов платы. Можно перенести данную процедуру и на потом, только установленная соединительная плата будет мешаться.

Ставим обе части соединительной платы, длинную и короткую, припаиваем средний ряд выводов. Надеюсь, не надо напоминать, что две эти части разъема должны стоять очень точно? После проверки, насколько удачно данное устройство входит в слот PCI и нет ли проблем, можно запаять и проводники.

В результате получится нечто подобное:

Один проводник не припаян – это А6 (INTA). Оставил его, он может пригодиться при соединении цепей INTx.

Далее следует обычная и нудная процедура прозвонки. Все одноименные выводы должны соединяться, но не замыкаться с чем-либо еще. Исключение составляют неподключенные цепи (отмечены прочерком в таблице) и ряд цепей, которые не используются в нормальном режиме работы PCI плат – они замкнуты на питание. К последним относится интерфейс JTAG:

  • TRST, TMS, TDI, TCK – питание «+5 В».
  • TDO – свободный вывод.

Сама процедура прозвонки цепей весьма нудная и если под рукой нет мультиметра с данным режимом измерения сопротивления, то лучше собрать цепь из светодиода, резистора, источника питания (или пары батареек) и двух иголок. Щупы мультиметра довольно грубы и плохо подходят для выполнения операции, а вот иголки «самое то» – и окисел продавят, и в разъем PCI залезть позволят.

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

Оценка соответствия заданным условиям

Переходник сделан, осталось проанализировать, удалось ли соблюсти все те характеристики, что закладывались в устройство.

Установка в материнскую плату показала, что в разъеме переходник держится достаточно устойчиво, расстояние между слотами соблюдается.

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

Единственно, что плохо, и в этом моя вина – использовался слишком толстый провод для коммутации цепей INTx. Зазор от видеокарты до PCI слота всего 3 мм и я его несколько превысил. Проверка в системном блоке показала, что видеокарта встает на свое место и защелка слота PCI Express срабатывает, но уже с некоторым трудом. Надо бы переделать, но… «лучшее – враг хорошего». Если будете повторять конструкцию, то учтите мою ошибку.

После установки видеокарты переходник оказался зажат между слотом PCI и дном системы охлаждения, причем довольно прочно, без шевеления, и дополнительного крепления не потребовалось.

Разъем PCI переходника оказался на 17 мм выше своего обычного расположения, поэтому устанавливаемая плата будет смещена на эти 17 мм вверх. Для фиксирования платы на корпусе достаточно поставить стойку 17-18 мм с внутренней резьбой М3 и привернуть двумя винтами М3 в корпус и плату, за обычное отверстие крепления. Если не прилагать на плату больших усилий, то она держится достаточно прочно, люфт отсутствует.

Если говорить о качестве работы электроники, то к ней нет никаких претензий – устройство работает точно так же, как и до переноса, непосредственно в материнской плате. В качестве дополнительной платы PCI использовалась звуковая карта Creative Sound Blaster X-Fi XtremeGamer.

Выводы

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

Стоит ли тратить на него свое время? Если у вас «неудачная» материнская плата (которых становится все больше и больше) и нет желания расставаться с любимой платой PCI, то стоит. Увы, альтернативы нет. В остальных случаях - «овчинка выделки не стоит».

Serj

P.S. По вопросам работы рубрики «Сделай сам» обращайтесь в эту ветку конференции.