|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Принципиальная схема исполнителя шины PCI
Author |
Message |
ls-al
Junior
Joined: 22 Nov 2014 05:43 Posts: 1 Location: 217.118.93.137
|
Доброго времени суток.
Возник интерес в более подробном изучении шины PCI. К имеющемуся описанию данной шины в Гуке и в книгах прочих авторов, захотелось найти хотя бы какую-то функционально-принципиальную схему данной шины.
Нашёл либо только структурную: http://www.konsalter.ru/biblioteka/i1/6_2.htm
Либо с использованием ПЛИС: http://www.platan.ru/shem/pdf/pci.pdf
и http://elm-chan.org/works/pci/report_e.html
Если кто-то знает, где можно схемку найти - я буду огромно благодарен.
Спасибо.
|
22 Nov 2014 06:09 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Проблема в том, что шина в принципе создавалась как межмикросхемная, ориентированная на реализацию как ведущего, так и ведомых устройств в виде одной ИМС (ПЛИС или заказная). Реализация простенького ведомого на мелкой логике в принципе возможна, но очень проблематична. дело даже не в высокой тактовой (33 МГц многие серии потянут), а в реализации конфигурационных регистров, обязательных для корректной работы в PCI-системе. Даже минимальный набор весьма громоздкий и корректная реализация, например, LPT-SPP порта на PCI может вылиться в десятки корпусов 1554 или 74АС. Естественно, связываться с этим любителям не хочется и таких схем, скорее всего, просто нет в природе.
|
18 Mar 2015 02:15 |
|
|
JeNNeR
Fanat
Joined: 18 Nov 2014 09:17 Posts: 52 Location: Отсюда
|
В принципе, там же, где вы плис нашли, там и схема лежит... http://elm-chan.org/works/pci/pci_io.png
|
18 Mar 2015 04:17 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Всё так, но в этой схеме U3 - хоть и слабая, но всё-таки ПЛИС и адрес задаётся переключателями SW1, SW2, а должен задаваться регистром базового адреса (см. стандарт PCI) ...
|
18 Mar 2015 11:24 |
|
|
Odin P. Morgan
Senior
Joined: 23 Feb 2015 15:37 Posts: 151 Location: OMS
|
А по-моему вполне удачное решение, если ещё можно купить ПЛИСины по 65р./шт (такие когда-то видел), то вполне реализуемо.
|
18 Mar 2015 22:46 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Вопрос ставился, можно ли без ПЛИС? Ответ - можно, но очень трудно. Вопрос второй - корректно ли реализованы обе схемы на ПЛИС? Ответ - не корректно, нет обязательных, предусмотренных стандартом вещей. В PCI-системе они не сконфигурируются. Мало того, что к этим устройствам нормально не обратиться, они ещё могут нарушить работу других устройств.
|
19 Mar 2015 02:13 |
|
|
Odin P. Morgan
Senior
Joined: 23 Feb 2015 15:37 Posts: 151 Location: OMS
|
Да, тут не поспоришь. Однако же можно-же что-нить придумать.
|
21 Mar 2015 14:29 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Тут придумывать не надо, тут просто надо разрабатывать. Обязательными в PCI являются 5 полей в общей сложности в 4 конфигурациоонных регистрах, плюс в регистре команд необходимо, как минимум, реализовать флаг доступа к памяти, и для доступа даже к одному регистру данных - регистр базового адреса. В общем, на слепыше не спаяешь - надо делать полноценную печатную плату.
|
21 Mar 2015 20:00 |
|
|
Stan
Banned
Joined: 04 Jan 2013 10:09 Posts: 397 Location: 95.24.178.158
|
А как же: http://elm-chan.org/works/pci/report_e.html ? Если Вы разобрались подробно, написали бы алгоритм по тактам, что и когда и откуда считывают и куда записывают? Ну и попробовали бы мы сделать аппаратную прикидку этого алгоритма на быстрой логике. А то тема с PCI-платой всплывает не в первый раз, и меня тоже интересовала вот в этом топике: http://www.nedopc.org/forum/viewtopic.php?f=68&t=10720Но всякий раз это заканчивается безрезультатно...
|
22 Mar 2015 07:09 |
|
|
Odin P. Morgan
Senior
Joined: 23 Feb 2015 15:37 Posts: 151 Location: OMS
|
Вид такого "слепыша" немного пугает: чем он проводки экранировал?
|
23 Mar 2015 08:31 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Тут дело не в алгоритме, он очень простой, просто действительно нужно много регистров. Если немного освобожусь, нарисую подробную функциональную схему простейшего устройства параллельного ввода/вывода для PCI.
|
23 Mar 2015 21:23 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Интересно, что-нибуть сдвинулось с этим устройством? А то я тоже интересовался схемотехникой PCI-плат, но так и не осилил пока это дело. Но сегодня весьма неожиданно из статьи Программирование драйверов устройств нашел ссылку на PCI-устройство на одной ПЛИС: Карта PCI - microcart П. УвароваГде г-н П. Уваров позиционирует своё PCI-устройство на одной ПЛИС так: И я вот призадумался, если есть в статье схема того, что реализовано в ПЛИС : То, может быть, есть возможность повторить это устройство на шустрой дискретной логике?
_________________ iLavr
|
13 May 2015 07:44 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Проблема в том, что даже функциональная схема СООТВЕТСТВУЮЩЕГО СТАНДАРТУ устройства PCI получается непростой (это ещё не всё)...
|
15 May 2015 05:47 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Описание узлов функциональной схемы:
РгВх - входной регистр адреса/данных;
РгВых - выходной регистр данных (с разрешением выхода, как КФ1554ИР23);
Рг - регистр разнородных управляющих сигналов;
РгУВх - входной регистр управляющих сигналов;
РгУВых - выходной регистр управляющих сигналов (с разрешением выхода);
Км - коммутатор выходных данных;
ДшКд - дешифратор команды на шине PCI (чтение/запись памяти или конфигурационных регистров);
ДшФ - дешифратор фазы обмена на шине PCI: ФС - фаза останова /FRAME1 = 1 /IRDY1 = 1, ФА - фаза адреса /FRAME1 = 0 /IRDY1 = 1, ФД - фаза данных /IRDY1 = 0;
РгА - регистр адреса (с разрешением записи, как КФ1533ИР27);
ДшРг - дешифратор конфигурационных регистров (Идентификаторов, КоманД, КЛасса, Базового Адреса);
РгБА - регистр базового адреса (с разрешением записи);
== - узел сравнения текущего и базового адреса;
РгКд - регистр команд (одноразрядный, единственная команда - разрешение обращения к памяти);
РгДВых - выходной регистр данных вывода (с разрешением записи);
РгДВх - входной регистр данных ввода.
РгДВых и РгДВх - единственное, что доступно для записи и чтения в 64-килобайтном пространстве памяти устройства.
|
17 May 2015 21:54 |
|
|
viv-pm
Novelist
Joined: 17 Mar 2015 21:54 Posts: 31
|
Описание сигналов на функциональной схеме:
AD31..AD0, /CBE3../CBE0, /FRAME, /IRDY, IDSEL, /DEVSEL, /TRDY, /STOP, CLK, /RST - сигналы шины PCI;
C - общий сигнал синхронизации, все регистры в устройстве тактируются нарастающим фронтом этого сигнала;
/RES - общий сигнал сброса (необходим лишь для некоторых регистров устройства);
/FRAME1, /IRDY1, IDSEL1 - задержанные на 1 такт сигналы шины PCI;
ФС, ФА, ФД - сигналы соответственно фазы останова, адреса, данных;
ФС1, ФА1, ФД1 - тоже самое, но задержанные на такт;
РгИ, РгКд, РгКл, РгБА, РгВВ - сигналы обращения соответственно к регистрам идентификаторов, команд, класса, базового адреса, ввода/вывода;
ЧтП, ЗпП, ЧтКф, ЗпКф - на шине PCI дешифрирована команда чтения памяти, записи в память чтения конфигурационного регистра, записи в конфигурационный регистр;
ВыбКф - выборка конфигурационных регистров; ВыбА - выборка адресуемой памяти;
ОБР - сигнал обращения к устройству по шине PCI;
Бт0 - выборка нулевого байта в двойном слове (т.е. AD7..AD0);
РП - разрешеие доступа к пространству памяти устройства;
ЗпК - строб записи в конфигурационый регистр;
ЗпД - строб записи в регистр данных;
Чт - строб чтения.
|
18 May 2015 05:23 |
|
|
Who is online |
Users browsing this forum: No registered users and 24 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|