关于使用AVR的JTAG

发布者:760802csy最新更新时间:2015-08-10 来源: 21ic关键字:AVR  JTAG 手机看文章 扫描二维码
随时随地手机看文章
JTAG口的配置与使用



ATmega128单片机具有一个符合IEEE 1149.1标准的JTAG接口。JTAG接口实现了三个功能:采用边界扫描功能对芯片进行检测,对芯片内部的非易失性存储器(Flash和E2PROM)、熔丝和锁定位进行编程,以及实现在线调试(On-chip debugging)仿真。



JTAG接口占用了4个AVR单片机的引脚,与组成了JTAG接口,即JTAG术语中的检测访问端口(Test Access Port—TAP)。由于JTAG的4个端口(TDI/PF7、TDO/PF6、TMS/PF5和TCK/PF4)同PF口的高4位占用相同的引脚,因此当JTAG接口处于使能状态时,PF[7:4]就不能作为通用I/O口或ADC的输入口使用了。所以用户应该根据实际的需要,正确设计、配置和使用JTAG口。



作为一般的用户,主要是将JTAG口用于程序下载和在线仿真调试,本小节就这两种使用情况介绍对JTAG口的配置和使用的注意点。



1.JTAG口的控制

在ATmega128中,使用两个熔丝位(JTAG使能JTAGEN,OCD使能OCDEN)和MCUCR寄存器中的JTD位对JTAG进行控制。其中JTD位可以通过用户程序改变,而熔丝位则不能通过程序指令设置。表5.1给出了3个控制位不同设置时,JTAG接口的特性。



表5.1 JTAG口使能控制

JTAGEN OCDEN JTD LB2/LB1 PF[7:4]功能

1 x x x/x I/O,ADC

0 1 0 x/x JTAG(仅编程)

0 1 1 x/x I/O,ADC

0 0 0 1/1 JTAG(编程,在线调试)

0 0 1 x/x I/O,ADC

注:芯片出厂时JTAGEN=0,OCDEN=1



根据表5.1,用户应根据实际情况,先对相应的熔丝位进行正确的设置,然后在上电后的初始化程序中正确的改变JTD位的设置。

注意:JTD在RESET后初值为0,同时为了防止意外开启或关闭JTAG口,用户程序对JTD的设置要按照规定的操作时序:必须在四个时钟周期内对JTD位重复2次写入,才能将JTD标志位设置成所希望的值。



2.不使用在线调试功能

如果用户不使用JTAG的在线调试功能,那么建议使用SPI串口编程下载程序,不使用JTAG口。其优点是可以直接并可靠的使用PF[7:4]口的I/O功能,不必考虑JTD的设置。此时只要先将熔丝位JTAGEN配置为1,禁止JTAG功能即可。

如必须使用JTAG口编程下载程序,具体做法为:

a.设置JTAGEN为0,OCDEN为1,仅使能JTAG口的编程功能。

b.用户程序应在上电后立即将JTD位设置为1,禁止JTAG口,开放PF[7:4]的I/O口功能。

这样,芯片在随后的运行中仍可将PF[7:4]作为I/O使用。如果需要使用JTAG口编程下载程序代码时,将外部复位信号拉低2个时钟周期,使芯片复位,以此把JTD清零,进入JTAG编程方式。

3.使用在线调试功能

如果需要使用JTAG口的在线调试功能,那么在硬件设计时应尽量考虑不使用PF[7:4]的I/O功能(损失4个引脚资源)。因为当JTAG口使能后,这4个引脚不能作为I/O使用,当然也无法对其进行在线的调试了。

如系统必须使用PF[7:4]的I/O功能,可采取以下处理方式:

a.将PF[7:4]仅用于简单的I/O使用,如驱动LED指示、蜂鸣器等。电路设计还要注意与JTAG口的适当的隔离,防止由于外接器件造成对JTAG接口信号的影响。

b.设置JTAGEN为0,OCDEN为0,使能JTAG口的全部功能。

c.用户程序中不改变JTD位的初始值0。使能JTAG口功能。

e.使用JTAG口编程和进行除PF[7:4]之外的在线调试。

f.调试完成后,稍微修改用户程序,在上电后立即将JTD位设置为1,禁止JTAG口,开放PF[7:4]的I/O口功能。

g.复位芯片,使用JTAG下载修改后的程序,观察程序的实际运行情况。



总之,一旦使用了JTAG口,就和PF[7:4]的I/O功能产生冲突和矛盾。因此,在硬件设计时应尽量考虑不使用PF[7:4]的I/O功能(损失4个引脚资源)。

(以上摘自《M128》一书)



在我的实验室里,有多台AVR的JTEG的仿真器,从老的到新的,都是原装的。但我在教学中和设计调试产品过程中,从来没使用过。我感觉到,在现在的技术层面上,在线仿真的技术完全可以用其他的方式代替,而且更加方便。

我不使用在线仿真技术建立以下的基础上:对AVR的初始化过程参考ICC或CVAVR的程序生成器生成的程序编写;尽量使用高级语言编写系统程序;使用AVR的软件模拟环境调试;使用串口或LED输出或查看程序运行(反正是ISP,多写几次,我至今没写失效过芯片)。当然,这要求你的软件工夫要好。



关于程序调试,是经验的积累,也看个人的习惯。我个人认为,一定要使用在线仿真是学51留下的“恶习”。实际上,对于外部硬件的错误,对时序要求严格,以及通信协议的处理等,在线仿真也解决不了问题的。
关键字:AVR  JTAG 引用地址:关于使用AVR的JTAG

上一篇:AVR——使用定时器必须弄清的几个概念
下一篇:CodeVisionAVR中的一个配置

推荐阅读最新更新时间:2024-03-16 14:27

JTAG接口在线烧写Flash的实现
为了解决TMS320VC55X 系列DSP 系统程序代码的保存问题,设计了一种利用JTAG 接口,在线烧写Flash 并实现自举启动的方法。这种在线编程的方法利用并行外部存储器加载(EMIF)接口将 TMS320VC5509 和Flash 芯片相连接, 通过搬移程序将应用程序的已初始化段按照C55X 系列DSP 引导表格式烧写进外部扩展的Flash 存储器中,从而实现自举启动。该方法为DSP 系统的软件维护和升级带来了方便,具有实际的应用价值。 引言   Flash 是一种可在线进行电擦写而掉电后信息又不丢失的存储器, 它具有功耗低、容量大、擦写速度快等特点。如何将程序烧写进Flash , 并在上电时加载到DSP
[工业控制]
<font color='red'>JTAG</font>接口在线烧写Flash的实现
基于AVR单片机的电动机执行器控制系统
简介:电动机执行器控制系统是专门用来控制水泥厂通风管风量大小的控制器,CPU采用AVR单片机系列ATMEGA16L,此控制系统直接驱动一个电动机执行器,执行器带动一个活动百页窗,通过调节活动百页窗的旋转角度可以控制通风管中通过的风量。 电动机执行器控制系统是专门用来控制水泥厂通风管风量大小的控制器,CPU采用AVR单片机系列ATMEGA16L,此控制系统直接驱动一个电动机执行器,执行器带动一个活动百页窗,通过调节活动百页窗的旋转角度可以控制通风管中通过的风量。 电动机执行器控制系统如图1所示,控制系统输入信号有如下几组。 1.两组4-20mA电流信号。 2.4个开关量信号。 3.两组0-5V模拟电压信号。
[单片机]
基于<font color='red'>AVR</font>单片机的电动机执行器控制系统
ATMEL芯片解密之AVR与ARM选型方案探析
Atmel芯片解密是通过专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,从芯片中提取关键信息、获取单片机内程序的芯片解密。在ATMEL系列单片机解密技术研究中,连胜电子(www.pcbclub.net)已拥有十余年项目开发经验,技术上已经沉淀了夯实的基础。对于ATMEL的三种类型芯片如AVR解密、ARM解密及51单片机解密已非常成熟。AT89系列51单片机解密由于其技术简单,这里不多做介绍。 ATMELAVR单片机介绍 ATMELAVR分成三档:Attiny系列,AT90系列,ATmega系列,分别对应AVR中的低档,中档和高档单片机。现在有的AT90系列单片机已经转型给了Attiny系列和ATm
[单片机]
AVR单片机熔丝位的设置及拯救方法
AVR单片机需要设置合适的熔丝位才能实现其功能,如果熔丝位设置的不对将有可能导致单片机自锁,这是我整理的AVR单片机熔丝位的设置及拯救方,希望对大家有帮助。
[单片机]
<font color='red'>AVR</font>单片机熔丝位的设置及拯救方法
基于AVR的VGA显示和激光打印系统
摘要 :用ATMEGA128单片机结合CPLD实现了对VGA显示器和激光打印机的控制,完成了在VGA显示器上实时显示字符和图形的功能,并控制激光打印机实现了屏幕信息的打印输出。本设计克服了单片机系统显示和打印功能薄弱的缺点,为扩大其应用范围奠定了基础,同时也为其他嵌入式系统的信息输出提供了一种解决方案。 关键词 :VGA控制器;PCL命令语言;激光打印;CPLD 随着集成电路制造技术的不断发展,MCU、ARM、DSP等微控制器、微处理器的性能急剧提高,但是输出功能,尤其是显示和打印功能仍然比较薄 弱,与PC机相比有较大的差距。输出功能薄弱的缺点,限制了其应用范围的扩大。ATmega128是美国Atmel公司生产RI
[单片机]
AVR芯片的ISP全攻略分析
并行编程,最早的编程方法,功能最强大,但需要连接较多的引脚,通常需要12V~24V的高压,以示区别,下面称为 高压并行编程。 ISP(In System Programmability) 在系统编程,简称为 串行下载 IAP(In Application Programing) 在应用编程,BootLoader也是类似的意思 1 ISP虽然利用了SPI接口(例外:M64/M128为UASRT0接口,Tiny13等没有SPI接口)的引脚,但只在复位时起作用,而且下载完成后合格的下载器会自动断开端口的连接,对正常工作时没有影响的( 在产品应用中,下载器一定是不会一直粘在上面的)。 2 虽然高压并行下载能修复任何熔丝位,但对于贴片封
[单片机]
AVR的RAM扩展方法电路图
AVR的RAM扩展方法电路图如下图所示
[单片机]
<font color='red'>AVR</font>的RAM扩展方法电路图
AVR单片机教程——DAC
单片机的应用场景时常涉及到模拟信号。我们已经会使用ADC把模拟信号转换成数字信号,本讲中我们要学习使用DAC把数字信号转换成模拟信号。我们还将搭建一个简单的功率放大器电路,用DAC通过扬声器播放音乐。 SPI总线 集成DAC的单片机不多,ATmega系列就不在此列。我们将要使用的10位ADC是通过SPI总线通信的,因此我们先来学习SPI总线。 SPI是一种同步串行通信总线,支持全双工通信。所谓同步,就是有时钟信号,类似上一讲中的595和165,并且硬件实现上相似;所谓全双工,就是收发可以同时进行,事实上SPI的收发是必须同时进行的,不过你可以有选择地忽略其中一个。 一次SPI通信涉及到两个设备,分别是主机和从机。区分主
[单片机]
<font color='red'>AVR</font>单片机教程——DAC
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved