Single chip microcomputer having protection function for content of internal ROM

Abstract: A single chip microcomputer coupled to an external memory includes a latch circuit having a data input connected to an operation mode designation terminal and a toggle input connected to a reset terminal, so that a logical value of the operation mode designation terminal is latched in the latch circuit at the moment the resetting is released. An output of the latch circuit is connected to an address discriminating circuit, which also receives an address so as to discriminate whether the received address is directed to an internal ROM or an external memory so that the address discriminating circuit controls an associated selector to cause it to select the internal ROM in the former case and the external memory in the latter case or when the output of the latch circuit indicates the external memory. With this arrangement, even if the logical value of the operation mode designation terminal changes after the resetting is released, the output of the latch circuit does not change. Accordingly, when the operation was started with the external memory operation mode, the operation mode is in no way changed to the internal ROM operation mode in the course of execution of a program. Therefore, secrecy of the content of data in the internal ROM can be maintained.

Description: Background of the Invention Field of the invention The present invention relates to a single chip microcomputer, and more specifically to a single chip microcomputer having a function of protecting secrecy of a content of an internal ROM. Description of related art Some conventional single chip microcomputers have an internal ROM (read only memory) operation mode and an external memory operation mode. In this type of single chip microcomputer, an address discriminating circuit is provided internally in the single chip microcomputer so as to discriminate whether an address on an internal address bus is directed to an internal ROM or an external memory via a respective selector. If the address is directed to the internal ROM, the address discriminating circuit controls an associated selector to cause it to select the internal ROM, so that for example a CPU (central processing unit) can access to the internal ROM. If the address is directed to the external memory, the address discriminating circuit controls the selector to cause it to select the external memory, so that the CPU can access to the external memory via said selector. In addition, there is provided an operation mode designating terminal which is accessible from an external. If the operation mode designating terminal is brought to an external memory operation mode designation level, the address discriminating circuit controls the selector to select the external memory, regardless of the address on the internal address bus. Generally, the external memory has an address space considerably larger than that of the internal ROM. In some cases, a program for reading out a content of the internal ROM is stored in the external memory at a location having an address different from that of the internal ROM. In this case, if the CPU is initialized and the operation mode designating terminal is set to the external memory operation mode designation level, a programmed operation is started from a heading address of the external memory. If the program for reading out the content of the internal ROM starts from the heading address of the external memory, the internal ROM reading program is executed. In the course of execution of this reading program, even if the level of the operation mode designating terminal is changed from the external memory operation mode designation level to an internal ROM operation mode designation level, since the address storing the internal ROM reading program is out of an address area of the internal ROM, the address discriminating circuit continues to control the selector to cause it to select the program data stored in the external memory, so that the reading program stored in the external memory is continuously executed. Further, when the operation mode designating terminal is set to the internal ROM operation mode designation level, if an instruction for sequentially reading the data stored in the internal ROM is executed in the course of execution of the program, since an address to he read is in the address area of the internal ROM, the address discriminating circuit controls the selector to cause it to select the output of the internal ROM. Therefore, the data of the internal ROM is sent through an internal data bus to an external data bus. Namely, the data stored in the internal ROM of the single chip microcomputer can be easily read out by even a third party by means of the program stored in the external memory, by handling the level of the operation mode designating terminal. This is disadvantageous since even a third party can read out the data and therefore the software lacks secrecy. From EP-A-01 36 155 is known a single chip microcomputer including an internal ROM as well as an external memory connected to the microcomputer through an interface terminal. The selection of one of the memories is done in accordance with a logical value which is latched when the resetting mode is released. Accordingly, it is the object of the present invention to provide a microcomputer which overcomes the above-mentioned defects and which is capable of maintaining the secrecy of a content of data in an internal ROM. This object is achieved by means of the features of the main claim. Further advantageous features are mentioned in the sub-claims. The above and other objects, features and advantages of the present invention will be apparent from the following description of preferred embodiments of the invention with reference to the accompanying drawings. Brief Description of the Drawings Figure 1 is a block diagram of a single chip microcomputer in accordance with the present invention; Figure 2 shows a location of the program for reading the internal ROM Figure 3 is a block diagram of an embodiment of the single chip microcomputer in accordance with the present invention; and Figure 4 shows a location of the program for reading the internal ROM of the embodiment. Description of the Preferred embodiments Referring to Figure 1, there is shown a block diagram of a single chip microcomputer. As shown in Figure 1, a single chip microcomputer 1 is coupled to an external memory 7, and comprises an address discriminating circuit 2, an internal ROM 3, a selector 4, a CPU 5 and a latch circuit 6, which are coupled as shown. The latch circuit 6 can be formed of for example a D-type flipflop. The other components including an internal RAM and a timer circuit are not shown in Figure 1 because they does not directly relate to the present invention. Through an internal address bus 201, an address information is transferred to the address discriminating circuit 2 and the internal ROM 3 of the single chip microcomputer 1, and also to the external memory 7 through an address bus interface terminal 40 and an external address bus 204. An output of the internal ROM 3 is connected to one input of the selector 4, and the other input of the selector 4 is connected to an internal data bus 202, which is connected to the CPU 5 and also through a data bus interface terminal 41 and an external data bus 203 to the external memory 7. Therefore, the CPU 5 receives the program data and the processing data on the internal data bus 202, and executes a processing on the basis of the received program/processing data. The CPU 5 is also connected to a reset terminal 52 so that the CPU 5 is initialized when the reset terminal 52 is brought to a resetting level. The reset signal supplied from the reset terminal 52 is also supplied to other functional blocks (not shown) within the single chip microcomputer 1. The address discriminating circuit 2 also receives an output Q of the latch circuit 6. The latch circuit 6 receives at its data terminal D an operation mode designation signal supplied from an operation mode designating terminal 51 and also receives at its toggle input T the reset signal supplied from the reset terminal 52. The latch circuit 6 functions to maintain the level of tile operation mode designating terminal 51 when the resetting is released. Namely, the latch circuit 6 latches the level of the operation mode designating terminal 51 at the moment the level of the reset signal constituting the toggle input of the latch circuit 6 is caused to change from a resetting level to a non-resetting level. When the output of the latch circuit 6 is at an external memory operation mode designation level (called an "Ex level" hereinafter), the address discriminating circuit 2 generates to the selector 4 a level signal having a first level causing it to select the external memory 7, regardless of the address information on the internal address bus 201. When the output of the latch circuit 6 is at an internal ROM operation mode designation level (called an "Int level" hereinafter), the address discriminating circuit 2 discriminates whether the received address information designates the internal ROM 3 or the external memory 7. When the received address is directed to the internal ROM 3, the address discriminating circuit 2 outputs the level signal having a second level to the associated selector 4 to cause it to select the internal ROM 3. When the received address is directed to the external memory 7, the address discriminating circuit 2 outputs the level signal having the first level to the selector 4 to cause it to select the external memory 7. The external memory 7 sends to the external data bus 203 the processing data read out in accordance with an address information supplied to the external memory 7 through the address bus interface terminal 40 of the single chip microcomputer l and the external address bus 204. Through the external data bus 203, the processing data outputted from the external memory, 7 is transferred to the date bus interface terminal 41 of the single chip microcomputer 1 and therefore to the internal data bus 202. On the other hand, data outputted onto the internal data bus 202 can be transferred through the date bus interface terminal 41 and the external data bus 203 to the external memory 7. Then, an operation for reading data stored in the internal ROM 3 in the above mentioned single chip microcomputer will be described. First, as illustrated in the location of the reading program shown in Figure 2, assume that an addressable space in the single chip microcomputer is 64 kilobytes having the addresses form 0 to FFFF H (where the suffix "h" means the hexadecimal notation) and that the capacity of the internal ROM 3 is 16 kilobytes, and also assume that a program for reading the internal ROM 3 is stored in the external memory 7 at addresses which are not mapped to the internal ROM 3 (the addresses starting at the address 5000 H in Figure 2). In addition, a heading address (5000 H in Figure 2) of the reading program is also set in a reset vector table for setting a program start address after a resetting. The program for reading the data of the internal ROM 3 is very simple: After the output level of the latch circuit 6 is changed to the internal ROM operation mode designation level, an instruction for reading the internal ROM 3 is executed. The read-out data is stored in an external RAM (not shown) through the external data bus 203 or read through a predetermined output port. The internal ROM reading program as mentioned above is stored in the external memory 7, and the operation is started when the reset signal for initialization is inputted from the reset terminal 52 while the operation mode designating terminal 51 is at the Ex level for designating the external memory operation mode (and therefore, the Q output of the latch circuit 6 is also at the Ex level). Here, if the Ex level is at a low level, this Ex level can be easily set, for example, by connecting a pull-down resistance to the operation mode designating terminal 51. The execution of the reading program is started from the heading address of the reading program in accordance with the reset vector table set in the external memory 7. In the course of execution of this program, namely, after the release of the resetting, even if the level at the operation mode designating terminal 51 is changed, the output of the Q terminal of the latch circuit 6 does not change, and therefore, the action of the address discriminating circuit 2 does not change. Thus, when the operation is started in the external memory operation mode in the case of the reading program, the operation mode cannot be changed to the internal ROM operation mode in the course of execution of the program, and therefore, it is impossible to read the data stored in the internal ROM 3. Accordingly, the addition of the latch circuit 6 enables it to very easily maintain the secrecy of the content of data in the internal ROM 3. Now, an embodiment of the microcomputer in accordance with the present invention will be described with reference to Figure 3, which shows a block diagram of the second embodiment. In Figure 3, elements similar to those shown in Figure 1 are given the same Reference Numerals, and explanation thereof will be omitted. Further, Figure 4 shows a location of the reading program of the internal ROM in the second embodiment. As shown in Figure 3, the single chip microcomputer 1 of the embodiment coupled to the external memory 7 comprises the address discriminating circuit 2, the internal ROM 3, the selector 4, the CPU 5, the latch circuit 6, output port latches 8 and 9, selectors 10 and 11, a memory extension flag 12 and an AND circuit 13, which are coupled as shown. The circuit of the embodiment is more practical than that above mentioned microprocessor. The circuit of this embodiment is different from that of fig.1 in that it additionally includes the selectors 10 and 11 and the output ports 8 and 9 so that the interface terminal can be used as a port in the case of not using the external memory 7 and in that the second embodiment comprises the memory extension flag 12, which makes it possible to operate with respect to an external device in a more elaborate way. With reference to Figures 3 and 4, operation of the address discriminating circuit 2 and the selectors 4, 10 and 11 in combination with the operation mode designating terminal 51 and the memory extension flag 12 will be described. In Figure 4, the addressable range is mapped to 64 kilobytes of 0 to FFFF H , and the internal ROM 3 is mapped to 16 kilobytes of 0 to 3FFF H . When the resetting is released, if the operation mode designation terminal 51 is at the Ex level of "0", the Ex level of "0" is latched in the latch circuit 6, and therefore, the address discriminating circuit 2 controls the selector 4 to select the data from the external data bus 203, regardless of the address information, and the selector 4 sends the selected data to the internal data bus 202. At this time, since the output of the AND circuit 13 is at "0" similarly to the Ex level, regardless of the level of the memory extension flag 12, the internal address bus 201 and the internal data bus 202 are connected to corresponding interface terminals 40 and 41 by the selectors 10 and 11, respectively, in accordance with the output "0" of the AND circuit 13. Thus, as shown in Figure 4, it operates only by the external memory 7, regardless of the address value. When the level of the operation mode designating terminal 51 latched in the latch circuit 6 is "1" and the output level of the memory extension flag 12 is "0", the selector 4 is controlled in accordance with the level signal outputted from the address discriminating circuit 2, so as to select the data from the internal ROM 3 if the address information is in the range of 0 to 3FFF H and the data from the external memory 7 if it is in the range of 4000 H to FFFF H . In this case, since the output of the AND circuit 13 is "0" similarly to the Ex level, the selectors 10 and 11 select the internal address bus 201 and the internal data bus 202, respectively. Thus, as shown in Figure 4, it is possible to access both of the internal ROM 3 and the external memory 7 in accordance with the address information. Then, when the operation mode designating terminal 51 latched in the latch circuit 6 is at "1" while the output level of the memory extension flag 12 is at "1", the address discriminating circuit 2 controls the selector 4 so as to select the data from the internal ROM 3 if the address information is in the range of 0 to 3FFF H and the data from the external memory 7 if it is in the range of 4000 H to FFFF H . In this case, however, since the output of the AND circuit 13 is at "1" which is the same level as the Int level, the selectors 10 and 11 select the output port latches 8 and 9, respectively. Thus, as shown in Figure 4, the interface terminals 40 and 41 output the data latched in the output port latches 8 and 9, not the interface signal to the external memory 7. In this operation mode, therefore, the connection to the external memory 7 is not effected, and it is possible to use the interface terminals 40 and 41 as a port output terminal by means of the action in the range of the internal ROM 3. Similarly to the embodiment of fig.1, the level of the operation mode designating terminal 51 at the moment the resetting is released is maintained in the latch circuit 6 as it is, and therefore, it is impossible to access the internal ROM 3 in the case that the operation was started with the external memory operation mode. Thus, the secrecy of the data stored in the internal ROM is maintained. On the other hand, if the operation was started with the internal ROM operation mode, it is possible to choose whether or not the external memory 7 is used, by rewriting a memory extension flag 12 by means of a programmed operation. Therefore, it is possible to modify the way of using it in accordance with application systems. As mentioned above, the present invention has an effect that the secrecy of the content of data in the internal ROM can be kept by providing a latch circuit for latching the level at the operation mode designating terminal at the time of releasing the resetting. The invention has thus been shown and described with reference to the specific embodiments. However, it should be noted that the present invention is in no way limited to the details of the illustrated structures but changes and modifications may be made within the scope of the appended claims.

Claims: A single chip microcomputer (1) configured to be coupled to an external memory (7) through at least an external address bus (204) and an external data bus (203), the single chip microcomputer comprising: an internal address bus (201) connected via a first selector (10) to an address interface terminal (40) which can be coupled to said external address bus (204); an internal data bus (202) connected via a second selector (11) to a data interface terminal (41) which can be coupled to said external data bus (203); an internal memory (3) coupled to said internal address bus (201); a central processing unit (5) coupled to said internal data bus (202) and connected to a reset terminal (52); and a latch circuit (6) having a data input connected to an operation mode designation terminal (51) and a latch timing control input connected to said reset terminal (52) so that that said latch circuit (6) latches a logical level on said operation mode designation terminal (51) when said reset terminal is brought from a resetting level to a non-resetting level, a third selector (4) having a first input connected to an output of said internal memory (3) and a second input connected to said internal data bus (202), an output of said selector being connected to said internal data bus (202); an address discriminating circuit (2) being coupled to said internal address bus (201) for discriminating whether an address on said internal address bus is directed to said internal memory (3) or said external memory (7) and for generating a selection signal to said third selector (4), so that when the address on said internal address bus (201) is directed to said internal memory (3), said address discriminating circuit (2) causes said selector (4) to select and output said output of said internal memory (3), and when the address on said internal address bus is directed to said external memory, said address disciminating circuit causes said selector (4) to select and output the data supplied to said internal data bus from said external memory (7); an output of said latch circuit (6) being connected to said address discriminating circuit (2) so that when said output of said latch circuit indicates said external memory, said address disriminating circuit (2) causes said selector (4) to select and output the data supplied to said internal data bus from said external memory (7), regardless of the address on said internal address bus (201); whereby, when the operation was started with an external memory operation mode, even if the logical value of said operation mode designation terminal is changed after the resetting is released, the output of said latch circuit does not change, and therefore, the operation mode is in no way changed to an internal ROM operation mode in the course of execution of a program, and said first selector (10) having a first input connected to said internal address bus (201) and a second input connected to a first output port latch (8), an output of said second selector being connected to said address interface terminal (40), said second selector (11) having a first input connected to said internal data bus (202) and a second input connected to a second output port latch (9), an output of said second selector (11) being connected to said data interface terminal (41), and a logic gate (13) having a first input connected to a memory extension flag (12) and a second input connected to said output of said latch circuit (6), an output of said logic gate (13) being connected to a control input of each of said first and second selectors (10, 11), so that when said output of said latch circuit indicates said internal memory (3) and said memory extension flag (12) does not indicate a memory extension, said first and second output port latches (8, 9) are coupled to said address interface terminal (40) and said data interface terminal (41) through said first and second selectors (10, 11), respectively. A single chip microcomputer claimed in claim 1, wherein said logic gate (13) is formed of an AND gate. A single chip microcomputer claimed in claim 1, wherein said latch circuit (6) includes a D-type flipflop having a data input (D) connected to the operation mode designation terminal (51) and a toggle input (T) connected to said reset terminal (52), a Q output of said flipflop being connected to said address discriminating circuit (2).

Inventors: IWAMOTO SHINICHI, IWAMOTO, SHINICHI, Iwamoto, Shinichi, c/o NEC Corporation
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1992
Main classification: G06F12
IPC codes: G06F12