Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
at91sam9263, как обратится к UART2 и прикрутить к нему RS485
Vladmir
Добавлено 04.12.2013 11:07
0
Сообщение: 1
Vladmir
0

Пункты: 2090
Регистрация: 12.05.2010
Пол: Мужчина
В /dev есть ttyS0 и ttyS1, что надо сделать, что бы появился ttyS2. Этот порт планируется использовать как 485ый. В ядре линуха в /drivers/serial/atmel_serial.c есть функция
/* Enable or disable the rs485 support */
void atmel_config_rs485(struct uart_port *port, struct serial_rs485 *rs485conf)
{

}

и как я понимаю, можно использовать UART для 485ого интерфейса, но я не догоняю.
О, как стихами заговорил.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 04.12.2013 15:18 Редактировалось 04.12.2013 15:19 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
за 485 не скажу - не в курсе.. а чтобы поднять ttyS2 надо в исходниках вашего ядра для 9263 найти файл борды - приблизительно в arch/arm/at91*/board-xxx9263.c
там есть функция инита последовательных портов, в ней дописать свой порт "по образу и подобию"..
ядро конечно пересобрать..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 04.12.2013 21:51 Редактировалось 04.12.2013 21:51 Сообщение: 3
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Еще потребуется сконфигурить сам порт в 485 режим, ну сконфигурировать пин управления потоком.
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 05.12.2013 09:37 Редактировалось 05.12.2013 09:50 Сообщение: 4
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
http://retis.sssup.it/~scordino/code/serial-rs485.txt

Включать режим rs485 из userspace через ioctl.

Цитата
// Set RS485 mode:
rs485conf.flags |= SER_RS485_ENABLED;
if (ioctl (fd, TIOCSRS485, &rs485conf) < 0) {
printf("ioctl error\n");
}

Драйвер atmel serial поддерживает режим rs485. В нем пин UART RTS управляет приёмопередатчиком. Минус в том, что любой GPIO заюзать под управление нельзя, вроде бы драйвер это не поодерживает...
Спуститься к концу Подняться к началу
Персональная информация
Vladmir
Добавлено 05.12.2013 10:14 Сообщение: 5
Vladmir
0

Пункты: 2090
Регистрация: 12.05.2010
Пол: Мужчина
Добавил в board-sam9263ek.c вызов
at91_register_uart(AT91SAM9263_ID_US2, 2, 0);

и ttyS2 появился.
Спасибо за совет.
Спуститься к концу Подняться к началу
Персональная информация
Vladmir
Добавлено 05.12.2013 10:59 Сообщение: 6
Vladmir
0

Пункты: 2090
Регистрация: 12.05.2010
Пол: Мужчина
Цитата
http://retis.sssup.it/~scordino/code/serial-rs485.txt

Включать режим rs485 из userspace через ioctl.

Цитата
// Set RS485 mode:
rs485conf.flags |= SER_RS485_ENABLED;
if (ioctl (fd, TIOCSRS485, &rs485conf) < 0) {
printf("ioctl error\n");
}

Драйвер atmel serial поддерживает режим rs485. В нем пин UART RTS управляет приёмопередатчиком. Минус в том, что любой GPIO заюзать под управление нельзя, вроде бы драйвер это не поодерживает...


Спасибо, разобрался. Пин переключать нет необходимости. Приемопередатчик MAX13488, который я использую, автоматом переключается.
Да и драйвер 485 - ого нет необходимости использовать, я когда схему рисовал предполагал пользоваться этим портом как обычным УАПП, но пока девайс сделали мой склероз про это забыл.
Но все равно спасибо.
Спуститься к концу Подняться к началу
Персональная информация
AGevork
Добавлено 18.08.2014 14:05 Редактировалось 18.08.2014 14:40 Сообщение: 7
AGevork
4.71

Пункты: 10580
Регистрация: 14.08.2013
Вмешаюсь немного в тему, тоже нужен 485-ый но для работы с adm485, не могу понять как в борд файле его сконфигурировать=((( Да и rts и cts так и не смог найти на sk9g45 oem или одного rts хватит?
Спуститься к концу Подняться к началу
Персональная информация
titan83
Добавлено 20.08.2014 11:11 Сообщение: 8
titan83
3

Пункты: 3141
Регистрация: 16.12.2012
Цитата
Вмешаюсь немного в тему, тоже нужен 485-ый но для работы с adm485, не могу понять как в борд файле его сконфигурировать=((( Да и rts и cts так и не смог найти на sk9g45 oem или одного rts хватит?

На 945 полный порт только тот, который ttyS1, я уже поднимал вопрос по конфигурированию RTS-CTS на форуме, поищите.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux