Подскажите, пожалуйста, правильно ли я мыслю.
Задача: есть несколько устройств (измерительные приборы), которые передают данные по протоколу 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? В перспективе возможно увеличение каналов мониторинга до, скажем, десятка. Как быть с точки зрения рационализации?


