ЗАО «ЗЭО»

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

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

Новости:

Автор Тема: Тион-Про270, Linux, RS485  (Прочитано 10050 раз)

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

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Тион-Про270, Linux, RS485
« : 31 Января, 2011, 17:33:22 »

Доброе время суток!
Необходимо работать на тионе с RS485, подскажите с чего начать.
Какое устройство отвечает за этот порт /dev/ttyS2 ? или /dev/ttyS1.
Перемычку J24 необходимо установить?
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #1 : 01 Февраля, 2011, 08:40:43 »

На Тионе сейчас прошивка с завода, есть ли там поддержка 485?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #2 : 01 Февраля, 2011, 16:07:57 »

> Какое устройство отвечает за этот порт /dev/ttyS2 ? или /dev/ttyS1.

/dev/ttyS1


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

Установить, это разрешение приёма (включение приёма) ИМС формирователя 485 уровней.
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #3 : 01 Февраля, 2011, 16:13:53 »

На Тионе сейчас прошивка с завода, есть ли там поддержка 485?

Не совсем, придётся программно управлять сигналом BT_RTS/ (S1 RTS) для включения/выключения передачи.
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #4 : 01 Февраля, 2011, 16:20:11 »

да, про это я уже почитал.
вот сейчас пробую что нибудь получить на тионе по 485,
для это на тионе делаю
cat /dev/ttyS1
и с хоста шлю данные.
Сработает ли такой тест для 485?
Должен ли я что нибудь получить на Тионе.

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

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #5 : 01 Февраля, 2011, 16:30:00 »

Так же сейчас попробовал на хосте запустить Ваш  serial-pair.c, на хосте с ключем -m и на тионе в слайве, и опять получил на тионе receive 0 bytes.
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #6 : 01 Февраля, 2011, 16:39:37 »

кажется проблема в проводах, сейчас попробую
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #7 : 01 Февраля, 2011, 16:52:03 »

вот сейчас пробую что нибудь получить на тионе по 485,
для это на тионе делаю
cat /dev/ttyS1
и с хоста шлю данные.
Сработает ли такой тест для 485?
Должен ли я что нибудь получить на Тионе.

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


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

Соблюдайте сигналы A, B.
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #8 : 01 Февраля, 2011, 17:06:09 »

Прием получил. Что сделать чтобы началась передача.
Надо править serial-pair или только на уровне драйверов ядра править?
если можно пример какой-нибудь
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #9 : 01 Февраля, 2011, 17:46:44 »

В пользовательской программе, до начала передачи
s |= TIOCM_RTS;
ioctl(serial_port_fd, TIOCMSET, &s);

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

Или наоборот.
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #10 : 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);
так?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #11 : 02 Февраля, 2011, 12:29:24 »

> ioctl(fd, TIOCMGET, &s);

Конечно
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #12 : 03 Февраля, 2011, 09:33:12 »

чему равен HZ в тионе?
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Тион-Про270, Linux, RS485
« Ответ #13 : 03 Февраля, 2011, 11:20:56 »

Вы можете это выяснить самостоятельно.
Записан

aborilov

  • Jr. Member
  • **
  • Оффлайн Оффлайн
  • Сообщений: 90
Re: Тион-Про270, Linux, RS485
« Ответ #14 : 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);
до передачи, тогда передача пойдет...
Записан