完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一。 PWM练习
1. PWM简介 PWM是 Pulse Width Modulation 的缩写,中文意思就是脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式。 其原理图如下: STM32F1除了基本定时器TIM6和TIM7,其他定时器都可以产生PWM输出 。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出 。而通用定时器也能同时产生多达 4路的 PWM 输出,这些在定时器中断 章节中已经介绍过。 PWM的输出其实就是对外输出脉宽可调(即占空比调节)的方波信号 ,信号频率是由自动重装寄存器 ARR 的值决定,占空比由比较寄存器 CCR 的值决定。PWM输出比较模式总共有8种,具体由寄存器 CCMRx 的位 OCxM[2:0] 配置。我们这里只讲解最常用的两种PWM输出模式:PWM1和PWM2,其他几 种模式可以参考《STM32F10x中文参考手册》13、14、15定时器章节。 2. PWM输出配置 1)配置使能端口时钟,设置引脚复用器映射 2)初始化定时器参数,包含自动重装值,分频系数,计数方式等 初始化PWM输出参数,包含输出极性,使能等 3)开定时器 4)之后在主函数中控制占空比 4.演示效果 a. 模拟示波器显示 选择魔术棒–Debug–配置如下 示波器配置如下: 显示效果: b. 示波器显示 c. 实物效果 二。 DAC练习 1. DAC简介 DAC为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与ADC相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由DAC输出电压模拟信号,该电压模拟信号常常用来驱动某些执行器件,使人类易于感知。如音频信号的采集及还原就是这样一个过程。 STM32具有片上DAC外设,它的分辯率可配置为8位或12位的数字输入信号,具有两个DAC输出通道,这两个通道互不影响,每个通道都可以使用DMA功能,都具有出错检测能力,可外部触发。 DAC模块图如下: 整个DAC模块围绕框图下方的**“数字至模拟转换器x”**展开,它的左边分别是参考电源的引脚:VDDA、VSSA及Vref+,其中STM32的DAC规定了它的参考电压Vref+输入范围为2.4–3.3V。“数字至模拟转换器x”的输入为DAC的数据寄存器“DORx”的数字编码,经过它转换得的模拟信号由图中右侧的“ DAC OUTX”输出。而数据寄存器“DORx“又受“控制逻辑”支配,它可以控制数据寄存器加入一些伪噪声信号或配置产生三角波信号。图中的左上角为DAC的触发源,DAC根据触发源的信号来进行DAC转换,其作用就相当于DAC转换器的开关,它可以配置的触发源为外部中断源触发、定时器触发或软件控制触发。如本章实验中需要控制正弦波的频率,就需要定时器定时触发DAC进行数据转换。 2.要点分析并实现2KHz正弦波的输出 DAC_Trigger 用于配置DAC的触发方式 DAC_WaveGeneration为是否启动输出噪声或者三角波 DAC_LFSRUnmask_TriangleAmpliude 为选择噪声生成器的低通滤波或三角波的幅值 DAC_OutputBuffer 选择是否使能输出缓存器 更多步骤请参考《【野火®】零死角玩转STM32—F103-MINI》 根据公式: 设置如下 这样即可输出2Khz的正弦波 结果如下: 接入蜂鸣器,听有单音。 4. 设计输出音频信号 算法逻辑类似与输出正弦波信号的思路一致,不同的是要更改采样的数值。 step1:打开Adobe Audition打开自己喜欢的音乐,设置: 采样率8000 单声道 16位 大约采集2-3s step2:存储为.wav文件 .wav文件通过软件Uedit32打开 step3:格式转换 全选内容,右键–用16进制复制所选视图,复制到记事本–粘贴回去–右键–选择范围 step4:复制到notepad++进行填充 关于notepad++前文提到过用法, 按列块插入0x和, 每列重复操作 step5:修改数组 step6:烧入观察波形 三。 总结 这次实验,尝试了解了DAC和PWM,这两个模块在时机中应用十分广泛,比如在一些比赛中可以用PWM波控制舵机和点击,用ADC,DAC进行采集信息等。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:40 , Processed in 1.340080 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号