Method and circuit for analysis of the operation of a microcontroller using signature analysis of memory
First Claim
Patent Images
1. A circuit comprising:
- a bus;
a first CPU coupled to the bus, the first CPU being operable to execute an algorithm during normal operation;
a register coupled to the bus;
a memory coupled to the bus, said memory containing the algorithm embodied in a plurality of operation codes, said memory utilized by said first CPU; and
, a controller coupled to the register for controlling reading of said operation codes from said memory during normal operation of the CPU and responsively generating a signature, said CPU comparing said signature and a reference signature in parallel with normal operation of said first CPU during an idle cycle of the first CPU, said controller generating a fault signal when the reference signature is unequal to the signature.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and circuit for determining the health of a microcontroller is provided having a circuit that includes a bus, a CPU coupled to the bus and a register coupled to the bus. A memory is also coupled to the bus. The memory is utilized by the first CPU. A controller is coupled to the register for controlling reading of the memory. The register generates a signature in response to the memory. The controller compares the reference signature and the second signature. The controller generated a fault signal when the reference signature is unequal to the second signature.
100 Citations
32 Claims
-
1. A circuit comprising:
-
a bus;
a first CPU coupled to the bus, the first CPU being operable to execute an algorithm during normal operation;
a register coupled to the bus;
a memory coupled to the bus, said memory containing the algorithm embodied in a plurality of operation codes, said memory utilized by said first CPU; and
,a controller coupled to the register for controlling reading of said operation codes from said memory during normal operation of the CPU and responsively generating a signature, said CPU comparing said signature and a reference signature in parallel with normal operation of said first CPU during an idle cycle of the first CPU, said controller generating a fault signal when the reference signature is unequal to the signature. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of validating the memory of a microcontroller unit, the microcontroller having a CPU, an independent controller coupled to the CPU, and a memory block coupled to the CPU, said method comprising the steps of:
-
obtaining a reference signature;
reading the content of the memory block in parallel with normal operation of the microcontroller unit, the content of the memory block comprising an algorithm of an embedded application executed by the CPU;
generating, by the controller during execution of the algorithm by the CPU, a second signature in response to contents of the memory block;
comparing the reference signature to the second signature without CPU intervention to obtain a comparison in parallel with normal operation of the microcontroller unit during an idle cycle of the CPU; and
,indicating a fault in response to the comparison. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A microcontroller, comprising:
-
a CPU;
a memory coupled to the CPU, the CPU being adapted to perform operations on the memory during normal operation of the microcontroller; and
,a self-test module coupled to the memory and being adapted to test operation of the memory during normal operation of the microcontroller, wherein the self-test module is adapted to generate a signature in response to contents of the memory and compare the signature with a reference signature and to read a value of at least two memory locations within the memory and wherein the signature is a function of the values from the at least two memory locations and wherein the self-test module is adapted to read the values from the at least two memory locations during a n idle cycle of the CPU, to count a number of continuous cycles of the CPU in which the CPU is not idle, and to compare the number of continuous cycles of the CPU in which the CPI is not idle with a predetermined value a and force a CPU idle cycle if the number exceeds the predetermined value.
-
-
28. A microcontroller, comprising:
-
a CPU, the CPU being operable to execute an embedded application algorithm during normal operation;
a memory coupled to the CPU, the memory containing the embedded application algorithm embodied in a plurality of operation codes; and
,a self-test module coupled to the memory and being adapted, during normal operation of the microcontroller during an idle cycle of the CPU, to read a value of at least two memory locations within the memory from the at least two memory locations, to generate a signature as a function of the values from the at least two memory locations, and to compare the signature with a reference signature during an idle cycle of the CPU. - View Dependent Claims (29)
-
-
30. A microcontroller, comprising:
-
a CPU;
a memory coupled to the CPU, the CPU being adapted to perform operations on the memory during normal operation of the microcontroller; and
,a self-test module coupled to the memory and being adapted, during normal operation of the microcontroller, to read a value of at least two memory locations within the memory from the at least two memory locations, to generate a signature as a function of the values from the at least two memory locations, and to compare the signature with a reference signature, wherein the self-test module is adapted to count a number of continuous cycles of the CPU in which the CPU is not idle and wherein the self-test module is adapted to compare the number of continuous cycles of the CPU in which the CPU is not idle with a predetermined value and force a CPU idle cycle if the number exceeds the predetermined value.
-
-
31. A method for testing a microcontroller having a CPU and a memory coupled to the CPU, including the steps of:
-
operating the microcontroller under normal operations;
reading values from a plurality memory locations within the memory during the normal operations;
determining a signature as a function of the values;
comparing the signature with a reference signature;
comparing the number of continuous cycles of the CPU in which the CPU is not idle with a predetermined value; and
,forcing a CPU idle cycle if the number exceeds the predetermined value. - View Dependent Claims (32)
-
Specification