Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.51/37: Рейтинг темы: голосов - 37, средняя оценка - 4.51
MioMoki
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 67
1

Каким интерфейсом связать 5 микроконтроллеров на одной плате

26.10.2012, 00:35. Просмотров 6692. Ответов 15
Метки нет (Все метки)

Одна плата. Пять МК STM8. Один МК опрашивает остальные. Каким интерфейсом связать 5 микроконтроллеров на одной плате? В SPI много дорожек получается. По UART получиться?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2012, 00:35
Ответы с готовыми решениями:

Связать несколько микроконтроллеров по UART
Всем печенек! Собственно, САБЖ. Есть три ПИКа. Каждый выполняет свою функцию,...

Паскалевский код связать с делфи интерфейсом
Program TriangleFinder; Const MaxArrSize = 50; ...

Как можно связать приложение с графическим интерфейсом на Qt и библиотечными пакетами на C#
Люди добрые помогите найти решение. Как можно связать приложение с графическим...

Небольшая программа с БД и интерфейсом, как все это между собой связать?
Нужно написать простую программу которая имела бы GUI и была бы связана с БД...

Как? Каким образом, подсоединить провода 'power sw' и т.п, к материнской плате?!
Добрый день! Не могу сообразить:) как подцепить, куда и каким образом и...

15
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
26.10.2012, 00:44 2
Цитата Сообщение от MioMoki
В SPI много дорожек получается
Сколько же много? Завяжи их в цепочку, если уж так тесно SS к каждому подвести...
0
MioMoki
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 67
26.10.2012, 01:07 3
SS повесить на GND, а адрес протоколом выберать?
0
disototor
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 523
26.10.2012, 01:21 4
iic так и просится
drvtos наверное имел в виду чтоб соединить все 5 мк по SPI mosi одного идет в MISO другого, последовательно тип, и каждый следующий программируется предыдущим, так сказать. Ну и там да, протокол нужен. Но сейчас ты начнешь рполиват ьситуейшн на то, как именно топологически связаны мк и шина определится методом исключения.
0
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
26.10.2012, 01:59 5
1-wire тоже можно если скорость не критична.
0
psw
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 3
26.10.2012, 02:07 6
если критична, можно и2с попробовать
0
drvtos
1 / 1 / 0
Регистрация: 25.05.2010
Сообщений: 3,610
26.10.2012, 02:26 7
Да, обычная история. Авторы тем уж так лаконичны, что прям аглицкие сэры курят в сторонке А мы тут сиди-гадай, что им надо :)
Я раньше думал, что темнят, ибо страшную военную тайну (СВТ) берегут. А потом понял, что в 90% случаев тупо ленятся по кнопочкам постукать. В остальных 10 9 % их представления о СВТ заставляют улыбнуться.
1 % имеют основания темнить, наверное :)
0
яверт
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
26.10.2012, 03:08 8
Цитата Сообщение от disototor
drvtos наверное имел в виду чтоб соединить все 5 мк по SPI mosi одного идет в MISO другого, последовательно тип, и каждый следующий программируется предыдущим, так сказать. Ну и там да, протокол нужен.
Ага, топология кольцо, с UARTом так кстати тоже можно сделать.
0
kytikot
0 / 0 / 1
Регистрация: 27.01.2010
Сообщений: 3,435
26.10.2012, 03:36 9
Да не последовательно!
Все параллельно!
Мастеровский MOSI идет параллельно на все четыре слейвовские MISO, и наоборот.
0
яверт
0 / 0 / 0
Регистрация: 15.06.2012
Сообщений: 3,097
26.10.2012, 04:33 10
Цитата Сообщение от kytikot
Да не последовательно!
Все параллельно!
Мастеровский MOSI идет параллельно на все четыре слейвовские MISO, и наоборот.
А у SPI разве выходы не push-pull? Без железного slave select параллелить их довольно опасно.
0
dymo2611
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
26.10.2012, 05:09 11
Короче, я хочу хотел того же:
- один МК добывает по своему каналу данные
- раздает их собратьям по разуму
- все дружно трудятся над вычислениями
- переправляют результаты старшему
- он выдаёт всё в формате наружу
0
vostomy
0 / 0 / 0
Регистрация: 11.02.2011
Сообщений: 187
26.10.2012, 11:26 12
ИТОГО, имеем:
- старший - это "мастер", младший - "ведомый"
- адресная работа
- возможны широковещательные передачи мастера всем ведомым
ВЫВОД:
нужно определиться с ЛОГИЧЕСКИМ протоколом связи, т.е. сетевым взаимодействием
класика как пример - MODBUS RTU. Все что перечислил там есть, продумано.
Связывать 5 штук электрически нужно будет, как однопроводный USORT с подтяжкой одним резистором на VCC.
Получается Rx и Tx всех 5ти спаиваешь вместе + подтяжка резистор. Для одной платы 300-1000 Ом вполне хватит.
Все друг друга слышат и себя тоже, но это не проблема, т.к. просто перед своей передачей программно выключается прием.
По окончании включаем. Помимо того, провод Tx настраиваем программно как ВЫХОД, только тогда, когда надо осуществить передачу.
Настроили, выдали сетевой пакет, перестроили этот пин, как вход, дабы не шунтировал выходными ключами "сеть".
Работа полудуплекс.
Прерывания USORT по Rx, Tx я бы сказал обязательны.
0
PRS
0 / 0 / 0
Регистрация: 12.07.2011
Сообщений: 3
26.10.2012, 11:34 13
А чем И2С не нравится? Он аппаратно есть в проце. Не нужно ничего изобретать с протоколами и всего 2 провода к каждой м/с.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
26.10.2012, 12:21 14
Цитата Сообщение от vostomy
Все друг друга слышат и себя тоже, но это не проблема, т.к. просто перед своей передачей программно выключается прием. По окончании включаем.
Не обязательно. Если использовать 9-битный формат с адресным байтом, с включенным контролем 9 бита, приемник дает прерывания только на адресный байт. Проверили, свой адрес - выключили контроль 9 бита, пошли байты на прием, не свой - включили контроль, снова имеем прерывания только на адресные... При приеме байтов данных - проверяем также 9 бит. Обнаружив, что опять адресный, прием данных прекращаем и снова поступаем с ним, как с адресным.

Помимо того, провод Tx настраиваем программно как ВЫХОД, только тогда, когда надо осуществить передачу.
Настроили, выдали сетевой пакет, перестроили этот пин, как вход, дабы не шунтировал выходными ключами "сеть".
Тоже ни к чему. Проще между передатчиком и линией диод поставить.
0
swk
0 / 0 / 0
Регистрация: 22.10.2015
26.10.2012, 12:24 15
Цитата Сообщение от PRS
А чем И2С не нравится? Он аппаратно есть в проце. Не нужно ничего изобретать с протоколами и всего 2 провода к каждой м/с.
I2C прост только для мастера. При использовании его в контроллере в качестве ведомого, мороки с ним больше. Постоянно приходится отвлекаться на обработку каждого события.

USORT или SPI на ведомом - проще. Достаточно только вовремя забирать из буфера принятые байты.
0
MioMoki
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 67
26.10.2012, 12:29 16
Спасибо всем. Повешу все на UART.
0
26.10.2012, 12:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2012, 12:29

Каким образом нужно связать таблицы?
Здравствуйте уважаемые форумчане :) вот у меня такой вопрос. У меня в одной...

БД в Access 2007: По каким полям связать таблицы?
Доброго времени суток, господа! Суть проблемы: в базе есть таблица Объектов,...

Каким образом можно связать сервлет с апплетом?
Каким образом можно связать сервлет с апплетом (или где об этом можно почитать)?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru