[0001] The invention relates to postage meters and in particular to electronic postage meters
having microcomputer control of printing and accounting functions.
[0002] Devices of this type are generally known, and are discussed for example in US-A-3,978,457.
This patent discloses a system for a postage meter which includes a keyboard for the
manual introduction of data corresponding to the postage to be printed in a Random
Access Memory for real time operation. Data is stored in a nonvolatile memory upon
power down and read into the Random Access Memory upon power up.
[0003] US-A-4,481,604 describes an electronic postage meter having a redundant memory system
in which for each postal printing operation identical data is stored, respectively,
in two separate but identical CMOS battery- backed nonvolatile memories.
[0004] In these known devices, there have been found to be times when essential data has
not properly been stored in the nonvolatile memory of the meter. It has been found
that one reason might be the improper selection of access to a particular device.
[0005] One means for overcoming such illegal access is described in US-A-3,478,342. The
system taught by this reference includes means for detecting an illegal code • such
as an improper command and providing an illegal-action pulse as well as a code indicating
the type of illegal action.
[0006] In known electronic postage meters, the microprocessor high order address bits or
combination thereof are utilized in a standard decoder for selecting or enabling a
particular memory or peripheral device to be accessed in accordance with the microcomputer
instructions. While this normally works well, in many cases of improper operation
of the microcomputer or failure of one of the address lines of the bus, an improper
bit may be decoded and the select logic gate which then enables the wrong device may
cause wrong data to be read from memory or in the worst case cause data to be written
into an unknown memory or peripheral with no indication of any malfunction. When this
happens there is a strong possibility of service personnel's not being able to recover
essential information from the nonvolatile memory in the postage meter when the postage
meter fails. In accordance with the invention, in order to assure that data is written
only to the appropriate nonvolatile memory a logic circuit is provided which will
decode the addresses called by the microprocessor in such manner as to ensure the
selection of the appropriate memory or device, and particularly the NVM, only when
the addresses appropriate to that device are communicated. Further, in accordance
with the invention, in order to assure that data is written and read from only the
appropriate device a logic circuit is provided which will decode the addresses communicated
to other devices from the microprocessor and will provide a warning signal whenever
the read or write strobe from the microprocessor attempts to access an adress that
is not appropriate to any of the devices in the EPM.
[0007] It is accordingly a first object of the invention to provide a decoded output which
provides the proper select signal only when the appropriate addresses are communicated
from the microprocessor so as to particularly insure the reading and writing of the
appropriate data into the appropriate location.
[0008] It is further object of the invention to provide in an electronic postage meter an
address decode logic arrangement with a resolution down to a single byte location.
[0009] It is another object of the invention to provide a warning signal which indicates
that an appropriate address has not been communicated from the microprocessor so as
to particularly insure the reading and writing of the appropriate data into the appropriate
location.
[0010] It is further object of the invention to provide in an electronic postage meter a
microprocessor interrupt signal from an address decode logic arrangement so as to
provide a warning signal that an illegal address access has been attempted.
[0011] Other features and objects of the invention will become apparent in conjunction with
the description of the drawing wherein:
FIG. 1 is a block diagram of an electronic postage meter in accordance with the invention;
FIG. 2 is a block diagram of a specific arrangement of a processor interface circuit
in accordance with the invention;
FIG. 3 is a schematic of a decoder arrangement in accordance with the invention;
FIG. 4 is a default memory map showing a preferred arrangement of memory locations
in accordance with the invention;
FIG. 5 is an embodiment of a circuit for providing a plurality of control output signals
for NVM access;
FIG. 6 shows a preferred embodiment for providing a signal in response to an illegal
address selection;
FIG. 7 shows in schematic form a preferred embodiment of a circuit for providing NVM
selection;
FIG. 8 shows in schematic form a status and control circuit arrangement;
FIG. 9 is a schematic of a circuit for control of interrupts to the system microprocessor;
FIG. 10 is a timing diagram of the events; and
FIG. 11 is a timing diagram.
[0012] Referring now to FIG. 1 which is a block diagram of a meter in which the invention
may be incorporated. Such meters are known and are described for instance in US-A-3,978,457,
specifically incorporated herein by reference. In this referenced patent, the working
memory under control of the CPU is a Random Access Memory from which data must be
transferred to a nonvolatile memory upon loss or shutdown of power to the meter.
US-A-4,481,604 discloses an electronic postage meter where the Random Access Memory
and the nonvolatile storage memories are combined in battery backed CMOS RAMs which
are used both for the real time operation and for long term storage of information
in postal registers. European Patent EP-A-0 085 385 discloses an improved dual non-memory
system and is specifically incorporated by reference. It will be appreciated by those
skilled in the art that such a device may be combined with the electronic postage
meter described in Check and is also suitable for the invention disclosed herein.
The decoder arrangement disclosed herein is conveniently used to provide a method
and apparatus for further protecting essential postal data in conjunction with the
circuit described in copending European Patent claiming priority from US Patent Application
No. 710 802, entitled POSTAGE METER WITH NON-VOLATILE MEMEORY SECURITY CIRCUIT.
[0013] Still referring to Fig. 1, the heart of the general functional arrangement of the
system is the CPU which is utilized with specific instructions programmed in the Read
Only Memory (PM), for the performance of control of the basic meter functions, for
the performance of calculations based on any input data and for controlling the flow
of data into the various memories.
[0014] The system may operate in accordance with data applied from an appropriate input
means "I" or from a communications means "C" such as described for instance in US-A-4,301,507
also specifically incorporated herein by reference. The data is fed into the CPU under
control of the program in Read Only Memory and at any time during the operation of
the system, should the contents of the memory storing the appropriate credit/debit
balances or other cumulations in accordance with various features of the system be
desired to be displayed, appropriate instructions provided by the input means "I"
cause the CPU to access the desired locations in memory which store the information
requested. The information may be displayed on an output unit "0". As well known,
the input and output units may be multiplexed by a suitable multiplex unit "MP" for
transferring data to and from the CPU.
[0015] FIG. 2 is a block diagram of a specific arrangement of a processor interface circuit
in accordance with the invention and comprises an address decoder and associated selection
circuitry for the selection and control of various elements of the Electronic Postage
Meter. It will be appreciated that the circuit arrangement herein described is preferably
embodied in a custom LSI microchip, however, it will be understood that the use of
conventional logic components is also contemplated.
[0016] Turning now to FIG. 2, the overall block diagram of the circuit is shown generally
at 10. The demultiplexer 12 in conventional manner demultiplexes the address/data
bus 14 of a microprocessor (not shown in FIG. 2), suitably an 8085 series microprocessor
available from the Intel Corporation or an NSC800 Series microprocessor available
from the National Semiconductor Corporation. The bus 14 communicates with the demultiplexer
12 on communication lines 16 through a conventional transceiver circuit arrangement
18. For best results the ADDRESS LATCH ENABLE (ALE) signal 20 from the microprocessor
is "anded" with the microprocessor read strobe signal 22 to provide the latching signal
for latching the address information for the demultiplexer 12.
[0017] The demultiplexed address information is fed out on lines 24 for use in other parts
of the EPM and are internally connected at 26 to the decoder section 28. The high
order address signals directly from the microprocessor are communicated on lines 30
to the decoder section 28. An external decode signal, EXTDEC, is also input to the
decoder section 28.
[0018] The decoder section 28 receives and decodes a complete input address received at
26 and 30 to provide select outputs for the various parts of the system. The low order
demultiplexed address lines A0, Al and A2 are utilized as inputs to control flip-flops
32 along with the microprocessor write strobe WR received at 34 from the microprocessor.
As described further below, the control flip-flop section generates four control signals
in response to these inputs in addition to a decoder reset signal and other derived
signals, i.e. EXT-INTP, a pulse signal generated at the activation of the illegal
memory access output pin, and a select signal CONTRL-s for the selection of the Control
Flip Flop block.
[0019] Outputs from the decoder 28 are provided to NVM output control block 36. This control
block 36 in accordance with the invention provides a fail-safe NVM device selection.
The selection of either NVM is disabled if the NVM write line is shorted to the "active"
state. The NVM write strobe is disabled whenever the other devices are selected or
in the event that both NVMs are simultaneously selected.
[0020] In accordance with the invention, an illegal address control block 38, in conjunction
with the decoder 28 detects when the microprocessor read or write strobes attempt
to access an illegal, i.e. unused, memory space and, as discussed below, provides
a signal output for interrupting the processor.
[0021] Status and control block 40 monitors the outputs from the control Flip-Flop section
and provides a control port to generate a decoder reset and to control the selection
of an internal or external communication through an "Echoplex" I/O section 42. Preferably
the section also includes an 8-bit timer to set the Transmit Baud rate for the serial
communications.
[0022] Dual Timer section 44 provides two programmable 16-bit timers. Preferably the system
clock is the clock input to the timers. Suitably each is programmable for continuous
or for one-shot operation for generating an interrupt when the programmed count is
completed. Conveniently an 8-bit counter divider can be selected to prescale the clock
input or the ripple output of the first timer may be selected as the clock input to
the second timer.
[0023] Conveniently serial I/O block 46 and parallel I/O block 48 are utilized for communication
with a keyboard and display and for motor control, sensing postal value and miscellaneous
control functions.
[0024] For best results, an Interrupt Status and Control Block 50 is provided along with
an interrupt mask control port for enabling selected interrupts to interrupt the systems
processor.
[0025] FIG. 3 shows a schematic of an embodiment of a decoder block for providing a decoded
memory map in accordance with the invention. The crossed lines with a circle superposed
are used to indicate the preferred conductive path in a customized chip arrangement.
It will be appreciated that the illustrated arrangement is extremely convenient in
that the decoded memory map as described below may be modified easily with only a
few mask changes.
[0026] The various addresses communicated in known manner from the microprocessor and demultiplexer
as described previously are each fed to leads Al through A15 of the decoder block
28. The address bits on address lines All through A15 are supplied to NAND gates 52,
54, 56, 58, and 60 and inverted at inverters 62, 64, 66, 68, and 70 and applied as
illustrated to the NAND gates 52, 54, 56, and 58. An external decode signal 72 (see
also FIG. 2) is applied to NAND gate 60. The output of NAND gate 60 is NOR'D with
the outputs of gates 52, 54, and 56. The EXTD
EC signal is also applied directed to gate 58. It will be noted that when "active"
this signal will disable the decode function. The decoded outputs from the connections
illustrated in FIG. 3 for the preferred embodiment are as shown in Table I and in
FIG. 4.

[0027] It will be noted that in accordance with the invention, an active DVOID output is
provided from NAND gate 74 when none of the system's blocks are selected. It will
also be clear to one skilled in the art that the address bits, when appropriately
decoded as in the illustrated circuit by NAND gates 76, 78, 80, 82, 84, and 86 and
inverters 88, 90, 92, 94, and 96 provide an "active" output IO whenever any of the
I/O functions is selected and an "active" I/O read output whenever any of the internal
circuit functional blocks are selected. Address bits A3 and A4 are applied to 2-to-4
demultiplexer 98 and decoded with other low order address bits for providing output
signals as defined in Table I for selecting the appropriate blocks.
[0028] It will be understood that the signal DVOID is not necessarily limited to its previously
described function. For instance, in the illustrated embodiment, a signal VINT from
the control flip-flop block further described below may be used to convert this DVOID
signal to another decode output. This signal shown as "ECHO/VOID" in FIG. 3 is available
if the circuits internal ECHOPLEX block 42 is utilized. Alternatively it will be seen
that if an external "echoplex" section is utilized, that is, when the signal "EXTECHO"
is "active" the "ECHO/VOID#" output becomes the "select" signal for the external block
and the "select" signal for the internal echoplex section, "ECHO-S" is disabled.
[0029] As mentioned previously, the Control Flip-Flop section 32, more particularly shown
in FIG. 5, generates four control output signals and their complements for controlling
the generation of an illegal address interrupt signal to the processor, to provide
an independent enable/disable for the access to two separate NVM storage devices,
to enable and disable meter postage printing and access to nonvolatile storage.
[0030] As best seen in FIG. 5 the low order address signals A0, Al, and A2 are fed to a
3-to-8 Line Decoder Multiplexer 102 equivalent to a 74HC138 available from RCA to
set and reset flip-flops 104, 106, 108, and 110. The processor strobe signal WR and
the select signal CNTRL-S are applied to the enable inputs of decoder 102. As illustrated,
it is apparent that the control flip-flops are selectively controlled when both these
signals are "active".
[0031] The decoder reset signal RST and EXT-INTP (a pulse signal generated at the activation
of the illegal memory access interrupt signal) are "NAND'D" at "NAND" gate 112, inverted
at inverter and applied to each of the flip-flops 104 and 110. Table II shows the
preferred decoded control signals in response to the appropriate addresses.

[0032] The outputs from flip-flop 104 designated UNLOCK are preferably active to enable
postage printing and for NVM access. For best results, the preset value is inactive
to prevent printing and NVM access. The signal WRl-EN and WR2-EN are "active" for
write access to respective NVM devices #1 and #2. Again, for best results the preset
values are "inactive".
[0033] The output VINT which as previously discussed is fed to the decoder section 28 is
active to enable an interrupt generation whenever an illegal memory access is attempted.
It will be appreciated that this is preferred since in the "inactive" state it may
be used to reset the generated interrupt signal or to disable the interrupt so that
it may be used as a spare decode output. The VINT preset signal is "active" to enable
the interrupt.
[0034] The illegal address control block 38 is shown more particularly in FIG. 6. This circuit
is used to provide an indication of when access to unused memory space is attempted.
[0035] The DVOID decoded signal output from the decoder section 28 is nanded at NAND gate
106 with the Q output from a D Flip-Flop 108. The processors read strobe RD and write
strobe WR are NAND'D at NAND gate 110, inverted and applied to the clock input of
the D flip-flop 108. The decoder reset signal is NAND'D with the "VINT" signal from
the control flip-flop section 32 at NAND gate 112 and applied to the RESET input shown
as CLR in the Figure.
[0036] Thus, depending upon the status of the signal VINT as discussed previously, the decoded
void memory space indication will be latched at the lead edge of either the read or
the write strobe of the microprocessor to provide the output INT-VOID from the Q terminal
of flip-flop 108. In accordance with the invention, the INT-VOID signal is provided
to the system microprocessor as an interrupt signal. Preferably this indication will
remain latched until reset by the reset signal from the microprocessor.
[0037] Conveniently as seen in FIG. 2 the output is inverted at inverter 116 and supplied
at 118 at INT-VOID.
[0038] For best results, this INT-VOID output pin in open-drain so as to permit any of a
number of open-drain outputs wire-ored to this pin to activate the output signal.
This output pin is then suitably tapped as the input signal EXT-INT which is furnished
to the Status and Control Block. There, this signal is provided as a status port bit
and upon its actuation, a 1 clock period pulse is generated on signal EXT-INTP. This
EXT-INTP is provided from the status and control section to reset the control flip-flop
and parallel I/O sections to their default (safe) states when the INT-VOID output
pin is activated.
[0039] Turning now the FIG. 7, the NVM Output Control Block 36 is shown in
/greater detail. In order to insure secure accounting in the NVM the WRITE access to
the two independent NVM devices is independently enabled and disabled under software
control.
[0040] The NVM OUTPUT CONTROL will block the microprocessor write strobe WR unless either
of the NVM decoded select signals SELl and SEL2 is available and the appropriate write
enable signal from the control flip-flops are available at NAND gates 118 and 120.
The output of these gates are inputs to NAND gate 122 whose output is applied to NAND
gate 124. The output of this gate is inverted and supplied to NAND gate 126.
[0041] The other signals applied to NAND gate 124 are the - decoded select signals NVM1,
NVM2, ROM, RAM and VOID are taken from the output drivers and applied to NAND gate
124, with NVM 1 and NVM2 being NOR'D at NOR gate 128 and inverted before being applied
to 124. It will be appreciated that the write strobe WR is blocked if the appropriate
memory space is not selected. It will also be appreciated that if both NVMs are selected
simultaneously the write strobe will also be blocked.
[0042] A further protection feature is provided in the event that the NVM write strobe output
is shorted "active". The address enable strobe at 20 is applied as the clock signal
to a D flip-flop 130. If the NVMWR is shorted active, the ALE signal clocks the Q
output low to block both of the NVM device selection signals at NAND gates 132 and
134.
[0043] FIG. 8 is a schematic of the status and control block. The block comprises a status
port to allow monitoring of the control flip-flop outputs. The outputs of the control
flip-flop block 32 are applied to buffer 136 for output to data bus 138, see also
FIG. 2. The system clock input from 140 (see FIG. 2) is used in conventional fashion
for timing the internal reset output by counting through D flip-flops 142, 144, and
146 to provide signal IRST which is the control signal for resetting all of the flip-flops
in the circuit and is applied along with the System Reset to AND gate 148, (see FIG.
2).
[0044] The block select signal STAT-S for this block, the write strobe, read strobe, and
lowest order address bit are decoded to clock the writing of data at octal flip-flop
150, for initiating a general decoder reset under the control of appropriate software
commands and for setting a baud-rate divider circuit if desired. The EXTECHO signal
from D flip-flop 152 is used as previously discussed for selection of an external
communication device (not shown).
[0045] The Interrupt Controller block 50 is shown in more detail in FIG. 9. The interrupt
controller in accordance with the invention provides great flexibility in the servicing
of the various interrupt signals to the microprocessor. The signal INT-VOID from the
illegal address control block 38, signals INT-TO and INT-TI generated by the time-out
of timers in timer block 44, signal INT-ECHO from the ECHOPLEX block 42 which is "active"
to indicate the start of an echoplex message, signal INT-SERIAL from serial I/O block
46 whicy is "active" when new data is received or when the port is read for sending
data, and signal INT-MOTOR from PARALLEL I/O block 48 which is preferably "active"
when an illegal motor control output has been communicated are each input to the INTERRUPT
CONTROLLER block 50. The status of each of these signals may be read out directly
from buffer 154 when the RD-INTR signal is "active".
[0046] Signal INTA from the system microprocessor is an interrupt acknowledge. It will be
appreciated that if the INTA line is held or tied in the "inactive" state, each interrupt
signal input applied through gates indicated generally at 156 and fed to NAND gate
158 will create an interrupt request signal INTR for communication to the system's
microprocessor. Preferably, mask bits may be fed as data on data input bus 16 for
providing masking bits to
D-flip-flops 160 for latching. The latched outputs from 160 are applied to gates 156
so that the interrupt request will be generated whenever an unmasked device requests
service. The particular device requesting service may be determined by reading the
status buffer 154. The interrupt lines are also coded at the gates indicated generally
at 162 for feeding to latch 164 which also provides similar information.
[0047] Preferably, as shown, there is also included a vectored interrupt for the handling
of service requests. As discussed previously, a non-masked interrupt results in the
generation of an interrupt-request signal to the systems microprocessor. For best
results, the microprocessor upon receiving this signal will transmit an interrupt
acknowledge signal INTA. This signal places the contents of the opcode latch 166 onto
the data bus. In accordance with the invention, the processor interprets this data
as an opcode, normally a call instruction for the microprocessor. Upon execution of
the instruction, the microprocessor generates another INTA pulse to enable the lower
vector latch 168. The encoding of bits on this latch as described above. The vector
thus generated, desirably reflects a predetermined code representing the highest priority
interrupt. The next INTA pulse, in response to the call of this OPCODE, will place
the data residing in latch 170, preferably the upper vector address data, onto the
data bus 138.
[0048] The INTR-S signal is utilized to select this block. The low order address signals
Aφ through A2 are used as illustrated to decode the various control signals on the
gates indicated generally at 140.
[0049] Echoplex circuits suitable for use in block 42 are discussed in U.S. Patent No. 4,301,507
incorporated by reference herein. Serial I/O and parallel I/O port circuits are well
known and will not be discussed further herein.
[0050] FIG. 10 and FIG. 11 are timing diagrams showing the interrelationship of signals
previously discussed. The designated parameters and preferred timing are shown in
TABLE III. It is believed that these diagrams will be readily understood by those
skilled in the art so they will not be further described except with regard to the
operation of the circuit.
[0051]

[0052] The operation of the circuit has been particularly described with respect to each
of the functional units. Broadly, however, the circuit 10 in accordance with the invention
receives and decodes the periodic address signals communicated from the microprocessor
and received at decoder block 28 and control flip-flop block 32. The address signals
are decoded to provide an "active" selection signal for each of the various blocks
of the circuit 10 and the memory devices of the electronic postage meter depending
upon the communication of the appropriate addresses for the particular device. In
the event that an illegal address is communicated either because of a microprocessor
or software failure or because of a failure in the instant circuit, the DVOID signal
from the decoder block 28 goes "active" causing the output of gate 106 (FIG. 6) to
go high and latching the Q output of flip-flop 108 active. Thus a latched interrupt
signal is sent to the interrupt control block 50 for communication to the microprocessor
which responds as previously described above in conjunction with FIG. 9 whenever an
illegal access is attempted.
[0053] As discussed previously, further protection is provided in the event that both nonvolatile
memories are selected. As seen in FIG. 7, if both the NVM1 and the NVM2 signals are
active the output of gate 128 is high. This output is inverted and applied to gate
124 whose output is then held high so long as both devices are selected. The output
of 124 is inverted and the low input to gate 126 blocks the microprocessor's write
strobe WR to the NVM. It will also be appreciated that an additional interlock exists
on the write access to each NVM by way of control flip-flops WRl-EN and WR2-EN. Under
software control, write access is provided to NVM1 only when WR1-EN is set. Similarly,
write access is provided to NVM2 only when WR2-EN is set.
[0054] Protection is also provided during system power up with the use of the unlock control
flip-flop signal. It is a master control of access to the NVM's and postage printing
which will disable these functions until the software operating system is ready to
enable them.
[0055] In order to assure that signal NVMWR, the output from gate 126 is not shorted active
and so to assure that writing to the NVM is being commanded by the microprocessor,
the selection of a nonvolatile memory is blocked if NVMWR is held active. The output
write enable signal NVMWR is fed to latch 130 (FIG. 7) which is clocked by the address-latch-enable
signal (ALE) from the microprocessor. The Q output from the latch which is normally
high is used to enable gates 132 and 134.
[0056] If NVMWR is active when the ALE signal becomes active, the Q output of latch 130
goes high and blocks the output of gates 132 and 134. Thus in order for a nonvolatile
memory to be selected there must be a periodically active nonvolatile memory write
enabling signal and selection of only one nonvolatile memory to assure that the microprocessor
is providing the appropriate data to the appropriately selected NVM.
[0057] It will be understood that the claims are intended to cover all changes and modifications
of the embodiment herein chosen for the purpose of illustration which do not constitute
departures from the scope and spirit of the invention.