ЗАО «ЗЭО»

Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: aborilov от 31 Января, 2011, 17:33:22

Название: Тион-Про270, Linux, RS485
Отправлено: aborilov от 31 Января, 2011, 17:33:22
Доброе время суток!
Необходимо работать на тионе с RS485, подскажите с чего начать.
Какое устройство отвечает за этот порт /dev/ttyS2 ? или /dev/ttyS1.
Перемычку J24 необходимо установить?
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 01 Февраля, 2011, 08:40:43
На Тионе сейчас прошивка с завода, есть ли там поддержка 485?
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 01 Февраля, 2011, 16:07:57
> Какое устройство отвечает за этот порт /dev/ttyS2 ? или /dev/ttyS1.

/dev/ttyS1


> Перемычку J24 необходимо установить?

Установить, это разрешение приёма (включение приёма) ИМС формирователя 485 уровней.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 01 Февраля, 2011, 16:13:53
На Тионе сейчас прошивка с завода, есть ли там поддержка 485?

Не совсем, придётся программно управлять сигналом BT_RTS/ (S1 RTS) для включения/выключения передачи.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 01 Февраля, 2011, 16:20:11
да, про это я уже почитал.
вот сейчас пробую что нибудь получить на тионе по 485,
для это на тионе делаю
cat /dev/ttyS1
и с хоста шлю данные.
Сработает ли такой тест для 485?
Должен ли я что нибудь получить на Тионе.

P.S. с 485 работаю впервые, поэтому и пока многое не понятно
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 01 Февраля, 2011, 16:30:00
Так же сейчас попробовал на хосте запустить Ваш  serial-pair.c, на хосте с ключем -m и на тионе в слайве, и опять получил на тионе receive 0 bytes.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 01 Февраля, 2011, 16:39:37
кажется проблема в проводах, сейчас попробую
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 01 Февраля, 2011, 16:52:03
вот сейчас пробую что нибудь получить на тионе по 485,
для это на тионе делаю
cat /dev/ttyS1
и с хоста шлю данные.
Сработает ли такой тест для 485?
Должен ли я что нибудь получить на Тионе.

Да, если порт включён без аппаратного управления потоком.


>  P.S. с 485 работаю впервые, поэтому и пока многое не понятно

Соблюдайте сигналы A, B.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 01 Февраля, 2011, 17:06:09
Прием получил. Что сделать чтобы началась передача.
Надо править serial-pair или только на уровне драйверов ядра править?
если можно пример какой-нибудь
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 01 Февраля, 2011, 17:46:44
В пользовательской программе, до начала передачи
s |= TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

После передачи (основная проблема определить длительность передачи)
s &= ~TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

Или наоборот.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 02 Февраля, 2011, 11:52:23
В пользовательской программе, до начала передачи
s |= TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

После передачи (основная проблема определить длительность передачи)
s &= ~TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

Или наоборот.


если я правильно понял, перед этим надо считать в s текущие значения, что то типа
ioctl(fd, TIOCMGET, &s);
так?
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 02 Февраля, 2011, 12:29:24
> ioctl(fd, TIOCMGET, &s);

Конечно
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 03 Февраля, 2011, 09:33:12
чему равен HZ в тионе?
Название: Re: Тион-Про270, Linux, RS485
Отправлено: asv от 03 Февраля, 2011, 11:20:56
Вы можете это выяснить самостоятельно.
Название: Re: Тион-Про270, Linux, RS485
Отправлено: aborilov от 03 Февраля, 2011, 11:59:52
В пользовательской программе, до начала передачи
s |= TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

После передачи (основная проблема определить длительность передачи)
s &= ~TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

Или наоборот.


Блин, день убил. Оказалось все наоборот,
надо выставлять

s &= ~TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);
до передачи, тогда передача пойдет...