作者:啊莫
但却经常发现,新手经常提出调试与连接的问题。虽然我们反复强调,本网站的资料没有错误,但却不足以解决新手的问题。
我花了一个晚上,模拟了JTAG出故障的各种情况,编写了本文。但愿本文能解决新手的JTAG调试问题,让大家能从这类问题中解脱出来。
调试要点一:保证你的PCB板焊接无错漏。
这是先决性的条件。在回答大家的问题时,发现90% 以上的故障,均来自焊接的线路问题。
调试要点二:保证你的AVR芯片的供电电压是5V。
虽然JTAG可以在3伏的电压下也能工作,但实际应用时,发现有些RS232芯片或分立件只能工作在5V。所以,调试时请先设置在5V。等5V 成功了,才去试验3伏。
调试要点三:保证你的目标板上的AVR芯片的熔丝位正确。
目标板是指你的实验板。只有支持JTAG接口的芯片才能进行JTAG仿真。支持清单为:ATmega128, ATmega128L, ATmega16, ATmega162, ATmega162V, ATmega165, ATmega165V, ATmega169, ATmega169V, ATmega16L, ATmega32, ATmega323, ATmega323L, ATmega32L, ATmega64, ATmega64L 。所以,不要指望用JTAG来仿真Mega8 啊!
以Mega16为例,目标板(实验板)上的熔丝位配置图为:(内部8M RC 晶振)
调试要点四:保证你的目标板上的JTAG接口已经加了四支上拉电阻及4、7脚接VCC。
目标板(实验板)上的接线图为:
如果上图连接错误,就会出现非常出名的 OCD JTAG错误信息:
最逗的是,我测试时发现,就算你的上图连接没有错误,但插入JTAG 双十针线时,插反了,也会出现这个提示!!
如果上图连接无误,用万用表量JTAG目标板上的1、3、5、7、9脚,应该都是接近5伏。 如果有某一脚不是5V,证明你的焊接有误。
注: 测试时我发现,上面的电路图四支10K 电阻不接JTAG也能正常工作。不过,既然ATMEL官方文档推荐这四支上拉电阻,大家不要省略了,以免出现莫名其妙的错误。
调试要点五:保证你的JTAG上的RS232线路工作正常。
RS232 其实就是一个电平转换反相器。所以,大家可以用模拟输入的方法,测试输出,判断RS232线路是否能正常工作。
我在制作JTAG时,使用的是分立件的232线路,用模拟输入,发现有只三极管不能工作。更换合格的管后,问题就解决了。
注:有时5V能正常工作的JTAG,在3V供电时,会提示上面的 OCD JTAG错误信息,证明你的232电路无法在这么低的电压下工作,请更换合适的元件。
boy123补充:
如果你的AVR JTAG 是简易版的,即无HC244或HC245的最好烧片后把SPI EN禁止,这样可以防止当被仿真的目标芯片反过来对JTAG仿真器的监控芯片误写而造成JTAG监控丢失.因为仿真器的JTAG输口对应的是监控芯片的ISP口....
制作资料请到这里下载:www.mcu123.com/down
http://www.mcu123.com/down/view.asp?id=15