请教合泰单片机HT68F001,离奇故障现象
本帖最后由 duci001 于 2019-9-29 21:18 编辑各位老哥,大家好!!!
目前使用的合泰68f001出现一个问题,第一次使用合泰的产品,请教一下排查问题的思路,多谢!!!
图片请大家凑合着看,完整的电路是我同事设计的,不在我这里,稍后贴出来。
背景:
我们的产品是低功耗产品,使用一只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的时钟,如何保证该时钟起振和运行的可靠性?
第一次使用合泰的单片机,不知道有哪些注意点,请各位老哥多多赐教!!!
再次感谢!!! 管脚的配置如下,
这个单片机只有两级堆栈,只能够咬牙写汇编了,
;IO_INIT
SETPAC5 ;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
这样看的话,肯定是程序问题,多看手册吧
有些细节只能看手册,并不通用 ...
感谢回复!
兄台有空的话,帮我看下程序,asm文件好像上传不了,
请下载压缩包看下。。。。
{:cry:}
本帖最后由 ayb_ice 于 2019-9-30 09:25 编辑
duci001 发表于 2019-9-30 09:09
感谢回复!
兄台有空的话,帮我看下程序,asm文件好像上传不了,
未用的IO设为输入,更要上拉(或下拉),不能悬空的
另外建议开机清零RAM
低功耗配置那一块看一看吧,用汇编的都是高手 你看一下数据手册这些端口是不是默认的是复用功能不是IO功能 你好,首先请问单片机的工作频率你设置为多少?8M以上的复位电压比较高了,你可以仔细对比手册,建议做到500K。另外你可以做复位保存数据处理,(一般不建议这样做,有点风险)。 www0903 发表于 2019-9-30 12:11
你好,首先请问单片机的工作频率你设置为多少?8M以上的复位电压比较高了,你可以仔细对比手册,建议做到50 ...
你好,这个HT68F001只有内部的32K时钟,!!! 回复一下关注的各位老铁,多谢!
实验还在继续,因为目前生产线发现的故障概率大约为2%,随机的,不是特定出现在某个具体的产品上。
我现在正在尝试如何快速的复原故障现象,找到根源之后在做对应的优化改进,。
上午极端的实验了一下电源供电情况,使用信号发生器,产生1.5V的DC电压,其中再依次叠加1Vpp的各种干扰,方波、三角波、等等。单片机竟然还能继续正常的工作。
这个合泰的68F001还是比较厉害的。
问题的根源应该使我们哪里没有设计好,还在继续排查。
欢迎各位老铁,帮忙看看,提提思路,猜测的也可以。
多谢! HT的MCU用过,可以C编程的,注意有些MCU堆栈只有2,只能2级函数调用。
内部有上电复位和LVR复位。
以前用的002芯片,上电后,默认是HIRC,要切换到LIRC,需要注意代码,等待LIRC稳定后再切换。001似乎只有LIRC。
电源需要关注,纽扣电池很危险,上电或者输出瞬间,如果电压跌落,可能存在反复复位的危险。可以用稳压电源模拟,看看故障是否消失。 gx_huang 发表于 2019-9-30 12:54
HT的MCU用过,可以C编程的,注意有些MCU堆栈只有2,只能2级函数调用。
内部有上电复位和LVR复位。
以前用的 ...
{:handshake:}
兄弟,你讲的一点都不错!
68F001,只有两级堆栈,没有外部复位电路,这款只能够汇编写写,程序中没有过多的嵌套,应该堆栈没有溢出。
纽扣电池供电,电源的确有波动。
我现在怀疑:电源波动后,电压已经低到小于RAM最小保持电压,但是还没有跌到欠压复位的数值。
从而导致单片机没有复位,但是RAM里边的内容丢失了,请问有没有这个可能?
兄弟,来了就不要走了,第一次使用合泰单片机,再请教几个问题:
1、这款单片机的欠压复位数值,能够用户定义么?有没有什么选项?
2、这款单片机程序编译后,OPTION在哪里设置?含义是什么?好像没有找到相关资料。
谢谢!!!
这个芯片是最简单的一个型号,很多功能都没有的。
芯片工作电压1.8V-5.5V,如果你的电源大于1.8V,肯定不会复位和丢数据的。
但是这个芯片没有低压复位功能,上电复位是否正确,就难说了,建议每次上电前,把板子的电源彻底短路一下,测试是否改善。
至于option,你可以不管的,肯定是固定的,是兼容其它芯片的,只是参数固定而已,厂家又不肯释放资料。
你也可以尝试稳压电源供电,测试是否异常,排除低压复位的影响。 很多没有LVR的芯片,上电复位电路可能有BUG,导致电压没有彻底归零时上电,上电复位异常。彻底断电就正常了。 或者上电时的电压变化率不符合要求,导致上电复位失败。 看看附图,要求上电前电源电压低于100mv,时间大于1ms,上电速度不能太慢。
这个上电复位电路的要求太苛刻了,不适合实际应用场合,存在严重隐患。 gx_huang 发表于 2019-9-30 15:13
看看附图,要求上电前电源电压低于100mv,时间大于1ms,上电速度不能太慢。
...
多谢回复,,,,,,,,,,,,,,,,
之前没有注意到,这个100mV,我去试验一下。。。
{:handshake:} 这个芯片有些麻烦 springvirus 发表于 2019-9-30 16:27
这个芯片有些麻烦
你好,有什么能够经验能够分享一下的么?
谢谢
页:
[1]
2