koyodza (16.10.2012 12:55, просмотров: 120) ответил Лeoнид Ивaнoвич на Расчеты у Вас неправильные. Для того, чтобы полностью использовать разрешающую способность ЦАП, количество точек таблицы должно быть в 2*pi раз больше количества квантов ЦАП (для синуса), иначе ухудшается отношение сигнал/шум.
всё верно, кроме выводов о загруженности процессора буфер нужно заполнять не быстрее, а заканчивать его заполнение раньше. Теоретически заполнять его можно с той же скоростью, что происходит выдача (не медленнее), только чем дольше он заполняется, тем меньше свободного времени остаётся.
Но ждать ничего не нужно, когда половина буфера будет выдана, получите прерывание, и заполняйте себе освободившуюся часть. Зато здесь не нужно ждать выдачи в ЦАП, значит само заполнение может происходить быстрее. Например, период выдачи 10 мксек, вход-выход в прерывание 1 мксек, буфер 100+100 отсчетов, значит, прерывание будет происходить раз в 1 мсек, а математика позволяет, допустим, тратить на один отсчет 2-3 мксек, пусть в среднем 2,4 мксек, значит буфер заполнится за 240 мксек, остальные 758 мксек можно делать что-то другое.
В случае же прерываний по каждому отсчету получится 4-5 мксек на каждый отсчет, соответственно процессор будет занят 44% времени вместо 24,2%
Кроме того будут жесткие требования к джиттеру прерываний и к возможности обработки других прерываний.
Ну а про монопольное выполнение вообще говорить смысла нет, тут всё очевидно и так