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

 
 
 
Reply to this topicStart new topic
> SPI с несколькими Slave
AlexeyK
сообщение Aug 13 2018, 22:39
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 11-04-15
Пользователь №: 86 181



Есть задача разработать SPI связь с несколькими чипами. Нужно получать их айди и выводить на дисплей 16х2. Могли бы вы порекомендовать рабочий исходник SPI для Xilinx? Язык VHDL.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2018, 04:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Драйвер SPI в общем-то простая штука: преобразование из параллельного вида в последовательный и обратно. Пишется максимум за несколько часов.

Вывод на дисплей -- отдельный модуль, с SPI не связанный.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Aug 14 2018, 07:56
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(AlexeyK @ Aug 14 2018, 01:39) *
Есть задача разработать SPI связь с несколькими чипами. Нужно получать их айди и выводить на дисплей 16х2. Могли бы вы порекомендовать рабочий исходник SPI для Xilinx? Язык VHDL.

В атачменте модуль. Взят тут: https://opencores.org/project/spi/overview
Допилено:
- переведён на AXI шину
- проверен
- исправлены баги.

Дарю.
Прикрепленный файл  axi_spi128_v1_00_a.zip ( 3.54 мегабайт ) Кол-во скачиваний: 22

Go to the top of the page
 
+Quote Post
AlexeyK
сообщение Aug 14 2018, 09:02
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 11-04-15
Пользователь №: 86 181



Цитата(andrew_b @ Aug 14 2018, 07:50) *
Драйвер SPI в общем-то простая штука: преобразование из параллельного вида в последовательный и обратно. Пишется максимум за несколько часов.


Я могу сделать преобразователь Serial To Parallel и обратно.Но я не понимаю архитектуру как SPI будет взаимодействовать с дисплеем. Могли бы вы поподробнее рассказать как бы вы такое делали?

Цитата(MegaVolt @ Aug 14 2018, 10:56) *
В атачменте модуль. Взят тут: https://opencores.org/project/spi/overview
Допилено:
- переведён на AXI шину
- проверен
- исправлены баги.

Дарю.
Прикрепленный файл  axi_spi128_v1_00_a.zip ( 3.54 мегабайт ) Кол-во скачиваний: 22


Спасибо. Пока что это сложно для меня.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2018, 09:05
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(AlexeyK @ Aug 14 2018, 12:02) *
Я могу сделать преобразователь Serial To Parallel и обратно.Но я не понимаю архитектуру как SPI будет взаимодействовать с дисплеем. Могли бы вы поподробнее рассказать как бы вы такое делали?
А что здесь такого сложного? Считанные по SPI данные подаём на вход модуля управления дисплеем. Возможно, потребуется какое-то преобразование.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Aug 14 2018, 10:36
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(andrew_b @ Aug 14 2018, 12:05) *
А что здесь такого сложного? Считанные по SPI данные подаём на вход модуля управления дисплеем. Возможно, потребуется какое-то преобразование.
Кто будет управлять дисплеем? Автомат на ПЛИС? Проц на плис? Внешний проц?


Да и какая плис стоит?
Go to the top of the page
 
+Quote Post
AlexeyK
сообщение Aug 14 2018, 12:14
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 11-04-15
Пользователь №: 86 181



Цитата(MegaVolt @ Aug 14 2018, 13:36) *
Кто будет управлять дисплеем? Автомат на ПЛИС? Проц на плис? Внешний проц?


Да и какая плис стоит?


Плис Xilinx XC6SLX45-2. Будет автомат скорее всего.
Go to the top of the page
 
+Quote Post
MegaVolt
сообщение Aug 14 2018, 12:45
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783



Цитата(AlexeyK @ Aug 14 2018, 15:14) *
Плис Xilinx XC6SLX45-2. Будет автомат скорее всего.
Места немеряно можно и проц запихать sm.gif))

Читаем доку на микросхемы узнаём последовательность байт/слов для того чтобы получить ID
Читаем доку на дисплей узнаём последовательность байт/слов для того чтобы отобразить нечто.

Соответственно вычитываем ID.
Преобразовываем ID и символы дисплея (коды символов)
Загружаем коды символов в дисплей.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 14 2018, 13:48
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AlexeyK @ Aug 14 2018, 15:14) *
Будет автомат скорее всего.

Если хотите автомат, то рекомендую сделать не один автомат, а два или три.
Нижний - фильтрует принятый фронт клока или данных от дребезга. это если возможны колебательности или дребезгт в линии.
Средний передавать/принимать слово, путем запуска "нижнего".
Верхний - ведет обмен, формирует массивы данных и указатели и запускает средний.

При таком раскладе будет значительно легче проектировать и отлаживаться.


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 15 2018, 14:19
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



для примера, можете использовать такое описание (я переиспользовал старый проект - названия файлов лень было поменять)
Прикрепленные файлы
Прикрепленный файл  sim_DAC_AD5724.7z ( 6.78 килобайт ) Кол-во скачиваний: 10
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
AlexeyK
сообщение Aug 15 2018, 19:50
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 77
Регистрация: 11-04-15
Пользователь №: 86 181



Цитата(Maverick @ Aug 15 2018, 17:19) *
для примера, можете использовать такое описание (я переиспользовал старый проект - названия файлов лень было поменять)


Большое спасибо. Я понимаю ваш код, потому что мне знакомо 3 Process Notation. Буду ковырять.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 15 2018, 20:01
Сообщение #12


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(AlexeyK @ Aug 15 2018, 22:50) *
Большое спасибо. Я понимаю ваш код, потому что мне знакомо 3 Process Notation. Буду ковырять.

Команды для инициализации хранятся в блочной памяти и поочередно читаются и подаются на дисплей... Блочная память инициализируется изначально....
Там есть симуляция... RTL viewer тоже поможет понять...

Будут вопросы пишите...


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th April 2024 - 11:08
Рейтинг@Mail.ru


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