ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: RS-422 и GPIO в Linux  (Прочитано 5917 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Ziminets

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 64
RS-422 и GPIO в Linux
« : 23 Ноября, 2013, 08:00:38 »

Нужно обеспечить работу с RS-422 и GPIO под Linux, подскажите с чего начать и чего почитать?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: RS-422 и GPIO в Linux
« Ответ #1 : 25 Ноября, 2013, 12:20:57 »

Про работу с gpio можно прочитать в документации Linux Documentation/gpio.txt.

Для использования RS-422 его нужно сначала включить. Для этого нужно внести изменения в файл Linux/drivers/serial/mxs-auart.c и пересобрать ядро.
Изменения такие: в функции mxs_auart_probe() строками
if (s->port.line == 1) s->mode = UART_MODE_RS232;
if (s->port.line == 2) s->mode = UART_MODE_RS485;
задается режим работы портов. Нужно первому или второму порту присвоить значение UART_MODE_RS422.
Далее обмениваться через /dev/ttySP1 или /dev/ttySP2.
Записан

Ziminets

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 64
Re: RS-422 и GPIO в Linux
« Ответ #2 : 25 Ноября, 2013, 15:45:49 »

Спасибо! Буду пробовать.
Записан

Day

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 34
Re: RS-422 и GPIO в Linux
« Ответ #3 : 05 Декабря, 2013, 21:29:14 »

Тоесть как я понял тут то я и могу установить любой режим работы 1и 2 порта. больше ничего нигде менять не нужно??
Записан

Ziminets

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 64
Re: RS-422 и GPIO в Linux
« Ответ #4 : 07 Декабря, 2013, 16:57:23 »

При приеме сообщений на Port1, работающий в режиме RS-422, периодически получаю следующее сообщение:
mxs-auart mxs-auart.1: Unhandled status 520100Что это может означать?

И еще вопрос: резистор 120 Ом где-то нужно добавлять?
« Последнее редактирование: 07 Декабря, 2013, 17:31:15 от Ziminets »
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: RS-422 и GPIO в Linux
« Ответ #5 : 09 Декабря, 2013, 11:39:59 »

Тоесть как я понял тут то я и могу установить любой режим работы 1и 2 порта. больше ничего нигде менять не нужно??

Да. Устанавливается здесь.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: RS-422 и GPIO в Linux
« Ответ #6 : 09 Декабря, 2013, 12:01:53 »

При приеме сообщений на Port1, работающий в режиме RS-422, периодически получаю следующее сообщение:
mxs-auart mxs-auart.1: Unhandled status 520100Что это может означать?

И еще вопрос: резистор 120 Ом где-то нужно добавлять?

Ошибка означает, что драйвер обрабатывает не все события от контроллера UART. Если сообщение приходит без ошибок - можно не обращать на это внимание. В данном случае ошибка связана с битом четности.

На Тионе терминирующего резистора нет. Резистор должен быть либо на одном из устройств RS-422, либо просто на линии.
Записан