Jump to content
    

core for PCI Express to I2C, SPI and UART

Всем привет, может у кого завалялось ядро PCIE в I2C, SPI или UART. Совсем замечательно, если будет еще и драйвер для хост машины к этому ядру.

Мне нужно под Virtex6 и 7.

Алексей.

Share this post


Link to post
Share on other sites

Всем привет, может у кого завалялось ядро PCIE в I2C, SPI или UART. Совсем замечательно, если будет еще и драйвер для хост машины к этому ядру.
Такого точно не бывает. Самому и драйвер и аппаратный код. Слишком специфичная задача, кстати не сложная.

Share this post


Link to post
Share on other sites

Приветствую!

 

Всем привет, может у кого завалялось ядро PCIE в I2C, SPI или UART. Совсем замечательно, если будет еще и драйвер для хост машины к этому ядру.

Мне нужно под Virtex6 и 7.

Для Virtex6 все "валяется" в дистрибутиве последнего ISE

Для Virtex7 все "валяется" в дистрибутиве последнего Vivado

 

Нужно только "нагнутся" и поднять то что "валяется".

Сразу совсем замечательно не будет так как не понятно в какой хост Вы положите поднятое добро.

Ну и "пыль" стряхивать с "поднятого" в любом случаи придется. :)

 

Успехов! Rob.

 

Share this post


Link to post
Share on other sites

Огромное спасибо за помощь. Буду трудиться. С кодом для ПЛИС вроде все понятно, а вот с драйвером видимо придется повозится. Нужна реализация под Win и Linux. Понимаю, что у Linux есть куча ядер и т.д. Нашел у Xilinx драйвер xdma, но он только для проектов где есть xdma ядро. В virtex 6 его нет. Может есть хоть какой-то базовый драйвер с минимальным набором функций (чтение и запись регистра)?

 

Алексей.

Share this post


Link to post
Share on other sites

Приветствую!

 

Огромное спасибо за помощь. Буду трудиться. С кодом для ПЛИС вроде все понятно, а вот с драйвером видимо придется повозится. Нужна реализация под Win и Linux. Понимаю, что у Linux есть куча ядер и т.д. Нашел у Xilinx драйвер xdma, но он только для проектов где есть xdma ядро. В virtex 6 его нет. Может есть хоть какой-то базовый драйвер с минимальным набором функций (чтение и запись регистра)?

Для Вашей задачи DMA не нужен (конечно если не нужно делать несколько сотен портов). Читать-писать все программно просто поставив AXI-PCIe корку и через интерконнект подцепив корки I2C, SPI и UART.

Драйвер для инициализации PCIe не нужен. Под Linux драйвера для I2C, SPI и UART корки есть. Ну а для Win можно сделать по аналогии с Linux.

 

Удачи! Rob.

Share this post


Link to post
Share on other sites

Огромное спасибо за помощь. Буду трудиться. С кодом для ПЛИС вроде все понятно, а вот с драйвером видимо придется повозится. Нужна реализация под Win и Linux. Понимаю, что у Linux есть куча ядер и т.д. Нашел у Xilinx драйвер xdma, но он только для проектов где есть xdma ядро. В virtex 6 его нет. Может есть хоть какой-то базовый драйвер с минимальным набором функций (чтение и запись регистра)?

 

Алексей.

XAPP1052 смотрели? Он включает драйвера для windows и linux. Только насколько я помню драйвер для windows там убогий допиливать его нужно сильно - написан под win xp с использованием модели WDM. Ну и приложение для работы с windows-драйвером написано по моему на visual basic.

https://www.xilinx.com/support/documentatio...es/xapp1052.pdf

https://www.xilinx.com/support/documentatio...es/xapp1052.zip

 

Share this post


Link to post
Share on other sites

Всем привет, может у кого завалялось ядро PCIE в I2C, SPI или UART. Совсем замечательно, если будет еще и драйвер для хост машины к этому ядру.

Мне нужно под Virtex6 и 7.

Алексей.

 

Google->Xillybus. Вам нужно будет написать только преобразователь из FIFO в I2C, SPI или UART на стороне ПЛИС.

Share this post


Link to post
Share on other sites

Google->Xillybus. Вам нужно будет написать только преобразователь из FIFO в I2C, SPI или UART на стороне ПЛИС.
А цена? А драйвер точно есть на стороне ОС в виде I2C/SPI устройства например?

Share this post


Link to post
Share on other sites

Приветствую!

 

Xilibus и xapp1052 это различные DMA который для TC не нужен. Соответственно драйверов для корок I2C, SPI или UART там нет.

И если под Linux драйвера для этих корок Xilinx есть то под Win придется ваять самому. Либо с нуля, либо используя Linux драйверы как пример.

 

Можно конечно сделать как "нормальные герои" - пойти в обход :)

Сделать/найти корки I2C, SPI или UART имитирующие стандартные чипы под которые уже есть драйвера под Win.

Но при этом надо помнить что

...
В обход идти понятно, не очень-то легко,
Не очень-то приятно и ооочень далеко,
...

:biggrin:

 

Удачи! Rob.

 

 

 

Share this post


Link to post
Share on other sites

А цена? А драйвер точно есть на стороне ОС в виде I2C/SPI устройства например?

 

Драйвера есть под Linux и Windows. Есть исходники как для ПЛИС, так и для ОС. В ОС работа ведется как с обычным файлом - открыть, записать, прочитать, закрыть. Преобразователь из FIFO в I2C/SPI надо написать на стороне ПЛИС, ну тут уж ничего сложного нет, все элементарно.

В образовательных и некоммерческих целях использование ядра и драйверов бесплатно. Если ТС нужен коммерческий проект, то придется купить или писать самому.

Share this post


Link to post
Share on other sites

Всем огромное спасибо за помощь, посмотрел Xilibus и драйвера от Xilinx. Буду использовать драйвера от Xilinx. Под Win сделаю по аналогии с Linux.

 

Алексей

Share this post


Link to post
Share on other sites

В 20.01.2017 в 21:56, RobFPGA сказал:

Читать-писать все программно просто поставив AXI-PCIe корку и через интерконнект подцепив корки I2C, SPI и UART. Драйвер для инициализации PCIe не нужен. Под Linux драйвера для I2C, SPI и UART корки есть.

В ядре драйверы для I2C/SPI/UART от xilinx есть, но я не встречал примеров как это описать в системе (речь о Linux). Достаточно ли описать это в дереве девайсов? Где можно посмотреть примеры подобного? 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...