Цитата(Stas633 @ Apr 7 2007, 22:59)

Извините, за "тупость"... не "доходит"...
Не понятно как с помощью ld r16,z+ можно вывести данные в I/O порт? Я ожидал наличия команды out...
Мне представлялся вариант, когда для перебора адресов используется 16-битный counter, а значения его регистров выводятся в I/O порты. Но в этом случае для вывода адреса нужно более 4 тактов (ld r16,x+; out 0;ld r16,x; out 1;rjmp... например так).
Ну, это просто. Когда вы читаете из внешней памяти с помощью команды ld r16,z+, то МК выдает 16-битный адрес, что нам и нужно! Мы не читаем, мы просто выставляем адрес. Я ж вроде написал: фиктивная команда чтения, которая выполняется за 3 такта. Чтобы адрес стоял на шине 4 такта, надо добавить один такт ожидания.
Цитата(Stas633 @ Apr 7 2007, 22:59)

какой объем flash необходим?
Чтобы забить 8 КБ ОЗУ, программа чтения должна состоять из 2000 команд ld r16,z+. Ну а для 32 Квыборок - соответственно 8 КБ флеша. Тут конечно, стоит остановиться и спросить самого себя, а нужны ли нам такие длинные выборки(:-)? Скажем, 16000 периодов частоты 10 МГц, не слишком ли круто?
Цитата(Stas633 @ Apr 7 2007, 22:59)

Использование внешних триггеров определяет наличие как минимум одного корпуса МС.
Не о том надо думать. Эти два триггера в одном корпусе - 8-ногий корпус, крохи, о чём мы говорим? И не забыть, что ещё нужен регистр-защелка для формирования адреса.
Цитата(Stas633 @ Apr 7 2007, 22:59)

А что если увеличить кол-во внешних корпусов до 2-х? Поставить два 8-ми разрядных двоичных счетчика (74хх393) например, и с их "помошью" "перебирать" адреса. Тогда на "плечи" МК ляжет лишь мультиплексирование тактового сигнала (запись в ОЗУ из АЦП и чтение из ОЗУ в МК) и "обработка" полученных данных.
К сожалению, схема мгновенно разрастается. У меня есть схема цифрового осциллоскопа, собранного на такой логике: четыре 4-битных счётчика, мультиплексоры, еще куча всего. Плюс атмега8 для обработки данных и выдачи на дисплей. И не забыть про аналоговую часть и управление ею.