SashaMaks> Пока оценил лишь возможности записи на флешку от XMega, тянет примерно на 4МБайта/сек, что соответствует предельной скорости процессора в 32МГц. Т.е это только примерно 4000Гц данных в 2-х байтовом типе можно сейчас позволить себе, чего мне пока и хватит. Остальное буду делать уже на STMе...
Немного ошибся, запамятовал тут
Топлива на нитрате натрия. [SashaMaks#03.12.14 14:41] результаты своего тестирования: "Всё ещё усугубляется 8 битностью XMegи, ей для этого нужно в общем случае где-то до 6000 тактов!"
4000Гц записанных данных - то, что примерно получилось по факту при последовательной равномерной записи одного не суммированного измерения с АЦП. Поскольку на флешку отсылается буфер объёмом 512 байт (2 байта - измеренное значение с АЦП и 510 пустых байт), то максимально возможная скорость записи на флешкарту на ATXMega составляет где-то 2МБ/с. Другие 2МБ/с съедаются 8-битностью контроллера.
Невозможность реализации большей частоты записи данных на флешкарту, чем 4000Гц обусловлена недостаточной скоростью работы ЦП. Чтобы записывать все 200кГц данных с АЦП в таком режиме без DMA нужна частота ЦП равная примерно 1600МГц. В противном случае возникнут задержки во времени, как это было видно на приведенных мной графиках. Именно 1600МГц будет достаточно, чтобы между каждым измерением АЦП проходило 8000 тактов, необходимых для осуществления записи буфера данных на флешку.
Прошу не путать потребные частоты 32МГц и 1600МГц. Им соответсвуют разные условия записи данных с помощью ЦП.
Запись с частотой 32МГц может дать скорость записи до 2МБ/с, но данные будут записаны
с неравными временными промежутками.
Это абсолютно не важно для просто записи файловых данных.
Запись с частотой 1600МГц даёт запись данных всех 200кГц значений АЦП
с равными промежутками времени.
Это абсолютно важно для записи измеренных во времени данных с равными промежутками времени.