Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: многопроцессорная система
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
alm_
Собираюсь делать систему - один процессор ведущий и четыре ведомых (149 серия) с интенсивным обменом между ними. Посоветуйте, как наиболее эффективно организовать взаимодействие между ними. Следует ли использовать собственный протокол на UART или использовать встроенный протокол для многопроцессорных систем. Буду благодарен за конкретные примеры.
rezident
Если все это на одной плате, то может стоит их по SPI соединить? Иначе на ведомых придется вывод TXD держать отключенным и подключать к линии только на момент передачи. Протокол не особо важен, главное чтобы он обеспечивал проверку достоверности доставки данных. Т.е. предлагаю использовать пакетный обмен с обязательным ответом на запрос и контролем целостности пакета. В этом случае не особо важно SPI или UART будет использоваться для связи.
0xFF
Серия MSP430 позволяет использовать UART в режиме с битом адреса, это очень эффективная вещь при большом количестве адресатов. Один из недостатков примения такого подхода это то, что появляется 9 бит в передаче. Так что при использовании Masterа в обличии PC вам не удастся его никак воспроизвести, единственное решение в таком случае использовать 7 бит информации и 1 бит адреса.

Я пользовался таким подходом очень удобно. Использование простой контрольной суммы снизит уровень левых данных, при необходимости 100% целосности пакетов "ответ" ведомого "получил, всё правиьно" обязателен.

Одно из самых главных требований: нужно заранее определиться с величиной потока данных ибо возможности UART не бесконечны...

Успехов.

З.Ы. Если вам будет необходим пример протокола, в следующий раз приложу
alm_
Спасибо за помощь.
Действительно, SPI интерфейс наиболее удачен в моей ситуации. Проблема заключается в том, что все устройства должны быть гальванически развязаны (это помимо протокола).
Кто-нибудь пробовал передавать через оптроны информацию на скрости 115200 и какие именно опртроны были использованы ?
zhek
пробовали 62500 через 6N137
по прикидкам должно хватать и на 115200
а если будете использовать SPI, то скорость передачи можно менять плавно
rezident
Люди ADUM-ы вроде применяют. А мы на H11L1 подобную развязку делаем. Кстати, почему именно 115200? SPI это синхронный интерфейс и его скорость не обязательно должна укладываться в стандартный ряд скоростей UARTа. Другое дело, что на высокой скорости слейвы могут не успевать данные на конвейер "подкладывать". А вообще у MSP430 SPI может тактироваться частотой до UCLK/2.
defunct
так у вас все МК на одной плате или нет? если на одной тогда не совсем понятен смысл гальваноразвязки, если на разных, тогда может быть имеет смысл посмотреть в сторону rs485?
Shread
Если процессоры на одной плате и нужна гальваническая развязка, при фиксированной скорости передачи можно сделать простую емкостную развязку. Если хочется попроще, можно использовать
ADuM, как и говорил Rezident.
kolobok0
Цитата(rezident @ Feb 14 2006, 18:34) *
...Иначе на ведомых придется вывод TXD держать отключенным и подключать к линии только на момент передачи.....


это Вы погорячились. ничего не надо отключать и подключать. Отца русской демократии спасут пару милкосхем логики...

с уважением
(круглый)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.