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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Управление большим количеством устройств по SPI, На чём лучше реализовать?
andron86
сообщение Sep 11 2012, 13:51
Сообщение #16


Местный
***

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



Цитата(gerber @ Sep 11 2012, 15:27) *
Вот с этого места подробнее, пожалуйста. SPI-флэшка, скажем, AT45DB161 - это законное SPI-устройство или нет? Она будет работать в daisy chain ?
Как мне кажется, не будет. Для работы в цепочке SPI-устройство должно иметь в наборе своих опкодов команду BYPASS, после которой всё, что поступает на вход MOSI транслируется на выход MISO.
Или я ошибаюсь?

Нужно устройство с поддержкой daisy chain.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 11 2012, 13:52
Сообщение #17


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

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



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

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


Местный
***

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



А вот это большой fail с моей стороны...
В таком случае вопрос: как лучше обходиться с ними? CLK, DATA - сделать общими для всех, а CS вывести отдельно на каждую микросхему?
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 11 2012, 14:00
Сообщение #19


Местный
***

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



Цитата(:-) @ Sep 11 2012, 15:54) *
В таком случае вопрос: как лучше обходиться с ними? CLK, DATA - сделать общими для всех, а CS вывести отдельно на каждую микросхему?

​Это самый простой и верный вариант, в большинстве так и делается.
Go to the top of the page
 
+Quote Post
:-)
сообщение Sep 11 2012, 14:05
Сообщение #20


Местный
***

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



Впрочем вариант со сдвиговым регистром выглядит тоже интересно, особенно если выберу микроконтроллер с малым количеством ног...
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 11 2012, 14:09
Сообщение #21


Местный
***

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



Цитата(:-) @ Sep 11 2012, 16:05) *
Впрочем вариант со сдвиговым регистром выглядит тоже интересно, особенно если выберу микроконтроллер с малым количеством ног...

Ну если ног не хватает то можно IO-Expander применить. А daisy chain это уж когда совсем прижало. Например до восьмого устройства восемь циклов добираться будете.
Go to the top of the page
 
+Quote Post
_pv
сообщение Sep 11 2012, 14:12
Сообщение #22


Гуру
******

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



Цитата(gerber @ Sep 11 2012, 19:27) *
Для работы в цепочке SPI-устройство должно иметь в наборе своих опкодов команду BYPASS. Или я ошибаюсь?

не должно быть там никакой команды, он просто должен уметь прозрачно выпихивать данные наружу которые ему попали на вход и защелкивать их только в момент отпускания CS, а не по количеству принятых битов.
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 11 2012, 14:16
Сообщение #23


Местный
***

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



Да, основное, не забудьте суммарные ёмкости учесть, всё-таки 8 устройств
Go to the top of the page
 
+Quote Post
gerber
сообщение Sep 12 2012, 08:20
Сообщение #24


Знающий
****

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


Местный
***

Группа: Участник
Сообщений: 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
Plain
сообщение Sep 12 2012, 11:24
Сообщение #26


Гуру
******

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



Цитата(gerber @ Sep 11 2012, 16:27) *
скажем, AT45DB161 - это законное SPI-устройство или нет?

"Daisy chain" вовсе никакая не разновидность SPI, а наоборот, сам классический SPI в его первоначальном виде — не абстрактный "последовательный интерфейс", а интерфейс последовательно соединённых устройств, синхронно передающий и принимающий их сигналы, т.е. сигналы эти обновляются внутри них только с окончанием передачи (снятие SS), никак иначе.

Вот только в этом, законном случае, в кольце может быть сколько угодно разношёрстных устройств, все они будут без проблем работать, и интерфейс будет состоять только из 4-х сигналов — SCK, MOSI, MISO, SS.
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Sep 12 2012, 14:36
Сообщение #27


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

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата
сам классический SPI в его первоначальном виде

Ищутся желающие, чтобы подать в суд на производителей SPI-флешек.
Они незаконно написали в даташите, что их устройства работают по протоколу SPI !


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 13 2012, 04:50
Сообщение #28


Местный
***

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



Цитата(esaulenka @ Sep 12 2012, 16:36) *
Ищутся желающие, чтобы подать в суд на производителей SPI-флешек.
Они незаконно написали в даташите, что их устройства работают по протоколу SPI !

Гы...., ну просто на форуме очень много теоретиков, надо это учитывать.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Sep 13 2012, 10:44
Сообщение #29


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

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



Цитата(andron86 @ Sep 13 2012, 07:50) *
Гы...., ну просто на форуме очень много теоретиков, надо это учитывать.

Поставьте SPI Flash в конец пищевой цепочки, тогда до всех устройств перед ней данные с микроконтроллера будут доходить. А после нее, в микроконтроллер - только от нее.
Go to the top of the page
 
+Quote Post
andron86
сообщение Sep 14 2012, 00:12
Сообщение #30


Местный
***

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



Цитата(ViKo @ Sep 13 2012, 12:44) *
Поставьте SPI Flash в конец пищевой цепочки, тогда до всех устройств перед ней данные с микроконтроллера будут доходить. А после нее, в микроконтроллер - только от нее.

А до пищевой цепочки, искать устройства с daisy chain? :-)))
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:31
Рейтинг@Mail.ru


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