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

 
 
> Много устройств на одной SPI шине
Pasha_a13
сообщение Nov 10 2014, 11:10
Сообщение #1


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Добрый день!

Возник вопрос - нужно на одну шину SPI навесить порядка 25-30 микроконтроллеров, которые будут работать в режиме slave. Мастер будет всего один (тоже контроллер).
Работать они будут цепочкой, т.е. данные вошли в первый MOSI, вышли из MISO и пошли к следующему контроллеру.
Тактироваться все будут от одного источника, так же и как CS у них будет общий.
Так как контроллеров довольно много, то протяженность линии будет довольно большая - порядка 40-50 см, не меньше.
Задержки при обмене данных должны быть минимальные, потому частота тактирования должна быть не менее 12 МГц.

Первую проблему, которую я вижу это нагрузочная способность выводов SCK и CS - решить ее думаю использованием дополнительных буферов с хорошей нагрузочной способностью.
Больше вопросов возникает из-за протяженности линий по плате (емкость проводников и т.п.) - каким образом избежать негативных последствий связанных с этим?

Подскажите пожалуйста какие еще могут быть нюансы и как лучше решать связанные с ними проблемы?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Pasha_a13
сообщение Nov 10 2014, 14:43
Сообщение #2


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Спасибо! Попробую гиперлинксом промоделировать.
А вообще можете подсказать какие могут быть подводные камни в подобных решениях как у меня?
Просто я до этого не сталкивался с такими скоростными шинами да еще и с таким кол-вом одновременно подключенных контроллеров на эту шину.
Go to the top of the page
 
+Quote Post
vitan
сообщение Nov 10 2014, 15:59
Сообщение #3


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



Цитата(Pasha_a13 @ Nov 10 2014, 18:43) *
А вообще можете подсказать какие могут быть подводные камни в подобных решениях как у меня?

Да никаких особо не вижу, за исключением того, что результат от первого контроллера вернется в процессор значительно позже. Получается, что для контроллера в мастере нужно включить некий режим, при котором у него разрядность данных будет равна 25*<разрядность одного контроллера>, причем нужно еще указать, что поток состоит из 25 частей, и каждая попадет в разный слейв. Сомневаюсь, что такой режим там есть...
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Nov 10 2014, 18:56
Сообщение #4


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Цитата(vitan @ Nov 10 2014, 19:59) *
Да никаких особо не вижу, за исключением того, что результат от первого контроллера вернется в процессор значительно позже. Получается, что для контроллера в мастере нужно включить некий режим, при котором у него разрядность данных будет равна 25*<разрядность одного контроллера>, причем нужно еще указать, что поток состоит из 25 частей, и каждая попадет в разный слейв. Сомневаюсь, что такой режим там есть...

такого режима там действительно нет, это все будет делаться программно.


Цитата(MiklPolikov @ Nov 10 2014, 20:36) *
Что бы не гадать на кофейной гуще, правду ли я написал про гибель тактового сигнала, возьмите провод 50см, повесьте по его длинне несколько конденсаторов, имитирующих суммарную ёмкость входов 30 процессоров, подайте тактовый сигнал 12МГц, и посмотрите осциллографом, что получилось. Ставлю на то, что там будет чистая синусоида и биения.

Вы совершенно правы. Я сегодня уже нагрузил небольшой емкостью (меньше чем 30 процессоров) и уже получилась почти синусоида.
Вот подобные подводные камни меня и интересовали.
Надеюсь получиться с ними справиться используя дополнительные буферы.


Цитата(Plain @ Nov 10 2014, 21:36) *
Достаточно регулярных буферов на тактовый и выборку, а тактовый и выход хвоста вернуть второму (ведомому) модулю мастера одинаковыми линиями, и такой "колбасой" можно хоть экватор обогнуть на 1 ГГц.

А что имееться ввиду под "регулярным" буфером?
Я читал что именно так делать правильно, возвращать на другой SPI вместе с тактовой частотой, однако , к сожалению, у меня на мастере выделяется всего один SPI на всю цепочку контроллеров.
Есть ли какие-то методы чтобы засинхронизировать входные в мастер данные (MISO) с его исходящей тактовой частотой?
Go to the top of the page
 
+Quote Post
Plain
сообщение Nov 11 2014, 01:34
Сообщение #5


Гуру
******

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



Тогда тяните все тактовые и данные "звездой", т.е. линиями с одинаковой задержкой.
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Nov 11 2014, 12:12
Сообщение #6


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Цитата(Plain @ Nov 11 2014, 05:34) *
Тогда тяните все тактовые и данные "звездой", т.е. линиями с одинаковой задержкой.

Так данные идут цепочкой, как же я их сделаю звездой....
По поводу тактовых звездой я думал, но неудобно очень получается..

Цитата(Maverick @ Nov 11 2014, 15:47) *
что за процессор будет собирать данные с 25-30 SPI ?
и на какой тактовой частоте он будет работать?
разрядность данных у SPI одинаковая?

в принципе я не видел процессора с таким количеством SPI - Вы будете делать SPI програмно, правильно понял Вашу фразу?

Процессоры сами не поддерживают на хардварном уровне этой самой цепочки, потому разгребать всю эту последовательность будет уже софт...задача слейва пропускать через себя посылку, в которой содержится информация для 30 процессоров, вставляя свои данные (либо извлекая их) из соответствующего участка этой посылки. Т.е. здесь SPI будет работать программно-аппаратно.
Разрядность данных у всех процессоров одинаковая.
Главный процессор будет стоять более шустрый чем слейвы, он еще пока выбирается. Смысл в том чтобы он слал не частые небольшие пакеты по SPI, а редкие но с большим кол-вом данных сразу(сразу всем слейвам).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Pasha_a13   Много устройств на одной SPI шине   Nov 10 2014, 11:10
- - vitan   Цитата(Pasha_a13 @ Nov 10 2014, 15:10) ка...   Nov 10 2014, 12:31
- - iosifk   Цитата(Pasha_a13 @ Nov 10 2014, 15:10) До...   Nov 10 2014, 12:38
- - Pasha_a13   Да, микроконтроллеры cortex M4 вполне нормально вы...   Nov 10 2014, 13:01
|- - vitan   Цитата(Pasha_a13 @ Nov 10 2014, 17:01) А ...   Nov 10 2014, 13:38
|- - Pasha_a13   Цитата(vitan @ Nov 10 2014, 17:38) Выбор ...   Nov 10 2014, 13:52
||- - vitan   Цитата(Pasha_a13 @ Nov 10 2014, 17:52) Пл...   Nov 10 2014, 14:00
|- - Pasha_a13   Каким образом правильно произвести моделирование?   Nov 10 2014, 13:55
||- - Lmx2315   QUOTE (Pasha_a13 @ Nov 11 2014, 15:04) Та...   Nov 11 2014, 12:13
|||- - Pasha_a13   Цитата(Lmx2315 @ Nov 11 2014, 16:13) ..из...   Nov 11 2014, 12:21
||- - Xenia   Почему бы не использовать дополнительные микросхем...   Nov 11 2014, 12:22
|||- - Pasha_a13   Цитата(Xenia @ Nov 11 2014, 16:22) Почему...   Nov 11 2014, 12:26
|||- - Xenia   Цитата(Pasha_a13 @ Nov 11 2014, 15:26) ну...   Nov 11 2014, 12:39
|||- - Maverick   может стоит взять какую-то STM32 (для примера) c 6...   Nov 11 2014, 14:56
||- - Plain   Цитата(Pasha_a13 @ Nov 11 2014, 15:12) Ци...   Nov 11 2014, 17:15
|- - Maverick   Цитата(Pasha_a13 @ Nov 10 2014, 20:56) та...   Nov 11 2014, 11:47
- - Maverick   Цитата(Pasha_a13 @ Nov 10 2014, 13:10) До...   Nov 10 2014, 14:45
- - Xenia   Цитата(Pasha_a13 @ Nov 10 2014, 14:10) Ра...   Nov 10 2014, 14:47
|- - Pasha_a13   Цитата(Xenia @ Nov 10 2014, 18:47) А коль...   Nov 10 2014, 14:52
|- - Maverick   Цитата(Pasha_a13 @ Nov 10 2014, 16:52) Да...   Nov 10 2014, 14:57
|- - Pasha_a13   Цитата(Maverick @ Nov 10 2014, 18:57) ТЗ ...   Nov 10 2014, 15:04
|- - MiklPolikov   Я бы с такой схемой не стал связываться. Можно уйт...   Nov 10 2014, 15:04
|- - Pasha_a13   Цитата(MiklPolikov @ Nov 10 2014, 19:04) ...   Nov 10 2014, 15:10
|- - MiklPolikov   Цитата(Pasha_a13 @ Nov 10 2014, 19:10) У ...   Nov 10 2014, 16:36
- - Plain   Достаточно регулярных буферов на тактовый и выборк...   Nov 10 2014, 17:36
- - vitan   А как насчет мультиплексоров? Судя по буферам внеш...   Nov 11 2014, 14:06


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

 


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


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