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

 
 
> 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
 
Start new topic
Ответов
MrYuran
сообщение May 22 2008, 07:29
Сообщение #2


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

Группа: Свой
Сообщений: 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
rezident
сообщение May 22 2008, 08:00
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #4


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

Группа: Свой
Сообщений: 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
rezident
сообщение May 22 2008, 10:24
Сообщение #5


Гуру
******

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



Цитата(MrYuran @ May 22 2008, 14:04) *
Ну да, а стандарт де факто 485 = 232+преобразователь уровней
(мы говорим Партия, подразумеваем - Ленин...)
Это ваще бред какой-то cranky.gif Вот ознакомьтесь с общим обзором стандартов. http://www.national.com/an/AN/AN-216.pdf
Цитата(Oleg_IT @ May 22 2008, 15:17) *
А почему он дурацкий?smile.gif
Потому что все широкораспространенные м/с мостов USB-COM поддерживают адрес-битные форматы и у них реализованы режимы odd, even, mark, space, no parity для 9 бита. Под широкораспространенными я имею в виду мосты типа FT232/FT232R от FTDIChips и CP2102/CP2103 от Silicon Lab.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение May 22 2008, 12:16
Сообщение #6


Знающий
****

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



Цитата(rezident @ May 22 2008, 14:24) *
Потому что все широкораспространенные м/с мостов USB-COM поддерживают адрес-битные форматы и у них реализованы режимы odd, even, mark, space, no parity для 9 бита. Под широкораспространенными я имею в виду мосты типа FT232/FT232R от FTDIChips и CP2102/CP2103 от Silicon Lab.

Так этот конвертер именно на FTDI и построен. Мне кажется, что я не всё по нему знаю, документации нет.
Цитата(rezident @ May 22 2008, 16:03) *
Конвертор автора топика вообще не поддерживает 9-й бит.

Вы в этом уверены??? У Вас есть документация на этот конвертер?
Go to the top of the page
 
+Quote Post
rezident
сообщение May 22 2008, 12:54
Сообщение #7


Гуру
******

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



Цитата(Oleg_IT @ May 22 2008, 18:16) *
Так этот конвертер именно на FTDI и построен. Мне кажется, что я не всё по нему знаю, документации нет.
Точно? А чего же мы тут тогда копья ломаем? twak.gif Вам на сайт производителя моста USB-COM за документацией и описанием API функций нужно.
http://www.ftdichip.com/Documents/ProgramGuides.htm
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение May 22 2008, 13:13
Сообщение #8


Знающий
****

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



Цитата(rezident @ May 22 2008, 16:54) *
Точно? А чего же мы тут тогда копья ломаем? twak.gif Вам на сайт производителя моста USB-COM за документацией и описанием API функций нужно.
http://www.ftdichip.com/Documents/ProgramGuides.htm

Сайт производителя конвертера http://www.inexglobal.com/. Но там даташина на этот конвертер не нашёл. А микруха USB там именно FTDI. Программа тестирования от них на диске есть с их логотипом.
Go to the top of the page
 
+Quote Post
rezident
сообщение May 22 2008, 13:37
Сообщение #9


Гуру
******

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



Цитата(Oleg_IT @ May 22 2008, 19:13) *
А микруха USB там именно FTDI. Программа тестирования от них на диске есть с их логотипом.
Я не понял, вам шашечки или ехать? smile.gif Чего вы к логотипу-то привязались? Вам описание API функций для работы с DLL-кой нужно. Вот и читайте его на сайте производителя м/с - FTDI. Потому, что я очень сильно и не без основания сомневаюсь, что какой-то малоизвестный продавец комплектует конвертор своими собственными драйверами.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение May 22 2008, 18:27
Сообщение #10


Знающий
****

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



Цитата(rezident @ May 22 2008, 17:37) *
Я не понял, вам шашечки или ехать? smile.gif Чего вы к логотипу-то привязались? Вам описание API функций для работы с DLL-кой нужно. Вот и читайте его на сайте производителя м/с - FTDI. Потому, что я очень сильно и не без основания сомневаюсь, что какой-то малоизвестный продавец комплектует конвертор своими собственными драйверами.

Этот конвертер Windows «видит» как СОМ порт, и работать с ним можно только как со стандартным устройством ввода/вывода, т.е. как с файлом. Может еще есть способ с таким портом работать, но я его не знаю.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Oleg_IT   RS-485 в USB с помощью UCON-485   May 21 2008, 17:09
- - rezident   Цитата(Oleg_IT @ May 21 2008, 23:09) А ка...   May 21 2008, 18:13
- - Oleg_IT   Ни какой другой интерфейс использовать не могу, он...   May 21 2008, 18:22
|- - VDG   Цитата(Oleg_IT @ May 21 2008, 22:22) Ни к...   May 21 2008, 20:46
|- - Oleg_IT   Цитата(rezident @ May 21 2008, 22:37) ...   May 22 2008, 03:14
|- - MrYuran   Цитата(Oleg_IT @ May 22 2008, 06:14) К со...   May 22 2008, 04:44
||- - Oleg_IT   Цитата(MrYuran @ May 22 2008, 08:44) Кста...   May 22 2008, 05:17
||- - MrYuran   Цитата(Oleg_IT @ May 22 2008, 08:17) Чест...   May 22 2008, 05:45
||- - Oleg_IT   Цитата(MrYuran @ May 22 2008, 09:45) 9 би...   May 22 2008, 06:50
|- - VDG   Цитата(Oleg_IT @ May 22 2008, 07:14) А мо...   May 22 2008, 13:00
- - rezident   "с этим датчиком" - с каким "этим...   May 21 2008, 18:37
|- - Oleg_IT   Правильно. А адрес от данных отличается именно эти...   May 22 2008, 07:42
||- - MrYuran   Цитата(rezident @ May 22 2008, 13:24) htt...   May 22 2008, 11:09
||- - galjoen   Цитата(rezident @ May 22 2008, 14:24) Пот...   May 22 2008, 11:35
|||- - rezident   Цитата(galjoen @ May 22 2008, 17:35) Да р...   May 22 2008, 12:03
||- - rezident   Цитата(Oleg_IT @ May 23 2008, 00:27) Може...   May 22 2008, 20:14
|- - Oleg_IT   Цитата(rezident @ May 22 2008, 12:00) При...   May 22 2008, 09:17
- - Oleg_IT   Спасибо   May 23 2008, 03:01
- - Oleg_IT   Взял файлы ftd2xx.dll, ftd2xx.lib, ftd2xx.h из арх...   May 23 2008, 09:47
- - rezident   Ну тут уже не интерфейсные, а программные заморочк...   May 23 2008, 12:13
- - Oleg_IT   Понимаю И за то что рассказали большое спасибо. Ну...   May 23 2008, 12:24
- - rezident   Цитата(Oleg_IT @ May 23 2008, 18:24) Ту б...   May 23 2008, 13:12


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

 


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


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