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

 
 
> Коммутатор по UART, подскажите наиболее удобный вариант
ikm
сообщение Feb 2 2018, 17:24
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Уважаемые коллеги, помогите советом какую базу выбрать:
Встала задача разработать коммутатор на интерфейсах UART. Под коммутатором я понимаю, аналог Ethernet свитча, только без адресации.
В устройстве предполагается всего 3 порта, два для построения общей локальной сетки (либо простая цепочка, либо двунаправленное кольцо) и один порт идет непосредственно на терминал. Терминал умный сам пойёмет, что если пакет предназначен ему, то ответит на него. Таким образом Мастер сделает запрос,он пройдет по всем слейвам, и нужный ответит ему.
Вот теперь вопрос на чём всё это собирать.
1. Вариант 1 брать МК с 3-мя железными портами и городить на нём кольцевой буфер.
2. Вариант 2 брать разветвитель, что то типа tl16c754 и городить к нему HOST контроллер, который будет прогонять дату через себя.
И сразу доп вопросы. Если кто склоняется к первому вариант, где можно почитать грамотную реализацию кольцевого буфера?
Ну и по второму варианту, возможно ли сделать режим где host только конфигурирует расширитель, а тот сам уже организует кольцевой буфер по внутренней шине?
А также может есть третий вариант (кроме ПЛИС)?


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ikm
сообщение Feb 5 2018, 14:42
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Возможно Вас неправильно информировала первая картинка, так как я забыл там убрать "Device" из квадрата. А вместо земли стоит как раз оконечный терминальное устройство для которого и посылаются данные. Поэтому речь всё таки идет о коммутаторе. Так как в он стоит в каждом узле и "раскидывает" поток данных с одного порта в два других. Причём он эти данные не анализирует, и не знает ,что к его портам подключено, оконечное устройство или такой же коммутатор. Если уж совсем "на пальцах" мне нужно устройство с тремя равнозначными UART портами и буфером.

To jcxz
Так вот я и прошу помощи в рекомендации выбора железа и литературы по алгоритму.

Погодите, зачем коммутатору разбирать пакет, я надеялся получить что то типа циркулятора.


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
Baser
сообщение Feb 5 2018, 16:37
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(ikm @ Feb 5 2018, 16:42) *
Поэтому речь всё таки идет о коммутаторе. Так как в он стоит в каждом узле и "раскидывает" поток данных с одного порта в два других. Причём он эти данные не анализирует, и не знает ,что к его портам подключено, оконечное устройство или такой же коммутатор. Если уж совсем "на пальцах" мне нужно устройство с тремя равнозначными UART портами и буфером.

Вот только сейчас ваша мысль становится понятной sm.gif

Хаб с тремя равнозначными UART, имхо, построить не удастся. Порты все равно будут различными по функционалу, если хотите дуплекс. Как вы коллизии разгребать будете?
Если достаточно полудуплекса, то проще всего делать так, как все делают, т.е. возле всех мастеров/слейвов по преобразователю UART/RS-485, и дальше одна общая шина.
Go to the top of the page
 
+Quote Post
ikm
сообщение Feb 5 2018, 16:53
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Цитата(Baser @ Feb 5 2018, 19:37) *
Вот только сейчас ваша мысль становится понятной sm.gif

Хаб с тремя равнозначными UART, имхо, построить не удастся. Порты все равно будут различными по функционалу, если хотите дуплекс. Как вы коллизии разгребать будете?
Если достаточно полудуплекса, то проще всего делать так, как все делают, т.е. возле всех мастеров/слейвов по преобразователю UART/RS-485, и дальше одна общая шина.

Ну понятно, что порты не совсем будут равнозначные. Всё равно в алгоритме мы как минимум должны выбрать в какой первый порт выкидываем из буфера, а в какой во вторую очередь, после чего очищаем буфер.
Те порты которые будут в первоочередными будут использованы в построение линии связи, а те,что второстепенные будут отданы оконечным устройствам.
С линией я к сожалению сделать ничего не могу, это UART и точка.
К тому же схема построена по разделенному во времени опросу оконечных устройств: Мастер запросил данные с определённого оконечника, тот ему ответил. Через 100мс опрос другого устройства.


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ikm   Коммутатор по UART   Feb 2 2018, 17:24
- - iosifk   Цитата(ikm @ Feb 2 2018, 20:24) Уважаемые...   Feb 2 2018, 19:03
|- - ikm   Цитата(iosifk @ Feb 2 2018, 22:03) Вот ко...   Feb 5 2018, 08:23
|- - jcxz   Цитата(ikm @ Feb 5 2018, 10:23) А с чего ...   Feb 5 2018, 13:17
|- - iosifk   Цитата(ikm @ Feb 5 2018, 11:23) А с чего ...   Feb 5 2018, 14:02
|- - Lagman   Цитата(ikm @ Feb 5 2018, 11:23) А с чего ...   Feb 5 2018, 14:19
|- - jcxz   Цитата(Lagman @ Feb 5 2018, 16:19) UART -...   Feb 5 2018, 14:35
- - kolobok0   Цитата(ikm @ Feb 2 2018, 20:24) ...коммут...   Feb 5 2018, 17:16
|- - ikm   Цитата(kolobok0 @ Feb 5 2018, 20:16) 3 Ва...   Feb 6 2018, 14:08
||- - kolobok0   Цитата(ikm @ Feb 6 2018, 17:08) ...Про ло...   Feb 6 2018, 17:26
|- - Baser   Цитата(kolobok0 @ Feb 5 2018, 19:16) Дела...   Feb 6 2018, 16:38
|- - ikm   Цитата(Baser @ Feb 6 2018, 19:38) Для жел...   Feb 6 2018, 17:20
- - Baser   Проще - только вообще ничего не делать   Feb 6 2018, 19:20
- - ikm   Спасибо всем за предложенный и разжеванный вариант...   Feb 8 2018, 08:48
- - Baser   Цитата(ikm @ Feb 8 2018, 10:48) какой бол...   Feb 8 2018, 11:18


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

 


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


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