Пост карта для ноутбука своими руками
Мне понадобился качественный интерфейс для CNC станка.
Сразу скажу что параллельный порт меня не устраивает. потому как качество его реализации сомнительное, контактов мало (всего 16 I/O, не помню сколько I и сколько O) и максимальная частота работы до 50 кгЦ, с сомнительными показателями по интерференции, крутизне фронтов, задержек, и т.д.
Для интерфейса с 6-осным станком, понадобится 24 дифференциальные пары контактов (6 диффпар на сигналы DIR, 6 диффпар на сигналы PULSE).
Кроме того я предусмотрел 12 цифровых TTL выхода (до 50ма) и 12 опто-изолированных цифровых входа общего назначения.
И того все это добро еле уместилось в SCSI коннектор 50 pin, который мне очень нравится.
Дальше самое главное, какой вариант реализации PCI карты выбрать, существует два пути:
1) Использовать готовый PCI чип какого-либо производителя.
2) Использовать FPGA.
Первый вариант я отбросил, потому что тогда реализация будет целиком зависеть от этого чипа, его глюков или их отсутствия.
т.е. мы будем всецело полагаться на кого-то учить их спецификацию, разбирать какой драйвер нужен, как его написать и т.д.
Второй вариант является немного более трудозатратным изначально, зато потом он дает больше пользы, потому как FPGA наверное самые универсальные устройства в мире, и с их помощью можно сделать практически любой интерфейс, с любым устройством, можно имплементировать практически любую схему и т.д.
Начнем с самого сложного, с шины PCI. Осложняется все тем, что спецификация закрытая, в интернете информации не много, но есть способ обойти буржуев.
Многие производители FPGA имеют и комплект стандартных реализаций различных интерфейсов за доп. плату (которую вменяемые люди конечно-же платить не будут), называется это все IP Core (Xilinx у других может отличаться, но идея таже)
что это такое? ну это вроде библиотеки для линковки кода.
IP Core может поставляться в виде непосредственно кода (Verilog ili VHDL) либо в виде специального закрытого нэтлиста (что-то вроде EDIF, но зашифрован, у каждого вендора свой формат и позволяет линковать их только используя их средства разработки)
Спасибо умельцам, которые четко взломали пакет Xilinx ISE 10.1, что позволяет получить доступ ко всем IP Core абсолютно бесплатно и на уровне исходного кода (что самое полезное для обучения)
Раздачу каждый может найти сам на известном торрент трекере.
Какой чип выбрать??
Я остановился на Xylinx Spartan xxx
Тут есть несколько подводных камней.
1) Совместимость с шиной PCI32 5V
2) Количество выходов которые можно коммутировать одновременно (называется SSO simultaneously switching outputs)
3) Тип корпуса: BGA или PQ (BGA сложнее паять, потребуется печь, либо хороший фен и удача)
4) Встроенный flash либо вынесенный в отдельный чип?
5) Максимальное время загрузки до получения первых сигналов с PCI
Совместимость с шиной PCI32 5V
Это наверное самое ответственное из всего. Вам предстоит сделать выбор, использовать ли вам чипы конвертации уровней сигналов всех I/O шины (около 50) и использовать современный FPGA (1.25V, 2.5V, 3.3V no 5V tolerant).
Либо использовать старый FPGA.
Для своего проекта я сделал выбор в пользу старого FPGA (Spartan II) и пока еще не пожалел.
Следует отметить, что использование чипов конвертации уровней вносит дополнительные сложности в проблему с SSO, потому как
такие чипы генерируют Overshotы и Undershotы напряжения и могут приводить к ошибкам.
Проблема SSO, питания и максимального времени загрузки FPGA для PCI32 3.3V:
http://www.xilinx.com/support/documentation/application_notes/xapp457.pdf
Наилучшее подключение Bus Switch для совместимости с 5V PCI (что является стандартом для домашних ПК):
http://www.xilinx.com/support/documentation/application_notes/xapp646.pdf
Проблему с overshot и undershot тут решают сместив уровень земли для чипов конвертера уровней.
Следует отметить особенно, что для увеличения числа SSO (также называется Ground bounce) применяют шунтирующий резистор в цели питания чипа, задавая ток "холостого хода" 50mA (резистор 34 ом, для питания 3.3V)
Такой резистор, либо низкоомную обратную связь для LDO я видел во ВСЕХ pci платах схемы которых мне удалось достать.
Количество выходов которые можно коммутировать одновременно (называется SSO: simultaneously switching outputs)
Кроме того банки заполнены неравномерно, что так-же нарушает Допустимый SSО.
С другой стороны IP Core прошла тестирование в такой конфигурации и я побоялся менять тут что-то.
рискуя не вложиться в тайминги PCI шины, из за особенностей внутренней архитектуры FPGA.
Поэтому я предпринял дополнительные усилия для увеличения SSO. Я поставил шунт (120 ом) нa выход каждого регулятора напряжения питания, хорошие байпас конденсаторы, многослойную печатную плату с отдельным слоем для земли и т.д.
Также следует думать тут об удобном расположении выводов для трассировки печатной платы!
Тип корпуса: BGA или PQ
Я выбрал PQ208, BGA имеет большее преимущество (вдвое выше SSO), но есть риск не запаять в домашних условиях, еще может быть закорочен какой-либо контакт из за смещения чипа, что опасно для вашей материнской платы!.
Встроенный flash либо вынесенный в отдельный чип? и Максимальное время загрузки до получения первых сигналов с PCI
Тут я первый раз пожалел что связался со старой линейкой чипов а не выбрал новую Spartan 3AN (со встроены флешем)
Оказалось что для каждой модели Spartan II есть свой чип программируемый через JTAG.
Он оказался довольно дорогим, и чувствуется что его скоро перестанут продавать.
XC18V01 (1 мегабайт флеша в моем случае)
Как его подключить к FPGA Spartan II, есть в даташите.
Возможно либо серийный интерфейс либо параллельный, под управлением внутреннего такта FPGA либо внешнего!, я выбрал серийный под управлением FPGA, т.е. сигнал кола генерирует сам FPGA и после окончания загрузки переходит в рабочий режим.
Частота загрузки конфигурации 66Мгц, для PCI32 5V это достаточно чтобы уложиться в 1.1 секунду (PCI32 5V 32Mhz) для загрузки полной конфигурации. однако в моем проекте будет использоваться лишь небольшая часть конфигурационного пространства.
Ну вот вроде и все, скоро выложу печатную плату и схему, в следующей части.
Потом будет софт и наша PCI карта готова.
Как показывает практика Пост-карты есть у многих, а вот пользоваться ими умеют единицы. Видимо многие купив карточку на алиэкспрессе решили что будут диагностировать ноутбуки не включая мозги. Теперь можете достать свои покрывшиеся пылью пост-карты в которых вы уже давно разочаровались, так как во многих ноутах они напросто не работают в стандартных разъемах PCI и miniPCI.
Сегодня я вам бесплатно разжую как заставить ее работать на Самсунговских платах (с другими платами принцип такой же). На материнских платах Samsung имеется специальный диагностический debug разъем к которому надо правильно подпаяться (см. фото)
Наглядно показано как выглядит разъем на плате, как он обозначен на схеме и что куда подпаивать.
Как видите все гениально просто
ЧУДО психоанализа: заработать на модных профессиях не прочь даже бывший священник
В Нижнем Новгороде задержали подростков, готовивших вооруженное нападение на школу
Кто следит за миллиардерами: студент первокурсник создал бота отслеживающего перелеты Илона Маска
Дворник из Красноярска позаботился об автомобилистах
Потомки последнего монарха Италии требуют вернуть им драгоценности на 300 миллионов евро
Юмор на грани: Гарольд, скрывающий боль, оценил бы этот пост
Издатель PUBG Mobile в Китае рад женской груди, но не рад черным
Самая необычная филиппинка из всех существующих (5 фото)
Project Ara: похороненное будущее модульных смартфонов
Китайцы приделали "Бойцовскому клубу" счастливый конец
Парк аттракционов во Флориде показал, как выглядит поездка на «самых ожидаемых американских.
В Словакии прошел испытания и сертификацию самолет-автомобиль AirCar
20 пар знаменитостей, похожих друг на друга как две капли воды
На месте гибели Коби Брайанта и его дочери установили памятник
Смышленая собака освоила автоматический метатель мячей
Приоденься, свинья: подборка нарядов для морских свинок
Утешительный приз: юных спортсменов наградили майонезом
Скажи что-нибудь на эсперанто: зачем придумывают искусственные языки и как их создают
Чем отличается школа в США от российской: вся правда глазами американского подростка
"О, жрачка приехала!": спортсмены показали столовую в Пекине
Патроны Шредингера: военнослужащий показал шкатулку для боеприпасов
23-летняя кассир "Сбербанка" украла 26 миллионов, чтобы увеличить грудь и уехать из страны
Безумная толерантность добралась до M&M’s: конфетки-драже подвергнутся отказу «от.
Блогера-лихача арестовали на 11 суток после публикации видео с нарушениями правил ПДД
Торговая сеть в Улан-Удэ разыгрывает среди покупателей 22 живых барана
Известный фотограф Рене Робер замерз на центральной улице Парижа
30 случаев, когда ремонт своими руками сделал жилье намного уютнее
Маркетинговый ход не сработал: продажа "блокадного хлеба" возмутила россиян
Пятничная подборка красоты: 25 урожайных куч, которые поразят ваше воображение
Великий облом и развод: неудачливых Илонов Масков кинули на деньги в игре Minecraft
В Петербурге три человека скончались после процедуры обследования желудка
"А это правда существует?": 20+ удивительных явлений и предметов
Эстетика чайных пакетиков: Как из мусора сделать шедевр
5 невероятных сооружений, которые дебютировали на Dubai Expo 2020
В Каире избили путешественника и блогера из России за фотоснимки из трущоб
Вот и дошли руки до необходимого…. Пост карта – что это? В начале, разберемся в ее назначении.
Разбираемая сегодня POST карта самая простая, ее схема на просторах Интернета всячески скрывается и имеется только в обрывках документации, так же следует заметить, что при копеечной стоимости за нее просят цену в несколько раз большую. В архиве статьи вы найдете документацию по POST карте Compal, статьи и руководства послужившие отправными точками, разработанную печатную плату и программное обеспечение. Но мы пойдем дальше.
Благодаря сотрудничеству нескольких экспертов была выработана идея и схема, реализацией ее стало устройство, на которое по двум проводам подается сигнал RTX и RDX и еще по двум питание.
Оба сигнала, поступают на сдвиговый регистр, который отображает на своих выходах непосредственно двухзначный цифровой пост код идущий от мультиконтроллера. Однако, как известно мыне ищем легких путей и рассмотрев схему первоисточника возникла идея разработки POST карты которая могла бы включаться в разъем mini PCI-e ноутбука и давать нам необходимые коды, но и тут все не так просто.
Исходя из инструкции на пост карту ST122, мы имеет следующее: производитель материнских плат compal выводит свой compal debug port в mini PCI-E, используя при этом 49-й и 51-й пины разъема (установка перемычек рисунок "а"). Наиболее часто встречающаяся схема подключения показана на рисунке ниже.
Однако есть модели ноутбуков, где расположение этих двух информационных сигналов в разъеме меняются между собой, поэтому предусмотрена возможность переключения сигналов с помощью переключателей режима работы (рисунок "б"). Так же есть еще вариант вывода compal debug port в mini PCI-E, при котором P80DATA переносится на 17 вывод разъема (рисунок "в").
а | б | в |
Учитывая замечания, POST карта обзавелась тремя джемперами управляющими переключением портов. Для индикации сигнала CLK его через ключевой полевой транзистор выводим в первый разряд на точку, а точка второго разряда индицирует питание.
Самым трудным при разработке данного устройства стала разработка печатной платы. Во всех источниках POST карта подключается четырьмя проводами методом подпайки в схему ноутбука, но негде нет спецификаций и подробных размеров mini PCI-e разъема. На рисунках ниже представлены фото готовой платы (рисунок "а", "б"), а так же дополнительный разъем для подключения проводников и подпайки к диагностическому разему мультиконтроллера (рисунок "в").
а | б | в |
Читайте также: