Цитата(amoralex @ Nov 29 2005, 11:07)

Есть несколько входных каналов RS232, на каждом стоит по микропроцессору, анализирующему приходящие данные. Как только сформировался пакет данных его необходимо передать на выходной канал. Следующий пакет данных допускается потерять, с учетом затрат на пересылку.
Есть один выходной канал RS232, на нем хочется, чтобы последовательно (по мере приема сформировавшихся пакетов) шли данные со входных каналов.
Совсем не ясен момент как организовать пересылку данных со входных микропроцессоров на выходной канал... Напрямую через микроконтроллер или через буферную память?
Извините за ... но все - же. Если Вам лень написать десяток строк, то подумайте о тех, кто эти посты читает. Мы хотим Вам помочь, а иногда так получается, что бесполезно тратим свое время! Надо грамотно поставить условие задачи. А оно такое:
есть сеть из N микроконтроллеров.
И вот далее - сколько есть данных и с какой скоростью относительно канала передачи они поступают.
Надо описать то, как они расположены и их физическую реализацию.
Требуется определить протокол передачи данных.
Простейший вариант - один мастер. Он опрашивает слэйвы, и они отдают ему информацию. Нет никаких буферов и потерь пакетов. Но могут теряться данные в слэйвах, если размер памяти их буфера мал.
Более сложный вариант - опрос по запросу. Запрос можно сделать аппаратный, сложить все по ИЛИ и анализировать запрос прерывания от этих входов. Далее опрашивать того, кто имеет более высокий приоритет или любого.
Далее идут варианты с несколькими мастерами и с передачей эстафеты. Но это и гораздо сложнее в отладке.
Только после того, как будет определен протокол общения между процессорами, надо определить как будут передаваться данные от одного процессора к другому.
Как будет формироваться начало и конец кадра. Этот признак можно посылать как аппаратный флаг - сигналом. Можно произвести избыточное кодирование данных. Можно сделать как в LIN. По поводу LIN - скоро повешу у себя на сайте верстку статьи о LIN. Можно вводить большую паузу.
Теперь самое простое - физическая реализация линии связи. Точка- точка т.е. звезда, общая шина или комбинации. Уровни сигналов в линии - все зависит от скоростей, расстояний, помех и конструкции.
Удачи!