Доброго всем ! Вот решил посоветоваться с людьми знающими . Проблема ( даже не проблема пока , наверное , а вопрос ) в следующем . Необходимо построить модуль , предназначенный для сопряжения компьютера с оборудованием . Для соединения используется стек TCP/IP реализованный аппаратно посредством модуля на чипе Wiznet 3150 . Разрядность шины данных чипа - 8. Внутренний протокол управления и обмена между модулем и устройствами - 32 разрядный , реализован аппаратно на ПЛИС. Микроконтроллер ( LPC 2214 ) используется для инициализации стека и управления стеком и ПЛИСАМИ . Посоветуйте пожалуйста , как быстрее организовать преобразование 8 разрядных посылок из стека в 32 разрядные посылки протокола . У меня 2 варианта :
1) По портам ввода-вывода данные из стека гнать в микроконтроллер , там программно преобразовывать в 32 разрядные посылки , и по 32 разрядной шине данных гнать на ПЛИС.
Не будет ли в таком случае МК занят только перекачкой данных ?
2) Данные со стека завести напрямую на ПЛИС , а в ПЛИС реализовать что - то вроде преобразователя 8 разрядных посылок в 32 разрядный код. Связь же между стеком и микроконтроллером организовать по шине данных МК ( связь необходима для организации управления модулем со стороны управляющей проги , исполняемой на компьютере ) . Поскольку управляющие посылки приходят намного реже информационных , это разгрузит МК.
Получу ли я выигрыш в скорости обмена , если для обмена использовать не порты ввода-вывода , а шину данных и если получу , то насколько существенный ?

По поводу организации управления ПЛИСАМИ . Управляющие сигналы к ПЛИСАМ и ответные с ПЛИС реализуются путем использования портов ввода-вывода. Опять же интересует вопрос - придется контролировать сигналы от ПЛИС , постоянно опрашивая состояние портов , а не будет ли быстрее делать это через прерывания ? Но прерывания планируются довольно часто - проблема в том , что если данные заводятся на ПЛИС напрямую со стека , то увеличение / уменьшение адреса в буфере стека для считывания очередной 8 - разрядной посылки производится МК. Таким образом , для передачи 32 разрядной посылки необходимо со стороны ПЛИС вызвать в МК 4 прерывания ( ПЛИС принимает посылку - прерывает микроконтроллер - МК по прерыванию увеличиваеи адрес в буфере стека ). Поскольку передавать придется довольно емкие потоки , то не выйдет ли подобная организация медленной ? Мне важна именно скорость передачи .


Может кто чего посоветует , подправит или предложит что -то новое . Повторюсь - мне важна максимальная скорость передачи .
Всем заранее благодарен !!!