定时器精度

2019-07-20 11:35发布

最近项目里碰到一个问题。情况是外部有一个波形输出的通道,把这个通道分成了4路,1路是主通道,其他三路是副通道,现在三个副通道上都有一个继电器,通过405来控制继电器开关来达到从主通道上截取波形的目的。继电器的开关时间是上位机发过来的,然后用405的定时器去控制,系统时钟用的是16M的HSI。现在有这样一个问题:定时器的精度不够,导致每次定时的时间都是一个有很小很小波动的时间,大概定时100ms能差0.3ms左右,这就到时随着时间推进,这个误差会不断累积导致副通道的波形就和主通道的波形差的很远。现在有一个方案就是,先根据大概这个误差时间在每一次波形截取时进行补偿,然后在一定周期后比如10个、20个周期后看时间差了多少,再进行一次补偿。目前来看效果并不理想。不知道大家有没有什么好的方法,求指教。另外,有个问题,我看到HSI的精度在1%,那这个精度是固定的么?就是说HSI的实际频率是固定的么,还是说每次起振都会有一定误差,只是误差在1%以内?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
mill
1楼-- · 2019-07-21 09:23
一头鱼 发表于 2017-9-19 17:32
十分感谢。那晶振的误差是每次都是准确的1%还是误差是在0~1%这个范围呢?因为如果是固定的误差那我可以用 ...

软件只是一个RC震荡,肯定不会是固定值啊,对时钟要求高的话,内部不要考虑了,肯定是使用外部时钟
一头鱼
2楼-- · 2019-07-21 09:28
 精彩回答 2  元偷偷看……
呵呵呵开西寨
3楼-- · 2019-07-21 09:54
 精彩回答 2  元偷偷看……
zmingwang
4楼-- · 2019-07-21 14:38
事实上就如@mill 算的,用外部晶振来做时钟源也不是很准,最好用额外的有源时钟芯片,通过读时钟芯片的时间和脉冲来计时,可达到比较高的精度.
如果不关心日历时间,那么用外部时钟芯片都不用对时,只需要使能脉冲输出就行,采集脉冲时不能只采集边沿,应该采集脉冲宽度,因为可能会有外部干扰产生的假脉冲.
mill
5楼-- · 2019-07-21 18:35
zmingwang 发表于 2017-10-9 14:00
事实上就如@mill 算的,用外部晶振来做时钟源也不是很准,最好用额外的有源时钟芯片,通过读时钟芯片的时间和 ...

专业

一周热门 更多>