456good789com 发表于 2017-9-21 11:02

stc单片机的内部R/C时钟误差太大

stc单片机的内部R/C时钟误差太大,两小时有-16.5的误差,跑快了,设置频率12M,读出来有12.011M,做了几块板子,时钟频率都不一样,有的有11.981M这么小的,就算是读出来的频率小于12M的定时也会快几秒,坑啊,还是换成外部晶振比较牢靠点。



产品已经投下去200套了,这个时候出现这个问题,也是太无奈了,吸取教训。

gx_huang 发表于 2017-9-21 11:21

是你自己挖的坑呀!
内部RC本来就1%左右的精度。

456good789com 发表于 2017-9-21 11:35

自己挖的坑,含着泪也要过去,测试的时候就测了几分钟,也没感觉出来

xxdcq 发表于 2017-9-21 11:36

敢用RC来做时钟你也够胆,做时钟需要专门的时钟芯片,32768的晶振还需要外加电容微调。每台表还要用标准表来校
看似简单实则很麻烦

456good789com 发表于 2017-9-21 11:46

xxdcq 发表于 2017-9-21 11:36
敢用RC来做时钟你也够胆,做时钟需要专门的时钟芯片,32768的晶振还需要外加电容微调。每台表还要用标准表 ...

不是实时时钟 ,只是做一个两小时的工作计时,误差在10s之内

宇容创行 发表于 2017-9-21 11:51

这是明显的设计问题,不怪stc

xxdcq 发表于 2017-9-21 12:40

456good789com 发表于 2017-9-21 11:46
不是实时时钟 ,只是做一个两小时的工作计时,误差在10s之内
只要不要求精确没什么问题,两小时都等过来了也不在乎多那10来秒

456good789com 发表于 2017-9-21 12:57

本帖最后由 456good789com 于 2017-9-21 13:00 编辑

xxdcq 发表于 2017-9-21 12:40
只要不要求精确没什么问题,两小时都等过来了也不在乎多那10来秒
技术要求是2小时误差在10s内,偶尔有一两块会超过10s 那就不行了   对于使用者来说两小时误差十几秒是感觉不出来的,也不影响使用,但是如果拿去检测就不达标了

山东电子小菜鸟 发表于 2017-9-21 15:04

ningling_21 发表于 2017-9-21 16:25

RC只用于精度无要求的场合

datouyuan 发表于 2017-9-21 16:59

本帖最后由 datouyuan 于 2017-9-21 17:01 编辑

456good789com 发表于 2017-9-21 11:46
不是实时时钟 ,只是做一个两小时的工作计时,误差在10s之内
算是给楼主点经验教训。

内部RC时钟的精度在几MHz的情况下,精度最多能做到1%,这还得由厂家校准后才行。
在几百kHz或以下的情况下,精度一般是10%,意思是一个小时误差有6、7分钟的误差算正常的。

456good789com 发表于 2017-9-21 20:47

没有仔细看手册,上面写着±0.3%

xhtwork 发表于 2017-9-21 22:06

关注这个问题的人应该很多,希望楼主能多测量一些(比如10台、20台,2、3个温度点),把数据分享一下。
我向版友咨询过能否用stc内部RC进行串口通信:https://bbs.21ic.com/icview-1665954-1-1.html

zhangxiyi5277 发表于 2017-9-22 01:03

这点偏移还叫,,很多rc震荡的串口通信都有问题

dog_xin 发表于 2017-9-22 07:49

内部有这么高的精度已经不错了,至少能用UART了,10年前玩PIC的时候是不可想象的,连SILICON的芯片也不能用RC玩UART

datouyuan 发表于 2017-9-22 10:17

xhtwork 发表于 2017-9-21 22:06
关注这个问题的人应该很多,希望楼主能多测量一些(比如10台、20台,2、3个温度点),把数据分享一下。
我 ...

串口通讯对时钟偏差要求是小于4.5%,这么低的要求,最差的内部RC时钟(MHz级)都可胜任。

datouyuan 发表于 2017-9-22 10:25

456good789com 发表于 2017-9-21 20:47
没有仔细看手册,上面写着±0.3%

±0.3%是恒定温度下的。

这个是常识,不用看手册。所有mcu的内部RC性能都差不多。

QuakeGod 发表于 2017-9-22 14:30

这已经不错了,最早STC的内部RC,误差最大能到50%,只能算是有时钟,芯片能工作了,做串口通讯都是妄想。做最简单的蜂鸣器都变调严重。

ddllxxrr 发表于 2017-9-22 16:01

本帖最后由 ddllxxrr 于 2017-9-22 16:02 编辑

我多说过一千遍了,形成产品时,一定要用外部晶振。你这么省,到底是为毛

xhtwork 发表于 2017-9-22 20:41

datouyuan 发表于 2017-9-22 10:17
串口通讯对时钟偏差要求是小于4.5%,这么低的要求,最差的内部RC时钟(MHz级)都可胜任。 ...

确实有计算表明“串口通信对时钟偏差的要求是小于4.5%”,但计算是基于特定位采样方式的,我不清楚各种UART器件是否都如此。

另外,因为STC的手册编排看起来不是很严谨,所以我不敢无条件相信其数据的严谨性。虽然知道很多朋友用RC能正常UART,我还是用晶振了,胆小、那个项目pcb面积也不紧张。
页: [1] 2
查看完整版本: stc单片机的内部R/C时钟误差太大