困扰很久的DS1307的不起振问题已解决,希望大家吸取教训!
我用的是MEGA128的I2C总线操作的DS1307,程序是用的芯艺教程上的!一直都不能正常使用,只有一次正常使用了几天,然后就又不起振了!之后就一直找原因,先将晶振换为数据手册上要求的:带12.5P电容的,还是不能起振!
然后又换了几个DS1307和晶振也还是不起振,实在没有办法了就在DS1307不起振时在主循环中不停配置DS1307,在上电20S左右,晶振起振了!
今天又问了一下美信的技术支持:说要在上电后,等待1S后在配置晶振,因为晶振的起动比较慢,现在我在DS1307的初始化时等待了2S,每次开机都起振了的!
等试用一段时间在向大家报告!
程序我就不贴了,芯艺的教程上面有的!
疑问:单片机的晶振咱就起动的那么快呢? 单片机晶振也有要等的,不过也不要等1S 学习,我不知道为什么,可能跟晶振的工艺有关系吧, 还有这种事啊,还真没听说过。 本来这东西内部是nvram,要电池供电的,谁没事每次都给它断电,那这个实时时钟有什么用
另:那个电容性负载指1307所能接的晶振的参数范围,不是再外接电容了,否则更难起振,1s 2s都是正常的,这样的话 这个要求极度省电,所以起振上只好慢一些了,很正常,只不过不说我都没想到这点 呵呵,合泰的HT1380,1381厂家推荐要等待4,5秒呢,这个1秒算很短啦,我现在正在领教这个长时间啊:)刚才也吓出一身冷汗来 怪不得我的也不行,原来是这个原因呀!!! 现在可以工作了,哈哈,以前这个东西老是搞不好,我都没有心情了,谢谢LZ. 再问问各位大侠,我没有在晶振两端加电容,但是还是走时。不过就是不准,误差非常大。我想问问是我晶振的精度不够还是没有加电容的原因啊 不错,很好的经验!
这个应该在数据手册里有所说明的吧?
前两天看到有个帖子谈到串行EPROOM芯片不同的型号也有此要求!所以做设计要注意细节啊! 晶振那上拉一个Vcc,能快速启动 "我想问问是我晶振的精度不够还是没有加电容的原因啊"
that's correct. the load capacitance usually is specified in the datasheet, and typically around 12.5pf for older chips and 7pf for newer chips. most cmos chips have a pin capacitance of about 3pf so you will be ok if your chip / crystal requires 7pf of load capacitance, and substantially faster if it does 12.5pf.
you will also notice substantially higher jitter without a capacitor there.
as usually, always read the @#%$#@%@# datasheet. or you get #$%uked. 我服了。我的SQW能出方波,但数据就是不走。秒不加1
页:
[1]