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

 
 
> многопроцессорная система
alm_
сообщение Feb 14 2006, 11:38
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Собираюсь делать систему - один процессор ведущий и четыре ведомых (149 серия) с интенсивным обменом между ними. Посоветуйте, как наиболее эффективно организовать взаимодействие между ними. Следует ли использовать собственный протокол на UART или использовать встроенный протокол для многопроцессорных систем. Буду благодарен за конкретные примеры.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
rezident
сообщение Feb 14 2006, 15:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Если все это на одной плате, то может стоит их по SPI соединить? Иначе на ведомых придется вывод TXD держать отключенным и подключать к линии только на момент передачи. Протокол не особо важен, главное чтобы он обеспечивал проверку достоверности доставки данных. Т.е. предлагаю использовать пакетный обмен с обязательным ответом на запрос и контролем целостности пакета. В этом случае не особо важно SPI или UART будет использоваться для связи.
Go to the top of the page
 
+Quote Post
0xFF
сообщение Feb 15 2006, 13:00
Сообщение #3


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

Группа: Свой
Сообщений: 131
Регистрация: 9-01-06
Пользователь №: 12 984



Серия MSP430 позволяет использовать UART в режиме с битом адреса, это очень эффективная вещь при большом количестве адресатов. Один из недостатков примения такого подхода это то, что появляется 9 бит в передаче. Так что при использовании Masterа в обличии PC вам не удастся его никак воспроизвести, единственное решение в таком случае использовать 7 бит информации и 1 бит адреса.

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

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

Успехов.

З.Ы. Если вам будет необходим пример протокола, в следующий раз приложу
Go to the top of the page
 
+Quote Post
alm_
сообщение Feb 17 2006, 12:07
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Спасибо за помощь.
Действительно, SPI интерфейс наиболее удачен в моей ситуации. Проблема заключается в том, что все устройства должны быть гальванически развязаны (это помимо протокола).
Кто-нибудь пробовал передавать через оптроны информацию на скрости 115200 и какие именно опртроны были использованы ?
Go to the top of the page
 
+Quote Post
zhek
сообщение Feb 17 2006, 13:17
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 29-12-05
Из: Екатеринбург
Пользователь №: 12 692



пробовали 62500 через 6N137
по прикидкам должно хватать и на 115200
а если будете использовать SPI, то скорость передачи можно менять плавно
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 17 2006, 14:52
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Люди ADUM-ы вроде применяют. А мы на H11L1 подобную развязку делаем. Кстати, почему именно 115200? SPI это синхронный интерфейс и его скорость не обязательно должна укладываться в стандартный ряд скоростей UARTа. Другое дело, что на высокой скорости слейвы могут не успевать данные на конвейер "подкладывать". А вообще у MSP430 SPI может тактироваться частотой до UCLK/2.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 17 2006, 17:19
Сообщение #7


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



так у вас все МК на одной плате или нет? если на одной тогда не совсем понятен смысл гальваноразвязки, если на разных, тогда может быть имеет смысл посмотреть в сторону rs485?
Go to the top of the page
 
+Quote Post
Shread
сообщение Feb 19 2006, 10:28
Сообщение #8


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Если процессоры на одной плате и нужна гальваническая развязка, при фиксированной скорости передачи можно сделать простую емкостную развязку. Если хочется попроще, можно использовать
ADuM, как и говорил Rezident.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 26 2006, 13:04
Сообщение #9


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(rezident @ Feb 14 2006, 18:34) *
...Иначе на ведомых придется вывод TXD держать отключенным и подключать к линии только на момент передачи.....


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

с уважением
(круглый)
Go to the top of the page
 
+Quote Post

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

 


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


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