历史上的今天
今天是:2025年04月07日(星期一)
2021年04月07日 | 关于STM32的PWM问题集锦
2021-04-07 来源:eefocus
1、STM32F10X定时器PWM输入模式测量频率、占空比精度问题
问:今天使用了STM32F10X定时器PWM输入模式,用来测量输入方波信号的频率和占空比,发现精度不高,设置定时器的时钟频率为36MHz,预分频为35,计数频率为1MHz,即精度为1us,当输入信号为500Hz时,测量值为500Hz,当输入信号为1KHz时,测量值为1000.1,当输入信号频率继续增加时,测量误差越大,之后提高定时器的技术频率为72MHz,精度有提高,但是输入信号频率增加,误差越大,同时对于低频信号需要使用更新中断才能处理。
请假各位大侠是如何处理精度和低频信号测量的问题?
答:能不能看看你的代码配置。还有要注意TIM的范围,可能约接近最大值,误差可能会有所变化。
答:设置为:PWM输入模式,计数精度为1us,没有考虑溢出的情况,同时也没有使用低于500Hz的信号做测试,当提高技术精度为100ms甚至更小时,相同频率下误差减小,但是误差还是随着频率增加而变大,然后自己看了Datasheet,发现里面有一句这样的话:TI1的上升沿和计数器实际复位之间的延时,取决于TI1输入端的重同步电路,也就是说肯定有延时,而且延时不确定,当测量频率越高时,延时对结果的影响自然越大。另外我使用捕获功能来测量频率,考虑溢出,计数精度1us,在100KHz内,基本上没有误差。
2、stm32f103 PWM 互补通道 问题
问:stm32PWM 互补通道在禁止输出时可不可以均默认为高或变为浮空输入通道 不要在每次发生通道变换时认为的去修改寄存器!
答:函数TIM1_ForcedOC1Config可以,看下固件库手册,没问题的!
3、STM32的DAC输出脉冲
问:STM32的DAC上电时输出一个幅值100mV,脉宽5ms的脉冲,影响后面电路的工作,怎么去掉这个脉冲呢?
答:关闭DAC波形输出
4、PWM input capture
问:在测试PWM input capture时,使用TIM3—CH2通道,则IC1和IC2影射到TI2上,此时CCR2 register捕获PWM的period,CCR1 register捕获PWM的duty cycle,IC1和IC2开始捕获计数。如果这个PWM的周期比较长,IC2计数值超过65535溢出之后会怎么办?溢出的值是不是舍弃掉了?还能通过CCR1/CCR2这个公式来计算占空比吗?
答:溢出以后会将产生中断,如果周期比较长,建议使用计数器来判断。或者降低模块频率。
史海拾趣
|
用P1来读取。然后0804的CS给P2.7,WR给P2.6,RD给P2.5。用外部中断0来接收INTR。下面是程序。我用示波器看P1口一直都没有变化啊,都是高。。。。都要疯掉了。 #include #define uchar unsigned char; uchar Tcount,ADnum; sbit ADcs=P2^7; sbi ...… 查看全部问答> |
|
ULINK2无法连接STM32F103C8T6的目标板,显示的是 JTAG Commnication Failure 测量了 RESET,nJRST,TDO,TDI,TMS 信号是3.3的高电平 TCK RTCK电平时低电平。 VDD VDDA VSS VSSA 都接到了 相应的电源和地上。 BOOT0 BOO ...… 查看全部问答> |
|
上拉电阻1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。【TTL-CMOS匹配 输出电平】2、OC(集电极开路,TTL) 或OD(漏极开路,COMS)输出 ...… 查看全部问答> |
|
这篇论文描述了在FPGA 中的亚稳态,它是怎样产生的,还有它是怎样导致设计的失败。介绍了如何计算亚稳态的平均无故障时间(MTBF),并且总结了各种器件和设计参数是如何影响平均无故障时间的。 介绍 亚稳态是当信号在无关的电路中或异步时钟域之间 ...… 查看全部问答> |




