|
Много устройств на одной SPI шине |
|
|
|
Nov 10 2014, 13:01
|
Частый гость
 
Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244

|
Да, микроконтроллеры cortex M4 вполне нормально вытягивают такую частоту SPI. Цитата(vitan @ Nov 10 2014, 16:31)  Моделировать. А не подскажете каким образом лучше всего это промоделировать? Специальным софтом (каким?) или на макете?
|
|
|
|
|
Nov 10 2014, 13:52
|
Частый гость
 
Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244

|
Цитата(vitan @ Nov 10 2014, 17:38)  Выбор большой, от встроенных в САПР симуляторов до "отдельно стоящих". В чем у Вас плата разведена? Плата еще не разведена, я сейчас разрабатываю схему и мне нужно учесть там разные возможные нюансы...типа поставить дополнительные буферы, терминаторы на линии и т.п. Потому и возникает вопрос как бы это промоделировать сначала, потому что плату такую изготовить будет недешево стоить и потому не хотелось бы ее переделывать потом. Плата будет разводиться скорее всего в Mentor expedition.
|
|
|
|
|
Nov 10 2014, 14:45
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Pasha_a13 @ Nov 10 2014, 13:10)  Добрый день!
Возник вопрос - нужно на одну шину SPI навесить порядка 25-30 микроконтроллеров, которые будут работать в режиме slave. Мастер будет всего один (тоже контроллер). Работать они будут цепочкой, т.е. данные вошли в первый MOSI, вышли из MISO и пошли к следующему контроллеру. Тактироваться все будут от одного источника, так же и как CS у них будет общий. Так как контроллеров довольно много, то протяженность линии будет довольно большая - порядка 40-50 см, не меньше. Задержки при обмене данных должны быть минимальные, потому частота тактирования должна быть не менее 12 МГц.
Первую проблему, которую я вижу это нагрузочная способность выводов SCK и CS - решить ее думаю использованием дополнительных буферов с хорошей нагрузочной способностью. Больше вопросов возникает из-за протяженности линий по плате (емкость проводников и т.п.) - каким образом избежать негативных последствий связанных с этим?
Подскажите пожалуйста какие еще могут быть нюансы и как лучше решать связанные с ними проблемы?
Спасибо! а чего не хотите поставить ПЛИС? ПЛИС собирает данные с 25 SPI и записывает в память, а мастер-контроллер ПЛИС "видит" как внешнюю память и т.о. образом забиравет данные. Да еще понадобяться пару пинов для флагов типа данные готовы, новая команда и т.д... мастер-контроллер ПЛИС может давать команды, которые будут размещаться в строго оговоренном участке адресного пространства памяти ПЛИС
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Nov 10 2014, 14:52
|
Частый гость
 
Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244

|
Цитата(Xenia @ Nov 10 2014, 18:47)  А кольцо организовать не хотите ли? Да, именно так оно и будет организовано. Я наверное просто некорректно описал все. Цитата(Maverick @ Nov 10 2014, 18:45)  а чего не хотите поставить ПЛИС? ПЛИС собирает данные с 25 SPI и записывает в память, а мастер-контроллер ПЛИС "видит" как внешнюю память и т.о. образом забиравет данные Смотрели в сторону ПЛИС, согласен что наверное было бы более правильно именно их использовать. Проблема в том что с ПЛИС ни я, ни программист не работали и потому время разработки вырастет в нереальные сроки.
|
|
|
|
|
Nov 10 2014, 15:04
|
Частый гость
 
Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244

|
Цитата(Maverick @ Nov 10 2014, 18:57)  ТЗ в личку можете написать - может и помогу.... а так Вы можете тоже намучиться мастер-контроллер может тоже времянку попортить особенно в большой программе (нагруженном процессоре) Спасибо за предложение! Однако, к сожалению, нам нельзя привлекать к проекту сторонних программистов.
|
|
|
|
|
Nov 10 2014, 15:04
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Я бы с такой схемой не стал связываться. Можно уйти в отладку с головой, и больше никогда из неё не выйти. На вскидку, проблемы будут такие : во-первых буферы на CS и CLK не будут панацеей, т.к. форма сигнала в линии будет определена в основном её индуктивностью и ёмкостью, тактовые импульсы просто расплывутся в какие-нибудь непонятные то ли колебания , то ли биения. Ну и Вы же всё равно не будете цеплять линию к буферу напрямую, а поставите последовательный резистор 10-100 Ом, как раз для борьбы с дребезгом. Одной мощностью буфера проблему не одолеть. Вы знаете, как выглядит дребезг на фронтах импульсов ? А теперь представьте, что частота этого дребезга начинает расти, что при этом происходит с импульсом и соседними к нему ? А если она попадает в резонанс ? Во-вторых надо не забыть поставить буфер и на MOSI мастер-процессора. Ведь буферы будут создавать задержки, надо их выровнять по всем линиям.
А не хотите ли задействовать по 2 SPI у каждого процессора ? Т.е. один на приём, второй на передачу. И сразу всё просто, никаких мучений.
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|