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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> RS-485 в USB с помощью UCON-485
Oleg_IT
сообщение May 21 2008, 17:09
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Нужно датчик с RS-485 интерфейсом подключить к компьютеру. Выбрали UCON-485 (http://www.terraelectronica.ru/catalog.php?ID=817&Search=1&Text=ucon%20485&Gde=2&PageS=1), преобразователь RS-485 в USB. Но это устройство Windows «видит» как COM порт с 8-ми битным протоколом (можно ещё 7 бит установить). А как в таком случае передать адрес? И вообще как работать с 9-и битном протоколом?
Не могу найти даташит на эту штуковину. Помогите разобраться.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 21 2008, 18:13
Сообщение #2


Гуру
******

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



Цитата(Oleg_IT @ May 21 2008, 23:09) *
А как в таком случае передать адрес? И вообще как работать с 9-и битном протоколом?
А никак. Нужно использовать другие протоколы с адресацией, которые не привязаны жестко к формату символа. Вон большинство современных модемов тоже имеют всего 10-битный регистр и не позволяют работать в "прозрачном" режиме ни с четностью, ни с 9-и битной посылкой. Так что используйте Wake, SLIP, Modbus и пр. подобные протоколы связи.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение May 21 2008, 18:22
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Ни какой другой интерфейс использовать не могу, он определяется датчиком, а другого датчика нет. Может все-таки есть возможность работать по USB с этим датчиком?
Go to the top of the page
 
+Quote Post
rezident
сообщение May 21 2008, 18:37
Сообщение #4


Гуру
******

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



"с этим датчиком" - с каким "этим"?
Go to the top of the page
 
+Quote Post
VDG
сообщение May 21 2008, 20:46
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 845
Регистрация: 10-02-06
Пользователь №: 14 193



Цитата(Oleg_IT @ May 21 2008, 22:22) *
Ни какой другой интерфейс использовать не могу, он определяется датчиком, а другого датчика нет.

Значит просто делаете преобразователь 9-ти битного формата датчика в 8-ми битный пакетный и заводите в комп. Ничего сложного нет.


--------------------
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение May 22 2008, 03:14
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(rezident @ May 21 2008, 22:37) *
"с этим датчиком" - с каким "этим"?

«Этот датчик» это тензо датчик. Вопрос собственно не по датчику, а по 485-му интерфейсу. К компьютеру можно подойти только из вне, ни какие платы во внутрь поставить не получится, гарантия, «политика»…

Цитата(VDG @ May 22 2008, 00:46) *
Значит просто делаете преобразователь 9-ти битного формата датчика в 8-ми битный пакетный и заводите в комп. Ничего сложного нет.

А можно и как это сделать на уже имеющимся оборудовании. К сожалению, на разработку, пайку и отладку чего-то своего времени нет. Так вот живём… Увы.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2008, 04:44
Сообщение #7


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

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



Цитата(Oleg_IT @ May 22 2008, 06:14) *
К сожалению, на разработку, пайку и отладку чего-то своего времени нет. Так вот живём… Увы.

Время = Деньги
Покупаете чужое время за деньги либо экономите деньги (? не всегда) и тратите своё время.
Смотря что для вас важнее.

В вашем случае можно поставить простейший контроллер, который будет преобразовывать формат сообщений. Знающему человеку работы на полдня (вместе с пайкой и отладкой).

Кстати о птичках: а вы, когда выбирали этот модуль, не видели чтоли, что он нестандартной ориентации? (в смысле протокола)


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


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(MrYuran @ May 22 2008, 08:44) *
Кстати о птичках: а вы, когда выбирали этот модуль, не видели чтоли, что он нестандартной ориентации? (в смысле протокола)

Честно говоря был уверен, что если он, преобразователь из 485, то обязан полностью поддерживать этот протокол. Может он и умеет это делать, только документации для него нет, и у меня и у продавца.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2008, 05:45
Сообщение #9


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

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



Цитата(Oleg_IT @ May 22 2008, 08:17) *
Честно говоря был уверен, что если он, преобразователь из 485, то обязан полностью поддерживать этот протокол. Может он и умеет это делать, только документации для него нет, и у меня и у продавца.

С преобразователем как раз всё в порядке, я имел в виду датчик.
9 бит - это совершенно нестандартный режим как для 232, так и для 485.
Ну чё ещё можно сделать...
Может, бит чётности использовать как 9-й?
Может, выложите протокол обмена с вашим датчиком, глядишь чё и накумекаем...


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


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(MrYuran @ May 22 2008, 09:45) *
9 бит - это совершенно нестандартный режим как для 232, так и для 485.


Я всегда считал, что если в 485-ом есть адресация, то это по умолчанию 9 бит.
А с протоколом всё просто, в датчик посылаем три байта, адрес, команда 1, конец посылки. Из датчика получаем пять байт, тот же адрес, команда 2, младшая часть данных, старшая часть данных, конец посылки.
Кстати по поводу 9 бит я уже не уверенsmile.gif Сейчас свяжусь с разработчиком датчика, уточню.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2008, 07:29
Сообщение #11


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

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



RS-485 не подразумевает вообще никакой адресации.
Это протокол физического уровня
Адрес - это уже канальный уровень(если склероз не подводит)
логическая организация кадра - один-в-один как в 232.
То есть старт(1), инф.байт(5-7-8), чётность(1), стоп(1-1,5-2).
Несколько кадров (байт) образуют пакет, и вот уже в пакете вы определяете, где адрес, где данные, КС и т.д.


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


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Правильно. А адрес от данных отличается именно этим девятым битом, если он установлен в 1, то это адрес, если 0, то данные.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 22 2008, 08:00
Сообщение #13


Гуру
******

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



Цитата(MrYuran @ May 22 2008, 13:29) *
RS-485 не подразумевает вообще никакой адресации.
Это протокол физического уровня
Не нужно вносить еще большей путаницы. RS485 это никакой не протокол, а стандартный интерфейс. В стандарте TIA/EIA-485-A описаны только физические и электрические параметры интерфейса, но никаких упоминаний о протоколе нету.
Цитата(Oleg_IT @ May 22 2008, 13:42) *
Правильно. А адрес от данных отличается именно этим девятым битом, если он установлен в 1, то это адрес, если 0, то данные.
Это так называемый Address-Bit Format в отличие от Idle-Line Format. Такой формат использовался, например, в протоколе PiNET. Реализация адрес-битного формата передачи в Windows "слегка" затруднена. Т.к. во-первых, "мешается" FIFO UARTа, а во-вторых, нужно обрабатывать ошибки приема на уровне регистров UART, а не функций Windows работы с COM-портом. Потому что в Windows поток из COM-порта принимается, несмотря на ошибки паритета, которые нужно отслеживать и обрабатывать при адрес-битном протоколе. Могу при случае уточнить у коллеги, как это лучше делать. Он когда-то занимался реализацией протокола PiNET на PC.
И я согласен с MrYuran, что для вашего случая проще всего сделать конвертор протоколов на любом подходящем микроконтроллере. Причем, если вы совместите его с мостом USB-UART и драйвером RS485, то заодно замените этот дурацкий конвертор UCON-485.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2008, 08:04
Сообщение #14


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

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



Цитата(rezident @ May 22 2008, 10:54) *
В cтандарт TIA/EIA-485-A описаны только физические и электрические параметры интерфейса, но никаких упоминаний о протоколе нету.

Ну да, а стандарт де факто 485 = 232+преобразователь уровней
(мы говорим Партия, подразумеваем - Ленин...)
Цитата
Правильно. А адрес от данных отличается именно этим девятым битом, если он установлен в 1, то это адрес, если 0, то данные.

Правильно будет всё-таки уточнить протокол обмена с датчиком (с точностью до бита), поддерживает ли он вообще адресацию, каким образом и т.д.
А потом решать проблему (если она есть)


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


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Цитата(rezident @ May 22 2008, 12:00) *
Причем, если вы совместите его с мостом USB-UART и драйвером RS485, то заодно замените этот дурацкий конвертор UCON-485.

А почему он дурацкий?smile.gif

А протокол, конечно уточню.
Go to the top of the page
 
+Quote Post

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

 


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


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