Перейти к содержанию

    

USB/RS485 cable CDC Class

Добрый день,

На данный момент занимаюсь добавлением AES Bootloader для микроконтроллеров семейства ATmega на основе готового примера AVR231 AES Bootloader. Функция update обновляет правильно Application Section микроконтроллера при использовании порта RS232.

Но при подключении кабеля USB/RS485 (точное название USB-RS485-WE-1800-BT), который также появляется как виртуальный СОМ порт, нет передачи данных из РС в RS485. Из технической поддержки FTDI ответили, что они используют USB Vendor Class. В свою очередь, для функции update нужен USB CDC Class. Эти классы несовместимы. Я так понимаю, что в данном применении не используется handshake, а только сигналы RX и TX.

Вопрос такой: существуют ли готовые кабели USB/RS485, использующие USB CDC Class и подходящие для Windows 10? Пока ничего подходящего не нашел в Google. Рассматриваю вариант на микросхеме CY7C65213A, что потребует изготовление печатной платы и, вероятно, некоторую дополнительную конфигурацию. Нужно всего несколько устройств. Поэтому желательно купить готовое изделие. Что можете посоветовать? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так и работайте по RS232.

Зачем Вам RS485?

Или проблема купить USB-RS232?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, Dmitrij Stepin сказал:

Что можете посоветовать? 

Переписать программу update самому. Там сотня строк кода от силы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 hours ago, Dmitrij Stepin said:

Рассматриваю вариант на микросхеме CY7C65213A,

но handshake у RS485 всё равно не появится ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
34 minutes ago, zombi said:

Ну так и работайте по RS232.

Зачем Вам RS485?

Или проблема купить USB-RS232?

У меня платы с интерфейсом RS485.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 hours ago, Dmitrij Stepin said:

Добрый день,

На данный момент занимаюсь добавлением AES Bootloader для микроконтроллеров семейства ATmega на основе готового примера AVR231 AES Bootloader. Функция update обновляет правильно Application Section микроконтроллера при использовании порта RS232.

Но при подключении кабеля USB/RS485 (точное название USB-RS485-WE-1800-BT), который также появляется как виртуальный СОМ порт, нет передачи данных из РС в RS485. Из технической поддержки FTDI ответили, что они используют USB Vendor Class. В свою очередь, для функции update нужен USB CDC Class. Эти классы несовместимы. Я так понимаю, что в данном применении не используется handshake, а только сигналы RX и TX.

Что можете посоветовать? 

Вы смотрели какой драйвер устанавливается? Если не CDC - переключить в режим CDC. Hadnshake используется по умолчанию. Как определили что нет передачи от PC? по светодиодам?Сильно сомневаюсь что дело в кабеле. Многие настройки можно задать через Mprog.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
41 minutes ago, VladislavS said:

Переписать программу update самому. Там сотня строк кода от силы.

Написанием софта для РС занимается другой человек. Неизветсно, когда он сможет этим заняться и захочет ли вообще это делать.

Мне, как изготовителю устройств, уже сейчас необходимо использовать готовую программу update для загрузки кода без всяких препятствий / задержек со стороны других лиц. На первое время готовой программы update будет предостаточно.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
29 minutes ago, DmitryM said:

Вы смотрели какой драйвер устанавливается? Если не CDC - переключить в режим CDC. Hadnshake используется по умолчанию. Как определили что нет передачи от PC? по светодиодам?Сильно сомневаюсь что дело в кабеле. Многие настройки можно задать через Mprog.

Из технической поддержки FTDI ответили, что их кабель USB/RS485 не годится для CDC class. Поэтому менять что-либо в настройках, наверно, нет смысла. 

Отсутствие передачи данных было видно осциллографом. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
41 минуту назад, Dmitrij Stepin сказал:

Неизветсно, когда он сможет этим заняться и захочет ли вообще это делать

Ну, раз у вас институт  благородных девиц, то дерзайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
46 минут назад, DmitryM сказал:

Многие настройки можно задать через Mprog.

Нельзя. Если используется USB Vendor Class  Mprog чип не увидит. Может есть сторонние утилиты но мне они неизвестны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
52 minutes ago, _3m said:

Нельзя. Если используется USB Vendor Class  Mprog чип не увидит. Может есть сторонние утилиты но мне они неизвестны.

открываем datasheet на кабель и внимательно читаем:

Quote

5.4 Local Echo
RS485 systems often have local echo enabled. This means any data transmitted by a device is echoed
back to itself.
The USB-RS485-WE cable allows for local echo to be enabled/disabled by changing a bit in the FT232R
EEPROM. If CBUS4 in the EEPROM is set for “PWRON#” local echo is enabled. If CBUS4 in the EEPROM is
set for “TXDEN” local echo is disabled.
Users can set this with MPROG from
www.ftdichip.com
The default for the local echo is disabled (CBUS4 set for “TXDEN).
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или вы куда-то в дебри залезли, или update из AVR231 сушественно развился за последние десять лет. Десять лет назад он использовал windows API для доступа к последовательному порту и ему было совершенно без разницы, что это за порт - железный COM или виртуальный от любого USB-переходника. Ему было абсолютно фиолетово, реализован этот виртуальный COM через CDC или любой Vendor Class. И он прекрасно работал через переходники USB-RS485, потому что управление направлением RS485 в таких шнурках всегда аппаратное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация