PWM音频驱动.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PWM音频驱动

宁波理工学院 嵌入式设计(论文) 项目名称: PWM音频驱动 专业班级: 07电信2班 组 员: 陈情柯 3070432048 吴国炎 3070432040 郦秋阳 3070432056 任甲元 3070432053 金刚明 3070432047 指导教师: 张 德 荣 PWM音频驱动 一、任务描述 本次任务主要是用PWM波驱动蜂鸣器播放音乐。整个系统以PHILIPSLPC2290为核心,开发PWM音频驱动程序。软件要求需要能够使播放的音乐能清晰的辨别高低音和音符。 二、资料收集 2.1 ARM的PWM占空比控制 在对PWM占空比控制做介绍之前,我们先来了解下PWM的单边沿控制和PWM的结构。这两个是我们设计软件的基础。在对PWM的控制方面我们才用的是单边沿控制,PWM的结构主要反映了用程序控制产生可控制占空比的PWM波的过程。在了解了PWM的单边沿控制和PWM的结构后我们开始对讲如何来控制ARM的PWM占空比控制。 2.1.1 单边沿控制的PWM输出 单边沿控制PWM描述。2个匹配寄存器可用于提供单边沿控制的PWM输。一个匹配寄存器(PWMMR0)通过,匹配时复位定时器来控制PWM周期,另一个匹配寄存器控制PWM边沿的位置。每增加1路单边沿PWM输出,只需要再提供一个匹配寄存器即可,因为所有的PWM输出的速率都是相同的,都是使用匹配寄存器0来控制的。单边沿控制PWM输出在每个PWM周期的开始,输出都会变为高电平。下图为不同占空比的单边沿控制PWM输出。 所有单边沿控制的单边沿控制的PWM输出在PWM周期开始时都为高电平,除非它们的匹配值等于0,每个PWM输出在到达其匹配值时都会变为低电平。如果没有发生匹配(既匹配值大于PWM周期的值),PWM输出将一直保持高电平。我们从下图中可以看到这个单边沿控制PWM的规则。 2.1.2 PWM的结构 PWM的结构的方框图: 由上图可知PWM的控制输出的过程。映像寄存器中的值只有当所存使能寄存器(LER)使能时,才能到达匹配寄存器中,从而控制比较值。在控制中我们需要使能定时器控制寄存器的值(TCR)才能使预分频器(PR、PC)和定时计数器(TC)工作。只有当匹配寄存器中的值和定时计数器中的值相等时系统会产生中断(IR)和使能PWM控制寄存器(PCR)从而使方波翻转。 2.1.3 PWM的占空比的控制 为了更清楚的了解占空比的控制,我们先看下PWM定时器、预分频寄存器和预分频计数器的关系,从这下面这个关系图中我们能够更好的理解这个过程。 PWM定时器、预分频寄存器和预分频计数器的关系 由上图可知PWM预分频寄存器主要是对PCLK时钟信号进行分频,这个值的等于几就是原来信号的几分频,即只有时钟信号的个数达到预分频寄存器的值的时候PWM定时器才加1,当定时器的值等于匹配寄存器的值时PWM才翻转。从而控制了输出方波的频率,PWM的输出频率可以用公式计算得到: 我们可以利用上面的频率计算公式来计算输出方波的周期值和占空比的大小。 2.2乐谱相关的知识 蜂鸣器演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与,2(来)与……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让ARM发出相应频率的声音呢?我们采用的方法是通过ARM的PWM功能,通过PWM输出的方波来控制音高,从而让蜂鸣器发出声音,为了让ARM发出不同频率的声音,我们只需将PWM的周期和占空比予置不同的初值就可实现。那么怎样确定一个频率所对应的值呢?以标准音高A为例: A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,ARM需要控制的PWM输出的波形的匹配时间应为:t = T/2 = 2272/2 = 1136μ

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档