EDA365电子论坛网

标题: DSP程序跑飞的原因有哪些?你是如何解决的? [打印本页]

作者: geronimo123    时间: 2020-12-29 13:16
标题: DSP程序跑飞的原因有哪些?你是如何解决的?
DSP程序跑飞的原因有很多,你遇到过吗?你解决了吗?! c2 D& r( H- f+ i; J1 a
8 |+ g, i  n, u! ?/ T/ s5 X
一般调试代码的步骤有两种方案
; C9 r4 |0 L% p7 E1 Y
方案一:先调试主程序,最后添加看门狗等保护电路
方案二:先搭建代码环境,比如看门狗保护电路等,然后在该平台上开发主程序
我呢,为了更好的编写算法代码,往往采用方案一。
2 C  r7 D) ]2 n3 z
9 h8 C5 h% Y2 D5 r6 d" H: q* X

$ u& d) ~1 C# V+ N# k! L4 y, l
在我调试代码的过程中,遇到过如下一种程序跑飞的情况:
【原因】硬件看门狗电路设计失误
【设计】我设计的方案中,采用美信芯片MAX706AT设计硬件看门狗电路,看似非常完美的电路,在连接仿真器进行简单方波输出测试时,发现DSP没有任务输出。程序已经异常了,因为我采用的方案一设计代码,所以我只知道异常,不知道原因。
1 ]' f. ^. S( q5 @5 @4 L' ~8 y

8 }. W$ A7 j: z% u; d! n* R4 W: @
【解决思路】
<1> 无数次的下载程序,并运行程序,但是程序总是异常运行。
<2> 庆幸的是,我的电路设计中有好几个IO直接驱动LED的电路,这时候,我特别注意到LED显示的亮度不正常,然后,我赶紧拿万用表测试IO电压,结果只有1.6V左右。这时,我已经明白,看门狗异常了。
<3> 排查电路中的MAX706AT电路,一点问题都没有。查找MAX706AT的封装和管脚对应时,发现了问题的根源。芯片有SOUMAX两种封装,说来奇怪,名称完全相同,封装不同,加上管脚定义不同,造成了看门狗芯片的复位电压总是低电压。

. Y& t! g9 b7 N% @
作者: modengxian111    时间: 2020-12-29 14:29
楼主分享的很详细




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2