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

 
 
 
Reply to this topicStart new topic
> Связь по UART uC и 2 клиентов
jorikdima
сообщение Feb 24 2007, 23:54
Сообщение #1


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Добрый день.

Есть необходимость связать микроконтроллер MSP430 с 3 различными микросхемами по UART, а порта всего 2 (аппаратных). Что делать?
Писать софтовый UART даже в случае заимствования кода не особо хочется. Ситуация облегчается тем, что среди 3 внешних устройств можно найти 2, которые никогда не будут одновременно работать. Можно ли их повесить на 1 UART? Но тогда вопрос как их разделять. Есть ли в UART что-то на подобии сигнала CS (ChipSelect) в SPI? Я имею ввиду аппаратный handshaking (CTS RTS сигналы). Что это такое. Можно ли это применить в данном случае? Если да то где почитать?

Спасибо.
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 25 2007, 00:45
Сообщение #2


Гуру
******

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



Цитата(jorikdima @ Feb 25 2007, 01:54) *
Добрый день.

Есть необходимость связать микроконтроллер MSP430 с 3 различными микросхемами по UART, а порта всего 2 (аппаратных). Что делать?
Писать софтовый UART даже в случае заимствования кода не особо хочется. Ситуация облегчается тем, что среди 3 внешних устройств можно найти 2, которые никогда не будут одновременно работать. Можно ли их повесить на 1 UART? Но тогда вопрос как их разделять. Есть ли в UART что-то на подобии сигнала CS (ChipSelect) в SPI? Я имею ввиду аппаратный handshaking (CTS RTS сигналы). Что это такое. Можно ли это применить в данном случае? Если да то где почитать?

Спасибо.

Хм, не примите за оскорбление, но у вас какая-то каша в голове. Это благодаря ей, вы плодите одновременно сообщения на разные темы в различных разделах? cranky.gif
UART в основном для организации связи точка-точка предназначен. Но если имеется выделенный "мастер", то объединить несколько "слейвов" на одном UART не проблема. TXD мастера соединяется с RXD слейвов. TXD слейвов объединяются на логическом элементе "И", а с выхода его сигнал подается на RXD мастера. Слейв имеет право на передачу только в том, случае, если запрос был адресован ему. Т.е. обмен должен быть пакетным: запрос-ответ, с адресацией пакетов и слейвов.
Сигнала CS для UARTов не применяется.
RTS-CTS это сигналы стандартного интерфейса RS-232. К UART они имеют посредственное отношение, т.к. RS-232 это асинхронный интерфейс в котором UART как-бы составная часть. Сигналы RTS-CTS служат для организации/ограничения потока данных, а не для выбора UARTа.
Если вам так очень хочется, то можно все три "другие" ваши м/с посадить на один SPI-порт MSP430 посредством расширителя портов. Мост SPI->UART. У фирмы Maxim, например, есть такая м/с для этого. Посмотрите MAX3100.
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Feb 25 2007, 15:21
Сообщение #3


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

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



Цитата(rezident @ Feb 25 2007, 00:45) *
...Но если имеется выделенный "мастер", то объединить несколько "слейвов" на одном UART не проблема. TXD мастера соединяется с RXD слейвов. TXD слейвов объединяются на логическом элементе "И", а с выхода его сигнал подается на RXD мастера. Слейв имеет право на передачу только в том, случае, если запрос был адресован ему. Т.е. обмен должен быть пакетным: запрос-ответ, с адресацией пакетов и слейвов. ....


свои пять копеек...
можно и без мастера. по шинной топологии. включение логически выглядит следующим макаром: каждый RS232 имеет право вякнуть на шине и быть услышанным всеми, кроме него самого. Монтажное "И". Кол-во последовательных каналов не ограниченно. Устройства на шине разруливают поток программно.

с уважением
(круглый)
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 26 2007, 10:35
Сообщение #4


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



В том то и сложность, что мне надо связать не 3 микроконтроллера с моей программой, а мой микроконтроллер и 2 не моих устройства. По этому когда я шлю данные одному из "клиентов" моего микроконтроллера это не должен "услышать" другой клиент. Насчит MAX3100 серьезно думаю smile.gif Это наверно лучший вариант для меня будет.
А насчет каши в голове... она есть только на счет всяких RTS-CTS и только. С остальным я не путаюсь smile.gif А одновременное количество вопросов на форуме ... ну так совпало, вопросы то по разным темам. Спасибо, что помогли
Go to the top of the page
 
+Quote Post

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

 


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


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