Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Переход с RS232 на GPIO
plr
Добавлено 22.02.2013 15:58
0
Сообщение: 1
plr
0

Пункты: 898
Регистрация: 06.10.2012
Имеем приложение, которое взаимодействует с внешним устройством через RS232. 9600,8,n,1 Задействованы только RX и TX, т.е. нет CTS, RTS и т.п. У внешнего устройства изначально интерфейс TTL, соответственно используется конвертер уровней для работы через RS232.

Ко всему прочему перешли с Intel платформы на ARM, соответственно имеет смысл перейти с RS232 на GPIO.

Но не могу врубиться, как работать с устройством вместо RS232 на GPIO? Смотрел примеры использования GPIO они в основном о миганиях диодов, чтобы реализовать прием/передачу данных - не нашел ничего интересного.

Подскажите, разъясните знающие люди пожалуйста.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.02.2013 17:26 Редактировалось 22.02.2013 17:37 Сообщение: 2
sasamy
4.71

Пункты: 83564
Регистрация: 14.08.2009
Цитата

Ко всему прочему перешли с Intel платформы на ARM, соответственно имеет смысл с RS232 на GPIO.


Не вижу логики - без преобразователя уровня (max232) у процессора TTL уровни, зачем тут какие-то GPIO нужны ?
Спуститься к концу Подняться к началу
Персональная информация
plr
Добавлено 22.02.2013 17:29 Сообщение: 3
plr
0

Пункты: 898
Регистрация: 06.10.2012
Устройств несколько одновременно подключенных к PC. Соответственно к плате ARM их надо подключать за счет GPIO, т.к. порт RS232 один.

Уровни не надо преобразовывать между устройствами и GPIO - соответствуют.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.02.2013 17:40 Сообщение: 4
sasamy
4.71

Пункты: 83564
Регистрация: 14.08.2009
Цитата

Устройств несколько одновременно подключенных к PC. Соответственно к плате ARM их надо подключать за счет GPIO, т.к. порт RS232 один.


Не видел еще ниодного SoC с ARM у которого один UART, эмулировать UART на GPIO в Linux - это достаточно глупое занятие, вы превратите мощный микропроцессор в микроконтроллер.
Спуститься к концу Подняться к началу
Персональная информация
plr
Добавлено 22.02.2013 18:03 Сообщение: 5
plr
0

Пункты: 898
Регистрация: 06.10.2012
Прошу объясните как мне поступить? Еще раз повторюсь, у меня плата starterkit к которому надо подключить несколько однотипных устройств у которых TTL 3 вольта 9600,8,n,1 интерфейс. Как мне лучше это сделать? Куда подключать?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 22.02.2013 20:16 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
наименее хлопотно и наиболее быстро - на usb шину кита вешаете кучу ft232 и имеете до 127 портов..
второй по простоте - на шустрой однокристалке можно соорудить гейт и заюзать аппаратные порты и софтовые довесить (пока хватит быстродействия)..
или ищите какой-нить экспандер, типа как раньше ставились в мультипортовки для модемного пула
или изобретаете на fpga/cpld собственный расширитель..
делать gpio-serial - АРМ врядли вытянет больше 1-3 портов..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
plr
Добавлено 22.02.2013 22:56 Сообщение: 7
plr
0

Пункты: 898
Регистрация: 06.10.2012
Jury093,

ft232 - понятно.
второй вариант и экспандер - это все сложно.

На плате уже есть serial-port rs232 куда подключен консоль. Он работает и не видно излишнюю нагрузку на систему. Что значит не "вытянет" АРМ?

И в итоге не понял или запутался.

1. Что фактически означает в характеристиках 4 шт UART? Из чего состоит в 1 UART? Как его можно использовать?

2. GPIO - это не UART? GPIO состоит из RX/TX Их нельзя использовать взамен RX/TX serial port?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 22.02.2013 23:21 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
1. Что фактически означает в характеристиках 4 шт UART? Из чего состоит в 1 UART? Как его можно использовать?

это означает, что в этом АРМе реализованы 4 независимых уарт-контроллера.. каждый уарт имеет свои RX/TX и все делается на аппаратном уровне

Цитата
2. GPIO - это не UART? GPIO состоит из RX/TX Их нельзя использовать взамен RX/TX serial port?

GPIO - это просто "пин общего назначения", его можно использовать для программного управления выводом 0/1 или цифровым входом..
в АРМах общего назначения функции GPIO сильно рудиментарны и "съедают" относительно много процессорного времени для атомарных операций.. т.о. софтовый уарт вероятно реализуем (в академических целях), но слабо пригоден.. это примерно, как Атмега16 сделать видеоконтроллер для телевизора - результат есть, но применить практически нереально..

в том же 9260 есть 4 общих уарта и отладочный порт - в теории им тоже наверно можно пользоваться (см даташит)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
plr
Добавлено 22.02.2013 23:47 Сообщение: 9
plr
0

Пункты: 898
Регистрация: 06.10.2012
Jury093,

Спасибо за разъяснение, значит GPIO не для меня.

Моя плата AT91SAM9G45

1. А вот заявленные 4 UART не выведены на плате? Если нет, то как это можно сделать?

2. RS232 на плате, который используется для консоли - это реализация 1 из 4 UART?

3. Правильно ли я понимаю, что я могу получить от UART как раз нужные мне порты?

4. Какие уровни у этих UART, т.е. мне для соединения с устройством (TTL 3В) нужен MAX?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.02.2013 00:05 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Моя плата AT91SAM9G45
1. А вот заявленные 4 UART не выведены на плате? Если нет, то как это можно сделать?

электросхема есть на сайте, согласно ей, на гребенку внешнего разъема выведены 3 уарта, можно ли достучаться до 4-го - не знаю, надо читать даташит и смотреть в схему..

Цитата
2. RS232 на плате, который используется для консоли - это реализация 1 из 4 UART?

нет, это dbgu - отладочный порт. как с ним работать - опять же в даташите..

Цитата
3. Правильно ли я понимаю, что я могу получить от UART как раз нужные мне порты?

полный вроде только первый (rx,tx,rtc,dtr etc), остальные чисто rx/tx

Цитата
4. Какие уровни у этих UART, т.е. мне для соединения с устройством (TTL 3В) нужен MAX?

уровни на выводах 3в3, сопрягал с gps приемником и другим АРМом - без проблем
MAX нужен для сопряжения с компьютерными портами, мышами и другой серийной нечистью по стандарту rs232

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux