GD32的RTC出问题了,有主意吗?

[复制链接]
11077|37
手机看帖
扫描二维码
随时随地手机跟帖
zhjerry|  楼主 | 2013-7-22 09:53 | 显示全部楼层 |阅读模式
周五把STM32换成GD32,测试一天运行正常。期间没有断电。
今天一早来发现开机自检不通,调试检查发现RTC锁在以下的句子上:
  while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);     // Wait till LSE is ready
怀疑GD32的RTC振动能量大,刚刚把32768晶振给换了还是没用。
锐鑫同创| | 2013-7-22 10:00 | 显示全部楼层
请问您用的是什么版本的芯片呢,新版本已经解决了这个问题了。

使用特权

评论回复
周立功GD32| | 2013-7-22 10:06 | 显示全部楼层
能够设计出来是一回事,设计出完善的版本又是另外一回事

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 10:10 | 显示全部楼层
      我不知道如何判断芯片的版本,你们一直没有100脚的Vx芯片,上周通过销售的特别支持才拿到的。芯片上的标示如下:GD32F103    VBT6  B     DP239744      AHT322。
    听君所言,怀疑我拿到的是“老版本”的可能性非常大。 我曾提出希望GD32出Errata Sheet,你们回答不需要。没想到一上来就让我中招。

使用特权

评论回复
jack888518| | 2013-7-22 10:48 | 显示全部楼层
本帖最后由 jack888518 于 2013-7-22 10:54 编辑

这个不是RTC的问题,按照楼主提供的死循环的命令函数来看,应该还没有启动RTC的时钟,最多也就是配置了RTC的寄存器,RTC模块还没开始工作。
从现象看可能是晶振的问题,你如果有条件,可用示波器上电调试的时候量一下PC14和PC15管脚,应该是外部晶振没有起振。
是不是晶振的电容坏了或者大小不匹配导致的?

使用特权

评论回复
周立功GD32| | 2013-7-22 11:28 | 显示全部楼层
应该把无限循环判断改成有限次数的循环判断,若失败则说明RTC晶振失效,返回FALSE,供主程序检测处理

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 13:00 | 显示全部楼层
      这个试验是拿合格的STM32板子更换GD32芯片进行的,原晶振配6pF的电容。现在晶振换了,电容也改20pF试了,我把电池也取下来了,都没有让RTC再工作起来。
    这个试验的程序在STM32上已经成功运行万片的数量级,其中使用到RTC的校准和SRAM数据备份这2项功能。“锐鑫同创”版主提到“旧版本”一事,恳请明示以免我再浪费时间折腾,也请告诉我如何重新让RTC部分工作起来。
   

使用特权

评论回复
周立功GD32| | 2013-7-22 13:08 | 显示全部楼层
能把RTC晶振部分的电路图发上来吗?

使用特权

评论回复
永远的不知| | 2013-7-22 13:22 | 显示全部楼层
楼主,手上有几块板子?都是此情况吗?

使用特权

评论回复
GONGO| | 2013-7-22 13:25 | 显示全部楼层
本帖最后由 GONGO 于 2013-7-22 13:28 编辑
zhjerry 发表于 2013-7-22 13:00
这个试验是拿合格的STM32板子更换GD32芯片进行的,原晶振配6pF的电容。现在晶振换了,电容也改20pF试 ...

这个试验是拿合格的STM32板子更换GD32芯片进行的,原晶振配6pF的电容。现在晶振换了,电容也改20pF试了,我把电池也取下来了,都没有让RTC再工作起来。
应该不是这个问题,因为在 6PF 下已经工作过了。
    这个试验的程序在STM32上已经成功运行万片的数量级,
这个只有参考意义,两者不能直接划等号。
其中使用到RTC的校准和SRAM数据备份这2项功能。“锐鑫同创”版主提到“旧版本”一事,恳请明示以免我再浪费时间折腾,也请告诉我如何重新让RTC部分工作起来。
版本问题建议先不用太关心,jack888518 兄的建议最好,先用示波器看看是否已经起振,最快、最直接。


使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 13:26 | 显示全部楼层
周立功GD32先生,

    注意到您是这个子坛子的热心人,对部分入门级的问题热心解答也算大多到位,我表示钦佩。我已经告诉你我们这个是成熟的电路,另外RTC部分的电路非常之简单我也不可能别出心裁,有必要拷贝一个电路图请您给一个类似如6楼的评判?对我这个问题显然您较之版主所知尚少,希望您不要干扰我们的对话。 拜托!

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 13:44 | 显示全部楼层
      我一共拿到3片VB,周五一早换上以后完全正常地远行STM32的程序,后来相继把时钟等待改0、时钟改96Mhz、USB分频改2.0等步骤测试系统功能(含USB、ADC、Timer、PWM、RTC、大容量存储器读写等)全部合格。我惊叹GD32的兼容能力。
    我可以再改1块VB的板子试试。我手头还有GD103R8的片子,也可以试试看。

使用特权

评论回复
周立功GD32| | 2013-7-22 13:44 | 显示全部楼层
:L汗,本来也想帮助你的,我不再回帖了

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 13:48 | 显示全部楼层
      根据使用STM32的经验,RTC时钟是无法直接探测的。GD32的RTC功耗是STM32的10倍,可能可以看到,回头架起来看看。周末还担心如使用GD32的RTC电池寿命要见1/10,如何弥补这个问题呢。

使用特权

评论回复
jack888518| | 2013-7-22 14:30 | 显示全部楼层
zhjerry 发表于 2013-7-22 13:48
根据使用STM32的经验,RTC时钟是无法直接探测的。GD32的RTC功耗是STM32的10倍,可能可以看到,回头架 ...

不知道您的RTC分频配置的多少,如果较高的话,可以用PC13管脚放出LSE经过分频后的时钟(相关寄存器是ASOE和ASOS),也是可以从侧面证明晶振是否起振的。
总而言之,从目前您描述的情况看,晶振起振与否是最大的疑问,确定了这个问题,就能确定问题在芯片,在板子,还是在晶振。
对于那块已经LSE不能READY的芯片,兄弟可以试一下将RTC时钟源换为LSI,让RTC正常运行一以确认RTC模块还能工作正常。

使用特权

评论回复
dongshan| | 2013-7-22 14:48 | 显示全部楼层
ST的用的好好的,为什么要换呢。这么喜欢做小白鼠啊。

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 15:04 | 显示全部楼层
奇迹发生了。
吃完午饭后把扔在一边的板子在捡起来试试看,居然开机成功。
在回头来设置时钟,关机在开机都没有问题。
检查电池3V,带电装上后设置时钟再断电上电还是可以开机的,就是时钟没有保持。
多次重复试验证明RTC主电源掉电无法工作。版主所言“BUG”是否指这个?

使用特权

评论回复
GONGO| | 2013-7-22 15:23 | 显示全部楼层
本帖最后由 GONGO 于 2013-7-22 16:49 编辑
zhjerry 发表于 2013-7-22 13:48
根据使用STM32的经验,RTC时钟是无法直接探测的。GD32的RTC功耗是STM32的10倍,可能可以看到,回头架 ...

  根据使用STM32的经验,RTC时钟是无法直接探测的。
不知道你指的是ST的哪些型号,这个肯定是可以测量的。无论是在线还是使用电池供电。

GD32的RTC功耗是STM32的10倍,
你指的不是RTC的功耗吧?

可能可以看到,回头架起来看看。周末还担心如使用GD32的RTC电池寿命要见1/10,如何弥补这个问题呢。

GD32的 RTC 功耗很低,ST 的 Ivdd_bat 在 1uA ~2uA 左右。GD 大概在2uA ~  3uA左右。
但是待机功耗(VDD,VDDa)功耗比 ST 略高。
一般的设计建议两者是分开的,一般 RTC电池比较小,后备电池容量一般比较大。

使用特权

评论回复
zhjerry|  楼主 | 2013-7-22 15:53 | 显示全部楼层
本帖最后由 zhjerry 于 2013-7-22 16:01 编辑

        关于RTC 的测量问题,试试就知道。如果通过转向IO测试,有主电源供电当然可以,您的电池是作为主电源供电的吗?当前我测试的GD32的电池后备以及RTC功能无效,电池只能作为主电源使用。
       其实对STM的RTC电池功耗我也没有测量,但最早的产品几年用下来无需更换电池。我的RTC后备电池功耗10倍是对比DS得来的,绝对只多不少。(STM32标称约1微安,而GD32标称约10多微安,但我目前的测试是10多微安也没有用,希望版主告诉我BUG已经改正?)

使用特权

评论回复
jack888518| | 2013-7-22 16:05 | 显示全部楼层
zhjerry 发表于 2013-7-22 15:04
奇迹发生了。
吃完午饭后把扔在一边的板子在捡起来试试看,居然开机成功。
在回头来设置时钟,关机在开机都 ...

RTC大部分应用目的就是在掉电以及待机状态下使用的,如果不能在VDD掉电的情况下自动切换到电池,那么RTC就没什么意义了.......
从楼主描述看,电池电压没问题,问题可能就在装电池的槽连接到芯片的这条通路上。

如果RTC不能用电池供电,那么这个BUG也太大了,不大可能电源切换这个指标GD自己没有测到。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

232

帖子

4

粉丝