|
FPGA на шине PCI, Сработает ли Plag&Play? |
|
|
|
Jul 10 2010, 08:12
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(ktod @ Jul 10 2010, 08:31)  Это как? Часто у Вас ФПГА виснут? оО Случается, например в старых, раздолбанных PCI-разьемах. Случайно покачаешь плату, тряханешь ПК, или юзер начнет подводящие кабели снаружи шевелить- вот вам и сбой алгоритма, или того хуже- слетает конфигурация FPGA. Hе только из-за разьемов возможны "зависания", но и от импульсных помех на внешних сигналах, например шарахнет рядом молния или включат электросварочный аппарат. В таких случаях бросок тока через клэмп-диоды вполне может сместить питание FPGA со всеми вытекающими. Думаю, много еще чего случается на практике, что приводит к "зависанию" FPGA. Я лично страхуюсь использованием WatchDog- программа на ПК, которая постоянно следит за активностью моего PCI-мастера. Как замолчал больше чем допустимо, - значит перегружаем FPGA. Но этот прием работает в старой конструкции, где PCI master/taget выполнен отдельно на матрице с жесткой прошивкой. Поэтому Plag&Play не требуется. А сейчас я хочу все узлы собрать в одной FPGA и просто ее перезагрузкой уже не обойдешься, надо чтобы она поучаствовала еще в Plag&Play. И тут два варианта -1. ресетить весь компьютер целиком, или -2 каким-то образом из виндов вызывать процедуру Plag&Play своей платы уже после загрузки FPGA. Последнее очень заманчиво, но как это делается- я не знаю. Цитата(Methane @ Jul 10 2010, 11:52)  Скажите, вы хоть немножко, хоть чуть чуть смотрели документацию на PCI? "Хоть немножко" смотрел. Но больше смотрю на реальный ПК и вижу- питание +3.3V на PCI разьемах при "выключении" ПК не пропадает. Например, светодиоды сетевых плат продолжают гореть. Как вы это обьясните?
|
|
|
|
|
Jul 10 2010, 12:22
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 27-09-05
Пользователь №: 8 979

|
Простите, но это бред. Вы не там ищете проблему. если у Вас зависает фпга из за покачивания платы - ищите ошибки в формировании питания, в логике работы самой прошивки (я имею в виду различные автоматы). Но, лучше всего, обеспечьте нормальное крепление платы, чтоб не было "покачиваний". Если у Вас происходит сбой прошивки от молнии-сварочника - помимо питания обратите внимание на входные цепи прибора, на правильную разводку цепей (всех цепей устройства). В любом случае - вы боритесь не с причиной проблемы, а со следствием. Короче, запомните: "зависать" фпга может только в результате ошибок при составлении ТЗ и/или проектировании устройства. или у Вас такое ТЗ, "чтоб усе работало лучше всех"?
Сообщение отредактировал ktod - Jul 10 2010, 12:27
--------------------
Ignoramus et Ignorabimus
|
|
|
|
|
Jul 13 2010, 08:46
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Methane @ Jul 10 2010, 12:16)  Магией. Не читайте доки, магия пропадет. Мы наверное говорим о разном. Иначе трудно обьяснить, что вы действительно не в курсе такой особенности десктопов- при "завершении работы" питание на разьемах USB и PCI не исчезает, а ПК переходит в режим power_down. Неужели и вправду не знаете, что настоящее выключение ПК делается специальным тумблером, который сзади, рядом с силовым вводом? Что же касается темы данной ветки, то я уже понял следующее: -1. Использовать FPGA напрямую на шине PCI можно только для 32-бит и 33 MHz. В этом случае есть достаточный запас времени 1 сек для произведения конфигурации FPGA до наступления Plag&Play. -2. В качестве старта конфигурации использовать nRESET шины PCI -3. Конфигурация пассивная, от МСU. В этом случае перезапуск будет происходить и от nReset шины, и от вкл.питания. -4. В драйвере PCI предусмотреть команду принудительной конфигурации FPGA с восстановлением Config Area PCI.
|
|
|
|
|
Jul 13 2010, 02:06
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Aprox @ Jul 13 2010, 11:46)  Мы наверное говорим о разном. Иначе трудно обьяснить, что вы действительно не в курсе такой особенности десктопов- при "завершении работы" питание на разьемах USB и PCI не исчезает, а ПК переходит в режим power_down. Неужели и вправду не знаете, что настоящее выключение ПК делается специальным тумблером, который сзади, рядом с силовым вводом?
Что же касается темы данной ветки, то я уже понял следующее: -1. Использовать FPGA напрямую на шине PCI можно только для 32-бит и 33 MHz. В этом случае есть достаточный запас времени 1 сек для произведения конфигурации FPGA до наступления Plag&Play. -2. В качестве старта конфигурации использовать nRESET шины PCI -3. Конфигурация пассивная, от МСU. В этом случае перезапуск будет происходить и от nReset шины, и от вкл.питания. -4. В драйвере PCI предусмотреть команду принудительной конфигурации FPGA с восстановлением Config Area PCI. Это Вы себе пытаетесь доказать или еще кому-то? Откуда мантра -1.? ;-)
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 13 2010, 05:07
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(ViKo @ Jul 13 2010, 05:57)  А не лучше ли бороться и с причиной, и со следствиями? В меру своих возможностей и способностей. То, что вы пишете, хорошо и правильно, но для чего тогда в каждом процессоре стоит сторожевой таймер, например? От всех внешних воздействий не спасешься. Поэтому и нужно предусматривать выход из самой невероятной ситуации. И тогда будет "лучше всех  ". А если ОДНОЙ причине соответсвует 10-100-1000 следствий? Которые проявляются случайным образом? Однозначно надо с причиной бороться. По поводу вачдога.... Сторожевой таймер - спасательный круг исключительно для спасения филейной части програмиста. И самому процесору, как материальной сущности (:-)) он совсем не нужен. Меня вообще очень умиляет использование внутреннего вачдога в процессоре, который этот вачдог еще и настраивает :-)
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 13 2010, 10:42
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Victor® @ Jul 13 2010, 14:06)  Это Вы себе пытаетесь доказать или еще кому-то? Это я приношу огромное спасибо всем тем, кто снабдил меня конкретными цифрами. Цитата Откуда мантра -1.? ;-) Вы сами не осилили, что ли? Это же очень просто. Вот исходные данные: -1. Берем самый простенький Циклон-3, который без опции Fast Hot Socketing. Имеем сразу 200 мСек на время POR. -2. Берем сжатый .ttf файл загрузки при использовании ресурсов на 50%. Это примерно 150Кбайт. -3. Берем средненький ARM9 c частотой 100МГц, его SPI больше, чем 5..8 Mbit/sec не потянет. Умножаем, делим.. и "мантра", как вы изволили выразиться, превращается в очевидность. Цитата(Victor® @ Jul 13 2010, 17:07)  А если ОДНОЙ причине соответсвует 10-100-1000 следствий? Которые проявляются случайным образом? Hе бывает, чтобы одна причина порождала 1000 следствий. Hаоборот- сколько угодно: множество причин- одно следствие. А как вы хотите- нет, не бывает никогда. Цитата(ViKo @ Jul 13 2010, 14:57)  А не лучше ли бороться и с причиной, и со следствиями? В меру своих возможностей и способностей. То, что вы пишете, хорошо и правильно, но для чего тогда в каждом процессоре стоит сторожевой таймер, например? Еще хочется спросить формалиста, зачем в зависших виндах предлагается перезапустить компьютер? Билл Гейтс плохо составил ТЗ? Hе предусмотрел всех возможностей?
|
|
|
|
|
Jul 13 2010, 11:12
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Aprox @ Jul 13 2010, 21:42)  Вы сами не осилили, что ли? Это же очень просто. Вот исходные данные: -1. Берем самый простенький Циклон-3, который без опции Fast Hot Socketing. Имеем сразу 200 мСек на время POR. -2. Берем сжатый .ttf файл загрузки при использовании ресурсов на 50%. Это примерно 150Кбайт. -3. Берем средненький ARM9 c частотой 100МГц, его SPI больше, чем 5..8 Mbit/sec не потянет. Как Вы изволили выразиться: "Использовать FPGA напрямую на шине PCI можно только для 32-бит и 33 MHz."Открою Вам страшную тайну, что "Использовать FPGA на PCI возможно не только для режима 32 бита /33 MHz" Не надо обобщать. Если в Вашем конкретном случае не удается сделать - это не значит, что сделать невозможно в принципе.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 16 2010, 06:30
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Aprox @ Jul 14 2010, 01:29)  Вы знаете другие примеры, когда удавалось? По-моему, я представил самый простой и быстродействующий вариант. Буду чрезвычайно признателен, если представите другие варианты, приводящие к успеху FPGA напрямую на шине PCI. А то, пока что с вашей стороны одни общие слова. Пример хотите? Вот вам... Проект у меня есть на Xilinx XC3S250EPQG208-4C "Адаптер PCI- 4xE1" (32 33/66 MHz master/slave) Карта аналогична Digium TE410/405 - http://www.digium.com/en/products/digital/te412p.phpС момента подачи 5V до окончания конфигурирования проходит 76 ms. Режим Master SPI (fast read) P.S. Это у Вас "самый простой и быстрый вариант"?! На MK? Вы себя переоцениваете. Скромнее надо быть.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 16 2010, 07:35
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Victor® @ Jul 16 2010, 10:30)  Пример хотите? Вот вам... Проект у меня есть на Xilinx XC3S250EPQG208-4C "Адаптер PCI- 4xE1" (32 33/66 MHz master/slave) Карта аналогична Digium TE410/405 - http://www.digium.com/en/products/digital/te412p.phpС момента подачи 5V до окончания конфигурирования проходит 76 ms. Режим Master SPI (fast read) Извините, но вы забыли нолик справа, когда писали про 76ms. При последовательной побитной конфигурации, SPI как вы написали, ваша цифра выглядит нереальной. Там что, SPI работает на гигагерцах? Сам я про XC не в курсе, но вижу, как мои коллеги, что работают со Спартанами, тратят на конфигурацию из последовательной flash не менее 1 сек. А то и поболее. Не думаю, что они законченные дураки.
|
|
|
|
|
Jul 16 2010, 07:46
|

Lazy
     
Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76

|
Цитата(Aprox @ Jul 16 2010, 10:35)  Извините, но вы забыли нолик справа, когда писали про 76ms. При последовательной побитной конфигурации, SPI как вы написали, ваша цифра выглядит нереальной. Там что, SPI работает на гигагерцах? Сам я про XC не в курсе, но вижу, как мои коллеги, что работают со Спартанами, тратят на конфигурацию из последовательной flash не менее 1 сек. А то и поболее. Не думаю, что они законченные дураки. Размер SPI FLASH - 2 Mbit, частота 25 MHz. Калькулятор имеете? P.S. Ваши коллеги наверное не подозревают, что частоту CCLK можно менять. По умолчанию для S3E устанавливается 1 MHz, но может быть до 50 MHz.
--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
|
|
|
|
|
Jul 16 2010, 14:16
|

Местный
  
Группа: Участник
Сообщений: 374
Регистрация: 7-11-07
Из: Moscow
Пользователь №: 32 131

|
Цитата(Victor® @ Jul 16 2010, 11:46)  Размер SPI FLASH - 2 Mbit, частота 25 MHz. Калькулятор имеете? Убедили. При активной загрузке действительно можно получить быструю готовность XC. Hо как такую загрузку сделать управляемой от ПК, чтобы грузить по команде? Или, например, как апдейтить прошивку в SPI флешке? Как защитить от сдира? Цитата Ваши коллеги наверное не подозревают, что частоту CCLK можно менять. По умолчанию для S3E устанавливается 1 MHz, но может быть до 50 MHz. Знают они. И один даже использует 40Мгц для загрузки Virtex-4. Остальным просто некуда торопиться.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|