Цитата(zltigo @ Jun 14 2008, 15:40)

У мня мало контроллеров без FPGA, но большая часть FPGA у меня подключена именно по SPI - 15..30 MHz при 16bit совсем не плохо, а размеры-цена и контроллера, и FPGA тоже имеют значение. FPGA c 'лишними' даже несколькими десятками выводов будет кроме выводов иметь на борту больше ресурсов и стоить больших денег. Я отнюдь не считаю каждую копейку, поскольку прежде всего важно развитие и последующая модернизация, но выбрасывать деньги на многократный "про запас" и ресурсы людей на хотя-бы ту-же аккуратную разводку дополнительных десятков проводов (c потенциальной вероятностью возникновения дополнительных проблем)не люблю.
Почти согласен, кроме одной фишки - tracing.
Для отладки сложных систем в реальных условиях мне нужен максимально подробный "лог" работы системы реальном времени. Причем в условиях автонома. Т.е. пусть к контроллеру и будет подключена какая-то железяка, но без пЫсюков, супер-мега JTAG тулзов и пр.
В варианте FPGA на шине (подключение которой, к тому же, уменьшит число IO портов, но не "прибьет" периферию, как это часто бывает в других контроллерах) я могу посадить в эту FPGA SDRAM контроллер и сделать так. В нужном месте процессор пишет по адресу какой-нибудь U16. Делается это просто, с учетом дополнительных команд на запрет/разрешение прерывания, в AVR тактов за 10 получится. В FPGA к этим данны приписывается еще значение U64 какого-нибудь внутреннего счетчика, и это попадает в FIFO. От туда в SDRAM. Там оно может храниться, а может быть перекачано при помощи отдельного процессора, подрубленного "с другой стороны" FPGA, в какой-нибудь FLASH.
Ну и для пущей точности, я могу подрубить GPS, и понему синхронизировать внутренний таймер, так что засечки разных приборов у меня будут синхронизирваны с точностью 1 мкс без больших напрягов.
В результате, развернув, например, в реальных условиях радиосеть из мелких девайсов, я спустя неделю пройдусь по ним, заменю автомобильные аккумуляторы (вместо которых в реальных условиях будут CR2032) и передерну SD карточки.
Далее я всасываю логи в большой SQL сервер, и анализирую, все, что у меня творилось в сети. И сразу видно, как разные глюки смотрелись с точки зрения разных девайсов в сети.
Разумеется, перед этим я изнасилую свою радиосеть в синтетических симуляторах по полной программе

, но симуляция лишь дополняет натурный эксперимент.
Вот для таких точных засечек SPI не пойдет. А параллельная шина самое то.
В боевом устройстве я просто разведу плату по другому, возьму малоногий кристалл, и в программе ничего не изменится - только уберу "засечки".
Цитата(zltigo @ Jun 14 2008, 15:40)

Еще о "внушительной периферии" - тут у меня работенка ну очень микромощная висит, только вот XMEGA там не играет совсем - среди "внушительной периферии" не нашлось контроллера LCD.
Странный подход. При изобилии OLED и LCD девайсов со встронным контроллером нормальная внешняя шина куда важнее, чем встроенный LCD контроллер