Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Связь по UART uC и 2 клиентов
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
jorikdima
Добрый день.

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

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


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

с уважением
(круглый)
jorikdima
В том то и сложность, что мне надо связать не 3 микроконтроллера с моей программой, а мой микроконтроллер и 2 не моих устройства. По этому когда я шлю данные одному из "клиентов" моего микроконтроллера это не должен "услышать" другой клиент. Насчит MAX3100 серьезно думаю smile.gif Это наверно лучший вариант для меня будет.
А насчет каши в голове... она есть только на счет всяких RTS-CTS и только. С остальным я не путаюсь smile.gif А одновременное количество вопросов на форуме ... ну так совпало, вопросы то по разным темам. Спасибо, что помогли
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.