用于控制集成电路的方法、集成电路和包括集成电路的计算机的制作方法

文档序号:6362030阅读:156来源:国知局
专利名称:用于控制集成电路的方法、集成电路和包括集成电路的计算机的制作方法
用于控制集成电路的方法、集成电路和包括集成电路的计算机本发明属于电子电路的领域,并且更具体地涉及对微处理器集成电路的控制。微控制器是可编程集成电路的一个示例,该可编程集成电路除了 一个或多个微处理器之外还包括存储器(闪存、R0M、EEPR0M、RAM等)、接口外围设备等。在启动时,微控制器执行引导程序,包括可以由微处理器执行的代码指令。这样的引导程序被存储在非易失性存储器中,例如ROM存储器(只读存储器)中,并且使得能够默认发起适用于执行为微控制器所提供的各种功能的更复杂的通用程序的执行。具体地,在嵌入式系统中,微控制器还可以被配置成执行用于加载特定程序的程序。特定程序使得尤其能够通过修改非易失性存储器的内容来修改通用程序,在所述非易失性存储器中存储了全部或部分的所述通用程序。在下文中,所述微控制器执行加载程序(在本文中称为“引导加载程序”)的模式被称为“引导程序模式”。通过微控制器的偏压端口(管脚(fin)、引线等),也就是说通过将由微控制器解释为引导程序模式激活命令的预定信号施加到所述端口,来激活引导程序模式。这些端口通常专用于引导程序模式的激活。尽管在微控制器的集成/验证阶段中频繁激活引导程序模式,但是在所述微控制器被包括在例如机动车辆计算机的最终产品中时,情况不再是这样。然后,仅在故障并且将计算机返回到制造商以进行故障分析的情况下,激活引导程序模式。因此,应当理解,通过使某些端口专用于引导程序模式的激活,导致了对微控制器的端口的低效使用,由于微控制器的端口的数目通常是有限的,所以这更加不利。已知的实践是提供针对引导程序模式的激活以及针对微控制器的输入/输出二者所实现的共享端口。该方法的问题在于下述事实:在实践中,使引导程序模式的激活以及微控制器的输入/输出共存于同一个端口上是非常复杂的。一方面,可以在这样的端口上接收的信号根据其是引导程序模式激活信号还是输入/输出信号二可能具有非常不同的特性(电压、时钟频率等),使得微控制器对这些信号的处理变得复杂,并且需要大量的逻辑电路。而且,与访问作为微控制器的输入/输出的这些端口的设备项的共存产生了这些设备项的电气绝缘以及避免由这些设备项施加到这些端口的信号被错误地解释为引导程序模式的激活的问题。实践中,在机动车辆的情况下,引导程序模式的错误激活可能导致机动车辆的乘客失去对所述机动车辆的控制。本发明的目的具体地在于,在限制要对现有集成电路的修改的同时,减少引导程序模式的激活所需要的端口的数目。根据第一方面,本发明涉及一种用于控制包括微处理器的集成电路的方法。集成电路被配置成默认执行通用程序。“对集成电路的控制”的表达应当被理解为意味着引导程序模式的激活以及要执行的特定程序的加载。该控制方法包括:经由测试总线向集成电路的测试模块发送至少一个引导程序模式激活消息的步
骤,
由集成电路的测试模块执行的、激活集成电路的引导程序模式的步骤,
经由与测试总线不同的通信总线来加载特定程序的步骤。根据特定实现,该方法独立地或者以所有技术上可能的组合包括下述特征中的一个或多个:
集成电路适用于经由多个通信总线加载特定程序,该至少一个消息包括要在加载步骤期间使用的通信总线的标识符,
由测试模块的不可锁定功能来执行引导程序模式的激活,可锁定功能是其执行可以通过测试模块的配置来阻止的功能,
该方法在与测试模块的任何数据交换之前包括认证步骤,
测试模块是JTAG模块。根据第二方面,本发明涉及一种包括微处理器的集成电路。该集成电路被配置成默认执行通用程序,并且在其处于引导程序模式时加载要执行的特定程序。该集成电路包括测试模块,该测试模块适用于在其经 由测试总线接收到用于激活所述引导程序模式的至少一个消息时,激活所述引导程序模式。该集成电路被配置成经由与测试总线不同的通信总线来加载配置程序。根据特定实施例,集成电路独立地或者以所有技术上可能的组合包括下述特征中的一个或多个:
测试模块是JTAG模块,
至少一个激活消息包括特定JTAG控制指令。根据第三方面,本发明涉及一种包括根据本发明的任何一个实施例的至少一个集成电路的计算机,并且包括在测试总线和激活总线之间的适配单元。优选地,适配总线包括比测试总线更少的迹线(track)。在阅读了作为非限定示例给出的下面的描述之后并且参考附图将更好地理解本发明,所述附图表示:


图1:根据本发明的包含JTAG模块的示例性实施例的示意性表示,
图2a:根据现有技术的可编程集成电路的示意性表示,
图2b:根据本发明的可编程集成电路的示意性表示,
图3:根据本发明的用于控制集成电路的方法的主要步骤的示图,
图4:根据本发明的计算机的优选实施例的示意性表示。 本发明涉及用于控制可编程集成电路的方法50以及可编程集成电路20和包括该可编程集成电路的计算机30。表达“可编程集成电路”应当被理解为指集成电路,包括一个或多个微处理器,该一个或多个微处理器在集成电路的引导程序模式被激活时,执行用于与通用程序不同的特定程序的加载程序(“引导加载程序”)。在本发明的含义内,对集成电路的控制与使集成电路执行特定程序(要加载到存储器中)而不是通用程序所要执行的所有操作相对应。特定程序可以被实现为执行各种测试,包括通过修改非易失性存储器来修改所有或全部的通用程序,在该非易失性存储器中存储了形成所述通用程序的所有指令代码。特定程序还可以被实现为用于可以在可编程集成电路外部的可编程逻辑电路(FPGA、PLD、EPLD等)的配置程序。本发明开发了一种在其资源(特别是端口)的成本、稳定性和优化的约束非常重要的大范围(机动车辆计算机、移动电信终端等)上分布的集成电路中特别有利的应用,但不以任何方式进行限定。根据本发明,通过实现集成电路20的测试模块200来执行集成电路20的引导程序模式的激活。目前,多数集成电路设置有至少一个测试模块,以检查在所述集成电路的集成/验证期间所述集成电路的操作。测试模块通常在验证之后保留在集成电路中。一方面,这使得能够避免在已经对其进行了验证之后引入对该集成电路的修改,另一方面,这使得能够保留在故障或者返回制造商以进行分析的情况下对集成电路进行测试的可能性。存在很多这样的测试模块的示例。在能够举例的那些示例中有下述测试模块:JTAG, BDM、BSC、OCDS、DAP、NEXUS 等。在集成电路20的优选实施例以及控制方法50的实现中,测试模块200是JTAG(联合测试行动组)模块,即,可与具体地在规范IEEE标准1149.1-1990中描述的IEEE 1149标准 “Standard Test Access Port and Boundary Scan Architecture” 兼容的模块。在下文中,在说明书中,测试模块200是JTAG模块200的情况将用作非限定性的情况。根据没 有详细描述的其他示例,不排除考虑其他类型的测试模块。图1示意性地表示根据本发明修改的JTAG模块200的非限制性示例性实施例。已知包括JTAG模块的集成电路设置有耦合到JTAG模块的多个测试专用端口。在实践中,集成电路采用安装在封装中的电子芯片的形式。电子芯片还被电气耦合到在所述封装的外面布置的引线或管脚。在本发明的背景下,术语“端口”应当被理解为意味着引线或管脚或者任何其他类型的适当电气触点。在JTAG模块200的情况下,集成电路20通常包括专用于测试功能的链接到测试总线310的4到5个端口。与JTAG模块200相关联的端口如下:
TDI (“测试数据输入”):数据输入,
TDO (“测试数据输出”):数据输出,
TMS (“测试模块选择”):测试模式的选择,
TCK (“测试时钟”):时钟,
TRST (“测试复位”,可选):复位。这些端口中的每一个的作用和使用模式被认为是本领域中技术人员已知的,并且在规范IEEE标准1149.1-1990中进行了详细描述。为了附图的易读性,仅在其中表示了TD1、TDO 和 TMS 端口。如图1中所示,JTAG模块200特别地包括状态机201,即,适用于控制所述JTAG模块的操作的同步逻辑电路。TDI输入端口耦合到解复用器电路202,该解复用器电路202对在TDI端口上所接收到的信号进行分离。控制指令被传送到指令寄存器203,并且数据被传送到另一解复用器电路204。数据被路由到与指令寄存器203中的控制指令的值相关联的数据寄存器。例如,标准IEEE 1149提供分别被称为“BYPASS”(与“BYPASS”控制指令相关联)和“IDCODE”(与“IDCODE”控制指令相关联)的数据寄存器205和206,这被认为是本领域中的技术人员所已知的。标准IEEE 1149还提供与诸如所谓的“边界扫描”功能207之类的测试功能相关联的数据寄存器,这也被认为是本领域中的技术人员所已知的。标准IEEE 1149还提供使得每个制造商定义其自己的控制指令和相关联测试功能的可能性。根据本发明,JTAG模块200包括新的测试功能208,用于激活集成电路20的引导
程序模式。在所示的示例中,并且以传统方式,于是通过复用器电路209来复用不同的测试功能和寄存器的输出,该不同的测试功能和寄存器的输出进而通过另一复用器电路210来与控制指令进行复用。复用器电路210的输出例如被链接到TDO输出端口。图2a示意性地表示根据现有技术的集成电路10。集成电路10包括用PO、Pl和P2表示的专用于引导程序模式的激活的端口。在现有技术中,端口 PO、PU P2构成启动程序模式激活接口。集成电路10包括耦合到端口 P0、P1、P2的引导程序模式激活模块120。在所示的示例中还包括测试模块100-耦合到TD1、TD0和TMS端口(构成集成电路10的测试接口)的JTAG模块。图2b示意性地表示如图1中所示的根据本发明修改的包含JTAG模块200的集成电路20。集成电路20包括耦合到JTAG模块200并且通过所述JTAG模块200的激活功能208来控制的、用于激活所述集成电路的引导程序模式的模块220。用于激活引导程序模式的模块220实现与根据现有技术的引导程序模式激活模块120基本上相同的功能。如图2b中所示,端口 PO、Pl和P2可用于将其他功能添加到集成电路20,引导程序模式激活接口现在是集成电路20的测试接口(端口 TD1、TDO、TMS等)。集成电路20还被配置成,当已经通过添加到JTAG模块200的激活功能208激活了引导程序模式时,经由与测试总线310不同的通信总线320来加载特定程序。以该方式,JTAG模块200仅用于引导程序模式的激活而不用于特定程序的加载。通信总线320可以是适用于加载特定程序的任何类型,并且取决于集成电路20所支持的通信总线的类型。可以举例的示例是串行同步/异步、CAN (控制器局域网络)、FlexRay、以太网和其他这样的类型的通信总线。因为没有实现用于加载特定程序的JTAG模块200,所以实现与测试总线310不同的通信总线320提供了限制要对现有JTAG模块进行的修改的优点。此外,因为特定程序的加载可以继续经由与先前相同的通信总线来进行,所以这使得还能够限制要对现有引导程序模式激活模块进行的修改。仅经由测试接口(端口 TD1、TDO、TMS等)来进行引导程序模式的激活以便于释放端口 PO、Pl和P3。图3示意性地表示根据本发明的用于控制集成电路20的方法50的主要步骤,所述步骤是: 经由测试总线310向集成电路20的JTAG模块200发送至少一个引导程序模式激活消息的步骤51,
由JTAG模块200的激活功能208来激活集成电路20的引导程序模式的步骤52,经由与测试总线310不同的通信总线320来加载特定程序的步骤53。所述至少一个引导程序模式激活消息特别地包括与引入JTAG模块200中的引导程序模式激活功能208相关联的预定控制指令。优选地,当集成电路20处于引导程序模式时所执行的加载程序适用于经由多个不同的通信总线320 (串行同步/异步、CAN、FlexRay、以太网等)来加载特定程序。在该情况下,至少一个消息包括所有可用的通信总线中的在加载特定程序的步骤53期间要使用的通信总线320的标识符,并且功能208激活用于经由所选择的通信总线320进行加载的引导程序模式。优选地,弓丨A JTAG模块200的激活功能208是不可锁定功能。已知的实践是,一旦在最终产品(例如机动车辆计算机)中安装了集成电路,就锁定JTAG模块200的特定测试功能。表达“锁定的测试功能”应当被理解为意味着JTAG模块200在最终产品的集成电路20中被配置为不再能够执行所述锁定的测试功能。用于锁定JTAG模块的测试功能的机制被视为对于本领域中的技术人员来说是已知的。在最终产品中的集成电路20故障的情况下,可以证明有必要必须对所述集成电路进行重新编程,使得必须能够执行引导程序模式激活功能208,包括在最终产品中。因此,应当理解,具有不可锁定的激活功能208是有利的。图4表示包括安装在印刷电路300上的多个集成电路20的计算机30的示例性实施例。集成电路20链接到测试总线310,并且每一个都包括根据本发明修改的JTAG模块200。此外,所述集成电路20链接到至少一个通信总线320。优选地,在控制方法50的发送步骤51期间传送的至少一个消息包括必须针对其激活引导程序模式的集成电 路20的标识符。因此,应当理解,可以经由相同的测试总线310来独立地激活包括修改的JTAG模块200的每个集成电路20的引导程序模式。经由与测试总线310不同的通信总线320来执行用于集成电路的特定程序的加载。在优选实施例中,计算机30包括链接到测试总线310的适配单元40。图4图示了在根据本发明的包括三个集成电路20的计算机30的情况下的优选实施例,但是应当理解,该实施例适用于任何数目的这样的集成电路20。适配电路40例如是微控制器和/或可编程逻辑电路。适配单元40被配置成执行在一方面的测试总线310和另一方面的激活总线330之间的适配,激活总线330包括比测试总线310更少的迹线。用于JTAG模块200的测试总线310通常包括分别链接到TD1、TDO、TMS、TCK和TRST端口的4至5个迹线。激活总线330链接到连接器340。激活总线330优选地是包括单个迹线的通信总线,诸如串行异步总线,使得连接器340可以仅包括单个端口。通信总线320链接到在所示的示例中与连接器340不同的连接器350。根据未示出的其他示例,不排除具有用于测试总线310和通信总线320的同一个连接器。适配单元40被配置成通过实现由例如规范IEEE标准1149.1-1990定义的JTAG通信协议而通过测试总线310与每个集成电路20的JTAG模块200交换数据。适配单元40还被配置成通过实现与JTAG通信协议不同的通信协议来与链接到连接器340的设备项(在附图中未示出)交换数据。因此,适配单元40提供在激活总线330和测试总线310之间的物理和功能上的适配。在实践中,适配单元40特别地处理在一方面的根据在激活总线330上使用的通信协议格式化的信号和另一方面的根据JTAG通信协议格式化的信号之间的转换。包含适配单元40的这样的计算机30提供了下述优点,使得能够经由包括比测试总线310更少的迹线的激活总线330来激活引导程序模式。通过在连接器340的端口(或者电气触点)数目上的减少来实现该迹线数目的减少。在机动车辆计算机的具体情况下,计算机30通常包括未在附图中表示的紧密密封箱,在该密封箱内布置了印刷电路300。计算机300的箱体还包括与印刷电路300的连接器链接的外部连接装置。因为在机动车辆计算机30的情况下,所述连接装置必须能够承受显著的压力,特别是温度和湿度,所以外部连接装置的端口(电气触点)的数目是重要的因素。通过在制造成本中的不显著的增加来实现对这些外部连接装置的端口的添加。因此,应当理解,端口的数目必须保持为最小。应当理解,根据本发明,用于激活集成电路20的引导程序模式的JTAG模式200的使用使得能够释放该集成电路20的端口。然而,在包括紧密密封箱的计算机30的情况下,那么可能有必要将分别链接到TD1、TD0、TMS、TCK和TRST端口的4至5个端口添加到外部连接装置。由于适配单元40的缘故,用于从计算机30的密封箱外部激活引导程序模式的外部连接装置的端口的数目可以被减少为I个。应当注意,外部连接装置链接到计算机30的至少一个通信总线320以加载特定程序。在图4的计算机30的情况下,外部连接装置例如链接到连接器340并且链接到连接器350。在特定实施例中,在激活总线330上使用的通信协议是安全协议,需要在与JTAG模块200的任何数据交换之前的事先验证。认证可以实现对本领域中的技术人员已知的任何类型的认证算法。在适当时,控制方法50在与JTAG模块200的数据交换之前包括对由适配单元40接收到的消息的发送方的认证的步骤。优选地,一旦已经成功完成了认证,就对通过激活总线330交换的数据进行加密。加密可以实现对于本领域中的技术人员来说已知的任何类型的加密算法。认证和在适当时的加密使得能够防止未授权的人员对JTAG模块200的访问。此夕卜,这使得能够限制经由测试总线310链接到适配单元40的集成电路20的引导程序模式的错误激活的风险。
权利要求
1.一种用于控制包括微处理器的集成电路(20 )的方法(50 ),其中,所述集成电路(20 )被配置成默认执行通用程序,所述集成电路通过激活被称作“弓I导程序模式”的所述集成电路的具体操作模式并且加载要执行的特定程序来进行控制,其特征在于,所述方法(50)包括:经由测试总线(310)以与测试功能(208)相关联的预定控制指令的形式向所述集成电路(20)的测试模块(200)发送至少一个引导程序模式激活消息的步骤(51),通过耦合到所述测试模块(200 )的激活模块(220 )来激活由所述测试功能(208 )控制的所述集成电路(20)的所述引导程序模式的、并且由所述集成电路(20)的所述测试模块(200)来执行的步骤(52),经由与所述测试总线(310)不同的通信总线(320)来加载所述特定程序的步骤(53)。
2.根据权利要求1所述的方法(50),其特征在于,所述集成电路(20)适用于经由多个通信总线加载所述特定程序,所述至少一个消息包括在加载所述特定程序的所述步骤(53)期间要使用的所述通信总线(320)的标识符。
3.根据权利要求1至2之一所述的方法(50),其特征在于,所述引导程序模式的激活由所述测试模块(200)的不可锁定功能(208)来执行,可锁定功能是其执行能够通过所述测试模块(200)的配置来锁定的功能。
4.根据前述权利要求之一所述的方法(50),其特征在于,所述方法在与所述测试模块(200)的任何数据交换之前包括认证步骤。
5.根据前述权利要求之一所述的方法(50),其特征在于,所述测试模块(200)是JTAG模块。`
6.一种包括微处理器的集成电路(20),所述集成电路被配置成默认执行通用程序并且在其处于被称作“引导程序模式”的操作模式时加载要执行的特定程序,其特征在于:所述集成电路(20)包括测试模块(200),所述测试模块(200)适用于在其通过测试总线(310)接收到用于激活所述引导程序模式的至少一个消息时激活所述引导程序模式,所述消息具有与测试功能(208)以及耦合到所述测试模块(200)的至少一个激活模块(220)相关联的预定控制指令的形式,所述集成电路(20)被配置成经由与所述测试总线(310)不同的通信总线(320)来加载所述配置程序。
7.根据权利要求6所述的集成电路(20),其特征在于,所述测试模块(200)是JTAG模块。
8.根据权利要求7所述的集成电路(20),其特征在于,所述至少一个激活方法包括特定JTAG控制指令。
9.一种包括至少一个根据权利要求6至8之一所述的集成电路(20)的计算机(30),其特征在于,所述计算机包括在所述测试总线(310)和激活总线(330)之间的适配单元(40)。
10.根据权利要求9所述的计算机(30),其特征在于,所述适配总线(330)包括比所述测试总线(310)更少的迹线。
全文摘要
本发明涉及一种用于控制包括微处理器的集成电路(20)的方法(50),其中,集成电路(20)被配置成默认执行通用程序,所述集成电路通过被称作“引导程序模式”的集成电路的操作模式的激活来进行控制,其中,所述集成电路(20)执行用于加载要执行的特定程序的程序。该方法(50)包括i)经由测试总线(310)向集成电路(20)的测试模块(200)发送至少一个引导程序模式激活消息的步骤(51),ii)由集成电路(20)的测试模块(200)执行的、激活集成电路(20)的引导程序模式的步骤(52),iii)经由与测试总线(310)不同的通信总线(320)来加载特定程序的步骤(53)。本发明还涉及一种集成电路(20)和包括这样的集成电路(20)的计算机(30)。
文档编号G06F9/445GK103168290SQ201180050111
公开日2013年6月19日 申请日期2011年8月18日 优先权日2010年10月18日
发明者B.达内, S.拉博里-菲尔希克 申请人:法国大陆汽车公司, 大陆汽车有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1