Компьютер – существо многоплановое, в любящих руках оно способно принять самые причудливые формы. Так, конструкция системного блока подразумевает установку произвольного оборудования, хотя стараниями производителей материнских плат широта охвата резко сужается. Дальше речь пойдет об одном умирающем интерфейсе - 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 и вместо одного из них впаять платку подключения. При этом большинство соединений уже будет выполнено имеющейся трассировкой. Остается вопрос толщины, ведь у нас всего 3 мм. Прикинем расходы:
Если все просуммировать, то получится 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 приходят одновременно на все слоты 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:
Сама процедура прозвонки цепей весьма нудная и если под рукой нет мультиметра с данным режимом измерения сопротивления, то лучше собрать цепь из светодиода, резистора, источника питания (или пары батареек) и двух иголок. Щупы мультиметра довольно грубы и плохо подходят для выполнения операции, а вот иголки «самое то» – и окисел продавят, и в разъем PCI залезть позволят.
После устранения найденных ошибок и окончательной пропайки не забудьте тщательно снять остатки флюса с контактирующих поверхностей, ведь от этого зависит качество и надежность работы устройства.
Переходник сделан, осталось проанализировать, удалось ли соблюсти все те характеристики, что закладывались в устройство.
Установка в материнскую плату показала, что в разъеме переходник держится достаточно устойчиво, расстояние между слотами соблюдается.
Над последним разъемом материнской платы есть достаточный зазор, самопроизвольного замыкания не произойдет.
Единственно, что плохо, и в этом моя вина – использовался слишком толстый провод для коммутации цепей INTx. Зазор от видеокарты до PCI слота всего 3 мм и я его несколько превысил. Проверка в системном блоке показала, что видеокарта встает на свое место и защелка слота PCI Express срабатывает, но уже с некоторым трудом. Надо бы переделать, но… «лучшее – враг хорошего». Если будете повторять конструкцию, то учтите мою ошибку.
После установки видеокарты переходник оказался зажат между слотом PCI и дном системы охлаждения, причем довольно прочно, без шевеления, и дополнительного крепления не потребовалось.
Разъем PCI переходника оказался на 17 мм выше своего обычного расположения, поэтому устанавливаемая плата будет смещена на эти 17 мм вверх. Для фиксирования платы на корпусе достаточно поставить стойку 17-18 мм с внутренней резьбой М3 и привернуть двумя винтами М3 в корпус и плату, за обычное отверстие крепления. Если не прилагать на плату больших усилий, то она держится достаточно прочно, люфт отсутствует.
Если говорить о качестве работы электроники, то к ней нет никаких претензий – устройство работает точно так же, как и до переноса, непосредственно в материнской плате. В качестве дополнительной платы PCI использовалась звуковая карта Creative Sound Blaster X-Fi XtremeGamer.
Переходник обеспечивает заданные характеристики, как с электрической, так и с механической точки зрения. Время выполнения довольно значительное, около одного рабочего дня, и вызвано банальной причиной – уж очень много контактов.
Стоит ли тратить на него свое время? Если у вас «неудачная» материнская плата (которых становится все больше и больше) и нет желания расставаться с любимой платой PCI, то стоит. Увы, альтернативы нет. В остальных случаях - «овчинка выделки не стоит».
P.S. По вопросам работы рубрики «Сделай сам» обращайтесь в эту ветку конференции.