Цитата(Alexashka @ Aug 17 2012, 23:20)

Т.е второй таймер генерит постоянно, а первый вырабатывает чип селект такой длительности, чтобы в его активный период уложилось ровно 128 импульсов второго таймера. Я правильно понял идею?
В целом да, только чипселект вырабатывается исходя из того чтобы он был неактивен на время (t
1max + t
CONVmax) - это максимальное время после подачи импульса на линиях CONVST когда АЦП выдает сигнал BUSY, в оставшееся время t
CYCLE - (t
1max + t
CONVmax) он активен и за это время второй таймер должен выдать 128 импульсов.
Цитата
В случае если писать все на таймерах то непонятно где вызывать прием данных.
PDC выставляет флаг ENDRX flag is set when the PERIPH_RCR register reaches zero по заполнению текущего буфера, а spi генерирует прерывание SPI Interrupt Enable Register - ENDRX: End of Receive Buffer Interrupt Enable
продолжая заполнять второй скопировав и обнулив SPI_RNCR, SPI_RNPR - я же приводил цитату из даташита, в обработчике нужно записать новое значение в SPI_RNCR, SPI_RNPR и сделать необходимые манипуляции с данными и так по кругу.
PS для BUSY будет просто t
CONVmax без t
1 - просмотрел где стрелка на диаграмме заканчивается
Сообщение отредактировал sasamy - Aug 17 2012, 22:07