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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Демультиплексер
URANst
сообщение Mar 31 2008, 11:07
Сообщение #1


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

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



Люди подскажите какую микросхему можно (нужно) испоьзовать для следующих целей:
из микроконтроллера данные должны передоваться на одно из четырех устройств по RS 485, перед преобразователем в RS485 нужно делать выбор канала (1 из 4), что для этого можно применить.
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Mar 31 2008, 11:14
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(URANst @ Mar 31 2008, 15:07) *
Люди подскажите какую микросхему можно (нужно) испоьзовать для следующих целей:
из микроконтроллера данные должны передоваться на одно из четырех устройств по RS 485, перед преобразователем в RS485 нужно делать выбор канала (1 из 4), что для этого можно применить.

ИМХО, ничего не нужно. Все решается на уровне протокола обмена, MODBUS например.
Go to the top of the page
 
+Quote Post
URANst
сообщение Mar 31 2008, 11:20
Сообщение #3


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

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



Ну а если все же ити по пути : выбор канала с помощью микросхемы, чем можно делать разделение ?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 31 2008, 11:20
Сообщение #4


Гуру
******

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



Все устройства RS485 подключаются к одной шине. Адресация устройств происходит на уровне транспортного протокола. Транспортных протоколов существует много. См., например, в Википедии. Или вот еще, Wake.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 31 2008, 11:21
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(URANst @ Mar 31 2008, 15:20) *
Ну а если все же ити по пути : выбор канала с помощью микросхемы, чем можно делать разделение ?

405x. Хотя типично у трансиверов RS485 есть входы выборки, так что вполне можно организовать демультиплексирование именно выборками...

Сообщение отредактировал rx3apf - Mar 31 2008, 11:25
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Mar 31 2008, 12:03
Сообщение #6


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(rx3apf @ Mar 31 2008, 14:21) *
405x. Хотя типично у трансиверов RS485 есть входы выборки, так что вполне можно организовать демультиплексирование именно выборками...

Прстейший способ - завести входы EN (или CS) всех приёмопередатчиков Rs485 на 4 ноги мк и управлять.
В зависимости от полярности на нужный выдавать 0 или 1 (на остальные соответственно 1 или 0).
Главное в этом случае - не включить больше одного одновременно.
"Железные" мультиплексоры в этом смысле надёжнее.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
alkaes
сообщение Mar 31 2008, 12:12
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 5-04-07
Пользователь №: 26 793



Цитата(URANst @ Mar 31 2008, 14:07) *
Люди подскажите какую микросхему можно (нужно) испоьзовать для следующих целей:
из микроконтроллера данные должны передоваться на одно из четырех устройств по RS 485, перед преобразователем в RS485 нужно делать выбор канала (1 из 4), что для этого можно применить.


MrYuran прав. Но если нет возможности контролировать CS/EN каждого драйвера(есть чипы в которых просто четыре дравера в одном корпусе без CS/EN )
То можно и так, вообще без дополнительных элементов(Только с помощью четырёх резисторов):
Прикрепленное изображение

На который канал нужно вывести сигнал - ставишь на MASKx 'Z' (DDRx = '0', PORTx = '0'). А на остальных '1'

Сообщение отредактировал alkaes - Mar 31 2008, 12:17
Go to the top of the page
 
+Quote Post
URANst
сообщение Mar 31 2008, 12:18
Сообщение #8


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

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



Если я правильно понял что "железные" мультиплексоры это собственно отдельная микруха, то я как раз и хочу использовать такую, только не знаю какую (простите за тафтологию). Представляю так : из контроллера 2 вывода адресных, 2 вывода разрешения чтения - записи, чтение запись адресуется тому устройству , адрес которых установлен в первых двух выводах.

Цитата
А можно и так, вообще без дополнительных элементов(Только с помощью четырёх резисторов):

На который канал нужно вывести сигнал - ставишь на MASKx 'Z' (DDRx = '0', PORTx = '0'). А на остальных '1'

А как быть с приемом ?
Go to the top of the page
 
+Quote Post
alkaes
сообщение Mar 31 2008, 13:15
Сообщение #9





Группа: Новичок
Сообщений: 9
Регистрация: 5-04-07
Пользователь №: 26 793



Цитата(URANst @ Mar 31 2008, 15:18) *
Если я правильно понял что "железные" мультиплексоры это собственно отдельная микруха, то я как раз и хочу использовать такую, только не знаю какую (простите за тафтологию). Представляю так : из контроллера 2 вывода адресных, 2 вывода разрешения чтения - записи, чтение запись адресуется тому устройству , адрес которых установлен в первых двух выводах.
А как быть с приемом ?

С приёмом сложнее
Тогда используй SN74CBT3253C (DUAL 1OF4 MUX/DEMUX)PDF
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 31 2008, 14:10
Сообщение #10


Гуру
******

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



URANst, вам тут сейчас насоветуют sad.gif Вы поясните, четыре устройства должны быть физически разделены или их можно все-таки объединить на одной физической шине RS485? Что это за устройства на которые МК должен передавать данные?
Это курсовая? Если да то, напишите задание полностью. Может вы его неверно интерпретируете?
Go to the top of the page
 
+Quote Post
_Алекс
сообщение Mar 31 2008, 15:12
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 14-09-06
Пользователь №: 20 377



может эти микросхемы
ADG409, DG409
Go to the top of the page
 
+Quote Post
oran-be
сообщение Mar 31 2008, 15:29
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Вообще то мультиплексировать RS-485 до интетфейсного драйвера некрасиво ваще. RS-485 изначально подразумевает адресацию устройства уже после интерфейсного драйвера на уровне протокола обмена. А включение всяких мультиплексоров перед драйвером очень плохо, поскольку каждый вносимый ом в сопротивление линии связи ухудшает помехозащищенность очень сильно. Кроме этого, сами драйвера имеют весь необходимый набор защит от всяких несанкционированных сигналов, гуляющих обычно по линии связи, мультиплексоры же этого не имеют. так что лучше это делать либо релюхами, либо классическим способом - на уровне протокола.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Mar 31 2008, 19:11
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(oran-be @ Mar 31 2008, 19:29) *
Вообще то мультиплексировать RS-485 до интетфейсного драйвера некрасиво ваще. RS-485 изначально подразумевает адресацию устройства уже после интерфейсного драйвера на уровне протокола обмена. А включение всяких мультиплексоров перед драйвером очень плохо, поскольку каждый вносимый ом в сопротивление линии связи ухудшает помехозащищенность очень сильно.

Я так понял, что речь о мультиплексировании UART перед драйверами, со стороны контроллера. Естественно, коммутировать саму шину - опасный идиотизм. А вот выбрать линию (или развязать линии) 485 - вполне реальная задача. Ситуации разные бывают, топология звездой, к примеру. Или уперлись в нагрузочную способность...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 31 2008, 19:47
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(rx3apf @ Mar 31 2008, 23:11) *
Ситуации разные бывают, топология звездой, к примеру.

Да нет. Судя по вопросам, планируется создать топологию незвездой, а другой фигурой. lol.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 1 2008, 05:03
Сообщение #15


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(URANst @ Mar 31 2008, 15:18) *
А как быть с приемом ?

В своё время у меня была система, объединяющая по RS-485 512 модулей.
Естественно, они были разбиты на группы по 32, для каждой группы своя шина.
Передача шла на все параллельно (использовались адресные команды),
а вот приём - объединяли все выходы DI приёмников по "или".
Правда, есть одна проблема: если какой-то модуль зависнет и оставит на шине "1", то эта единица забьёт по приёму все остальные линии (так как объединение по или.)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

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

 


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


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