[国产单片机]

请教合泰单片机HT68F001,离奇故障现象

[复制链接]
3184|27
手机看帖
扫描二维码
随时随地手机跟帖
duci001|  楼主 | 2019-9-29 21:18 | 显示全部楼层 |阅读模式
本帖最后由 duci001 于 2019-9-29 21:18 编辑

各位老哥,大家好!!!
   目前使用的合泰68f001出现一个问题,第一次使用合泰的产品,请教一下排查问题的思路,多谢!!!

   图片请大家凑合着看,完整的电路是我同事设计的,不在我这里,稍后贴出来。
    0c97a6a5c45ac2c7db42e6f8bd50ca8.jpg

背景:
    我们的产品是低功耗产品,使用一只2450纽扣电池供电,电压满电时3.3V。
    因为空间有限,单片机电源上只有两只10uF的滤波电容。
    PA5管脚输入模式,接入一只按键,并一只472电容滤波对地,使用单片机内部上拉电阻上拉。
    PA4管脚输出模式,控制后级MOS开关,有按键按下2S后,管理后级电路的电源通断,打开或者关闭。
    PA3管脚输出模式,控制一只LED闪烁。
    未使用的管脚设置为输出模式。
    然后就没有了。

现象:
    单片机上电后,感觉有些管脚不听使唤,
    表现为:
    部分产品PA5本来应该上拉的,但是直接变为低电平,或者上拉非常微弱(已经排除按键电路的短路断路等情况)。
    部分产品PA4等输出口,一直输出低电平,无法受程序控制切换到高电平。
    所有出问题的产品,故障现象都是随机的,再次上电后,可以恢复到正常状态。
    也有部分之前正常的产品,断电后再次上电,会出现故障状态。
    总共试制了500个产品,故障率约为10%。

尝试解决:
    我们之前没有使用过HT的单片机,发现上电之后正常的之后一直正常,功耗、功能都OK。
    推测是上电过程不稳定,导致单片在配置管脚的时候,某些配置字没有正确的写进去。
    因为没有实时性的要求,尝试调整一下初始化程序:
            step1:上电。
            step2:延时100ms。
            step3:配置单片机端口。
            step4:延时30ms。
            step5:打开后级电路的MOS,系统开始工作(因为使用CR2450供电,驱动能力比较弱,所以此时电源电压有比较小的波动,会被拉低到2.6V持续约3ms,后面会在硬件上改进,让后级电路通电缓慢一点,减少电源波动)。
            step6:进入主循环,扫描按键等等。

     以上初始化调整之后,故障率由10%下降到2%,故障现象任然是一样的。

请教:
    这个单片机SO-8封装,外部没有Reset引脚,如何保证上电的可靠性?
    单片内部只有一个32K的时钟,如何保证该时钟起振和运行的可靠性?
   
    第一次使用合泰的单片机,不知道有哪些注意点,请各位老哥多多赐教!!!
    再次感谢!!!

使用特权

评论回复

相关帖子

duci001|  楼主 | 2019-9-29 21:31 | 显示全部楼层
管脚的配置如下,
这个单片机只有两级堆栈,只能够咬牙写汇编了,
   ;IO_INIT
    SET  PAC5    ;INPUT
    SET     PAPU5   ;上拉
    SET     PA5
    SET     PAWU5   ;可唤醒
   
    CLR     PA4
    CLR     PAC4
    CLR     PAPU4
    CLR     PAWU4   
   
    CLR     PA3
    CLR     PAC3
    CLR     PAPU3
    CLR     PAWU3      
   ;悬空的IO都配置为输出或输入,悬空会增加休眠时的功耗
    CLR     PA0
    CLR     PAC0
    CLR     PAPU0
    CLR     PAWU0
   
    CLR     PA1
    CLR     PAC1
    CLR     PAPU1
    CLR     PAWU1   

    CLR     PA2
    CLR     PAC2
    CLR     PAPU2
    CLR     PAWU2

使用特权

评论回复
ayb_ice| | 2019-9-30 08:41 | 显示全部楼层
这样看的话,肯定是程序问题,多看手册吧
有些细节只能看手册,并不通用

使用特权

评论回复
duci001|  楼主 | 2019-9-30 09:09 | 显示全部楼层
ayb_ice 发表于 2019-9-30 08:41
这样看的话,肯定是程序问题,多看手册吧
有些细节只能看手册,并不通用 ...

感谢回复!
Onekey.rar (1.75 KB)

使用特权

评论回复
ayb_ice| | 2019-9-30 09:21 | 显示全部楼层
本帖最后由 ayb_ice 于 2019-9-30 09:25 编辑
duci001 发表于 2019-9-30 09:09
感谢回复!

兄台有空的话,帮我看下程序,asm文件好像上传不了,

未用的IO设为输入,更要上拉(或下拉),不能悬空的
另外建议开机清零RAM

使用特权

评论回复
605815226| | 2019-9-30 09:51 | 显示全部楼层
低功耗配置那一块看一看吧,用汇编的都是高手

使用特权

评论回复
前功尽弃| | 2019-9-30 10:18 | 显示全部楼层
你看一下数据手册这些端口是不是默认的是复用功能不是IO功能

使用特权

评论回复
www0903| | 2019-9-30 12:11 | 显示全部楼层
你好,首先请问单片机的工作频率你设置为多少?8M以上的复位电压比较高了,你可以仔细对比手册,建议做到500K。另外你可以做复位保存数据处理,(一般不建议这样做,有点风险)。

使用特权

评论回复
duci001|  楼主 | 2019-9-30 12:36 | 显示全部楼层
www0903 发表于 2019-9-30 12:11
你好,首先请问单片机的工作频率你设置为多少?8M以上的复位电压比较高了,你可以仔细对比手册,建议做到50 ...

你好,这个HT68F001只有内部的32K时钟,!!!

使用特权

评论回复
duci001|  楼主 | 2019-9-30 12:45 | 显示全部楼层
回复一下关注的各位老铁,多谢!
实验还在继续,因为目前生产线发现的故障概率大约为2%,随机的,不是特定出现在某个具体的产品上。
我现在正在尝试如何快速的复原故障现象,找到根源之后在做对应的优化改进,。

上午极端的实验了一下电源供电情况,使用信号发生器,产生1.5V的DC电压,其中再依次叠加1Vpp的各种干扰,方波、三角波、等等。单片机竟然还能继续正常的工作。
这个合泰的68F001还是比较厉害的。

问题的根源应该使我们哪里没有设计好,还在继续排查。

欢迎各位老铁,帮忙看看,提提思路,猜测的也可以。

多谢!

使用特权

评论回复
gx_huang| | 2019-9-30 12:54 | 显示全部楼层
HT的MCU用过,可以C编程的,注意有些MCU堆栈只有2,只能2级函数调用。
内部有上电复位和LVR复位。
以前用的002芯片,上电后,默认是HIRC,要切换到LIRC,需要注意代码,等待LIRC稳定后再切换。001似乎只有LIRC。
电源需要关注,纽扣电池很危险,上电或者输出瞬间,如果电压跌落,可能存在反复复位的危险。可以用稳压电源模拟,看看故障是否消失。

使用特权

评论回复
duci001|  楼主 | 2019-9-30 14:10 | 显示全部楼层
gx_huang 发表于 2019-9-30 12:54
HT的MCU用过,可以C编程的,注意有些MCU堆栈只有2,只能2级函数调用。
内部有上电复位和LVR复位。
以前用的 ...



  兄弟,你讲的一点都不错!

  68F001,只有两级堆栈,没有外部复位电路,这款只能够汇编写写,程序中没有过多的嵌套,应该堆栈没有溢出。

  纽扣电池供电,电源的确有波动。

  我现在怀疑:电源波动后,电压已经低到小于RAM最小保持电压,但是还没有跌到欠压复位的数值。
                     从而导致单片机没有复位,但是RAM里边的内容丢失了,请问有没有这个可能?

兄弟,来了就不要走了,第一次使用合泰单片机,再请教几个问题:
      1、这款单片机的欠压复位数值,能够用户定义么?有没有什么选项?
      2、这款单片机程序编译后,OPTION在哪里设置?含义是什么?好像没有找到相关资料。
     谢谢!!!

279065d919c0b509a3.png


使用特权

评论回复
gx_huang| | 2019-9-30 15:06 | 显示全部楼层
这个芯片是最简单的一个型号,很多功能都没有的。
芯片工作电压1.8V-5.5V,如果你的电源大于1.8V,肯定不会复位和丢数据的。
但是这个芯片没有低压复位功能,上电复位是否正确,就难说了,建议每次上电前,把板子的电源彻底短路一下,测试是否改善。
至于option,你可以不管的,肯定是固定的,是兼容其它芯片的,只是参数固定而已,厂家又不肯释放资料。
你也可以尝试稳压电源供电,测试是否异常,排除低压复位的影响。

使用特权

评论回复
gx_huang| | 2019-9-30 15:08 | 显示全部楼层
很多没有LVR的芯片,上电复位电路可能有BUG,导致电压没有彻底归零时上电,上电复位异常。彻底断电就正常了。

使用特权

评论回复
gx_huang| | 2019-9-30 15:09 | 显示全部楼层
或者上电时的电压变化率不符合要求,导致上电复位失败。

使用特权

评论回复
gx_huang| | 2019-9-30 15:13 | 显示全部楼层
看看附图,要求上电前电源电压低于100mv,时间大于1ms,上电速度不能太慢。
上电复位时序.png

使用特权

评论回复
gx_huang| | 2019-9-30 15:16 | 显示全部楼层
这个上电复位电路的要求太苛刻了,不适合实际应用场合,存在严重隐患。

使用特权

评论回复
duci001|  楼主 | 2019-9-30 15:46 | 显示全部楼层
gx_huang 发表于 2019-9-30 15:13
看看附图,要求上电前电源电压低于100mv,时间大于1ms,上电速度不能太慢。
...

多谢回复,,,,,,,,,,,,,,,,
之前没有注意到,这个100mV,我去试验一下。。。

使用特权

评论回复
springvirus| | 2019-9-30 16:27 | 显示全部楼层
这个芯片有些麻烦

使用特权

评论回复
duci001|  楼主 | 2019-9-30 17:04 | 显示全部楼层
springvirus 发表于 2019-9-30 16:27
这个芯片有些麻烦

你好,有什么能够经验能够分享一下的么?
谢谢

使用特权

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

本版积分规则

16

主题

76

帖子

2

粉丝