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

 
 
> Устройство на RS485 странное поведение
xoz
сообщение Aug 25 2009, 13:48
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



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

Сообщение отредактировал xoz - Aug 25 2009, 13:50
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DpInRock
сообщение Aug 25 2009, 13:53
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
описание

Это не описание. Вы ошиблись.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
xoz
сообщение Aug 25 2009, 16:14
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



Цитата(DpInRock @ Aug 25 2009, 18:53) *
Это не описание. Вы ошиблись.

Безпроблем! Можно называть это как угодно biggrin.gif главное я думаю суть понятна.

to rezident: Да это как раз таки на ADM 485 реализовано. С таймингами я довольно долго игрался wacko.gif
Наверно придется собрать чтонить анализирующее линию.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 25 2009, 16:30
Сообщение #4


Гуру
******

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



Цитата(xoz @ Aug 25 2009, 22:14) *
С таймингами я довольно долго игрался wacko.gif
Наверно придется собрать чтонить анализирующее линию.
А какой протокол вы используете? Адресация в нем присутствует? Если да, то анализировать линию нет смысла. Оба/все ведомые принимают любой пакет/запрос, но отвечают только в том случае, если сетевой адрес в пакете совпадает с их собственным.
По поводу таймингов могу подсказать, что ведущий должен иметь два настраиваемых параметра:
а) время ожидания ответа ведомого (в него входит время, необходимое для передачи пакета запроса)
б) минимальное время перед началом передачи запроса
Соответственно у ведомого параметры:
а) максимальное время подготовки ответа (от получения запроса до начала передачи пакета ответа)
б) минимальное время перед началом передачи запроса
Дополнительные параметры для обоих (и ведущего и ведомого)
а) время между переключением трансивера RS485 на передачу и собственно началом передачи пакета
б) время удержания трансивера RS485 в режиме передачи после окончания передачи пакета
Реализовав все перечисленные опции, вы сможете поддержать почти любой используемый в сетях RS485 протокол связи типа "запрос-ответ".
Go to the top of the page
 
+Quote Post
xoz
сообщение Aug 25 2009, 21:22
Сообщение #5





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



Цитата(rezident @ Aug 25 2009, 21:30) *
А какой протокол вы используете? Адресация в нем присутствует? Если да, то анализировать линию нет смысла. Оба/все ведомые принимают любой пакет/запрос, но отвечают только в том случае, если сетевой адрес в пакете совпадает с их собственным.
По поводу таймингов могу подсказать, что ведущий должен иметь два настраиваемых параметра:
а) время ожидания ответа ведомого (в него входит время, необходимое для передачи пакета запроса)
б) минимальное время перед началом передачи запроса
Соответственно у ведомого параметры:
а) максимальное время подготовки ответа (от получения запроса до начала передачи пакета ответа)
б) минимальное время перед началом передачи запроса
Дополнительные параметры для обоих (и ведущего и ведомого)
а) время между переключением трансивера RS485 на передачу и собственно началом передачи пакета
б) время удержания трансивера RS485 в режиме передачи после окончания передачи пакета
Реализовав все перечисленные опции, вы сможете поддержать почти любой используемый в сетях RS485 протокол связи типа "запрос-ответ".

Да там адресация присутствует.
реализовывал следующим путем(так как только учусь пожалуйста не пинайте)
Расчитал примерное время передачи самого длинного пакета, создал таймер с запасом(период в 2 раза больше времени посылки) и действия разбил по "тик"ам таймера.
Ведущий
1 тик включаю на передачу
2 тик передаю данные
3 тик включаю на прием
4 тик ожидаю данные и отсылаю на обработку
5 тик включаю на передачу

Ведомый
1. включаю на прием жду приема
2. если запрос для меня запускаю таймер
3. 1 тик включаю на передачу
4. 2 тик передаю
5. 3 тик включаю на прием отключаю таймер

Это все без проблем работает если один ведомый

Но скорей всего мне надо будет пересмотреть весь алгоритм maniac.gif
Go to the top of the page
 
+Quote Post
=AK=
сообщение Aug 26 2009, 03:42
Сообщение #6


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(xoz @ Aug 26 2009, 06:52) *
Да там адресация присутствует.
...
Это все без проблем работает если один ведомый

Расскажите, как реализована адресация.

Kаким образом ведомый знает, что текущая передача идет от мастера, а не от второго ведомого?
Go to the top of the page
 
+Quote Post
xoz
сообщение Aug 26 2009, 04:45
Сообщение #7





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



Цитата(=AK= @ Aug 26 2009, 08:42) *
Расскажите, как реализована адресация.

Определены командные символы
#define REDY 0xFE //запрос на состояние
#define REPLY 0xF0 //ответ от ведомого
#define COMMAND 0xF5//команда
#define END 0xFA //конец передачи

Запрос на состояние: REDY (адрес 1 байт) END
Ответ от ведомого: REPLY (адрес 1 байт) (данные)END
Команда: COMMAND(адрес 1 байт)(тип действия 2 байта) END

скорость передачи 9600
Максимальная длина пакетов 9 байт
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 26 2009, 06:01
Сообщение #8


Гуру
******

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



Цитата(xoz @ Aug 26 2009, 07:45) *
Определены командные символы

Кодовая таблица ASCII существует десятки лет, STX, ETX,ETB давно определены и стандартизованы европейскими стандартами.
Обертка пакета тоже давно устоялась.
Но "мы пойдем другим путем!" "Какую будем делать ширину ЖД?"


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
=AK=
сообщение Aug 26 2009, 06:50
Сообщение #9


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Dog Pawlowa @ Aug 26 2009, 15:31) *
Кодовая таблица ASCII существует десятки лет, STX, ETX,ETB давно определены и стандартизованы европейскими стандартами.
Обертка пакета тоже давно устоялась.

Обертка пакета и коды символов - это мелкие "рюшечки", та малая составляющая протокола, которая мало на что влияет. Если у топикстартера фундаментальная проблема с протоколом, то смена этих рюшечек ему точно совсем никак не поможет.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 26 2009, 09:14
Сообщение #10


Гуру
******

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



Цитата(=AK= @ Aug 26 2009, 09:50) *
Если у топикстартера фундаментальная проблема с протоколом, то смена этих рюшечек ему точно совсем никак не поможет.

Конечно, это брюзжание smile.gif

У топикстартера проблема с инструментарием.
Осциллограф позволит узнать, кто послал посылку, кто ее получил, кто не получил, а кто зажал ответ.
Нет осциллографа - светодиоды помогут.
Нет светодиодов - тестер (проверить сигнал направления после посылок).
Нужно учиться отлаживать программу и находить собственные ошибки. Любым доступным способом.

Ничего нет - ну что ж - будем учить строить автоматы состояний приемо-передачи.
Типа такого... Прикрепленный файл  Dmb_mast.pdf ( 23.2 килобайт ) Кол-во скачиваний: 260


Легкой жизни не будет! smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
xoz
сообщение Aug 26 2009, 10:58
Сообщение #11





Группа: Участник
Сообщений: 14
Регистрация: 22-12-08
Пользователь №: 42 655



Цитата(Dog Pawlowa @ Aug 26 2009, 14:14) *
Легкой жизни не будет! smile.gif

О легкой жизни и не мечтал biggrin.gif

Цитата(DpInRock @ Aug 26 2009, 12:47) *
Тогда все понятно.
Вы делаете сеть. Физический уровень вам делает микросхема. А вот канальный вы даже и не думали делать. Сразу перепрыгнули на уровень приложения.
Люди вовсе не от скуки рисуют многоуровневую систему протоколов для сетевого общения.

О канальном уровне где можно посмотреть? Хотяб краткое разъяснение что это и зачем.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 26 2009, 12:31
Сообщение #12


Гуру
******

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



Цитата(xoz @ Aug 26 2009, 16:58) *
О канальном уровне где можно посмотреть? Хотяб краткое разъяснение что это и зачем.
Сетевая модель OSI
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- xoz   Устройство на RS485 странное поведение   Aug 25 2009, 13:48
|- - _Pasha   Цитата(xoz @ Aug 25 2009, 19:14) С таймин...   Aug 25 2009, 16:24
|- - =AK=   Цитата(xoz @ Aug 26 2009, 14:15) Определе...   Aug 26 2009, 05:24
|- - _Pasha   Цитата(xoz @ Aug 26 2009, 07:45) скорость...   Aug 26 2009, 05:37
||- - =AK=   Цитата(_Pasha @ Aug 26 2009, 15:07) ПримИ...   Aug 26 2009, 05:53
||- - _Pasha   Цитата(=AK= @ Aug 26 2009, 08:53) Непонят...   Aug 26 2009, 11:13
||- - =AK=   Цитата(_Pasha @ Aug 26 2009, 20:43) Тьфу...   Aug 26 2009, 12:33
||- - _Pasha   Цитата(=AK= @ Aug 26 2009, 15:33) Для пол...   Aug 26 2009, 12:42
||- - =AK=   Цитата(_Pasha @ Aug 26 2009, 22:12) Тайма...   Aug 26 2009, 12:51
||- - MrYuran   Цитата(Dog Pawlowa @ Aug 26 2009, 13:14) ...   Aug 26 2009, 09:34
|||- - Dog Pawlowa   Цитата(MrYuran @ Aug 26 2009, 12:34) даже...   Aug 26 2009, 10:13
|- - SSerge   Цитата(Dog Pawlowa @ Aug 26 2009, 12:01) ...   Aug 26 2009, 07:22
- - rezident   Если "это" интерфейс связи типа RS485, т...   Aug 25 2009, 14:54
- - DpInRock   Тогда все понятно. Вы делаете сеть. Физический ур...   Aug 26 2009, 07:47
- - Rst7   ЦитатаА про прембулу перед адресом - не понял, зач...   Aug 26 2009, 12:46
- - _Pasha   Спасибо, понятно. Я это давным-давно обозвал ...   Aug 26 2009, 12:55


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

 


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


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