Background of the Invention
The present invention relates to a one-chip microcomputer, and more particularly, to a one-chip microcomputer which allows the testing of the program memory mounted within the microcomputer and the testing of other functional blocks simultaneously, thereby reducing test time and test cost.
Hereinbelow, testing of a program memory for a conventional one-chip microcomputer will be described with reference to the accompanying drawings.
FIG. 1 is a block diagram of a conventional one-chip microcomputer, and FIG. 2 is a flowchart showing a method for testing the conventional one-chip microcomputer.
First, as shown in FIG. 1, the conventional one-chip microcomputer includes an interrupt controller 1, a central processing unit (CPU) 2, a data memory 3, a program memory 4, a peripheral unit 5, an input/output port 6, and other functional blocks are connected structurally and functionally with one another through an address bus line 7 and a data bus line 8.
The conventional one-chip microcomputer constructed as above performs a test for determining whether or not the microcomputer is in good condition.
In testing, data are applied to the appropriate functional blocks through the input/output port 6 and data bus line 8, and are read out to input/output port 6. Then it is determined whether or not the results match expected values.
Different program data are coded in the program memory 4 according to usage. Then, it is tested whether or not pertinent information is coded in the program memory 4.
The conventional testing method for the aforementioned program memory will now be described with reference to FIG. 2.
First, the address of program memory 4 is set to address .phi., data at address .phi. of program memory 4 is output to the input/output port 6, and it is checked whether the output data is identical to the expected value. If the output data does not match the expected value, it is determined that the one-chip microcomputer may be defective.
If the output data is identical the expected value, however the present address of the program memory 4 is increased by 1. These tests are continued until last address is reached. If there is no abnormality, the one chip microcomputer is determined to be in good condition and the test is terminated.
However, in the testing apparatus of program memory for the conventional one-chip microcomputer, other functional units of the one-chip microcomputer cannot be tested while the program memory is being tested. Due to the current demand on high-function, large program memories, the conventional testing apparatus and method require increased testing time and increased testing cost.
Summary of the Invention
To solve the above and other problems of the prior art, it is an object of the present invention to provide an effective testing apparatus and method for a program memory to a one-chip microprocessor, which can simultaneously perform test on the program memory and on other various units of the processor, thereby reducing test time and cost.
To accomplish the above and other objects, there is provided a testing apparatus for a program memory of a one-chip microcomputer according to the present invention comprising: a central processing unit (CPU) for controlling the overall system; an interrupt controller for controlling an interrupt function; a data memory for storing information and data; a peripheral unit connected to a main system for performing input and output functions; a program memory for storing each program information having a predetermined pattern; address counting means for setting an address of the program memory via an address bus line switched by a first switch; check-sum calculating means for calculating and storing the entire data of the set address of the program memory via a data bus line switched by a second switch; a test mode switch for controlling the first and second switches and the address counting means; and an input/output port for inputting or outputting the entire data of the check-sum calculating means and data of the overall system.
Also, there is provided a method for testing a program memory for a one-chip microcomputer according to the present invention comprising the steps of: switching into a test mode and check-summing all address data of a program memory (step 1); performing tests on other functional units except the program memory block simultaneously with the step 1 (step 2); and checking termination of the step 2, comparing the check-summed data with an expected value and determining whether the one-chip microcomputer is in good or poor condition according to the comparison result (step 3).
Brief Description of the Drawings
The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:
FIG. 1 is a block diagram of a conventional one-chip microcomputer;
FIG. 2 is a flowchart showing a conventional method for testing a program memory;
FIG. 3 is a block diagram of a one-chip microcomputer according to the embodiments of the present invention; and
FIG. 4 is a flowchart for explaining a method for testing a program memory according to the embodiments of the present invention.
Detailed Description of Preferred Embodiments
As shown in FIG. 3, a testing apparatus for a program memory of a one-chip microcomputer according to the present invention includes an interrupt controller 30 for controlling an interrupt function, a central processing unit (CPU) 31 for controlling the overall system, a data memory 32 for storing information and data, a peripheral unit 33 connected to a main system for performing input and output functions, a program memory 36 for storing program information, an address counter 35 for setting an address of the program memory 36 via an address bus line 40 switched by a first switch 41, a check-sum calculator 37 for storing the entire data of the set address of program memory 36 via a data bus line 39 switched by a second switch 42 and calculating a check-sum value of the stored data, a test mode switch 34 for controlling the first and second switches 41 and 42 and address counter 35, and an input/output port 38 for inputting and outputting the data of check-sum calculator 37 and data of the overall system.
As shown in FIG. 3, different units of the apparatus are mutually connected structurally and functionally via the address bus line 40 and data bus line 39.
The operation of the testing apparatus for the program memory of one-chip microcomputer according to the present invention, having the aforementioned construction, will now be described with reference to FIG. 4.
Data is applied through the input/output port 38 and the test mode switch 34 for activating the test is set (step 401).
Then, an output of the test mode switch 34 enables the address counter 35, and first switch 41 is controlled so that the address counter 35 and the program memory 36 are connected through the address bus line 40. The second switch 42 is controlled so that the program memory 36 and the input port of check-sum calculator 37 are connected through the data bus line 39. The address counter 35 enabled by the test mode switch 34 then increases the set address by one starting from address .phi. and starts to count up (step 402).
The counted value sets an address of program memory 36 and the check-sum value of the data of set addresses are sequentially calculated by the check-sum calculator 37 to be stored (steps 403, 404 and 405).
At the time of testing the program memory, other units are tested simultaneously (steps 406 and 407).
If the tests for other units are terminated (step 408), the entire data of check-sum calculator 37 are output through the input/output port 38 (step 409), and compared with expected values based on the comparison result, it is determined whether the one-chip microcomputer is a good or poor product (step 410).
If the comparison result is determined to be poor, an analysis test for searching for a poor address is performed based on the user's option (step 411).
To begin the analysis test, test the mode switch 34 is reset (step 412), address of program memory 36 is set to address .phi. (step 413), and the data of program memory 36 are sequentially output through the input/output port 38. The output data of program memory 36 compared with expected values (step 415) and any poor addresses are detected based on the comparison result (steps 416, 417 and 418).
As described above, the testing apparatus and method for a program memory of a one-chip microcomputer according to the present invention, simultaneously performs tests on other various functional blocks, while performing a test on the program memory, thereby preventing increase in test time and reducing test cost in accordance with the current demand for large program memories.
The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.