专利名称:带有片上后台调试系统的数据处理系统和相关方法
技术领域:
本发明一般涉及数据处理系统,再具体说就是,涉及带有片上后台调试系统的数据处理系统。
背景技术:
为了减少功耗,现代数据处理系统通常允许应用程序调整系统时钟速度,或甚至停止振荡器。在某些情况下,这些措施要求主开发系统调节其通信速度,以适应目标数据处理系统内的这些变化。在目标系统振荡器停止的情况下,后台通信也停止,这就使诸如读取或写入目标系统存储器位置的普通调试操作无法进行。因此需要在应用程序停止或调节系统时钟速度时仍能进行普通的调试操作。还需要主开发系统确定与目标数据处理系统进行后台通信的正确时钟速度。
在这里通过举例对本发明进行了图解说明,但并不局限于这里的附图,图中相同的附图标记指示类似部件,而且其中图1以方框图的形式图解说明了本发明中数据处理系统的一个图2以部分方框图和部分示意图的形式,依照本发明的一个实施例图解了图1的中央处理单元和时钟单元的部分内容。
图3以方框图的形式,依照本发明的一个实施例图解说明了图1的后台调试系统。
图4以时序图的形式,依照本发明的一个具体实施例,图解说明了逻辑1符号、逻辑0符号和同步请求及响应。
本领域技术人员明白,这里以简单清楚为目的图解了图中的部件,因此没有必要按比例绘图。例如,为有助于加强对本发明实施例的理解,图中某些元器件的尺寸与其它元器件相比有些夸大。
具体实施例方式
在此应用中,“总线”一词用于指多个信号或导体,可用于传输一或多个不同类型的信息,如数据、地址、控制或状态。“设定(assert)”一词是指将信号、状态位或相似设备确定为其逻辑真的状态。“否定(negate)”或“取消设定(deassert)”是指将信号、状态位或相似设备确定为其逻辑假的状态。如果信号(或状态位等)是高电平有效,则逻辑真状态就是逻辑电平1,而逻辑假状态就是逻辑电平0。如果信号(或状态位等)为低电平有效,则逻辑真状态就是逻辑电平0,而逻辑假状态就是逻辑电平1。也就是,当“低”指逻辑电平0时,“高”就是指逻辑电平1。
图1以方框图的形式,依照本发明的一个实施例,图解说明了数据处理系统10。数据处理系统10可以是诸如微控制器、微处理器、数字信号处理器(DSP)或此类设备的任何处理系统。数据处理系统10包括CPU 12、时钟单元19、存储器模块16、其它模块18、调试模块20、内部地址总线22、内部数据总线24和控制信号26。CPU 12包括后台调试系统(BDS)14。BDS 14包括后台通信接口52。内部数据总线24、内部地址总线22和控制信号26连接在数据处理系统10上的CPU 12和每个外设模块之间。时钟单元19通过控制信号26与CPU 12连接,并且通过信号44和54与BDS 14连接。时钟单元19也包括用于连接到振荡器电路的接口信号48和49。
操作中,CPU 12通过数据总线24接收并执行来自存储在存储器模块16中的软件程序的指令。然后CPU 12控制或运用数据处理系统的其它资源执行某些任务。存储器模块16可以是任何类型的存储器,包括静态随机存取存储器、动态随机存取存储器或诸如快速擦写存储器的任何类型的非易失性存储器,但并不局限于此。其它模块18可以是另一个存储器模块、模/数转换器、计时器模块、串行通信模块(例如CAN模块)、通用输入/输出模块或此类模块。调试模块20可以是任何可进行程序调试的适当调试模块。
时钟单元19通过EN BDM 44和后台调试时钟54与后台调试系统14连接。信号48和49向外部振荡器部件提供接口信号。时钟单元19还通过控制信号26接收并提供控制信号。例如,时钟单元19向CPU 12提供时钟信号,并通过控制信号26接收STOP信号。时钟单元19还向CPU 12、存储器模块16、调试模块20和其它模块18提供系统时钟。(时钟单元19将在下面参考图2进一步讨论。)BDS 14也包括允许连接主开发系统与数据处理系统10(也可被称作目标系统)的后台通信接口52。主开发系统因此可以通过后台通信接口52进行调试操作。在一个实施例中,后台通信接口52可以是异步双向单线接口。在该实施例中,BDS 14只需一个外部插头就可以与主系统进行调试操作。在另一个实施例中,还可以使用象JTAG接口这样的其它适当通信接口。
图2图解说明了图1中CPU 12和时钟单元19的部分内容,及外部振荡器部件30。在一个实施例中,外部振荡器部件30包括振荡晶体或谐振器32,反馈电阻34和2个负载电容36和38,所有元器件均按照传统的Pierce振荡器结构连接。但在可选实施例中可以使用其它适当的振荡器部件和结构。时钟单元19包括反相器42、与非门66和62,及时钟控制46。与非门66与STOP信号68、反相器42和与非门62连接。与非门62(也称作振荡放大器62)与振荡器部件30和时钟控制46连接。反相器42从BDS 14接收EN BDM 44,而时钟控制46向BDS 14提供后台调试时钟54。CPU 12包括通过指令地址70与地址生成单元74连接的BDS 14。地址生成单元74还接收CPU地址72,并通过地址总线22提供系统地址。BDS 14还双向连接到后台通信接口52、数据总线24和控制信号26。
操作中,通过取消设定高电平有效的使能信号64,可以禁止时钟单元19中的振荡放大器62。在现有技术的系统中,为了减少功耗,在数据处理系统进入停止模式时禁止振荡放大器(因此禁止振荡器)。但是,在图2的实施例中,使能信号64由与非门66的输出信号驱动,两个针对与非门66的输入是STOP信号68和停止使能控制信号40。在该实施例中要注意的是,信号68和40两个都是高电平有效信号。还需注意的是,STOP信号68可由CPU指令生成,从而使数据处理系统10进入停止模式(或低功率模式)以减少功率。在普通操作期间,通常没有主系统被到连接后台通信接口52,而且EN BDM 44是低电平(即BDS 14没有被使能)。因此,与非门66输入端的停止使能控制信号40是高电平。因此,在普通操作期间,STOP信号68决定振荡器是否运行或停止,这分别取决于STOP信号68是低还是高。还有就是,在普通操作期间,地址生成单元74将信息从CPU地址72传送到地址总线22。例如,CPU地址72可以从CPU 12中的执行单元(没有示出)接收地址。
但是,在开发和调试操作期间,主系统通常与后台通信接口52连接,而且EN BDM 44是高电平。这使能BDS 14并驱动针对反相器42的输入,使得停止使能控制信号40为低电平。这使得不管STOP信号68的状态如何,与非门66的输出均为高电平。因此这允许BDS 14独立于STOP信号68地使能振荡放大器62。需要注意的是,STOP信号68还驱动数据处理系统10内的其它电路,使得在调试操作期间,当BDS 14保持振荡器继续运行时,仍然可以停止其它系统时钟。BDS 14还使用数据总线24、控制信号26和地址总线22进行后台调试操作,例如,读和写存储器。在这样的调试操作期间,地址生成单元74通过指令地址70将地址从BDS 14传送到地址总线22,从而允许BDS 14访问数据处理系统存储器。
因此可以理解,根据本发明的不同实施例,当主开发系统连接到后台通信接口,而且已使能后台调试模式时,可以越过振荡器停止模式的普通操作,使得振荡器继续运行。这允许后台调试通信接口继续工作,因此,虽然其它数据处理系统模块为节约功率都已关闭,但普通调试操作仍能进行。例如,在使能后台调试模式后,虽然其余的数据处理系统模块仍然关闭,但主开发系统可发送READ STATUS指令来判断目标系统的状态。
再来看图2,时钟控制46从振荡器部件30接收参考振荡信号48,并依据参考信号48向BDS 14提供后台调试时钟54。时钟控制46可以包括象分频器这样可调节参考振荡信号的电路。因此,只知道振荡器参考信号频率而不了解时钟控制46具体情况的主开发系统会不能确定由时钟控制46生成的系统时钟的实际频率。因此为了与主系统正确地进行其调试操作,BDS 14必须解决这一问题,如下面针对图3和图4予以讨论的。
图3图解说明了BDS 14的一个实施例。从外部主开发系统(即,外部调试主系统)接收信号的后台通信接口52被连接到串行指令解码器模块56、指令响应模块58、同步(SYNC)检测模块64,和同步响应模块66。后台调试时钟信号54控制串行指令解码器模块56、指令响应模块58、同步检测模块64和同步响应模块66中的操作时序。指令响应模块58还与数据总线24和控制信号26连接,从而允许串行后台指令读取或写入存储器和寄存器值,或发出诸如GO、TRACE或enter-active-BACKGROUND的调试指令。串行指令解码器56还与提供EN BDM 44信号的BDM使能电路43连接。
BDM使能电路43可以包括将EN BDM 44作为其控制位之一而储存的控制寄存器,或包括设计用于设定EN BDM 44的其它电路。在一个实施例中,EN BDM 44可以是储存在控制寄存器内的一个位,该位只可由主开发系统通过后台通信接口52发出的BDS指令读取。这可以防止用户代码有意无意地设定EN BDM 44,而使STOP信号68越过。在可选实施例中,EN BDM 44不能作为控制位储存,而可由逻辑电路设定,其中该电路通过后台通信接口52检测发生有效调试通信的时间。可选实施例可以使用不同的机构和电路,而不是参照BDM使能电路43说明的其它机构和电路,来设定EN BDM 44以使能BDS 14。
在后台调试操作期间,串行指令和数据都是通过后台通信接口52接收的,并由串行指令解码器56解码。然后指令响应模块58使用数据总线24中的信号和控制信号26执行所请求的指令。对于某些指令,数据通过数据总线24和控制信号26写入数据处理系统10。对于其它指令,通过数据总线24和控制信号26从数据处理系统10中读出数据,并通过后台通信接口52作为串行数据流发回主开发系统。在一个实施例中,按照预定通信协议,串行指令解码器56和指令响应模块58处理的所有指令和数据遵守图4示出的符号定时。该示范协议中,在大约3/4以上的符号时间段中,将主开发系统连接到后台通信接口52的线路没有被设定为低电平,在该实施例中,这一时间段为后台调试时钟54的16个周期。(需要注意的是,在下面的说明中,后台通信接口52也可以是指从主开发系统连接到后台通信接口52的通信线路。即,在连接到主开发系统时,后台通信接口52也可被称作后台通信线路52)图4示出了后台通信线52上普通串行指令和数据的逻辑1符号时延(即,位时间)和逻辑0符号时延(即,位时间)。在该实施例中,每个符号从下落边沿开始,而且是后台调试时钟54的16个周期。在位时间的中间附近采样每个位时间的逻辑值,如图4中的“采样点”标记的所示。在逻辑1符号的情况下,信号在大约1/4的位时间内被设定为低电平,使得当在位时间中部采样时,信号为逻辑1。可选地,信号可以在任意时延内被设定为低电平,只要在采样时能够得到正确信号值(逻辑1)的采样点之前对其取消设定。类似地,在逻辑0符号的情况下,在大约3/4的位时间内信号被设定为低电平,使得当在位时间的中间采样时,其为逻辑0。可选地,信号可以在任意时延内被设定为低电平,只要在采样时能够得到正确信号值(逻辑0)的采样点上将其设定为低电平,并且在新符号开始前取消设定。也就是说,对于逻辑0符号,当在下一符号开始前的某个时间取消设定之前,信号可在超过当前符号的时间内一直设定为低。在这一实施例中,在普通调试通信期间,后台通信线52设定为低的时间决不会比逻辑0的情况更长。
图4也使用上面说明的示范协议图解说明了同步(SYNC)请求和同步(SYNC)响应的时序。当外部主开发系统在后台调试时钟54的至少128个周期内将后台通信线52设定为低电平时,发出同步请求。当数据处理系统10(即目标系统)中的同步检测模块64检测到该同步请求时,其进行等待,直到后台通信线路52返回到取消设定的高电平。然后同步响应模块66延迟后台调试时钟54的若干个周期(足以使后台通信线至少返回高电平状态,该状态使请求和响应间有明显间断),然后在后台调试时钟54的128个周期内设定后台通信线路52。此后外部主开发系统能够测量这一低同步响应信号的持续时间,以确定后续后台通信的正确速度。
如上所述,外部主开发系统可能无法检测用于调试操作的正确处理器速度。因此,同步请求和响应机构允许主开发系统确定与目标系统的后台通信的正确时钟速度。总之,通过在比普通通信的设定时间更长的时间内设定后台通信信号,主开发系统向目标系统请求同步定时脉冲。在识别这一请求时,目标系统作出响应,其中在通信时钟信号的特定数量的周期内设定后台通信信号。主系统测量这一响应脉冲的长度以确定正确的通信速度。同步请求和响应因此就能用来使第一数据处理系统与第二数据处理系统同步,并且这并不局限于主系统和目标系统。
可选实施例可以根据其它通信协议进行通信,该协议可定义具有不同时延和格式的符号。比如,一个符号可以有大于或小于图4中所示的16个周期的时延,而且可在其符号时延内的不同点上对其进行采样。因此,同步请求可能比上面图示的128个周期更长或更短。通常,同步请求基本上长于最大符号时延。例如在图4所示的实施例中,128个周期至少要比16个周期长(对应于正常符号时延),而且考虑到时钟信号的足够容差和任何测量误差。在某些实施例中,同步请求信号时间可定义为普通符号时延的至少2倍。另一方面,为使主系统使用发送的固定数量的周期作出正确时间测量,目标系统发送的同步响应具有固定时延。但是由于主系统可能与目标系统异步,在同步响应的测量中存在某些不确定性。因此,应该为同步响应选择足够长的时延(与正常符号时延相比),以便尽量减小测量不确定性的影响,并使主系统可得到更准确的定时信息。可选实施例可以使用同步请求和同步响应的时延的许多不同组合。
在数据处理系统10的可选实施例中,BDS 14可以包括独立于时钟单元19的自带式(self-contained)振荡器,例如电阻-电容(RC)振荡器等等。在这样的系统中,可以使用与用于越过STOP信号68的逻辑相类似的逻辑适当地使能自带式振荡器。例如,当在后台通信线52上检测到有效通信时,可使能该自带式振荡器,而不必顾及系统振荡器的工作情况。因此,数据处理系统的系统振荡器可被置于停止模式,而BDS 14可不受此影响地继续进行调试操作。如果BDM 14使用诸如RC振荡器的自带式振荡器,主系统通常没有预先知道其定时信息。这部分是因为RC振荡器一般有较宽的频率容差,从而使其很难知道该频率。如上所述,主系统可使用同步请求,以便通过同步响应从BDM 14获取正确的定时信息。
尽管已经参照特定传导类型和电位极性描述了本发明,但本领域技术人员可以理解,传导类型和电位极性也可被反转。例如,已设计为高电平有效的信号也可被设计为低电平有效,而已设计为低电平有效的信号也可被设计为高电平有效。本领域普通技术人员会理解如何修改电路以适应这些变化。
在前面的说明中,已参照具体实施例对本发明进行了说明。但本领域普通技术人员可以理解,在不偏离下面权利要求所限定的本发明范围的前提下,可以进行各种修改和改变。因此,说明书和附图只是图解性的,而不是限制性的,并且所有此类修改都应包括在本发明范围内。
前面已参照具体实施例说明了本发明的益处、其它优点和问题解决方法。但是,所述益处、优点、问题解决方案,和可能导致任何益处、优点、问题解决方案能够被想到或变得显而易见的任何要素,都不应被解释为任何或所有权利要求的关键、必须或必要特征或要素。在本文中,术语“包括”或该术语的任何其它变形均被用来涵盖非排它性包含,使得包括一组要素的过程、方法、产品或装置均不只是包含这些要素,而是还可以包含其他没有罗列表述的、或这些过程、方法、产品或装置本身所固有的要素。
权利要求
1.一种数据处理系统,包括具有使能控制(44)的后台调试系统(14);及时钟单元(19),被连接到后台调试系统,并且适于接收使能控制,其中时钟单元能够停止振荡;其中当设定使能控制时,防止时钟单元停止振荡。
2.操作具有与时钟单元(19)连接的后台调试系统(14)的数据处理系统的方法,包括进入低功率模式,其中在低功率模式期间,时钟单元能够停止振荡;设定后台调试使能控制(44);和对设定后台调试使能控制作出响应,后台调试系统防止时钟单元停止振荡。
3.一种数据处理系统,包括通信接口(52),能够按照预定通信协议传送具有一符号时延的符号;同步检测单元(64),被连接到通信接口,并且适于接收同步请求,其中同步请求的时延长于所述符号时延;和同步响应单元(66),被连接到通信接口,并且适于提供针对同步请求的同步响应。
4.根据权利要求3的数据处理系统,其中同步响应具有预定响应时延。
5.根据权利要求3的数据处理系统,其中由数据处理系统外部的主单元提供同步请求,并且由数据处理系统向主单元提供同步响应,其中主单元能够根据同步响应确定定时信息。
6.一种数据处理系统,包括异步通信接口(52),能够与数据处理系统外部的主单元通信;和后台调试系统(14),被连接到异步通信接口,所述后台调试系统包括同步检测单元(64),适于从主单元接收同步请求,和同步响应单元(66),适于向主单元提供同步响应,以响应同步请求。
7.根据权利要求6的数据处理系统,其中异步通信接口能够按照一通信协议传送具有预定符号时延的符号,并且主单元在比预定符号时延还要长的时延内设定同步请求。
8.使第一数据处理系统与第二数据处理系统同步的方法,其中第一和第二数据处理系统按照一通信协议进行通信,以便传送具有预定符号时延的符号,包括提供其时延长于预定符号时延的同步请求;并且对同步请求作出响应,提供具有固定的预定时延的同步响应。
9.一种数据处理系统,包括后台调试系统(14),具有后台调试时钟单元(19),和连接到后台调试时钟单元的使能控制(44);和系统时钟单元,被连接到后台调试系统,其中系统时钟单元适于被连接到系统振荡器,并且能够停止系统振荡器的振荡;其中当设定使能控制时,后台调试时钟单元被使能。
10.操作具有连接到系统时钟单元的后台调试系统的数据处理系统的方法,其中后台调试系统具有后台调试时钟单元,包括进入低功率模式,其中在低功率模式期间,系统时钟单元防止数据处理系统的振荡;设定后台调试使能控制;和对设定后台调试使能控制作出响应,独立于系统时钟单元地使能后台调试时钟单元的振荡。
全文摘要
本发明的实施例涉及在主开发系统与后台调试通信接口(52)连接,而且已经使能后台调试模式的情况下,防止振荡器停振的机构。这允许后台调试操作在目标数据处理系统处于低功率模式下继续进行。其它实施例涉及允许主开发系统向目标数据处理系统请求同步定时脉冲,使得能够针对后台通信确定正确时钟速度的机构。可选实施例涉及带有系统时钟单元和后台调试系统(14)的数据处理系统,其中后台调试系统包括与系统时钟单元分离的后台调试时钟单元,及使能控制(44)。当使能控制有效时,后台调试时钟单元以独立于系统时钟单元的方式被使能。
文档编号G06F11/00GK1543604SQ01822793
公开日2004年11月3日 申请日期2001年12月18日 优先权日2001年2月21日
发明者迈克尔·C·伍德, 乔治·E·巴克, 詹姆斯·M·西比格特罗斯, M 西比格特罗斯, E 巴克, 迈克尔 C 伍德 申请人:自由度半导体公司