Генерация и распознование DTMF-сигналов


чиной этого является конфликт прерываний таймеров. Тем не менее, требуемая точность ±1.8 % выполняется с большим запасом.

Если используются 8-битный таймер и таймер - порт Timer Port timer на системной частоте MCLK1.048 МГц, то частоты «нижней» группы генерируются с точностью не хуже 0.3 %. Для частот «верхней» группы на практике получена девиация не выше 0.5 %.

Единственное исключение - символ DTMF "D", для которого генерируются наивысшие частоты. В результате этого, в данной комбинации частота «верх­ней» группы 1633 Гц имеет отклонение в -0.97 %.

Без учёта этого исключения, даже самая высокая частота 1633 Гц гене­рируется с точностью лучше 0.5 %. Максимальные девиации для различных частот приведены в таблице:

 

«Нижняя» группа частот «Верхняя» группа частот
Частота, Гц Макс, девиация Частота, Гц Макс, девиация
-0,28% +0,33%
-0,13% +0,45%
±0,12% ±0,14%
-0,21% -0,97%

Если для генерации частот используется таймер Timer_A, ошибка будет зависеть от используемой частоты MCLK:

 

MCLK, МГц 1,048 2,096 3,144 3,800
Умножитель FLL
697 Гц +0,027% +0,027% +0,027% +0,027%
770 Гц -0,015% -0,016% +0,033% -0,016%
852 Гц +0,059% -0,023% +0,005% +0,031%
941 Гц +0,029% +0,029% +0,029% +0,035%
1209 Гц -0,079% +0,036% +0,036% -0,003%
1336 Гц +0,109% -0,018% +0,025% +0,025%
1447 Гц -0,009% -0,009% -0,009% -0,009%
1633 Гц +0,018% +0,018% +0,018% +0,018%