Comments 29
Здорово, вот только для неискушенного пользователя (который, к примеру, с PCIe работал только втыкая видяху в свой компьютер) было бы полезно более подробно расписать настройки ядра PCIe — чтоб не пугались.
И еще смущает момент «загрузить FPGA-прошивку, перезагрузиться». Как я понимаю, он связан с ограничением на время отклика PCIe устройства после подачи питания для того, чтобы «шина» его увидела? Т.е. если делать нормально — надо успевать откуда-то сконфигурировать FPGA при включении питания?
У Altera SOC, насколько я помню, ядро PCIe всегда активно независимо от «загруженности» FPGA и подобной проблемы нет.
И еще смущает момент «загрузить FPGA-прошивку, перезагрузиться». Как я понимаю, он связан с ограничением на время отклика PCIe устройства после подачи питания для того, чтобы «шина» его увидела? Т.е. если делать нормально — надо успевать откуда-то сконфигурировать FPGA при включении питания?
У Altera SOC, насколько я помню, ядро PCIe всегда активно независимо от «загруженности» FPGA и подобной проблемы нет.
+1
Спасибо за отклик!
Прошивка в FPGA должна загрузиться раньше, чем загрузится компьютер. Для этого ее надо записать в загрузочную flash-память. Для демодизайна это не обязательно, к тому же я отлаживался, поэтому загружал прошивку программатором. В связи с этим приходилось перезагружаться.
Насчет конфигурирования ядра — наверное, можно было бы об этом написать, но это вопрос сугубо технический и не хотелось раздувать статью.
Прошивка в FPGA должна загрузиться раньше, чем загрузится компьютер. Для этого ее надо записать в загрузочную flash-память. Для демодизайна это не обязательно, к тому же я отлаживался, поэтому загружал прошивку программатором. В связи с этим приходилось перезагружаться.
Насчет конфигурирования ядра — наверное, можно было бы об этом написать, но это вопрос сугубо технический и не хотелось раздувать статью.
+1
Плюсанул, но не совсем понимаю что.
+6
Да, это явно не для домашней поделки на субботний вечерок, имхо. По крайней мере не видел ни одного живого человека, кто бы что-то свое сделал на PCIe. Хотя на электрониксе вроде кто-то что то ковыряет даж на альтерах, но в подробности я боюсь вдаваться. Кстати, а что такое Virtex? Тоже какое-нибудь лицензированное PCIe ядро?
За статью спасибо, ничего не понятно, но очень круто! Плюсанул.
За статью спасибо, ничего не понятно, но очень круто! Плюсанул.
+2
> По крайней мере не видел ни одного живого человека, кто бы что-то свое сделал на PCIe.
Ээ, а какие варианты если нужна коммуникация с PC?
Ethernet / USB не удобны тем что это получается внешнее устройство, а в современных компьютерах из generic-шин только PCIe и осталоась, редко уже увидишь PCI.
Ээ, а какие варианты если нужна коммуникация с PC?
Ethernet / USB не удобны тем что это получается внешнее устройство, а в современных компьютерах из generic-шин только PCIe и осталоась, редко уже увидишь PCI.
0
Понятно, что если нужна скорость, память — то PCIe без вариантов. Как мне это представляется — такие устройства не разрабатываются одним человеком. Как минимум какая-то маленькая лаба человек из трех, как максимум — большая корпорация или НИИ.
Если честно, я не очень даже представляю, зачем оно в радиолюбительской поделке все нужно. Зачем столько памяти, зачем такие огромные скорости. Как это все проверять с помощью китайского мультиметра, лог анализатора за 300 руб и хорошо если осциллографом до 1 МГц. Плюс это ж наверное BGA, а BGA это как минимум 4-ех слойка… Как ее паять эту BGA над газовой плитой? Понятно, что можно потом сборку и производство заказать, а если ты делаешь одно устройство для себя (которое мигает светодиодом)?
До сих пор удел любительских поделок — COM (RS232), LPT, USB 1.1, USB 2.0, но да — это все внешние получаются устройства. Внутренние — ну ISA понятно умерла давно, хотя какая чудесная шина была. Вроде есть аналог ISA в индустриальном исполнении, не помню как называется, но до сих пор вроде используется. По сигналам один в один, только сам разъем другой. И даже матери для core i7 с ISA печатают, правда стоят такие как самолет.
Остается PCI (обычный, не PCIe). Его можно еще найти кое-где. Конечно он (PCI) гораздо сложнее ISA, но тоже можно юзать, вплоть до простейших поделок на обычной логике, без ПЛИС или поделок посложнее с «маленькой» ПЛИС.
Кстати, а на PCIe можно сделать годный осциллограф-приставку?
Если честно, я не очень даже представляю, зачем оно в радиолюбительской поделке все нужно. Зачем столько памяти, зачем такие огромные скорости. Как это все проверять с помощью китайского мультиметра, лог анализатора за 300 руб и хорошо если осциллографом до 1 МГц. Плюс это ж наверное BGA, а BGA это как минимум 4-ех слойка… Как ее паять эту BGA над газовой плитой? Понятно, что можно потом сборку и производство заказать, а если ты делаешь одно устройство для себя (которое мигает светодиодом)?
До сих пор удел любительских поделок — COM (RS232), LPT, USB 1.1, USB 2.0, но да — это все внешние получаются устройства. Внутренние — ну ISA понятно умерла давно, хотя какая чудесная шина была. Вроде есть аналог ISA в индустриальном исполнении, не помню как называется, но до сих пор вроде используется. По сигналам один в один, только сам разъем другой. И даже матери для core i7 с ISA печатают, правда стоят такие как самолет.
Остается PCI (обычный, не PCIe). Его можно еще найти кое-где. Конечно он (PCI) гораздо сложнее ISA, но тоже можно юзать, вплоть до простейших поделок на обычной логике, без ПЛИС или поделок посложнее с «маленькой» ПЛИС.
Кстати, а на PCIe можно сделать годный осциллограф-приставку?
0
> Зачем столько памяти, зачем такие огромные скорости. Как это все проверять с помощью китайского мультиметра, лог анализатора за 300 руб и хорошо если осциллографом до 1 МГц
Ээ, а как вообще всем этим работать? :)
Я любитель, но и у меня аппаратуры на пару килобаксов накопилось.
Мультиметр с допуском в 5%? Анализатор на 2.5 канала и полосой в килогерцы? Брр
> Если честно, я не очень даже представляю, зачем оно в радиолюбительской поделке все нужно
Ну я, к примеру, использую PCIe-карту как часть умного дома, воткнул в сервер её, и не нужно искать где разместить stand-alone коробку, как подвести питание, коммуникации с PC. WiFi конечно хорошо, но передавать несколько видеопотоков не очень здорово из одного истоника одному получателю.
> Как ее паять эту BGA над газовой плитой
Ээ, феном? Я паял только пару раз BGA, но выходило успешно. Главное спозиционировать верно.
> Плюс это ж наверное BGA
Не всегда, но часто, да. Всё же ножек много.
> Его можно еще найти кое-где
Предлагаете менять железо ради использования устаревшей шины? :)
Ну так-то да, можно и на TTL сделать адаптер.
> Кстати, а на PCIe можно сделать годный осциллограф-приставку?
Можно, только коммуникация с PC там только одна из проблем, существенная, но тем не менее, придётся решать ещё несколько вопросов с бутылочными горлышками.
Ээ, а как вообще всем этим работать? :)
Я любитель, но и у меня аппаратуры на пару килобаксов накопилось.
Мультиметр с допуском в 5%? Анализатор на 2.5 канала и полосой в килогерцы? Брр
> Если честно, я не очень даже представляю, зачем оно в радиолюбительской поделке все нужно
Ну я, к примеру, использую PCIe-карту как часть умного дома, воткнул в сервер её, и не нужно искать где разместить stand-alone коробку, как подвести питание, коммуникации с PC. WiFi конечно хорошо, но передавать несколько видеопотоков не очень здорово из одного истоника одному получателю.
> Как ее паять эту BGA над газовой плитой
Ээ, феном? Я паял только пару раз BGA, но выходило успешно. Главное спозиционировать верно.
> Плюс это ж наверное BGA
Не всегда, но часто, да. Всё же ножек много.
> Его можно еще найти кое-где
Предлагаете менять железо ради использования устаревшей шины? :)
Ну так-то да, можно и на TTL сделать адаптер.
> Кстати, а на PCIe можно сделать годный осциллограф-приставку?
Можно, только коммуникация с PC там только одна из проблем, существенная, но тем не менее, придётся решать ещё несколько вопросов с бутылочными горлышками.
+1
Ну я, к примеру, использую PCIe-карту как часть умного дома, воткнул в сервер её, и
Не понял, вы сами ее (плату) разработали и изготовили, написали дрова и софт для нее? Или это просто какая-то покупная железка (плата видеозахвата), которая подошла под ваши задачи? Если первое, то снимаю шляпу. Фото было бы просто прекрасным дополнением того, как можно дома самому.
0
Конечно, сам.
Ну разве что изготавливал не я, всё же, вы правы, многослойные платы делать самому довольно сложно. Я попробовал разок, вышло ужасно. После этого, заказываю на стороне.
Драйвера тоже сам писал, для меня это было гораздо легче чем сделать плату.
> Фото было бы просто прекрасным дополнением того, как можно дома самому
Я думал статей несколько написать, но потом решил, что велосипедных умных домов и так пруд пруди. Правда большинство на всяких попсовых арудинках.
Ну разве что изготавливал не я, всё же, вы правы, многослойные платы делать самому довольно сложно. Я попробовал разок, вышло ужасно. После этого, заказываю на стороне.
Драйвера тоже сам писал, для меня это было гораздо легче чем сделать плату.
> Фото было бы просто прекрасным дополнением того, как можно дома самому
Я думал статей несколько написать, но потом решил, что велосипедных умных домов и так пруд пруди. Правда большинство на всяких попсовых арудинках.
+1
Почему не разрабатываются одним чеолвеком? Очень даже разрабатываются… Ничего сложного в этом нет, о чем и статья. Кстати, по моему опыту, сделать дизайн для PCIe проще, чем для USB. Годный осциллограф-приставку на PCIe сделать можно.
0
Этот девкит и не позиционируется для домашних поделок :)
В предыдущей статье автора ( habrahabr.ru/post/231007/ ) можно найти и цену на него и сферы применения)
В предыдущей статье автора ( habrahabr.ru/post/231007/ ) можно найти и цену на него и сферы применения)
0
Все отлично, кроме стоимости платформы — уж очень она кусается.
Планирую выпросить у Arrow вот такой кит для экспериментов, на первое время должно хватить.
Планирую выпросить у Arrow вот такой кит для экспериментов, на первое время должно хватить.
0
> Требуется слот PCIe x8 или шире
На скриншоте генерации IP-ядра же стоит 4 линии, зачем карта требует 8?
На скриншоте генерации IP-ядра же стоит 4 линии, зачем карта требует 8?
0
На обычный PCI в своё время существовали мосты, которые одной половиной втыкались в PCI а на другой получалась своеобразная ISA. Гугль говорит что такое существует и для PCIe:;
www.iwavesystems.com/pcie-isa-bridge.html
ISA Master Interface
The ISA Bridge implements a 16-bit data interface
Supports Bus clock of 8 MHz for ISA interface
…
www.iwavesystems.com/pcie-isa-bridge.html
ISA Master Interface
The ISA Bridge implements a 16-bit data interface
Supports Bus clock of 8 MHz for ISA interface
…
0
Существует, но платное. В смысле не сама ПЛИС платная (это понятно), а корка эта платная, с не очевидным способом покупки. Был бы готовый чип, желательно еще бы и не BGA — было бы круто конечно.
0
вот такое еще решение есть inproplus.ru/index.php/2013-06-22-02-43-15/7-pcie-pci66-bridge
Мост из PCIe в шину PCI66.
Ну а PCI уже довольно просто сделать.
Мост из PCIe в шину PCI66.
Ну а PCI уже довольно просто сделать.
0
Предвкушаю следующий пост: мигаем светодиодом через Infiniband.
+1
А есть ли готовые ядра, которые помимо самого PCIe реализуют кольца буфферных дескрипторов, DMA и прочую колдовскую магию?
0
В данном ядре все это есть. Я не стал описывать эту «колдовскую магию», поскольку хотел показать общий принцип, не усложняя описание излишними подробностями. Если конкретнее, в ПЛИС Achronix имплементировано PCI-ядро Expresso компании Noth-West Logic (NWlogic.com). С описанием ядра можно ознакомиться на сайте компании.
0
Из вашей статьи складывается впечатление, что весь инстументарий для работы с ПЛИС Achronix в том числе ядра PCI Express, даются бесплатно. Это действительно так?
0
Это не совсем так, а, точнее, совсем не так. Средства разработки поставляются вместе с отладочной платой и входят в ее цену. Но их можно приобрести отдельно (точнее, купить лицензию на использование). Можно получить бесплатную лицензию для тестирования ПО сроком от месяца до 3х. Все аппаратные ядра не требуют дополнительных лицензий и отчислений. Но если вам потребуется написать свой драйвер PCIe для компьютера, то будет необходимо купить документацию и пакет разработки от NWLogic. Для описываемого проекта мне удалось обойтись драйвером, поставляемым с демодезайном, поэтому дополнительных затрат удалось избежать. Диапазон цен за лицензии на ПО стандартный — несколько тысяч USD.
0
Sign up to leave a comment.
Ядро PCI-express в ПЛИС Achronix — быстрый старт