Linux vs rs485-USB

FORUM_NAME: USB-RS485
Модератор: Модераторы
Phoenix M
Phoenix M
Возраст: 35
Репутация: 16
Сообщения: 267
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #121 Phoenix » 22.05.2016, 10:17

Второй способ заставить работать преобразователь Exar XR21B1411 в linux.
Этот преобразователь прекрасно работает со штатным драйвером ядра linux, но нужно изменить некоторые регистры преобразователя в момент его подключения. Для этого я написал небольшую программу и правило для udev. В момент подключения преобразователя срабатывает правило udev, запускает программу и передает ей адрес преобразователя на шине USB. Программа меняет нужные регистры и прекращает свою работу. И так каждый раз при переподключении преобразователя.

Программа распространяется в исходных кодах. Сборка и установка:

Код: Выделить всё

make
cp corExar /sbin/
cp 99-corExar.rules /etc/udev/rules.d/
udevadm control --reload

и переподключить преобразователь.

Программу проверял на USB-RS232, но должно заработать и на USB-RS485/С2000-USB, т.к. я меняю не один регистр (достаточно для USB-RS232), а четыре регистра, которые я подсмотрел раньше при работе с С2000-USB на этой же микросхеме (эти регистры устанавливал драйер от производителя микросхемы).

Возможно есть способ записать параметры инициализации этих регистров в постоянную память микросхемы, но как это сделать не написано в документации.

Phoenix M
Phoenix M
Возраст: 35
Репутация: 16
Сообщения: 267
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #122 Phoenix » 26.05.2016, 20:28

Третий способ. Программирование параметров инициализации регистров в постоянную память.
Попереписывался с разработчиками чипа, объяснил какие мне нужно регистры записать в постоянную память, они мне выслали программу для записи этих регистров. Теперь мой преобразователь работает в linux со стандартным драйвером без всяких дополнительных настроек преобразователя и ОС. Проверил только на USB-RS232 (Exar XR21B1411) производства Болид.

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

Программа работает только в windows в командной строке:

Код: Выделить всё

OTPMongo -c COMn -f XR21B1411.xml

«n» - номер COM порта преобразователя в диспетчере устройств.

Меняются регистры:
CDC_ACM_FLOW_CONTROL (0x216) — с 0x01 до 0x00
CDC_ACM_GPIO_MODE (0x217) — с 0x01 до 0x0b
CDC_ACM_GPIO_DIRECTION ( 0x218) — с 0x08 до 0x28
CDC_ACM_GPIO_INT_MASK (0x219) — с 0x30 до 0x00
Вложения
OTPMongo.zip
(840.03 КБ) 19 скачиваний

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 52
Зарегистрирован: 28.11.2015
С нами: 1 год
Профессия: IT

Непрочитанное сообщение #123 delovoy » 27.05.2016, 15:26

Спасибо огромное. Попробую. Значит сначало пробуем завести свисток без записи в ПЗУ, если заработает то заливаем в ПЗУ и сможем на любом линуксе без пляски с бубном программировать болиды?

Отправлено спустя 2 минуты 57 секунд:
---
Еще вопрос, а будут ли изменения в работе, если после записи в память постоянную использовать сия свисток в винде?

Phoenix M
Phoenix M
Возраст: 35
Репутация: 16
Сообщения: 267
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #124 Phoenix » 27.05.2016, 15:48

Да. У меня в линуксе работает без всяких бубнов.
В винде тоже проверил. Работает. Никаких изменений.

delovoy
Автор темы
delovoy
Автор темы
Репутация: 1
Сообщения: 52
Зарегистрирован: 28.11.2015
С нами: 1 год
Профессия: IT

Непрочитанное сообщение #125 delovoy » 14.08.2016, 00:50

delovoy писал(а):OTPMongo -c COMn -f XR21B1411.xml

На линуксе нет варианта записи в ПЗУ?

Phoenix M
Phoenix M
Возраст: 35
Репутация: 16
Сообщения: 267
Зарегистрирован: 21.09.2012
С нами: 4 года 2 месяца
Профессия: Проектировщик
Откуда: Пятигорск

Непрочитанное сообщение #126 Phoenix » 14.08.2016, 14:03

Я не пробовал, может не получиться. Разработчики микросхемы писали что это нужно делать в windows.


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «USB-RS485»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость

forum-bolid.ru : Отказ от ответственности