через ноль (например, с отрицательного значения в
положительное) по прерыванию микропроцессора (внешнее прерывание по
фронту). В данной СИФУ синхронизация осуществляется один раз за период
сетевого напряжения (20мс).
Рассмотрим алгоритм работы одноканальной СИФУ на примере 16-
разрядного цифрового сигнального процессора ADMC300 фирмы Analog
Devices, структурная схема которого показана на рис. 9 (СИФУ на других
процессорах реализуется аналогично). Для отсчета угла управления
используется программируемый таймер, который генерирует периодические
прерывания с интервалом, кратным циклам процессора. Таймер ADMC300
имеет регистр счета TCOUNT, регистр периода TPERIOD и регистр
масштаба TSCALE. Содержимое 16-разрядного счетчика TCOUNT
декрементируется в каждые k циклов (k-1 является коэффициентом
масштабирования, значение которого хранится в 8-разрядном регистре
масштабирования TSCALE). Когда значение в регистре счетчика становится
равным нулю, генерируется прерывание, а затем в регистр счетчика
загружается значение из 16-разрядного регистра периода TPERIOD.
Прерывание происходит через каждые (TCOUNT+1)(TSCALE+1) тактов.
Запись нового значения в регистр TSCALE или TCOUNT оказывает эффект
незамедлительно. При записи нового значения в регистр TPERIOD никаких
изменений не происходит до перезагрузки регистра TCOUNT. Импульс
управления выдается в момент прерывания при обнулении регистра счетчика
таймера. Регистры таймера настраиваются таким образом, чтобы в
установившемся режиме таймер выдавал прерывания через время, равное
периоду дискретности УВ, т.е. каждые 0,0033с при