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

 
 
> Управление большим количеством устройств по 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
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Lmx2315
сообщение Sep 11 2012, 08:08
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



..почему все устройства нельзя повесить на один аппаратный SPI ? ..один SPI - много чипселектов .


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 08:19
Сообщение #3


Гуру
******

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



Цитата(:-) @ Sep 11 2012, 12:02) *
Главный критерий - максимальная простота решения.

Если Мк будет выступать для всех устройств мастером, то, имхо, самое простое решение: использовать аппаратный SPI микроконтроллера; выводы SS устройств - на свободные ноги МК. Если дифицит свободных ног МК, то - подключаем выводы SS через дешифратор (сокращаем число потребных ног до трех - итого: 3 для SS + MISO + MOSI + SCK = 6 ног на восемь устройств).
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 11 2012, 08:40
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Палыч @ Sep 11 2012, 15:19) *
Если дифицит свободных ног МК, то - подключаем выводы SS через дешифратор

проще тогда на тот же spi посадить сдвиговый регистр, sn74xx595. их можно друг за другом наращивать хоть сколько.
тогда нужно всего две доп. ноги (а то и вообще одна, OE и вывод защёлкивания данных тут можно объёдинить вроде, держим их в 0 - выходы висят -> можно загружать адрес в сдвиговый регистр, переводим в 1, данные защёлкиваются и включается определённый spi CS).
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 08:49
Сообщение #5


Гуру
******

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



Цитата(_pv @ Sep 11 2012, 12:40) *
проще тогда на тот же spi посадить сдвиговый регистр

"Проще" - не всегда: "с минимумом используемых ног"
Go to the top of the page
 
+Quote Post
Plain
сообщение Sep 11 2012, 08:57
Сообщение #6


Гуру
******

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



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


Местный
***

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



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

как это?
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 11 2012, 09:42
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #9


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

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



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

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


Местный
***

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



Цитата(Палыч @ Sep 11 2012, 11:42) *
От МК - к MOSI первого устройства. MISO первого устройства соединяем с MOSI второго, MISO второго устройства соединяем с MOSI третьего, и т.д., наконец: MISO последнего устройства соединяем с МК...

Что то туплю. Это понятно, если все устройства мк, можно через протокол разрулить, но если они пассивны (eprom, adc, dac)?

...
а понял Daisy-Chain имелся ввиду

Сообщение отредактировал andron86 - Sep 11 2012, 12:08
Go to the top of the page
 
+Quote Post
Plain
сообщение Sep 11 2012, 11:26
Сообщение #11


Гуру
******

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



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

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


Гуру
******

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



Цитата(Plain @ Sep 11 2012, 15:26) *
Любые законные SPI-устройства будут работать в кольце...

ТС хотел - "как проще". С точки зрения схемотехники: кольцо - проще некуда. Если подключаемые устройства - например, датчики, которые необходимо опрашивать все разом через один и тот же интервал времени, то и для разработки ПО - проблем нет. Но если номенклатура устройств - разнообразна, и обращение к ним из разных частей программы с разным периодом, то - не факт, что для ПО - тоже "просто".
Go to the top of the page
 
+Quote Post
:-)
сообщение Sep 11 2012, 11:56
Сообщение #13


Местный
***

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



В общем-то "хорошие" варианты понятны. Спасибо всем за подсказки.
Управлять планируется синтезаторами adf4350 и приемниками max2769.
В типовом случае происходит только установка режима работы при включении и все. Иногда возможны смены режима работы.
Go to the top of the page
 
+Quote Post
Plain
сообщение Sep 11 2012, 12:37
Сообщение #14


Гуру
******

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



Цитата(:-) @ Sep 11 2012, 14:56) *
Управлять планируется синтезаторами adf4350 и приемниками max2769.

Обе детали никакого отношения к полноценному SPI не имеют.
Go to the top of the page
 
+Quote Post
gerber
сообщение Sep 11 2012, 13:27
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 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

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:36
Рейтинг@Mail.ru


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