реклама на сайте
подробности

 
 
> Контролер CompactPCI на ПЛИС
Karbofoz
сообщение Sep 14 2008, 08:29
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 34
Регистрация: 27-08-07
Пользователь №: 30 078



Хочу сделать плату с разъемом CompactPCI. Порвышись по форуму я для себя окончательно все и не уяснил, поэтому попытаюсь изложить свою идею. надеюсь на ваши коментарии. Моя цель - управлять платой через CPCI.
В качестве контроллера штны использую Spartan3A (3В серию) на 50к вентилей в корпусе TQ144 (хватит ли объема и выводов для контроллера?). Начинка плисины - стандартное коргеновское ядро. Можно ли запитывать спартан напрямую от 3В шины или надо ставить стабилизаторы? хватит ли мне только питания от шины, если на плату будут стоять еще неск ПЛИС? Есть ли схемы по подключения CPCI к плисине, рекомендации куда какие ножки заводить? можно ли напрямую подводить контакты разъема на вход плис? Может кто-то может поделиться схемой и примером разводки платы?
И теперь самое мне непонятное - работа по шине. Если я правильно понял работу по PCI, то после включения питания с матинской платы рассылаются запросы по всем шинам PCI и ожидает ответов на запрос. Если ответа не последовало, то шина считается неактивной и не используется. В случае с плис получается, что МС не успеет загрузиться к моменту прихода запроса и ответа не последует, и плата окажется неопознанной, и работать я с ней не смогу. Как быть в этом случае? оветное слово не должно быть равно FFFF, если я просто шину данных повешу на пулдайны и ответное слово будет 0000 - это поможет? есть другие лекарства?
Ну и еще один вопрос по режимам работу контроллера. предположим, что плата распознана. Можно ли контроллер установить в режим мастера - будет ли конфликт с контроллером на материнской плате или они умеют договариваться?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Syberian
сообщение Sep 16 2008, 10:20
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



CPCI от PCI отличается не глобально, поэтому изложу то, что знаю о разработке устройств на PCI (у меня в планах такое)

В Квартусе под альтеру есть PCI-компилер. Там собирается как бы устройство на ПЛИС, в котором есть входы/выходы интерфейса PCI, и отдельно адресное пространство BAR (их может быть до 6 штук).
При запуске компилера можно указать Vendor ID, "модель" устр-ва и некоторые параметры PCI стыка. К Барам можно подключать адресуемую память, регистры микроконтроллера, I2C и проч.... Да хоть ноги с уровнем!

Но самая главная тема - дрова для компа!
Чтобы особенно не морочиться с операционкой, ядром и прочими прелестями, советую применить Jungo WinDriver. Вставляешь устройство в слот PCI, и программа показывает все его доступные ресурсы, и - главное! - генерирует inf-файл устройства и костяк драйвера в виде проекта под MSVS или BCB или GCC, для виндовс, линух или мака...

Далее все сводится к элементарным процедурам на С++:
- открыть устройство (хэндл)
- инициализировать драйвер
- инициализировать устр-во
- считать/записать из Бара №хх по адресу хх (короче, работать с устр-вом)
- закрыть устройство


При втыкании устройства на другой комп, Винда его определит (выдаст название, которое зашивают в ПЛИС при компиляции PCI), и достаточно подсунуть дискетку с полученными "дровами"
БЫОС в табличке после определения дисков показывает обнаруженные устр-ва на PCI. Но если ПЛИС не успела грузануться - не страшно, т.к. Plug-n-Play операционка все равно заново сканит шину на предмет новых устройств.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 13:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016