nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Apr 2024 04:27



Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Принципиальная схема исполнителя шины PCI 
Author Message
Junior

Joined: 22 Nov 2014 05:43
Posts: 1
Location: 217.118.93.137
Reply with quote
Доброго времени суток.

Возник интерес в более подробном изучении шины 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
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
ls-al wrote:
Доброго времени суток.

Возник интерес в более подробном изучении шины 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

Если кто-то знает, где можно схемку найти - я буду огромно благодарен.

Спасибо.


Проблема в том, что шина в принципе создавалась как межмикросхемная, ориентированная
на реализацию как ведущего, так и ведомых устройств в виде одной ИМС (ПЛИС или заказная).
Реализация простенького ведомого на мелкой логике в принципе возможна, но очень проблематична.
дело даже не в высокой тактовой (33 МГц многие серии потянут), а в реализации конфигурационных
регистров, обязательных для корректной работы в PCI-системе.
Даже минимальный набор весьма громоздкий и корректная реализация, например, LPT-SPP порта
на PCI может вылиться в десятки корпусов 1554 или 74АС. Естественно, связываться с этим
любителям не хочется и таких схем, скорее всего, просто нет в природе.


18 Mar 2015 02:15
Profile
Fanat
User avatar

Joined: 18 Nov 2014 09:17
Posts: 52
Location: Отсюда
Reply with quote
В принципе, там же, где вы плис нашли, там и схема лежит...
http://elm-chan.org/works/pci/pci_io.png


18 Mar 2015 04:17
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
JeNNeR wrote:
В принципе, там же, где вы плис нашли, там и схема лежит...
http://elm-chan.org/works/pci/pci_io.png


Всё так, но в этой схеме U3 - хоть и слабая, но всё-таки ПЛИС и адрес задаётся переключателями SW1, SW2,
а должен задаваться регистром базового адреса (см. стандарт PCI) ...


18 Mar 2015 11:24
Profile
Senior

Joined: 23 Feb 2015 15:37
Posts: 151
Location: OMS
Reply with quote
viv-pm wrote:
JeNNeR wrote:
В принципе, там же, где вы плис нашли, там и схема лежит...
http://elm-chan.org/works/pci/pci_io.png


Всё так, но в этой схеме U3 - хоть и слабая, но всё-таки ПЛИС и адрес задаётся переключателями SW1, SW2,
а должен задаваться регистром базового адреса (см. стандарт PCI) ...

А по-моему вполне удачное решение, если ещё можно купить ПЛИСины по 65р./шт (такие когда-то видел), то вполне реализуемо.


18 Mar 2015 22:46
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Odin P. Morgan wrote:
viv-pm wrote:
JeNNeR wrote:
В принципе, там же, где вы плис нашли, там и схема лежит...
http://elm-chan.org/works/pci/pci_io.png


Всё так, но в этой схеме U3 - хоть и слабая, но всё-таки ПЛИС и адрес задаётся переключателями SW1, SW2,
а должен задаваться регистром базового адреса (см. стандарт PCI) ...

А по-моему вполне удачное решение, если ещё можно купить ПЛИСины по 65р./шт (такие когда-то видел), то вполне реализуемо.

Вопрос ставился, можно ли без ПЛИС? Ответ - можно, но очень трудно.

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


19 Mar 2015 02:13
Profile
Senior

Joined: 23 Feb 2015 15:37
Posts: 151
Location: OMS
Reply with quote
Да, тут не поспоришь. Однако же можно-же что-нить придумать.


21 Mar 2015 14:29
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Odin P. Morgan wrote:
Да, тут не поспоришь. Однако же можно-же что-нить придумать.

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


21 Mar 2015 20:00
Profile
Banned
User avatar

Joined: 04 Jan 2013 10:09
Posts: 397
Location: 95.24.178.158
Reply with quote
viv-pm wrote:
В общем, на слепыше не спаяешь - надо делать
полноценную печатную плату.
А как же: http://elm-chan.org/works/pci/report_e.html ?
Image
Image

viv-pm wrote:
...тут просто надо разрабатывать.
Обязательными в PCI являются 5 полей в общей сложности в 4 конфигурациоонных
регистрах, плюс в регистре команд необходимо, как минимум, реализовать флаг
доступа к памяти, и для доступа даже к одному регистру данных - регистр
базового адреса.

Если Вы разобрались подробно, написали бы алгоритм по тактам, что и когда и откуда считывают и куда записывают?
Ну и попробовали бы мы сделать аппаратную прикидку этого алгоритма на быстрой логике.

А то тема с PCI-платой всплывает не в первый раз, и меня тоже интересовала вот в этом топике:
http://www.nedopc.org/forum/viewtopic.php?f=68&t=10720
Но всякий раз это заканчивается безрезультатно... :(


22 Mar 2015 07:09
Profile
Senior

Joined: 23 Feb 2015 15:37
Posts: 151
Location: OMS
Reply with quote
Вид такого "слепыша" немного пугает: чем он проводки экранировал?


23 Mar 2015 08:31
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Stan wrote:
Если Вы разобрались подробно, написали бы алгоритм по тактам, что и когда и откуда считывают и куда записывают?
Ну и попробовали бы мы сделать аппаратную прикидку этого алгоритма на быстрой логике.

А то тема с PCI-платой всплывает не в первый раз, и меня тоже интересовала вот в этом топике:
http://www.nedopc.org/forum/viewtopic.php?f=68&t=10720
Но всякий раз это заканчивается безрезультатно... :(

Тут дело не в алгоритме, он очень простой, просто действительно нужно много регистров.
Если немного освобожусь, нарисую подробную функциональную схему простейшего устройства
параллельного ввода/вывода для PCI.


23 Mar 2015 21:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
viv-pm wrote:
Stan wrote:
тема с PCI-платой всплывает не в первый раз, и меня тоже интересовала вот в этом топике:
http://www.nedopc.org/forum/viewtopic.php?f=68&t=10720
Но всякий раз это заканчивается безрезультатно... :(

Если немного освобожусь, нарисую подробную функциональную схему простейшего устройства
параллельного ввода/вывода для PCI
.

Интересно, что-нибуть сдвинулось с этим устройством?
А то я тоже интересовался схемотехникой PCI-плат, но так и не осилил пока это дело.

Но сегодня весьма неожиданно из статьи Программирование драйверов устройств нашел
ссылку на PCI-устройство на одной ПЛИС: Карта PCI - microcart П. Уварова

Image

Где г-н П. Уваров позиционирует своё PCI-устройство на одной ПЛИС так:
Quote:
...если вам требуется разработать оригинальное PCI-устройство с не очень большой производительностью (кстати, в разы превышающей производительность шины ISA) не спешите хвататься за такие "редкоземельные" и дорогостояшие агрегаты, как PLX или MCCA. Возьмите дешовую ПЛИС в 128/256 макроячеек и сделайте свое устройство по подобию "microcart".

Image

И я вот призадумался, если есть в статье схема того, что реализовано в ПЛИС :

Image

То, может быть, есть возможность повторить это устройство на шустрой дискретной логике?

_________________
iLavr


13 May 2015 07:44
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Проблема в том, что даже функциональная схема
СООТВЕТСТВУЮЩЕГО СТАНДАРТУ устройства PCI
получается непростой (это ещё не всё)...


Attachments:
PCI.gif
PCI.gif [ 15.33 KiB | Viewed 11601 times ]
15 May 2015 05:47
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Описание узлов функциональной схемы:

РгВх - входной регистр адреса/данных;

РгВых - выходной регистр данных
(с разрешением выхода, как КФ1554ИР23);

Рг - регистр разнородных управляющих сигналов;

РгУВх - входной регистр управляющих сигналов;

РгУВых - выходной регистр управляющих сигналов
(с разрешением выхода);

Км - коммутатор выходных данных;

ДшКд - дешифратор команды на шине PCI
(чтение/запись памяти или конфигурационных регистров);

ДшФ - дешифратор фазы обмена на шине PCI:
ФС - фаза останова /FRAME1 = 1 /IRDY1 = 1,
ФА - фаза адреса /FRAME1 = 0 /IRDY1 = 1,
ФД - фаза данных /IRDY1 = 0;

РгА - регистр адреса
(с разрешением записи, как КФ1533ИР27);

ДшРг - дешифратор конфигурационных регистров
(Идентификаторов, КоманД, КЛасса, Базового Адреса);

РгБА - регистр базового адреса
(с разрешением записи);

== - узел сравнения текущего и базового адреса;

РгКд - регистр команд (одноразрядный, единственная
команда - разрешение обращения к памяти);

РгДВых - выходной регистр данных вывода
(с разрешением записи);

РгДВх - входной регистр данных ввода.

РгДВых и РгДВх - единственное, что доступно для записи и
чтения в 64-килобайтном пространстве памяти устройства.


Attachments:
PCI.gif
PCI.gif [ 18.93 KiB | Viewed 11539 times ]
17 May 2015 21:54
Profile
Novelist

Joined: 17 Mar 2015 21:54
Posts: 31
Reply with quote
Описание сигналов на функциональной схеме:

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
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 16 posts ]  Go to page 1, 2  Next

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

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.