Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Мультиплексор на Ater-e для PCI на PC104+
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
zemlemer
Добрый день.
Есть такая шина ― PCI. И её чудная разновидность под названием PC104+. На пром. компе с PCI шиной имеется 4 клока PCI, 4 сигнала REQ, GNT, IDSEL, INT и.т.д. В зависимости от количества плат на этой шине данные сигналы необходимо коммутировать на присоединяемой плате. В документации предложено пользоваться перемычками. Я тут захотел пользовать вместо этого epm3000A и сотворить на ней мультиплексор PCI-ных коммутируемых сигналов. Причём просто мультиплексор без защёлки. Вопрос - хватит ли задержек для нормальной работы процессора (TMS c PCI шиной на борту) с шиной PCI на PC104+? Еще небольшой отвлеченный вопрос: все сигналы на плате - 3-х вольтовые. Не может ли оказаться что компьютер выдает сигналы на шину 5-ти вольтового уровня?
DmitryR
Практически уверен, что не хватит. В стандарте даже не специфицируют время задержки я думаю затем, чтобы никто даже не думал использовать что-то кроме перемычек.
Если контроллер на ПЛИС, то можно поступить иначе - завести все четыре сигнала внутрь, также завести внутрь номер нужного сигнала от переключателя, и там уже решать, какой сигнал использовать.
sysel
Насчет уровней сигналов: стандарт PCI-104 бывает в двух исполениях: 3.3В и 5В.
В своём проекте я использую процессорную плату ETM-LX800 от Avalue. На этой плате предусмотрен джампер для переключения 3.3 / 5 В.
Выяснил суть этого джампера: в зависимости от его положения на линии VI/O интерфейса подаётся либо 3.3В либо 5В (больше ничего не меняется). Уровни сигналов на других линиях шины 3.3-вольтовые при любом положении джампера.

Как вариант, предлагаемый альтерой для согласования своих 3.3 вольтовых циклонов с 5В шиной PCI - использование внешних преобразователей уровней на полевиках. В своём Cyclone II PCI Development Board альтера ставит QS3861 в качестве преобразователей.
zemlemer
Цитата(sysel @ Aug 15 2008, 09:19) *
Выяснил суть этого джампера: в зависимости от его положения на линии VI/O интерфейса подаётся либо 3.3В либо 5В (больше ничего не меняется). Уровни сигналов на других линиях шины 3.3-вольтовые при любом положении джампера.


Спасибо. Как я понял, все управляющие сигналы шины (clk, req, и.т.д.) являются 3-х вольтовыми и у меня проблем не возникнет.

Цитата(DmitryR @ Aug 14 2008, 17:27) *
Практически уверен, что не хватит. В стандарте даже не специфицируют время задержки я думаю затем, чтобы никто даже не думал использовать что-то кроме перемычек.
Если контроллер на ПЛИС, то можно поступить иначе - завести все четыре сигнала внутрь, также завести внутрь номер нужного сигнала от переключателя, и там уже решать, какой сигнал использовать.

Наверное я не совсем корректно сформулировал. Попробую еще раз:
На плате со стороны PCI шины присутствуют по 4 сигнала: clk[0..3], gnt[0..3], idsel[0..3] и req[0..3]. На плате стоит процессор TMS320C6205 с шиной PCI на борту, соответственно у него по одному выводу для clk, req, gnt и idsel. Для коммутации вышеозначенных сигналов стоит Alter-а epm3128a на которую приходят clk[0..3], gnt[0..3], idsel[0..3] и req[0..3]. В зависимости от перемычек на плате Alter-а коммутирует тот или иной сигнал ( clk0 -> clk, или req2 -> req) на PCI-ные ноги процессора. Теперь вопрос относительно задержек во время прохождения например сигнала clk через alter-у на tms относительно сигналов ad[0..31] и cbe[0..3]. Не приведет ли задержка на коммутацию через alter-у к некорректной работе PCI-ного автомата внутри TMS? Спасибо.
P.S. Шина на 33 МГц.
I.S.A.
Читаем спецификацию PC104-plus:

4.4 PCI Signaling Voltage (VI/O) Requirements

4.4.1 PCI Host Module
The PCI Host board will always determine the PCI signaling level on the bus by setting all VI/O
pins to either 3.3V or 5V. If VI/O is set to 3.3V, then the system will use 3.3V I/O signaling and,
likewise, if VI/O is set to 5V, then the system will use 5V I/O signaling. Some PCI host modules
may only allow one of the options, while others may provide a jumper to allow the user to select
the signaling level. Once the signaling level is selected, the remaining boards in the system must
use that signaling level.

4.4.2 Add-In Modules
Add-in cards can be 3.3V, 5V, or universal.

3.3V Add-In Modules
3.3V add-in modules operate in environments where VI/O has been set to 3.3V by the host module.
Using 5V add-in modules on a 3.3V stack will result in the 3.3V modules being damaged.

5V Add-In Modules
5V add-in modules operate in environments where VI/O has been set to 5V by the host module.
Using 3.3V add-in modules on a 5V stack will result in the 3.3V modules being damaged.

Universal Add-In Modules
Universal add-in board can be used on either 3V or 5V I/O signaling buses. Universal boards
either use the VI/O signal to determine its signaling level or are 3V signaling boards that have
5V-tolerant I/O. Many PCI interface chips have a "VI/O" pin that is the power for the I/O
buffers that can be directly connected to VI/O. Universal boards will work on either 3V or 5V
I/O signaling buses.

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

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

Сейчас почти все модули запитываются от +5В и делают свои +3.3В. И PCI почти у всех +3.3В. Однако, надо иметь ввиду, что PCI бывает и +5В на шине РС104+.
Stas
Чтоб не налететь на грабли с задержками и качеством сигнала в качестве коммутаторов шины логично использовать что - то из серии типа QuickSwitch http://www.idt.com/?catID=58731

Не успел smile.gif
DmitryR
Цитата(zemlemer @ Aug 15 2008, 14:40) *
Не приведет ли задержка на коммутацию через alter-у к некорректной работе PCI-ного автомата внутри TMS? Спасибо.

Я понял вопрос с первого раза, и ответ поэтому не меняется: я считаю, что приведет.
Andrew Su
Совершенно согласен с DmitryR
Кто точно скажет как лягут трассы сигналов
внутри FPGA? Вот и могут появиться разбросы.
sysel
Насчет уровней сигналов: современные мосты локальная шина-PCI делаются для 3.3 В уровней, но из расчета совместимости со старыми устройствами они толерантны к 5В уровням.
У Вас может быть такая ситуация: процессорная плата PCI-104 будет оперировать с
3.3В уровнями сигналов, к ней будет подключена Ваша плата (3.3 В) и пользователь на ту же шину воткнёт какой-нибудь старый PCI-104 адаптер, котрый будет выдавать 5В уровни. Процессорной плата проглотит эти 5В без проблем, а вот Вашей плате может поплохеть.
Так что лучше не игнорировать совместимость с 5В уровнями.

Начет мультиплексора: зачем Вам мудрить что-то на альтере или транзисторных ключах, если можно поставить механический мультиплексор с вертушкой (как обозначено в стандарте PCI-104). Всё равно же в конечном итоге, необходимо будет вручную выбирать ту группу сигналов шины, которую Вы предполагаете использовать на Вашей плате, ибо возможности автоматического выбора нет (в том смысле, что Вы не сможете определить на какой группе висят другие адаптеры шины и определить какая группа свободна).
zemlemer
Спасибо огромное всем ответившим. Пустил все коммутируемые сигналы через быстрые ключи (толерантные к 5-ти В.), за исключением прерываний (они асинхронны). На процессорные лапы питания с PCI подвел Vi/o с шины. Надеюсь, так аккуратнее. Еще раз спасибо откликнувшимся.
Nikolay_MarkII
Цитата(zemlemer @ Aug 25 2008, 15:28) *
Спасибо огромное всем ответившим. Пустил все коммутируемые сигналы через быстрые ключи (толерантные к 5-ти В.), за исключением прерываний (они асинхронны). На процессорные лапы питания с PCI подвел Vi/o с шины. Надеюсь, так аккуратнее. Еще раз спасибо откликнувшимся.

Добавлю от себя немного, т.к. борюсь с этим стандартом уже пару лет. При этом своя плата похожая - PC104+ на которой висит TMS320C6415.

Так вот, прежде чем реализовывать определенную схему питания надо проверить, что на шине компьютера будет искомое напряжение питания (причем фактически, а не по описанию), ибо про несоблюдение стандарта разработчиками уже сказали выше. Например, я сталкивался с компами фирм RTD и Advantech, у которых на Vi/o вовсе ничего не было. При этом на RTDшном на PC104+ не было 3,3В вовсе!!!
Хотя по описанию обязано быть!!! Звонил пины 3,3В между собой - они вовсе не звонились, т.е. не разведено на плате.
В итоге запитываюсь только от 5В.

Про преобразователи уровней тоже интересный опыт имеется. Пробовал вначале использовать хитрые техасовские ключи CB3T, так вот в связке с C6415 они не захотели работать в двунаправленной шине ни на PCI, ни на EMIF. Вразумительного ответа от техаса так и не получил, хотя переписка длилась довольно долго.
zemlemer
Цитата(Nikolay_MarkII @ Aug 25 2008, 13:31) *
Так вот, прежде чем реализовывать определенную схему питания надо проверить, что на шине компьютера будет искомое напряжение питания (причем фактически, а не по описанию), ибо про несоблюдение стандарта разработчиками уже сказали выше. Например, я сталкивался с компами фирм RTD и Advantech, у которых на Vi/o вовсе ничего не было. При этом на RTDшном на PC104+ не было 3,3В вовсе!!!
.......
В итоге запитываюсь только от 5В.

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


Сколько нам открытий чудных.... 05.gif Наверное имеет смысл перекинуть все питание на 3.3 преобразованное от стабилизаторов из 5-ти. Спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.