jtag电路连接不上dsp

自述:本文以实践中遇到的问题做一总结,仅供参考,如有错误请自行思考。

题目:DSP连接不上board

平台:DSP56F827G80E

仿真软件:CodeWarrior IDE

仿真器:jtag电路板(J-EN4脚地短接)

出现的错误:Cannot connect to Board

总结的关键点:在电子电路中若发现什么异常一定要首先想到两点疑问:

1:电源电压的供电情况是否正常:输入,输出。

2:晶振是否是OK的,你测量过了吗?

分析原因:(以下是来自互联网的一些解决办法,由于参考网址较多,没有一一贴出来源)

1.jtag供电问题,软件的设置问题

2、换个电脑,换个仿真器,有一种原因是你的仿真器版本不行,仿真器最好不要升级,尤其不是正品。

3、注意jtag电路根据芯片看看哪个引脚需要短接,比如下文中的jp824脚要短接,8总线收发器的低电平有效(jtag板上已经短接了)。

4、重装驱动,查看设备管理器中驱动是否安装好,驱动是否跟CCS保持同一安装路径,复位程序usb20reset是否可以正常复位

对于驱动,可以查看“..CCStudio_v3.3/cc/bin”路径下的“xdsfast3.dll”文件,如果这个文件是160K大小那么驱动就是没有装好的。如果出现这样的问题,即使重装驱动往往也不能成功。需要删除该“xdsfast3.dll”文件,然后断开PC和仿真器,重新装仿真器驱动。安装后查看“xdsfast3.dll”文件大小为352K即表示驱动安装成功。
(引自:http://blog.csdn.net/mcy478643968/article/details/6290823
5JTAG接插件与DSP之间是否装有驱动缓冲芯片这个是没关系的,以前经常用一个SN74LVTH244,现在没用,也可以连上

6USB插口供电不足,如果是台式机,换成机箱后面的USB口试试

7、注意上电顺序,还有先连好JTAGUSB,再给开发板上电

 本人遇到的问题:先看jtag电路,如图中红框所示:

jtag电路连接不上dsp_第1张图片

最初遇到的问题是这样的:

OK的板子打开codewarrior点击debug会先擦除器件内的程序再烧写程序进dsp,再仿真,但是NG的板子会出现Cannot connect to Board这样的错误,什么原因呢?一步一步查找吧:

为什么不能连接dsp?软件环境是否正确?

codewarrior的配置要正确这是第一位:

jtag电路连接不上dsp_第2张图片

首先要选对你使用的端口,并口下载调试的就选并口的,串口下载调试的就选串口。

其次是你的flash的配置文件是否正确并且路径要对。调试好的程序发给另一个人使用时查看下当前的路径是否要重新选择的。


软件环境正确了,但是还是连接不上?把OK板的jtag电路与NG板的jtag电路的各芯片的输入输出电压比较发现有差异,如下:

D10芯片8总线收发器(OK板在连接jtag时):

18脚:3.202V     WDT-EN ——3.202VPRET1  ——3.202V;TMS——3.07VTCK——3.186VTDI——3.20VJTRST——3.199VJTDO——3.205VVCC——3.202VGND——0V

D10芯片8总线收发器(NG板在连接jtag时):

18脚:0V     WDT-EN ——3.202VPRET1  ——3.202V;TMS——3.07VTCK——0VTDI——3.20VJTRST——0VJTDO——3.205VVCC——3.202VGND——0V

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

D6max706RESA(电源监控)(OK板在连接jtag时)

PBRST——3.205VVCC——3.207VGND——0VST——跳变电压,不确定(烧写过程序的话ST发来的开关开关电平,不能测出);RST——3.208VWDS——3.207V

D6max706RESA(电源监控)NG板在连接jtag时)

PBRST——3.205VVCC——3.207VGND——0VST——3.207v(未烧写过程序dspgpio口默认输出高电平);RST——3.208VWDS——0V

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

D8 74AHC08D(四二输入与门运放)受D10JTRST    引脚电平的影响会输出与门运算结果,判断这个器件是正常的,不必列出其输出参数。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

上述这些结果都是用万用表测量的。

从对比结果中可看出D10D6存在故障,遂把D10D6统统换成了新的IC,换过以后D10的输出正常了,但是D6还是不正常,于是开始纠结是D6故障还是其他电路有问题?从MAX706相关资料可知结合实际电路可知:OK板的ST信号是变换的(已经烧写过程序的),它在1.6秒内把看门狗定时器给清除了,不会发生溢出,所以WDS保持了高电平(未插入jtag时也是高电平)。而NG1.6sWDI端没有收到来自DSP 的触发信号,并且WDI处于非高阻态,则WDO输出变低电平,由于与PBRST通过一个电阻相连且PBRST为高电平,这会引起RST复位端不停的使DSP复位,不在OK状态肯定不能烧程序。按照资料说明可以确定D6器件也是正常的,可是为什么还是不行呢?尝试将OK板的st信号短接至NG板的ST端也是不行,因为GPIO口的st过来的是高电平信号,外接过来的信号不起作用。【那将WDS与PBRST之间的电阻去掉会怎么样呢?这个尝试过了,还是不行,但我个人认为应该是可行的,因为相当于看门狗定时器给屏蔽掉了,烧程序还是行的,那为什么还是不行,因为是其他电路故障引起了烧写失败(后面就说明某器件故障导致烧写失败的原因),这个等器件换上后可以再试试。】

就在找不到原因时想到老师说过的:电源电压的供电情况是否正常吗?晶振是否是OK的,你测量过了吗?复位是否正常?

jtag电路连接不上dsp_第3张图片

对了,还有晶振没有仔细检查过:之前是 在未上电时用示波器测量的,比较OKNG板的晶振示波器上显示的是正弦波,而且都一样,所以就认为晶振OK了。因为个人认为无源的晶振应该是不用上电的,因为其他无源器件是直接可以测量得到的,比如最简单的电阻。

我们用的是4MHZ的无源晶振,查看相关资料可知,该晶振是需要dsp支持的,网络上说“无源晶体——无源晶体需要用DSP片内的振荡器”,那就上电后再试试怎么样?同样用示波器测量发现OK板的显示正弦波,NG板的显示正弦波,但幅度极小,趋于直线了,可能是有问题吧。然后把OK板的晶振换到NG板,结果真的可以连接并烧写程序了,连续换了几块NG板上的晶振,居然均能连接并烧写,看来确实是晶振有问题了。

结论:

在电子电路中若发现什么异常,若软件环境没有问题,jtag连接不上board那百分之百肯定是硬件故障了,你一定要首先想到两点:

1:电源电压的供电情况是否正常,各芯片的输入输出(一定要查看相关的资料,不要个人认为,否则你就找吧。。。)。

2:晶振是否是OK的?晶振对于电子电路尤其是带IC的电路如果用到了晶振,首先看看是否正常,晶振对一个电路的重要类似于人的心脏。

其他说明:

电路中的元器件比较多,哪里不正常先分成模块看电路,就从以上两点查起,若没有问题就要看元器件的焊接是否虚焊,电子元器件是否用错,极性是否接反,总之要先从现象下手,与现象对应的电路是否正常,不正常再一步一步看看哪里引起的,最后找到源头。

你可能感兴趣的:(嵌入式)