打印

新手请教:开发板上程序运行顺畅,到自己画的PCB上,就有很大几率死掉!

[复制链接]
2390|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
NOKOL520|  楼主 | 2019-11-26 14:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
新手请教:PIC16F917,内部时钟4M,开发板上程序运行顺畅,转移到自己的板上,很大几率跑个几秒钟按键扫描就会卡住,中断和PWM都是正常的,重新上电有几率正常,再重新上电又出问题这样子,板子上只有一个按键,5VLDO输出,4个指示灯,RA7上拉出的时钟信号也很整齐,请教下,该往哪方面排查问题?

使用特权

评论回复

相关帖子

沙发
cjseng| | 2019-11-26 15:40 | 只看该作者
先检查原理图有没有问题,再检查PCB布线有没有问题,然后再查电源有没有问题。

使用特权

评论回复
板凳
pleee| | 2019-11-26 17:42 | 只看该作者
死机多半与电源和串口通讯有关

使用特权

评论回复
地板
触觉的爱| | 2019-11-26 19:45 | 只看该作者
上图最直接
程序没修改都出现问题,看看板上是否有感性负载……

使用特权

评论回复
5
NOKOL520|  楼主 | 2019-11-27 08:44 | 只看该作者
cjseng 发表于 2019-11-26 15:40
先检查原理图有没有问题,再检查PCB布线有没有问题,然后再查电源有没有问题。 ...

我也是怀疑电源或是芯片复位的问题!但是试了下没搞定!

使用特权

评论回复
6
NOKOL520|  楼主 | 2019-11-27 08:45 | 只看该作者
pleee 发表于 2019-11-26 17:42
死机多半与电源和串口通讯有关

没用到串口,

使用特权

评论回复
7
NOKOL520|  楼主 | 2019-11-27 08:54 | 只看该作者
触觉的爱 发表于 2019-11-26 19:45
上图最直接
程序没修改都出现问题,看看板上是否有感性负载……

板子分三块,这图里保留的都是这个板上的,这块板功能就是一个按键控制+指示的作用,输出一个PWM控制另一块板子,并且监控几个电平,调的时候是没接另一块板的

QQ图片20191127084704.png (496.87 KB )

QQ图片20191127084704.png

使用特权

评论回复
8
NOKOL520|  楼主 | 2019-11-27 09:08 | 只看该作者
NOKOL520 发表于 2019-11-27 08:54
板子分三块,这图里保留的都是这个板上的,这块板功能就是一个按键控制+指示的作用,输出一个PWM控制另一 ...

layout图!

QQ截图20191127090645.png (312.45 KB )

QQ截图20191127090645.png

QQ截图20191127090743.png (292.45 KB )

QQ截图20191127090743.png

使用特权

评论回复
9
tianxj01| | 2019-11-27 09:10 | 只看该作者
这种东西基本上没什么明确的方向。
可能性很多,比如PCB物理错误,比如电源供应不良,比如退偶、比如复位。
从程序表现检查会顺利很多,按键扫描是在什么程序段,怎么确定的中断正常,有时候,哪怕板子物理上有问题了,该个程序方式,可能就搞定了,比如既然中断正常,则把按键扫描放中断里面,读键值什么的,再执行。

使用特权

评论回复
10
gx_huang| | 2019-11-27 09:21 | 只看该作者
起码你这个KEYIN的双二极管的符号极性就错了一个,也许实际是对的。

使用特权

评论回复
11
NOKOL520|  楼主 | 2019-11-27 09:52 | 只看该作者
gx_huang 发表于 2019-11-27 09:21
起码你这个KEYIN的双二极管的符号极性就错了一个,也许实际是对的。

是的,用的是BAV99的元件!没有刻意再去画一个符号!旁边器件名称标的BAV70是正确的!

使用特权

评论回复
12
NOKOL520|  楼主 | 2019-11-27 09:58 | 只看该作者
tianxj01 发表于 2019-11-27 09:10
这种东西基本上没什么明确的方向。
可能性很多,比如PCB物理错误,比如电源供应不良,比如退偶、比如复位。 ...

我试试!!

使用特权

评论回复
13
大秦正声| | 2019-11-27 10:46 | 只看该作者
从最小系统开始!

使用特权

评论回复
14
xch| | 2019-11-27 11:32 | 只看该作者
查电源,换开发板的电源。

使用特权

评论回复
15
cjseng| | 2019-11-27 12:18 | 只看该作者
芯片电源退耦电容都舍不得放,死机也是正常了。

使用特权

评论回复
16
NOKOL520|  楼主 | 2019-11-27 13:05 | 只看该作者
本帖最后由 NOKOL520 于 2019-11-27 13:06 编辑

谢谢各位!经过大家的指点,目前已有所改善!试验过的地方有,
1.芯片周围多加了几颗电容,不知道具体多大合适所以10UF 0.1UF都放了,这个效果貌似不明显!
2.电源的问题,本来觉得可能是DCDC干扰问题,我就换了个LDO,输出很干净的,但是问题依旧
3.复位问题,这个我就不知道怎么搞了。只是把单片机的POR和欠压复位开启了,试着调整了上拉电阻的大小,在MCLR上加了个小电容,问题没改善!
4.谢谢3楼的建议,回头检查了下程序,之前只是拿掉了串口的函数,没把初始化里串口相关的寄存器都关了,改过后效果明显,基本不再死机了,但我想这不是根本问题,因为开发板上是没问题的,而且后续要用串口看相应的数据,到时候还会出问题!
5.目前在按照9楼的建议,试图把按键程序重写下,中断里读键值,目前还不行 ,  卡住的的时候是主函数里的程序都卡住了,具体卡在哪个地方了还搞不清!
现在有什么办法确认具体是卡在什么地方的吗?还有就是上面的这些操作里哪些有问题的,还需要处理哪些地方怎么处理!能否请各位进一步指点一下!!!

使用特权

评论回复
评论
ningling_21 2019-11-29 20:07 回复TA
如果有仿真器调试,可以发现卡死的地方 
17
触觉的爱| | 2019-11-27 14:27 | 只看该作者
NOKOL520 发表于 2019-11-27 13:05
谢谢各位!经过大家的指点,目前已有所改善!试验过的地方有,
1.芯片周围多加了几颗电容,不知道具体多大 ...

那你再把有问题的程序,没修改前下载到开发板上去试试

对MCU来说,有些引脚悬空,容易引入干扰,导致死机。 而一般的开发板,基本的IO都会连接上外围电路。

使用特权

评论回复
18
NOKOL520|  楼主 | 2019-11-27 15:15 | 只看该作者
触觉的爱 发表于 2019-11-27 14:27
那你再把有问题的程序,没修改前下载到开发板上去试试

对MCU来说,有些引脚悬空,容易引入干扰, ...

这个试过很多遍了的,在开发板上是很顺畅的,任意开关都OK,我手里的这个开发板模块都是独立的,用到的模块用杜邦线连起来!他的脚都是悬空的,

使用特权

评论回复
19
keycomponents| | 2019-11-27 15:18 | 只看该作者
你这问题解决了吗?我最近也遇到这个问题。同样是新手!

使用特权

评论回复
20
e_007| | 2019-11-27 17:53 | 只看该作者
本帖最后由 e_007 于 2019-11-27 18:04 编辑

楼主钻研精神可佳!赞一个!

使用特权

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

本版积分规则

2

主题

14

帖子

0

粉丝