GB2227582A - Port expander architecture for EPROM - Google Patents

Port expander architecture for EPROM Download PDF

Info

Publication number
GB2227582A
GB2227582A GB8924745A GB8924745A GB2227582A GB 2227582 A GB2227582 A GB 2227582A GB 8924745 A GB8924745 A GB 8924745A GB 8924745 A GB8924745 A GB 8924745A GB 2227582 A GB2227582 A GB 2227582A
Authority
GB
United Kingdom
Prior art keywords
port
processor
coupled
memory
ports
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB8924745A
Other versions
GB2227582B (en
GB8924745D0 (en
Inventor
Robert E Larsen
Khandker N Quader
Joseph H Salmon
Terry L Kendall
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of GB8924745D0 publication Critical patent/GB8924745D0/en
Publication of GB2227582A publication Critical patent/GB2227582A/en
Application granted granted Critical
Publication of GB2227582B publication Critical patent/GB2227582B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

A port expander 20 provides an external memory to be used with a microcontroller 12a but recaptures the use of I/O ports which are lost due to the coupling of the memory. Two ports are coupled to the microcontroller for transfer of address and data information. An EPROM 21 in the port expander provides the external memory while a special function register is used to couple data to and from two I/O ports A, B. A configuration register provides programmability of which address values address the memory and which address values address the special function registers. To enter a test mode, the port expander must receive a valid test mode code, a valid test mode enable code, and a read signal at a high enough voltage for a sufficient duration. <IMAGE>

Description

PART EXPANDER ARCHITECTURE FOR EPROM BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to the field of memory devices and particularly to external memories configured with a microcontroller.
Prior Art In the area of semiconductor memories, the design and manufacture of erasable programmable read only memories (EPROM) are well-known in the prior art. These EPROM devices are formed on a semiconductor chip and typically configured as a standard size memory, such as 32K or 64K.
Typically these memory chips are disposed in a standard package.
Semiconductor memory devices, such as EPROMs, are coupled to operate in conjunction with other semiconductor devices. In most instances, these EPROMs are coupled to processors which control the transfer of data between it and the memory device. In a basic configuration, a certain memory location of the EPROM is accessed by the processor when the processor generates address signals on address lines coupled to the memory. Data is written or programmed into the memory or read from the memory depending on the control signals provided by the processor. The data transfer is achieved by placing the appropriate information on the data bus coupled to the memory. Unless the EPROM is part of a larger structure, such as a programmable logic array device, the EPROM does not include processing circuitry other than the circuitry needed for addressing and providing data transfer.
One group of processors used to operate with EPROMs are known as microcontrollers. A microcontroller is a specialized processor used to meet specific, including custom, application needs. These controllers are self contained units and typically can include a processor, logic circuits, timing and control circuits, buffers, latches, and on-chip memory or memories. In most instances, the specific application software is embedded in the controller chip. These controllers also include input/output (1/0) ports for the purpose of transferring information to and from the controller.
However, whenever external memory devices, such as an EPROM described above, are coupled to a given controller it is coupled to one or more of the ports of the controller. That is, if a given microcontroller requires an off-chip memory for a given function of the controller, then the off-chip memory is coupled to one or more of the ports of the controller, wherein these ports are lost for 110 use. Without the use of additional off-chip circuitry the coupling of the external memory to a microcontroller places severe limitation on its 110 capability, because the external memory monopolizes one or more of the microcontroller ports.
It is appreciated that what is required is a scheme for coupling external memory to a microcontroller without reducing the number of 110 ports of the controller.
SUMMARY OF THE INVENTION The present invention describes a port expander for providing an external memory to be coupled to a microcontroller device but recapturing the use of those ports which are lost due to the coupling of the port expander to the microcontroller. In essence, the device expands the total number of ports from the microcontroller while coupling external memory to the microcontroller. The port expander of the present invention is manufactured tn R single semiconductor device and modes not reqllire #h# use of specialized glue circuitry.
The port expander of the preferred embodiment is coupled to two ports of a microcontroller, each port being an 8-bit port. A 16-bit address signal and an 8-bit data signal are multiplexed on buses coupling the port expander to two ports of the microcontroller. The port expander includes a 32K byte EPROM, non-volatile configuration registers, and special function registers/port control unit to provide an external memory and port expansion capability to the microcontroller. The EPROM of the port expander provides the external memory to the microcontroller. However, when data transfer is to occur between an I/O device and the occupied port, data transfer between the I/O device and the occupied port occur via the expansion ports of the port expander. The port expander essentially operates as a data transfer point between the I/O device and the microcontroller.Therefore, data transfer can occur between the microcontroller and the EPROM of the port expander or between the microcontroller and an external devices via the port expander.
The configuration registers provide a programmable set of registers for directing and addressing the EPROM or the special function register by the microcontroller.
The port expander of the present invention also includes a special test activation circuit that prevents accidental entering of a test mode. In order to enter a test mode, a valid test mode code must be written to one of the port latches coupled to the microcontroller. As a second condition, a valid test mode enable code must be written to the other port latch coupled to the microcontroller. Then a read signal having a voltage of approximately 12 volts must be present for a sufficient duration. When all three conditions are met, then the port expander enters its test mode. The time duration of the read signal is measured by a pulsewidth detector so that short pulses, such as glitches and noise pulses, do not inadvertently activate the test mode.By providing three necessary conditions which must be met, sufficient safeguards are provided to prevent accidentally entering the test mode.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a prior art schematic showing the loss of two ports when an external memory is coupled to a microcontroller.
Figure 2 is a schematic diagram showing the recapturing of ports which are lost when an external memory in a form of an EPROM residing within the port expander of the present invention is coupled to two of the ports of the microcontrôle Figure 3 is a block schematic diagram showing the port expander of the present invention.
Figure 4 is an illustration showing three memory mapping planes available when using the port expander of the present invention.
Figure 5 is a block schematic diagram showing the activation of a test mode of the port expander of the present invention.
DETAILED DESCRIPTION OF THE INVENTION An apparatus for providing port expansion while also providing offchip memory is described. In the following description, numerous specific details are set forth, such as specific memory size, signal lines, etc., in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and processes have not been described in detail in order not to unnecessarily obscure the present invention.
Referring to Figure 1, a prior art technique of coupling external memory to a microcontroller is shown. An EPROM 11 is shown as an external memory which is coupled to a microcontroller 12. Microcontroller 12 communicates to external devices through a plurality of ports wherein the specific example of Figure 1 shows the microcontroller 12 having four ports, 0-3. Although a specific example is shown in Figure 1, a variety of microcontroller devices with input/output (I/O) ports are well-known in the prior art. Specific examples of prior art microcontrollers include devices relating to the 8051, 8096, and 80188 microcontroller families, which are manufactured by Intel Corporation of Santa Clara, California.
In the example of Figure 1, two of the ports, port 0 and port 2, of microcontroller 12 are each coupled to the external memory, EPROM 11, by buses 13 and 14, respectively. Buses 13 and 14 are bi-directional buses for transferring information between EPROM 11 and bi-directional ports 0 and 2 of microcontroller 12. Various prior art schemes are known for coupling address and data signals onto buses 13 and 14. Further, it is to be noted that if a given bus 13 or 14 is used only to couple address information from the microcontroller 12 to EPROM 11, then it need not be a bi-directional bus.
Additionally, control signals are coupled between microcontroller 12 and EPROM 11 on control lines 15.
In a typical operation, microcontroller 12 generates address signals which are coupled to EPROM 11 through either or both buses 13 and 14, for accessing address locations of EPROM 11. Then data is programmed into or read from EPROM 11 on either or both buses 13 and 14. It is to be appreciated that address and data signals can be multiplexed such that a given bus can couple both address and data signals.
The use of an external memory, such as EPROM 11, requires the dedication of two ports 0 and 2 in the example of Figure 1. The microcontroller 12 is left with only ports 1 and 3 for its I/O communication.
##r#:, 16 lnçl I / are coupled to p@ns 1 anW # sped;vey, fo prov,aingfhe I/O data transfer. As is shown in Figure 1, the utilization of two ports to couple an external memory to the four port microcontroller 12 leaves only two other ports 1 and 3 available to the microcontroller 12. To recover ports 0 and 2, specialized "glue" circuitry is needed to provide the necessary coupling of both I/O and EPROM 11 to ports 0 and 2.
Referring to Figure 2, a port expander 20 of the present invention is shown coupled to the four port microcontroller 12a which is equivalent to the microcontroller 12 of Figure 1. Port expander 20 includes an EPROM 21, which EPROM 21 is equivalent to EPROM 11 of Figure 1. Port expander 20 is coupled to microcontroller 12a by buses 13a and 14a through ports 0 and 2, respectively. Control signals are coupled between microcontroller 12a and port expander 20 on control lines 1 5a. Ports 1 and 3 are coupled to various VO devices by buses 16a and 17a, respectively. A lener iaw has been added to the prior art reference numerals of Figure 1 to show that like reference numerals refer to the same parts throughout these several views but the suffix Zaw relates to the present invention.
Address and data information are provided from ports 0 and 2 of microcontroller 12a and EPROM 21 is accessed equivalently to the description of Figure 1. In addition to EPROM 21, port expander 20 includes its own ports, port"A" and port 'LB". A purpose for having ports 'LAM and ZB" is to recapture the use of port 0 and 2 for I/O application when an external memory 21 is coupled to ports 0 and 2. In order to achieve this, port expand#er 20 of the present invention receives signals from ports 0 and 2 and selects the destination of these signals.
When data transfer is to occur between ports 0 and 2 of microcontroller 12a and external memory in the form of EPROM 21, port expander 20 causes signals on buses 1 3a and 14a to be directed to or from EPROM 21. However, if ports 0 and 2 are to be utilized for I/O applications, then signals on buses 1 3a and 14a are coupled to the two ports gBb and 'LA" of port expander 20.Buses 18 and 19 which are coupled to ports 'lib" and "A" respectively, allow for data transfer between I/O devices and ports 'LB" and 'A". By selecting either EPROM 21 or ports ZB" and 'LA" to be operative with buses 1 3a and 1 4a, ports 0 and 2 of microcontroller 1 2a can access an external memory, in the form of EPROM 21, or an I/O device through ports gB" and gA". Therefore, the port expander of the present invention restores ports which are lost when an external memory is coupled to those same ports of the microcontroller.
Referring to Figure 3, the port expander 20 of the present invention is shown in more detail. Port 2 of microcontroller 12a is coupled to port expander 20 through bus 1 4a to address buffer 25, which is then coupled to address latch 27. Port 0 of microcontroller 12a is coupled to port expander 20 through bus 1 3a to address buffer 26, which is then coupled to address latch 28. The outputs of the address latches 27 and 28 are coupled together to either EPROM 21, configuration registers 30 or special function registers/port control (SFllIlPC) unit~31.
Although various addressing and data transfer schemes can be used, the preferred embodiment utilizes the below described scheme, primarily to adapt to the earlier mentioned microcontrollers. During a first time period, address bits A0-7 are provided on bus 1 3a and address bits A8-15 are provided on bus 14a from microcontroller 12a. The sixteen address bits are then provided to address latches 27 and 28 for output from these latches.
During a second time period, data bits D0-7 are provided on bus 13a and is coupled to an internal bi-directional data bus 39 through I/O buffer 32. Data bus 39 is coupled to a data bus multiplexer 33 which selects one of the units 21, 30 or 31 to be coupled to bus 39 for effecting a data transfer. The output of address latch 27, besides being coupled to EPROM 21, is also coupled to master control circuit 36. A portion of the address signal A8-15 is compared with preprogrammed bits in the configuration registers 30 in order to determine whether access is to unit 21, 30 or 31. In the preferred embodiment, the five most significant bits are used, although such number of bits is a design choice.Additionally, control signals are also coupled on lines 4-5a fo master control circuit 56 from microcontroller 1 2a. Master control circuit 36 provides control signals to address latches 27 and 28,1/0 buffer 32, EPROM 21, configuration registers 30, unit 31, multiplexer 33 and port buffers 34 and 35. Port buffers 34 and 35 are coupled to ports'A" and ZBt, respectively, which are then coupled to bi-directional buses 19 and 18.
The port buffers 34 and 35 are also coupled bi-directionally to SFRlPC unit 31 for transfer of data between unit 31 and ports 'LA" and B". it is also to be noted that other well-known circuits, such as latches coupled to I/O buffer 32 and port buffers 34 and 35 for latching signals, are not shown, but such circuits are well known.
Although a variety of control signals can be used, a representative sample of control signals used by port expander 20 of the preferred embodiment is shown in Figure 3. A chip enable signal CE/ (/ is hereinafter used to designate a low activated condition) provides for a master device enable when asserted. When CE/ is not asserted, port expander 20 is in a standby condition and cannot be accessed. However, the ports will maintain their current active states. RD/ is used to designate a read condition from the SFPJPC unit 31. WR/ (PGl///) is used to write to or program the port expander 20. ALE signal is used to allow the address to flow through the latches 27 and 28. The VPP (RST) provides programming supply voltage during programming and reset during other modes. The program store enable signal PSEN/ is used to designate a read condition from the EPROM 21 or configuration registers 30 and is used in certain conditions in conjunction with the RD/ signal to provide a read operation of port expander 20.
In operation, the port expander 20 of the preferred embodiment provides for three memory planes to be accessed by the sixteen bit address signal coupled from the associated microcontroller 12a. The memory mapping is actually performed by the microcontroller 12a for selecting the appropriate mapped unit 21, 30 or 31 of device 20. The three memory planes correspond to EPROM 21, configuration registers 30 and SFR/PC unit 31. The three mapped planes are shown in Figure 4. The three memory planes are comprised of EPROM plane 40, SFR/RAM plane 41 and the configuration plane 42. When SFR/RAM plane is selected, the SFR/PC unit instructions can occupy one 2K byte block within the plane. In the preferred embodiment only five bytes are actually used for the SFRIPC unit instruction. The Unused portions can be relegated for RAM use.The other address locations are available for accessing RAM which is either resident on the microcontroller 12a or provided externally. In Figure 4, the address locations are shown in hexidecimal format. Further, an identifier is used in the configuration plane at address 0000 to provide information pertaining to the device 20, such information as manufacturer, product type, etc.
In the normal operating mode, the configuration plane 42 cannot be accessed. Only the EPROM plane 40 and the SFR/RAM plane 41 are capable of being accessed. However, during the programming/verification mode, the EPROM and the configu'ration planes 40 and 42 are accessible.
The EPROM 21 of the preferred embodiment is a 32K x 8 byte device.
Because the 16 bit address can access 64K bytes, the 32K byte EPROM 21 of the preferred embodiment can be mapped at various locations of the EPROM plane 40. One of the configuration registers 30, shown as a nonvolatile register, provides the beginning address for mapping EPROM 21 within plane 40. The default location is shown to reside within the lower half of the EPROM plane 40, designated by addresses 0000-7FFF. It is to be noted that the EPROM plane 40 can map two 32K byte EPROMs.
In the preferred embodiment, the special function registers (SFRs) resides within a 2K byte location of the SFRIRAM plane 41, the default location being the upper 2K bytes of the SFFVRAM plane. Another of the configuration registers 30 determines the location of the 2K byte SFR block.
The ports 'A" and 'B" of port expander 20 are accessed by reading or writing to the SFRs. SFRIPC unit 31 controls the transfer of information between it and ports SAb and 'B", according to the SFR.
Initially, when the port expander 20 of the present invention is coupled tr EL microcontroller l:i2a, the rr'nf'#iir#icn regi#er & 30 are programmed to configure the operation of port expander 20. In the preferred embodiment, three non-volatile registers comprise the configuration registers 30. The first register is used to provide the base address for mapping the 32K byte EPROM 21 within plane 40, the default position being at address location 0000. In the preferred embodiment, this first register is also used to combine the EPROM plane and the SFPURAM plane by internally combining the PSEN/ and RD/signals.The second configuration register is used to provide the base address for the special function register.
As stated above, the preferred embodiment uses a 2K byte boundary, such that the SFR can be located on any 2K byte boundary of the SFR/RAM plane 41. The default is at address F800. The third configuration register is used to configure each of the ports 'A" and 'B" for either transistor-transistor-logic (TTL) or complementary metal-oxide semiconductor (CMOS) compatible level I/O capabilities. Further, this third register also allows the polarity of RST to be complemented to provide a programmable reset.
Once the configuration registers have been programmed, the address which will access EPROM 21 and the special function registers 31 will have been programmed. When the microcontroller 12a desires to access EPROM 21, the address signals from the microcontroller 12a must correspond to the mapped address. For example, if the EPROM 21 is in its default location, than addresses of 0000-7FFF will be capable of accessing the EPROM 21.
Alternatively, if ports 'A" and/or 'B" are to provide the data transfer, then the microcontroller 12a will provide addresses corresponding to the SFR in the SFR/RAM plane 41, which if in the default location resides between F800 FFFF. Data transfer between the microcontroller 12a and ports ZAw and/or 'B" are achieved by accessing the SFR location and storing the data in the SFR. The ports are bidirectional and can be read as well as written to.
The other address locations of the SFR/RAM plane 41 are used to address the RAM locations of the microcontroller 12a or other memory mapped devices. Therefore, thq port expander 20 of the present invention is capable of providing an external EPROM memory to an associated microcontroller, yet at the same time special function registers allow for data transfer between the microcontroller and the two expanded ports 'A" and 'B".
The configuration registers 30 are programmed such that the special function registers and the EPROM 21 can be mapped at various locations.
This programmed mapping technique allows for greater flexibility in addressing EPROM 21 and expanded ports 'A" and 'B".
It is to be appreciated that although one mapping technique has been described with the preferred embodiment, various mapping techniques are available to access EPROM 21 and SFR31. For example, overlapping techniques can be used such that SFR registers can be mapped in the unused portion of the EPROM plane or the EPROM and SFR registers can be overlaid. Further, it is to be appreciated that with the four port microcontroller system shown in Figure 2, a second port expander can be coupled to buses 13a and 14a such that ports 0 and 2 operate with a second port expander thus expanding ports 0 and 2 to form ports while accessing 64K bytes of EPROM. In such instances, the two mapping schemes can be combined such that the second EPROM can be mapped for access by address signals between addresses 8000-FFFF of Figure 4. The use of a 32K byte EPROM readily allows two such EPROMs to be accessed in a 16-bit addressing scheme.
It is to be appreciated that the various mapping schemes are presented for an illustrative purpose and not for the purpose of limiting the present invention. Various other schemes can be readily implemented without departing from the spirit and scope of the present invention. Further, other units can be readily added or used in place of existing units, such as using a static RAM for EPROM 21, without departing from the spirit and scope of the invention. Also, although the preferred embodiment is shown having specific EPROM byte capacity, specific number of bits for address and data lines, such examples are for illustrative purpose only and that the actual size or numbers is a design choice.
TEST MODE ENABLE Test modes are non user modes which are typically used only for stressing the part or determining the margin of a part. Because test modes are used strictly to test a given part after it is manufactured, care must be taken to ensure that such test modes are not entered into by the user of the part. Such accidental or even intentional use of the part in its test mode can cause damage to associated devices. Some test mode enable schemes utilize a high voltage detector or detectors to place the part into a particular test mode. In some instances a noisy system condition can accidentally place a device into a test mode, thereby damaging itself or associated devices, or possibly causing incorrect information to be read or programmed.
In order to prevent accidental activation of the test mode, the port expander 20 of the present invention utilizes special circuitry to prevent such accidental activation. A special test activation circuit resides within port expander 20 for generating a test mode enable signal to enable the test mode. Referring to Figure 5, two port latches 51 and 52 are coupled to accept the output of I/O buffer 32. The output of latch 52 is coupled to a test mode enable circuit 55, while latch 51 is coupled to various circuits which require a test mode code for performing a particular test. The read signal RD/ is coupled as an input to a high voltage detector circuit 53. The high voltage detector circuit 53 detects the presence of the necessary high voltage needed for entering the test mode.A high voltage detect signal is then coupled through a filter 54 and the filtered output is coupled as an input to the test mode enable circuit 55.
In operation, three conditions must exist before the port expander 20 of the preferred embodiment enters its test mode. First, a proper test mode (TM) code must be written into latch 51 for performing a particular test.
Second, a test mode enable (TME) code must be written into the other latch 52. The input to the port latches 51 and 52 are provided by a microcontroller or other signal generating devices (for test purposes) on buses 14a and 13a.
In the preferred embodiment latches 51 and 52 are derived from latches for ports A and B, respectively. However, it is to be appreciated that latches 51 and 52 need not be limited to the use of port latches. The test mode enable circuit 55 is pre-programmed such that it is activated only when the appropriate TME code is provided by latch 52.
The third requirement is the presence of high voltage to the high voltage detector circuit 53. High voltage is present when the RD/ signal goes to a high voltage state, such as a voltage higher than the supply voltage VCC. In the preferred embodiment, 12 VDC is used. When RD/ is at 12 volts, it causes the high voltage detector circuit 53 to generate the detect signal. This signal from high voltage detector circuit 53 is coupled through filter 54 to the test mode enable circuit 55. Whenever the test mode enable circuit 55 receives the high voltage detect signal and the proper TME code is present it generates a test mode enable signal for enabling the test mode.
The filter circuit 54 includes a pulsewidth detector 56 comprised of a string of inverters (only two inverters 57 and 58 are shown in Figure 5) coupled in series and NAND gate 59. NAND gate 59 has as its inputs the input to the first inverter 57 and the output of the last inverter 58. The pulsewidth detector 56 operates to remove short pulses, such as glitches, so that inadvertent high voltage generation cannot occur. That is, if for some reason the signal RD/ goes above VCC due to a voltage spike or if VCC glitches low, thereby generating the high voltage detect signal from high voltage circuit 53, this short duration signal cannot be coupled through filter 54, due to the pulsewidth detector 56 which operate to inhibit the passage of pulses of less than a predetermined pulsewidth.The minimum pulsewidth which can be coupled through detector 56 is determined by the delays within the serial string of inverters. The pulsewidth duration of the signal being coupled through detector 56 must be of sufficient length such that the pulse is still present at the input to inverter 57 after encountering the delays of the string of inverters, exemplified by inverters 57 and 58.
Therefore, ir, order to e nter the test mode to perform a pmpe test, three conditions must exist. The port expander 20 must receive a valid test mode code for performing a particular test, receive a valid test mode enable code which matches the preprogrammed code, and have its read signal at a value of 12 volts for a sufficient duration. Only when all three of these conditions are present can the device perform the proper test. In an alternative embodiment, the test mode enable signal from circuit 55 can also be used to latch in the TM code to latch 51. That is, latch 51 cannot receive the TM code until test mode enable signal is generated.
It is to be appreciated that although the test mode enable scheme of the present invention is described in reference to the port expander, the test mode enable scheme can be readily implemented in other devices. For example, a memory device, such as an EPROM or a static RAM, can be made to enter its test mode by requiring valid codes to be written to its latches, and then causing a control signal, such as a read signal, to transition to a predetermined level for a sufficient period of time. Only when all three of these conditions occur, will the device perform its desired test.
Further, other devices can be used instead of latches to perform the "latchenable" scheme of the present invention.
Thus, a port expander which includes its own internal memory and having a special protection circuit to inhibit accidental triggering of the test mode is described. The port expander is coupled to operate with an associated processor, such as a microcontroller, by providing external memory to the associated device, but also recapturing the use of ports which are lost due to the coupling of the external memory. No additional glue circuits are required. The port expander of the represent invention is manufactured in a single semiconductor device, although such a requirement is not essential to the practice of the present invention.

Claims (24)

1. An apparatus coupled to a processor for expanding a port of said processor when an external memory is coupled to said port of said processor, comprising: a first port coupled to said port of said processor for transferring of information between said first port and said processor; a memory coupled to said first port for providing said external memory to said processor e. s9Xol;d ,soit f#-. providing en open pet When va I po #f or said processor is occupied by coupling to said memory; a function register coupled to said first and second ports for storing information which is to be transferred between said first and second ports; a configuration register coupled to said first port for configuring mapping addresses which access said memory and said function register;; wherein said processor accesses said memory when a first predetermined address is provided by said processor and said processor accesses said second port for data transfer when a second predetermined address is provided.
2. The apparatus of Claim 1 wherein said first and second ports are bidirectional ports.
3. The apparatus of Claim 2 wherein said configuration register is a non-volatile programmable register.
4. The apparatus of Claim 3 wherein said memory is an EPROM.
5. The apparatus of Claim 4 wherein address and data information are multiplexed through said first port.
6. A port expander coupled to a processor for providing an open port for said processor when a processor port is occupied by having said processor port coupled to an external memory, comprising: a first port coupled to said processor port for transferring of information between said first port and said processor; an address bus coupled to said first port; a memory coupled to said address bus for providing said external memory to said processor; an inputloutput (I/O) port for providing said open port for said processor; a data bus coupled to said first port, memory and said VO port for transferring data; wherein said processor addresses said memory for effecting data transfer between said processor and said memory; and wherein said processor accesses said I/O port for effecting data transfer between said processor and said 110 port.
7. The port expander of Claim 6 wherein address signals from said processor determines if said memory or said I/O port is to be accessed for said data transfer.
8. The port expander of Claim 7 wherein said ports are bidirectional ports.
9. The port expander of Claim 8 further including a function register coupled to said address bus, data bus and said I/O port for storing information which is to be transferred between said first and 110 ports.
10. The port expander of Claim 9 further including a configuration register coupled to said address bus and data bus for configuring which address signals access said memory and which address signals access said function register.
11. The port expander of Claim 10 wherein said configuration register is a non-volatile register.
12. The port expander of Claim 10 wherein said memory is an EPROM.
13. The port expander of Claim 6 wherein said memory is an EPROM.
14. A port expander coupled to a processor for providing at least one open port for said processor when a processor port is occupied by having said processor port coupled to an external memory, comprising: a first port coupled to a first processor port for transferring of information between said first port and said processor; a second port coupled to a second processor port for transferring of information between said second port and said processor; an address bus coupled to said first port; a data bus coupled to said second port; a memory coupled to said address bus and data bus for providing said external memory to said processor; a first input/output (VO) port; a second I/O port;; a function register coupled to said address bus, data bus, first I/O port and second I/O port for transferring information between said IIO ports and said data bus; wherein said processor addresses said memory for effecting data transfer between sait' processor and said memorv; and wherein said processor accesses said I/O ports for effecting data transfer between said processor and said I/O ports.
15. The port expander of Claim 14 further including a configuration register coupled to said address bus and data bus for configuring which address signals access said memory and which address signals access said function register.
16. The port expander of Claim 15 further including a multiplexor coupled to said data bus for selectively coupling said data bus to said memory configuration register and function register.
17. The port expander of Claim 16 wherein said address bus is also coupled to said second port such that address and data signals are multiplexed through said second port.
18. The port expander of Claim 17 wherein said ports are bidirectional.
19. The port expander of Claim 18 wherein said memory is an EPROM.
20. The port expander of Claim 18 wherein said memory is a static RAM.
21. The port expander of Claim 14 wherein said memory is an EPROM.
22. The port expander of Claim 14 wherein said memory is a static RAM.
23. The port expander of Claim 19 wherein said processor is a microcontroller.
24. An apparatus coupled to a processor for expanding a port of said processor when an external memory is coupled to said port of said processor substantially as hereinbefore described and illustrated in the accompanying drawings.
GB8924745A 1988-12-30 1989-11-02 Port expander architecture for eprom Expired - Lifetime GB2227582B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US29236588A 1988-12-30 1988-12-30

Publications (3)

Publication Number Publication Date
GB8924745D0 GB8924745D0 (en) 1989-12-20
GB2227582A true GB2227582A (en) 1990-08-01
GB2227582B GB2227582B (en) 1992-11-04

Family

ID=23124356

Family Applications (1)

Application Number Title Priority Date Filing Date
GB8924745A Expired - Lifetime GB2227582B (en) 1988-12-30 1989-11-02 Port expander architecture for eprom

Country Status (3)

Country Link
JP (1) JPH02214958A (en)
GB (1) GB2227582B (en)
HK (1) HK1000475A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785764B1 (en) * 2000-05-11 2004-08-31 Micron Technology, Inc. Synchronous flash memory with non-volatile mode register
WO2006120126A2 (en) * 2005-05-10 2006-11-16 Siemens Aktiengesellschaft System comprising a radio module and a port extension and method for operating the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1547383A (en) * 1975-03-26 1979-06-20 Honeywell Inf Systems Data processing system
EP0141769A2 (en) * 1983-10-07 1985-05-15 Essex Group Inc. Arrangement for optimized utilization of I/O pins

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1547383A (en) * 1975-03-26 1979-06-20 Honeywell Inf Systems Data processing system
EP0141769A2 (en) * 1983-10-07 1985-05-15 Essex Group Inc. Arrangement for optimized utilization of I/O pins

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785764B1 (en) * 2000-05-11 2004-08-31 Micron Technology, Inc. Synchronous flash memory with non-volatile mode register
US7054992B2 (en) 2000-05-11 2006-05-30 Micron Technology, Inc. Synchronous flash memory with non-volatile mode register
WO2006120126A2 (en) * 2005-05-10 2006-11-16 Siemens Aktiengesellschaft System comprising a radio module and a port extension and method for operating the same
WO2006120126A3 (en) * 2005-05-10 2007-03-01 Siemens Ag System comprising a radio module and a port extension and method for operating the same

Also Published As

Publication number Publication date
HK1000475A1 (en) 1998-03-27
GB2227582B (en) 1992-11-04
GB8924745D0 (en) 1989-12-20
JPH02214958A (en) 1990-08-27

Similar Documents

Publication Publication Date Title
US5077738A (en) Test mode enable scheme for memory
US5243700A (en) Port expander architecture for mapping a first set of addresses to external memory and mapping a second set of addresses to an I/O port
US6711059B2 (en) Memory controller
US6614259B2 (en) Configuration memory integrated circuit
US5600597A (en) Register protection structure for FPGA
US6542427B2 (en) Power validation for memory devices on power up
US20010015905A1 (en) System having memory devices operable in a common interface
US5704039A (en) Mask programmable security system for a data processor and method therefor
EP0518488A1 (en) Bus interface and processing system
US6687811B1 (en) Processor with trace memory for storing access information on internal bus
JP2004280790A (en) Ecc control unit
US5781746A (en) Microprocessor with multiple bus configurations
KR100299542B1 (en) Microcomputer using nonvolatile memory
KR0142033B1 (en) Micro computer
US6035382A (en) Circuit for receiving a command word for accessing a secure subkey
JPH0628528A (en) Interface circuit for ic card
EP0217937A1 (en) Memory control circuit permitting microcomputer system to utilize static and dynamic rams.
JP2784550B2 (en) Semiconductor storage device
US5371869A (en) Micro-controller unit for selectively accessing an internal memory or an external extended memory using a read/write terminal
EP0466970A1 (en) Microprocessor with multiple bus configurations
EP1480224A1 (en) A semiconductor memory with a multiprotocol serial communication interface
GB2227582A (en) Port expander architecture for EPROM
KR20030085046A (en) Independent asynchronous boot block for synchronous non-volatile memory devices
EP1164490B1 (en) Re-configurable memory map for a system on a chip
US7028237B2 (en) Internal bus testing device and method

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20091101