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

 
 
 
Reply to this topicStart new topic
> ADDC может кто нибудь объяснить, как это работает?, RS-485 с патентованной технологией Automatic Data Direction Control
navy2000
сообщение Oct 16 2008, 08:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Собственно вопрос в заголовке. Используется в преобразователях интерфейса MOXA.
Есть определение в словаре:
ADDC (Automatic Data Direction Control) - автоматическое управление направлением передачи данных (Automatic Data Direction Control). Устройство RS-485, снабженное функцией ADDC, способно автоматически определить наличие трафика в сети RS-485 и передавать данные только тогда, когда сеть свободна. Система ADDC способна определить уровень сигнала в линии за время от нескольких микросекунд до нескольких миллисекунд. В устройствах, не поддерживающих ADDC, арбитраж трафика осуществляется программно.
Но не понятно, как это работает.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 16 2008, 08:50
Сообщение #2


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

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



Цитата(navy2000 @ Oct 16 2008, 12:46) *
Система ADDC способна определить уровень сигнала в линии за время от нескольких микросекунд до нескольких миллисекунд. В устройствах, не поддерживающих ADDC, арбитраж трафика осуществляется программно.
Но не понятно, как это работает.

Что именно непонятно?
Как определить уровень сигнала в линии или отсчитать задержку?

Поройтесь на форуме, много раз уже обсуждали.


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


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата(MrYuran @ Oct 16 2008, 15:50) *
Что именно непонятно?
Как определить уровень сигнала в линии или отсчитать задержку?

Поройтесь на форуме, много раз уже обсуждали.


Непонятно как определить скорость.
Передача пакетная, заранее формат пакета не известен, ни приамбула ни конец пакета.
Пауз между пакетами нет, слейвы отвечают сразу.
Как не пропустить начало ответа слейва?

На форуме конечно искал. Обсуждение закончилось фразой
"Я считаю,что для определения скорости на лету с полным восстановлением данных и без байта синхронизации - задача под rs232 практически нерешаема."
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 16 2008, 09:43
Сообщение #4


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

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



Цитата(navy2000 @ Oct 16 2008, 13:34) *
Непонятно как определить скорость.

На форуме конечно искал. Обсуждение закончилось фразой
"Я считаю,что для определения скорости на лету с полным восстановлением данных и без байта синхронизации - задача под rs232 практически нерешаема."

Это немного другая тема, там было автоопределение скорости для инициализации УАРТа.
Если почитаете мануал на конкретную МОХУ, то там можете увидеть переключатели скорости, чтобы задать её вручную. Если же переключение полностью автоматическое, то в простейшем случае можно задать фиксированную паузу, а если посложнее - можно анализировать минимальную длительность битового интервала. А вам при этом следует помнить, что переключение происходит не мгновенно, а как минимум через паузу, соответствующую длительности байта.


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


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата
переключатели скорости, чтобы задать её вручную

Ну это ни какая не автоматика. Просто интервал таймеру задать, который с перезапуском от следующего стартового бита.
Цитата
Если же переключение полностью автоматическое, то в простейшем случае можно задать фиксированную паузу

При большом разбросе скоростей пауза не подходит. Да, я могу быстро переключиться на передачу поймав фронт стар бита, но как определить что пришел стоп бит не зная скорости?
Цитата
а если посложнее - можно анализировать минимальную длительность битового интервала.

Это конечно можно, но в посылке может и не быть отдельно стоящего бита кроме стартового и стопового, в любом случае до автонастройки можно испортить один из пакетов или один из ответов слейва. Кроме того, это не дает ответа на вопрос, сколько бит в байте, есть ли четность и сколько стоповых.
Цитата
А вам при этом следует помнить, что переключение происходит не мгновенно, а как минимум через паузу, соответствующую длительности байта.

Вы имеете в виду переключение на прием? Думаю, что даже дольше. Но тогда нужно слейвов тормозить, чтоб отвечали не сразу.
Но мыслей как это сделать и у меня довольно много. Вопрос был несколько о другом. Есть ли у Вас информация, как это сделано конкретно в ADDC?
Go to the top of the page
 
+Quote Post

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

 


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


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