无线电电子与电气工程百科全书 AVR 上的双音多频 (DTMF) 发生器。 无线电电子电气工程百科全书 差异性
介绍 本文档介绍了如何使用任何包含脉宽调制 (PWM) 模块和 SRAM 的 AVR 微控制器生成 DTMF(双音多频)信号。 这些信号广泛应用于电话领域,当您按下电话机的拨号按钮时就会播放这些信号。 为了正确生成 DTMF 信号,必须将两个频率叠加在一起:低频 (fb) 和高频 (fa)。 表 1 显示了按下不同按键时如何混合不同频率以产生 DTMF 音调。
表 1. 色调整形矩阵
表 1 的行表示低频值,列表示高频值。 例如,矩阵显示按下按钮“5”应混合频率 fb = 770 Hz 和 fa = 1336 Hz。 两个不同频率的正弦信号相加,形成DTMF信号 (1) 其中幅度比 K=Ab/Aa 源信号必须满足条件 (2) 工作原理 除了有关使用脉宽调制的一般信息之外,下面还将介绍脉宽调制如何允许您生成正弦信号。 以下段落介绍如何使用基本 PWM 频率获得不同的频率。 在考虑了理论基础之后,将给出 DTMF 信号发生器本身的描述。 正弦信号的生成 根据高 VH 和低 VL 电压电平的持续时间比率,PWM 输出的平均值会发生变化。 如果两个电平的持续时间之比保持恒定,则结果将产生恒定电压电平VAV。 图 2 显示了脉宽调制信号。
电压电平由以下表达式确定: (3) 如果脉宽调制产生的电压平均值在每个 PWM 周期发生变化,则可以生成正弦信号。 高低电平的比例必须根据相应时刻正弦信号的电压电平来设定。 图 3 说明了此过程。 计算每个周期的 PWM 初始数据并记录在转换表 (TP) 中。 图 3 还说明了基波正弦波的频率与样本数量之间的关系。 样本数量 (Nc) 越高 - 所得信号的建模精度越高: (4)
PWM 频率取决于 PWM 分辨率。 在 8 位分辨率下,定时器的最终值(计数顶部)为 0xFF (255)。 因为定时器向上和向下计数,该值必须加倍。 因此,可以通过将定时器时钟 f 分频来计算 PWM 频率CK 510。因此,当定时器时钟频率为 8 MHz 时,所得 PWM 频率将为 15.6 kHz。
改变正弦信号的频率 假设不是按顺序从查找表中读取正弦样本,而是一次读取一个。 在这种情况下,在相同的采样率下,将生成双倍频率的信号(见图 4)。
以此类推,如果不是每隔一秒读取一次值,而是每隔第三、第四、第五(步长分别为3、4、5……)等读取一次。 可以生成 [1/T Hz .. 0 Hz] 范围内的 Nc 频率。 请注意,对于高频,所得波形将不是正弦波。 根据转换表的步长表示为XSW哪里 (5) 使用表达式(6)计算下一个 PWM 周期(当定时器溢出时)的 TP 中的当前位置。 X 位置的新值LUT 取决于其先前在位置 X' 的状态LUT 加上步长 XSW (6)
添加不同的频率以获得 DTMF 信号 可以使用表达式(1)和(2)来生成DTMF信号。 为了算术运算简单,系数K的值取等于0.75,以用逻辑移位代替算术运算。 考虑表达式(6),可以通过以下表达式计算 PWM 控制的电流值: (7) 并考虑到 X卢塔=X'卢塔 + X瓦,X查找表=X'查找表 + X开关量,我们最后写 (8) 实现 DTMF 生成器 本附录讨论如何使用 8 位 PWM 输出 (OC1A) 和 128 个正弦函数样本表 (Nc) 构建 DTMF 音调发生器,每个样本由 7 位 (n) 指定。 以下表达式显示了这种依赖性,并显示了如何计算查找表的元素: (9) 使用7位的优点是高频信号值和低频信号值之和为一个字节大小。 为了支持全套 DTMF 音调,必须计算表 8 中每个 DTMF 频率的 1 个值并将其输入到转换表中。 为了达到更高的精度,做了如下解决方案:表达式5计算的值只需要5个字节。 要使用全部 8 个字节(这将减少舍入误差),请将该值乘以 8。以相同的方式写入指向转换表的指针。 但在这种情况下,需要两个字节来存储 8 倍的值。 这意味着在使用这些字节作为指向正弦曲线值的指针之前,必须执行 3 次右移和 Nc 基模运算(Nc-1 的逻辑乘法) (10)
PWM 信号在 OC1A (PD5) 引脚处生成。 附加的输出滤波器将有助于更好地匹配正弦波形。 随着 PWM 频率降低,可能需要使用具有更陡峭频率响应的滤波器才能获得良好的结果。 键盘的连接如图1所示。键盘的操作必须以能够确定按下的键的方式组织。 这可以使用以下算法来完成:
注:STK200 在 PORTB 连接器引脚和微控制器引脚 BP5、PB6 和 PB7 之间串联了电阻器(请参见 STK200 原理图)。 如果键盘连接到 PORTB 连接器,这将导致问题。 图6说明了用于确定按下的键的子程序的操作。 根据按下的键,确定间隔的持续时间。 中断例程使用该值来计算两个 DTM 音调正弦波的 PWM 设置。 中断处理流程如图7和图8所示。 该例程计算一个值,与下一个 PWM 周期的定时器输出进行比较。 中断例程首先计算查找表中下一个样本值的位置并读取存储在那里的值。 样本在查找表中的位置由脉冲持续时间确定,而实际脉冲持续时间由生成的频率确定。 写入定时器比较寄存器的最终值由公式(7)确定,其中考虑了两个 DTMF 频率的样本值。
出版:cxem.net 查看其他文章 部分 电话. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 世界最高天文台落成
04.05.2024 利用气流控制物体
04.05.2024 纯种狗生病的频率并不比纯种狗高
03.05.2024
其他有趣的新闻: ▪ 身体放大声音
免费技术图书馆的有趣材料: ▪ 文章 一个简单的商人与美国内战的开始和结束有何关系? 详细解答 本页所有语言 www.diagram.com.ua |