- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二 蜂鸣器控制实验
实验材料(试用,仅供内部使用,有问题请及时联系) 电子科学与技术系 童超
实验目的
1 了解ARM 处理器PWM接口的处理机制 2 掌握在S3C2440A 平台下进行PWM 接口应用编程
实验设备
1 硬件:SinoSys-EA2440a 实验平台,PC 机 2 软件:ADS1.2 开发工具,DNW 工具
由于 PWM 寄存器相对较多,不需要全部使用,只需要使用系统需要的即可。本系统中 最为重要的是 TCNTB0 和 TCMPB0,TCNTB0 决定着 PWM 的脉冲频率,而 PWM 的宽度 则由 TCMPB0 决定。一般来说,如果要得到一个较高的 PWM 的输出值,就需要增加 TCMPB0 的值,如果说输出反转器被时能,那么增加和减少的结果也是反转的。基于双缓冲器的特性, 下一个 PWM 周期的 TCMPB0 的值可以通过中断或者其他手段在当前 PWM 周期中任何一 点写入。 3.4 设置占空比和输出频率
报警器采用 TOUT0 作为其脉冲输入信号,通过修改 TCFG0 和 TCFG1 设置预分频值和 计时器分割器的选择(可查询表 3.2),占空比(rate)由 TCNTB0 和 TCMPB0 决定 其值的计算公式如下:
div=PCLK/{pre value+1}/{div value}/freq {pre value+1}=0~255 由 TCFG0 决定 {div value}=2,4,6,8,16,32 由 TCFG1 决定
rate={cmp value}/{tcn value} 最终的 value 由 div 和 rate 生成,即
value=div*rate //rate<1; 实验流程图(简化)分析如下,设置 TCNTB0 为 180(70+110),设置 TCMPB0 为 110, 设置人工加载位、配置极性转换位。同时设置下一次 TCNTB0 为 80(40+40),设置 TCMPB0 为 40 作为下一次定时的参数。定时器延迟一定时间后定时器下降计数器开始计数,当 TCNTB0 和 TCMPB0 数值一致时,TOUT0 的逻辑将由低变高。当 TCNTB0 计数为 0 时, 定时器中断打开,同时将寄存器数据更新,从而继续上一次操作。从而形成了下图的波形图,
实验任务
实现功能: 1 点击键盘的“+”号提高蜂鸣器频率,点击“-”号则降低频率。 2 通过 ADS1.2 建立工程,编译。程序通过 ICE 仿真器调试。调试完成后通过 DNW 直接下 载到实验板上运行。
实验原理
3.1 概述 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,其广泛
3.6 实现过程和结果 参考\SourceCode\Interface\beep_test 的程序。其中大部分的代码已经给出,请参考上
面的原理和 s3c2440 的手册,写出实验代码并完成实验。
3.3 PWM 相关寄存器介绍 PWM 的寄存器共有 17 个,相应的寄存器分为 5 组,分别为配置和模式选择寄存器
(TCFG0~TCFG1),定时器计数缓存寄存器(TCNTB0~ TCNTB4),定时器比较缓存寄存器 (TCMPB0~ TCMPB3),定时器控制寄存器(TCON),定时器计数观测寄存器(TCNTO0~ TCNTO4)。
PWM 控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用 的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限 , 结合现代控制理论思想或实现无谐振软开关技术将会成为 PWM 控制技术发展的主要方向之 一。 3.2 S3C2440 的 PWM
由于 PWM 的实际应用和相关寄存器非常之多,因此本文仅仅介绍和使用本系统所使用 的相关概念和使用方法。PWM 控制器主要有 4 个特征:1、由 5 个 16 位定时器、2 个 8 位预 分频器以及 2 个 4 位分割器组成;2、拥有自动重载模式或者单击脉冲模式;3、可编程控制 输出波形;4、死区发生器。其中除了定时器 4 以外,其余三个均具有脉宽调制(PWM)功能, 定时器 4 仅仅是一个内部定时器,没有输出引脚。开发板定时器结构框图如下:
此时报警器会根据所设置的频率发出不同大小的声音,已基本实现所要功能。
1
3
定时器 0
70
110
Biblioteka Baidu
40
3.5 蜂鸣器接口电路 系统的报警器电路就是由平台将 S3C2440 的定时器 0 的脉冲输出端口(TOUT0)GPB0
与报警器的脉冲输入端口相连。在系统初始化时,就要进行 I/O 端口初始化,设置端口控 制寄存器(将再下面讲到),将 GPB0 设置为工作方式 1,并设置为输出状态。 控制电路如 图所示,
应用在从测量、通信到功率控制与变换的许多领域中,是利用微处理器的数字输出来对模拟 电路进行控制的一种非常有效的技术。脉冲宽度调制是一种模拟控制方式,从物理意义上说, 其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或 晶体管导通时间的改变,从实际使用上说,其通过高分辨率计数器,将方波的占空比来编码 一个具体的模拟信号。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微 处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。