2 toshas Ресурсов меги16 вполне достаточно. По прерыванию принимаешь отсчёты побайтно от внешнего ацп и складываешь в буфер buf_0. Одновременно по прерыванию осуществляешь передачу по usart предварительно заполненного буфера buf_1. Причём, скорость передачи по usart должна быть больше или равна скорости оцифровки сигнала, то бишь, работы spi. Если скорость ~100к, то смело можно писать на C. Если выше, то только asm. И не надо бояться если тебе надо будет обеспечить нестандартную скорость, скажем, 220кбит/с по usart. Как со стороны компа, так и со стороны контроллера это обеспечить просто.
avr32 писал(а):2 toshas Ресурсов меги16 вполне достаточно. По прерыванию принимаешь отсчёты побайтно от внешнего ацп и складываешь в буфер buf_0. Одновременно по прерыванию осуществляешь передачу по usart предварительно заполненного буфера buf_1. Причём, скорость передачи по usart должна быть больше или равна скорости оцифровки сигнала, то бишь, работы spi. Если скорость ~100к, то смело можно писать на C. Если выше, то только asm. И не надо бояться если тебе надо будет обеспечить нестандартную скорость, скажем, 220кбит/с по usart. Как со стороны компа, так и со стороны контроллера это обеспечить просто.
В любом случае, тебе без буферизации при приёме выборок от ацп и буферизации при передачи не обойтись если хочешь обрабатывать непериодический сигнал в реалтайм. И желательно данные критические по времени процедуры писать на asm.