|
Управление большим количеством устройств по SPI, На чём лучше реализовать? |
|
|
|
Sep 11 2012, 13:51
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

|
Цитата(gerber @ Sep 11 2012, 15:27)  Вот с этого места подробнее, пожалуйста. SPI-флэшка, скажем, AT45DB161 - это законное SPI-устройство или нет? Она будет работать в daisy chain ? Как мне кажется, не будет. Для работы в цепочке SPI-устройство должно иметь в наборе своих опкодов команду BYPASS, после которой всё, что поступает на вход MOSI транслируется на выход MISO. Или я ошибаюсь? Нужно устройство с поддержкой daisy chain.
|
|
|
|
|
Sep 11 2012, 14:00
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

|
Цитата(:-) @ Sep 11 2012, 15:54)  В таком случае вопрос: как лучше обходиться с ними? CLK, DATA - сделать общими для всех, а CS вывести отдельно на каждую микросхему? Это самый простой и верный вариант, в большинстве так и делается.
|
|
|
|
|
Sep 11 2012, 14:09
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

|
Цитата(:-) @ Sep 11 2012, 16:05)  Впрочем вариант со сдвиговым регистром выглядит тоже интересно, особенно если выберу микроконтроллер с малым количеством ног... Ну если ног не хватает то можно IO-Expander применить. А daisy chain это уж когда совсем прижало. Например до восьмого устройства восемь циклов добираться будете.
|
|
|
|
|
Sep 12 2012, 08:20
|
Знающий
   
Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088

|
Цитата(ViKo @ Sep 11 2012, 17:52)  Имеем устройства в виде длинного последовательного регистра. Задвигаем (и принимаем с другого конца) всю последовательность, каждому устройству будет соответствовать своя часть битов. После окончания CS все устройства получат свои команды. А в следующем таком же цикле микроконтроллер получит от них ответ. Согласно даташита, та же SPI-флэшка во время задвигания в неё опкода команды и адреса держит свой MISO-выход в состоянии High-Z, значит ли это, что SPI-флэшки нельзя соединять в daisy chain ?
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|
|
|
|
|
Sep 12 2012, 09:02
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

|
Цитата(gerber @ Sep 12 2012, 10:20)  Согласно даташита, та же SPI-флэшка во время задвигания в неё опкода команды и адреса держит свой MISO-выход в состоянии High-Z, значит ли это, что SPI-флэшки нельзя соединять в daisy chain ? Да.
|
|
|
|
|
Sep 12 2012, 11:24
|
Гуру
     
Группа: Участник
Сообщений: 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.
|
|
|
|
|
Sep 12 2012, 14:36
|

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

|
Цитата сам классический SPI в его первоначальном виде Ищутся желающие, чтобы подать в суд на производителей SPI-флешек. Они незаконно написали в даташите, что их устройства работают по протоколу SPI !
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Sep 13 2012, 04:50
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

|
Цитата(esaulenka @ Sep 12 2012, 16:36)  Ищутся желающие, чтобы подать в суд на производителей SPI-флешек. Они незаконно написали в даташите, что их устройства работают по протоколу SPI ! Гы...., ну просто на форуме очень много теоретиков, надо это учитывать.
|
|
|
|
|
Sep 14 2012, 00:12
|
Местный
  
Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821

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