Типичный сценарий, но вы остановились на полпути.
Я сам в основном такими же проектами занимаюсь. И тоже никогда еще не получал полного ТЗ.
Однако я в плане масштабируемости системы закладываю гороздо больше возможностей.
Я резервирую коммуникационные каналы и не ограничен в количестве добавляемых входов-выходов.
Вы же ограничены количеством ног своей ПЛИС (речь наверно идет о CPLD) причем на ней вы не сделаете ни CAN ни Ethernet ни АЦП.
Покупаете вы свою ПЛИС за несколько баксов.
Я за такие же деньги ставлю STM32, получаю дополнительно CAN, I2C, USB, ADC, PWM, могу легко гальваноизолировать процессоры друг от друга, повышаю общую пролизводительность системы.
Сопроцессор может делать сложную предобработку сигнала, скажем считать RMS, гармоники, детектировать огибающие. Т.е. реально распределяю нагрузку между процессорами и повышаю общую производительность системы.
Вы же с вариантом с CPLD все по прежнему нагружаете на один проц и по сути возможностей масштабирования не получаете.
Т.е. есть, если ваш заказчик скажет завтра что ему надо в 10-ть раз больше разных входов-выходов и более быстрых, то у вас видимо будет очень большая проблема, практически новый проект.
Вашу проблему с перемычками не понял. Если речь идет о тюнинге после обнаружения схемных ошибок, то не вижу как тут могут помочь CPLD? Ошибки то возникают по всей схеме, а не только возле ног CPLD.
Цитата(alexander55 @ Oct 16 2007, 09:25)

Когда я его начинал, не было ТЗ и ясности (ни по количеству входов-выходов, ни по алгоритмам управления, ни поразрядностям АЦП и т.д.). Чтобы не сорвать сроки всю документацию требовалось сделать быстро (схемы, разводка печатных плат, стенд для проверки и согласование ТЗ с заказчиком, чтобы он потом не наезжал). Наработки у меня по развязанным адаптерам связи, по PLC, по выносным пультам дистанционного управления, по программному обеспечению были.[/size]
Вот такая ситуация вкратце. Я сделал тупо каналы связи с uC, ADC c uC, а все сигналы дискретного типа в ПЛИС. К ПЛИС подключил внешние входы, выходы, силовые выходы, 12-разрядные ADC (внешний 8-канальный), конфигураторы и т.д. и т.п
Делать на нескольких uC контроллеры тоже можно было, но надо иметь четкое ТЗ (иначе возможны перемычки на платах).