Например TDA7294

Форум РадиоКот • Просмотр темы - несколько sync/async RS-232 -> UDP
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Чт мар 19, 2026 04:25:58

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Чт июн 14, 2012 21:32:35 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
Здравствуйте!
Подскажите, пожалуйста, правильно ли я мыслю.
Задача: есть несколько устройств (измерительные приборы), которые передают данные по протоколу RS-232, один из них работает в обычном асинхронном режиме (типа COM-порт), другой же в синхронном (HDLC-кадры). У меня есть задумка передавать эти данные по ethernet, в виде UDP пакетов, а потом обрабатывать на компьютере. Передавать что-либо от компьютера к устройствам ненужно, т.е. односторонняя передача.
На данный момент вижу такую реализацию:
вход1-->буферFIFO-\
вход2-->буферFIFO--->(ATMegaXXX)--<SPI-интерфейс>-->(модуль ENC28J60)--> TCP/IP сеть (UDP)
входN-->буферFIFO-/
Алгоритм вижу такой: Буфера-FIFO принимают данные от устройств, а микроконтроллер поочередно опрашивает их и передает содержимое по SPI на сетевой модуль.
Что использовать в качестве буферов? какие микросхемы? Необходимая скорость работы RS-232 в асинхронном/синхронном режиме 9,6-128Kbit. реальная скорость передачи данных меньше.
Правилен ли мой подход в принципе? Или правильнее использовать один микроконтроллер без входного буфера, и один сетевой модуль на каждый канал? Есть ли смысл использовать мегу с двумя USART? В перспективе возможно увеличение каналов мониторинга до, скажем, десятка. Как быть с точки зрения рационализации?


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 08:40:05 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Непонятно, зачем вообще здесь нужен еще какой-то буфер. Разве у атмеги нету своей памяти чтобы буферизовать приходящие данные? А вообще для такого кол-ва ком-портов я бы взял камушек посерьезнее типа многоножки STM32. У старших моделей и 5 USARTов и Ethernet на борту есть.


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 17:11:33 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
FoxBat писал(а):
которые передают данные по протоколу RS-232

Передают по запросу или когда им вздумается? Если по запросу, что логично, то можно поставить мультиплексор для RS-232 (видел такое самодельное). А имхо лучше каждому прибору 485 интерфейс. И компьютеру 485 интерфейс и не надо эзернета.


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 19:00:43 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
uk8amk писал(а):
Непонятно, зачем вообще здесь нужен еще какой-то буфер. Разве у атмеги нету своей памяти чтобы буферизовать приходящие данные?

т.е. что вы предлагаете?
uk8amk писал(а):
А вообще для такого кол-ва ком-портов я бы взял камушек посерьезнее типа многоножки STM32. У старших моделей и 5 USARTов и Ethernet на борту есть.

Это, возможно, будет следующая моя ступенька.


Последний раз редактировалось FoxBat Пт июн 15, 2012 23:33:55, всего редактировалось 1 раз.

Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 19:02:44 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
oleg110592 писал(а):
Передают по запросу или когда им вздумается?

Передают, когда вздумается.
oleg110592 писал(а):
А имхо лучше каждому прибору 485 интерфейс.

Нет, нужен именно езернет


Последний раз редактировалось FoxBat Пт июн 15, 2012 23:35:00, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 19:15:04 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Ну тогда или действительно STM32 (или другой микроконтроллер) с нужным количеством UARTов. Или на каждый прибор по меге (например мега48) и одна центральная мега, забираюшая данные с других мег, например по SPI и отправляющая эти данные по эзернету.


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 19:34:40 
Мудрый кот
Аватар пользователя

Карма: 24
Рейтинг сообщений: 286
Зарегистрирован: Чт июн 10, 2010 08:55:35
Сообщений: 1810
Откуда: Сибирские Афины
Рейтинг сообщения: 0
oleg110592, поддерживаю. Вот только мега48 зачем?
Тут и тини2313 хватит за глаза. 128 байт ОЗУ - половину смело можно под FIFO буфер отдать (о котором тут упоминалось). Приём/передачу сделать на прерываниях.
Т.е. несколько тинек2313 подчинёнными (slave) на SPI. SPI запустить на 1...4МГц, чтобы заведомо успевать обмениваться. Ну и что-нибудь вроде меги16 (или поболее) в качестве центрального, главного на SPI, и передающего по езернету. Если это будет на одной плате, ну или достаточно близко размещено, то всё очень даже может получиться.

Вот только по езернету просто так? Или по tcp/ip? Если последнее, то может и меги32 не хватить. (что-то я не помню ТТХ софта TCP/IP для маленьких МК, поправьте кто знает)

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 20:25:00 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
Спасибо, идея понятна. Думал, может есть готовые FIFO с буферной памятью.
Kavka писал(а):
Вот только по езернету просто так? Или по tcp/ip? Если последнее, то может и меги32 не хватить. (что-то я не помню ТТХ софта TCP/IP для маленьких МК, поправьте кто знает)

Думаю, по UDP. Тут вот в 88-ую мегу целый HTTP-сервер запихали.


Последний раз редактировалось FoxBat Пт июн 15, 2012 23:35:28, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 20:59:19 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
Вот только мега48 зачем
у нас сложилось так что мега48 дешевле тиней (кроме 13) а USART tiny2313 не пересекается с ли с SPI? Нет, посмотрел - с I2C пересекается. Не помню - чем-то SPI в тини2313 мне не подошел.
а для эзернета я б применил что-то типа готового модуля WIZ810MJ - подключал такой к меге по SPI - прекрасно работает.


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Пт июн 15, 2012 23:27:56 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
oleg110592 писал(а):
а для эзернета я б применил что-то типа готового модуля WIZ810MJ

А чем плох ENC28J60?


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Сб июн 16, 2012 06:00:45 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 482
Зарегистрирован: Сб сен 10, 2011 17:46:25
Сообщений: 3832
Рейтинг сообщения: 0
W5100 аппаратно реализует TCP, UDP, IPv4, ICMP, ARP, IGMP и MAC.
скорость как 100 так и 10 (автоопределение), потребление 185mA(3.3V)
ENC28J60 я не пробовал, но вначале почитал интернет - отзывы - глючная, много жрет, греется
ну и это почитал:
Существуют два основных варианта шилдов для работы с Ethernet — на основе старого доброго чипа ENC28J60 от Microchip и более совершенного W5100 от Wiznet. Оба решения используют для обмена шину SPI, отнимая всего четыре пина Arduino. Но ENC28J60 появился много раньше и явно проигрывает продвинутому W5100: только 10 Мбит/с, нет аппаратной поддержки IP, UDP, TCP. Кроме того, W5100 позволяет работать с четырьмя сокетами (что означает поддержку до четырех одновременных соединений).
В общем, настоятельно рекомендую использовать именно W5100, потому что он существенно экономит ключевой ресурс микроконтроллера — оперативную память (SRAM), которую приходится экономить (у Atmega328 — всего один килобайт). Ну и все остальные преимущества предобработки налицо: пока W5100 сам переспрашивает пакеты по протоколу TCP и считает контрольные суммы заголовков, Atmegа может спокойно заниматься более важными вещами.(c)

Ну и цена за готовый модуль, у буржуев - 19.50$ http://www.saelig.com/BRD/ETH027.htm
еще, правда не пробовали закупать - пока не знаю во сколько обойдется с доставкой


Вернуться наверх
 
 Заголовок сообщения: Re: несколько sync/async RS-232 -> UDP
СообщениеДобавлено: Сб июн 16, 2012 09:17:14 
Первый раз сказал Мяу!

Зарегистрирован: Вт ноя 02, 2010 22:57:01
Сообщений: 22
Откуда: Рига
Рейтинг сообщения: 0
Цитата:
W5100 аппаратно реализует TCP, UDP, IPv4, ICMP, ARP, IGMP и MAC.

Спасибо за инфу!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Форум закрыт Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y