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

 
 
> Управление большим количеством устройств по SPI, На чём лучше реализовать?
:-)
сообщение Sep 11 2012, 08:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 23-10-05
Из: Мск
Пользователь №: 10 006



Для одной задачи требуется реализовать управление по интерфейсу SPI относительно большого количества устройств (6 - 8). Пытаюсь разобраться с тем, как лучше это сделать. Возможные варианты:
1) Использовать микроконтроллер. В контроллере задействовать 2/3 аппаратных блока spi, остальное реализовать "ногодрыганием";
2) Использовать микроконтроллер и только "ногодрыгание";
3) Поискать какой-нибудь демультиплексор и использовать один аппаратный блок spi микроконтроллера;
4) Поставить ПЛИС и в ней реализовать кучу блоков spi и её подключить по какому-нибудь интерфейсу к микроконтроллеру;
5) прочие варианты...

В общем-то вопрос в том - как это сделать по-человечески? Главный критерий - максимальная простота решения.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Plain
сообщение Sep 11 2012, 08:57
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Самый простой вариант — все устройства последовательно, т.е. один сигнал CS.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 09:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Plain @ Sep 11 2012, 12:57) *
Самый простой вариант — все устройства последовательно, т.е. один сигнал CS.

Тоже - вариант. Только применение его, имхо, ограничено однотипностью подключаемых устройств...

Цитата(andron86 @ Sep 11 2012, 13:22) *
как это?

От МК - к MOSI первого устройства. MISO первого устройства соединяем с MOSI второго, MISO второго устройства соединяем с MOSI третьего, и т.д., наконец: MISO последнего устройства соединяем с МК...
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 11 2012, 09:56
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Палыч @ Sep 11 2012, 12:42) *
Тоже - вариант. Только применение его, имхо, ограничено однотипностью подключаемых устройств...

Разве что полярностью сигналов, больше ничем.
Go to the top of the page
 
+Quote Post
Plain
сообщение Sep 11 2012, 11:26
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Цитата(ViKo @ Sep 11 2012, 12:56) *
Разве что полярностью сигналов, больше ничем.

Совершенно верно. Любые законные SPI-устройства будут работать в кольце, а всякие коряги, где на ноги этого интерфейса понавешано дополнительных функций, или где вообще не весь набор ног, разумеется работать не будут.
Go to the top of the page
 
+Quote Post
gerber
сообщение Sep 11 2012, 13:27
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(Plain @ Sep 11 2012, 15:26) *
Совершенно верно. Любые законные SPI-устройства будут работать в кольце, а всякие коряги, где на ноги этого интерфейса понавешано дополнительных функций, или где вообще не весь набор ног, разумеется работать не будут.

Вот с этого места подробнее, пожалуйста. SPI-флэшка, скажем, AT45DB161 - это законное SPI-устройство или нет? Она будет работать в daisy chain ?
Как мне кажется, не будет. Для работы в цепочке SPI-устройство должно иметь в наборе своих опкодов команду BYPASS, после которой всё, что поступает на вход MOSI транслируется на выход MISO.
Или я ошибаюсь?


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 11 2012, 13:52
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(gerber @ Sep 11 2012, 16:27) *
Или я ошибаюсь?

Имеем устройства в виде длинного последовательного регистра. Задвигаем (и принимаем с другого конца) всю последовательность, каждому устройству будет соответствовать своя часть битов. После окончания CS все устройства получат свои команды. А в следующем таком же цикле микроконтроллер получит от них ответ.
Go to the top of the page
 
+Quote Post
gerber
сообщение Sep 12 2012, 08:20
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088



Цитата(ViKo @ Sep 11 2012, 17:52) *
Имеем устройства в виде длинного последовательного регистра. Задвигаем (и принимаем с другого конца) всю последовательность, каждому устройству будет соответствовать своя часть битов. После окончания CS все устройства получат свои команды. А в следующем таком же цикле микроконтроллер получит от них ответ.

Согласно даташита, та же SPI-флэшка во время задвигания в неё опкода команды и адреса держит свой MISO-выход в состоянии High-Z, значит ли это, что SPI-флэшки нельзя соединять в daisy chain ?


--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 12 2012, 09:02
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Цитата(gerber @ Sep 12 2012, 10:20) *
Согласно даташита, та же SPI-флэшка во время задвигания в неё опкода команды и адреса держит свой MISO-выход в состоянии High-Z, значит ли это, что SPI-флэшки нельзя соединять в daisy chain ?

Да.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- :-)   Управление большим количеством устройств по SPI   Sep 11 2012, 08:02
- - Lmx2315   ..почему все устройства нельзя повесить на один ап...   Sep 11 2012, 08:08
- - Палыч   Цитата(:-) @ Sep 11 2012, 12...   Sep 11 2012, 08:19
|- - _pv   Цитата(Палыч @ Sep 11 2012, 15:19) Если д...   Sep 11 2012, 08:40
|- - Палыч   Цитата(_pv @ Sep 11 2012, 12:40) проще то...   Sep 11 2012, 08:49
|- - andron86   Цитата(Plain @ Sep 11 2012, 10:57) Самый ...   Sep 11 2012, 09:22
||- - Палыч   Цитата(Plain @ Sep 11 2012, 15:26) Любые ...   Sep 11 2012, 11:42
||- - andron86   Цитата(gerber @ Sep 11 2012, 15:27) Вот с...   Sep 11 2012, 13:51
||- - _pv   Цитата(gerber @ Sep 11 2012, 19:27) Для р...   Sep 11 2012, 14:12
||- - Plain   Цитата(gerber @ Sep 11 2012, 16:27) скаже...   Sep 12 2012, 11:24
|- - andron86   Цитата(Палыч @ Sep 11 2012, 11:42) От МК ...   Sep 11 2012, 11:21
- - :-)   В общем-то "хорошие" варианты понятны. С...   Sep 11 2012, 11:56
|- - Plain   Цитата(:-) @ Sep 11 2012, 14...   Sep 11 2012, 12:37
- - :-)   А вот это большой fail с моей стороны... В таком с...   Sep 11 2012, 13:54
|- - andron86   Цитата(:-) @ Sep 11 2012, 15...   Sep 11 2012, 14:00
- - :-)   Впрочем вариант со сдвиговым регистром выглядит то...   Sep 11 2012, 14:05
|- - andron86   Цитата(:-) @ Sep 11 2012, 16...   Sep 11 2012, 14:09
- - andron86   Да, основное, не забудьте суммарные ёмкости учесть...   Sep 11 2012, 14:16
- - esaulenka   Цитатасам классический SPI в его первоначальном ви...   Sep 12 2012, 14:36
- - andron86   Цитата(esaulenka @ Sep 12 2012, 16:36) Ищ...   Sep 13 2012, 04:50
- - ViKo   Цитата(andron86 @ Sep 13 2012, 07:50) Гы....   Sep 13 2012, 10:44
- - andron86   Цитата(ViKo @ Sep 13 2012, 12:44) Поставь...   Sep 14 2012, 00:12


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

 


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


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