[0001] The present invention relates to methods and apparatus for modifying a firmware variable
in an electronic postage meter and to electronic postage meters.
[0002] The present application is related to copending European application of even date
corresponding to U.S. Application Serial No. 447,815 in the name of Danilo Buan, entitled
"Stand-Alone Electronic Mailing Machine", which describes a postage meter within which
the present invention may be utilized.
[0003] Further, copending European patent application of even date corresponding to U.S.
Application Serial No. 447, 925 in the names of John H. Soderberg and Edward C. Duwel,
entitled "Controlling Firmware Branch Points in an Electronic Postage Meter", discloses
the use of external data to select a branch of the program.
[0004] The disclosures of both above-mentioned European applications are hereby incorporated
herein by this reference.
[0005] The present invention relates generally to electronic postage meters, and is applicable
to electronic postage meters operating under control of a program. and including non-volatile
memories (NVMs), such as the type disclosed in the aforementioned related patent application.
[0006] Known electronic postage meters employing firmware such as disclosed in United States
Letters Patent 4,301,507, issued on November 17, 1981, and assigned to Pitney Bowes,
Inc. of Stamford, Connecticut are programmed via ROMs to undergo a certain sequence
of operations. Such arrangement is adequate for use with a particular postal system
such as that presently employed in the United States. However, for an electronic postage
meter to be capable of international usage, where the requirements of the postal systems
of the various countries vary widely, the number of individual programs or software
packages required to accommodate such variations would increase the programming costs
significantly.
[0007] It is an object of the present invention to provide a programmed electronic postage
meter in which a variable in the program is modified to satisfy the requirements of
a variety of different postal systems.
[0008] It is a further object of the present invention to provide an electronic postage
meter having the same firmware for use with different postal systems.
[0009] It is a still further object of the present invention to provide a general program
in which the actions of the firmware may be changed for a particular application based
on information stored in the meter.
[0010] It is a still further object of the present invention to provide a firmware controlled
electronic postage meter for various postal systems in which programming costs are
minimized.
[0011] Briefly, in accordance with the present invention, a method and associated apparatus
for modifying a firmware variable in an electronic postage meter is provided comprising
the steps of storing a program for operation of the electronic postage meter, providing
data external to the stored program which data is capable of modifying a variable
in the program to change the action of the program, and accessing such external data
during operation of the electronic postage meter to change the action of the program
in accordance with the presence of the external data.
[0012] Other pbjects, aspects and advantages of the present invention will be apparent from
the detailed description considered in conjunction with the preferred embodiment of
the invention illustrated in the drawings, in which:
FIGURE 1 is a block diagram of the generalized electronic circuitry of an electronic
postage meter;
FIGURE 2 formed from partial Figures 2a and 2b is a detailed block diagram of the
electronic circuitry of the electronic postage meter;
FIGURE 3A is a flowchart for Inbound Message Conversion illustrating the present invention;
and
FIGURE 3B is a flowchart for Outbond Message Conversion illustrating the present invention.
[0013] Referring to Figure 1, the electronic postage meter includes an 8-bit microprocessor
10 (CPU), such as an Intel Model 8085A microprocessor which is connected to various
components through a system bus 12. ROM 14 is connected to the microprocessor 10 through
the system bus 12. The ROM 14 stores the programs for controlling the postage meter.
It should be understood that the term ROM as used herein includes permanently programmed
and reprogrammable devices. An integrated circuit 16, which may be Intel Model 8155,
is connected to the system bus 12 and includes RAM, input and output lines and a timer.
The RAM portion of the intergrated circuit 16 has memory space allocated for transient
storage of the data for the ascending register and descending register. An external
data communication port 18 is connected to the microprocessor 10 through optical isolator
20
'. The external data communication port 18 allows connection with devices such as an
electronic scale, an external computer, servicing equipment and the like. Also electrically
connected to the microprocessor 10 through the system bus 12 is the keyboard 22 of
the postage meter and a non-volatile memory (NVM) 24. Stepper motors 26, 28 are also
in electrical connection with the microprocessor 10 via motor drivers 30 and the integrated
circuit 16. A reset and power control 32 is electrically connected between the integrated
circuit 16, the NV
M 24 and the microprocessor 10. A relay 34 connects the AC printer motor 36 to the
integrated circuit 16. A display 38 is also electrically connected to the integrated
circuit 16. Trip photosensor 40 is connected to the microprocessor 10 through integrated
circuit 16 to indicate the presence of an envelope to be stamped, as described more
fully in the aforementioned patent application entitled, STAND-ALONE ELECTRONIC MAILING
MACHINE.
[0014] The electronic postage meter is controlled by the micropro--cessor 10 operating under
control of the programs stored in the ROM 14. The microprocessor 10. accepts information
entered via the keyboard 22 or via the external communication port 18 from external
message generators. Critical accounting data and other important information is stored
in the non-volatile memory 24. The non-volatile memory 24 may be an MNOS semiconductor
type memory, a battery augmented CMOS memory, core memory, or other suitable non-volatile
memory component. The non-volatile memory 24 stores critical postage meter data during
periods when power is not applied to the postage meter. This data includes in addition
to the serial number of the mailing machine or postage meter information as to the
value in the descending register (the amount of postage available for printing), the
value in the ascending register (the total amount of postage printed by the meter),
and the value in the piece count register (the total number of cycles the meter has
performed), as well as other types of data, such as trip status, initialization and
service information, which are desired to be retained in the memory even though no
power is applied to the meter.
[0015] When an on/off power switch 42 is turned on (closed) a power supply internal to the
mailing machine energizes the microprocessor 10 and the balance of the electronic
components. The information stored in the non-volatile memory 24 is transferred via
the microprocessor 10 to the RAM of the integrated circuit 16. After power up the
RAM contains an image or copy of the information stored in the non-volatile memory
24 prior to energization. During operation of the postage meter, certain of the data
in the RAM is modified. Accordingly, when postage is printed, the descending register
will be reduced by the value of the printed postage, the ascending register increased
by the value of the printed postage and the piece counter register incremented. When
the power switch 42 is turned off (opened), the updated data in the RAM is transferred
via the microprocessor 10 back into a suitably prepared area of the non-volatile memory
24. A like transfer of information between the non-volatile memory 24 and the RAM
takes place during power failure.
[0016] Referring to Figure 2, a more detailed block diagram of the arrangement of the electrical
components for the postage meter is illustrated generally as 48. Power is supplied
to the postage meter from the AC line voltage, typically 115 volts. This line voltage
is applied to the meter through a hot switch 50 which cuts off power to the postage
meter to protect the electrical components thereof if the temperature rises above
a preset limit, nominally 70°C. The hot switch 50 is connected to the AC drive motor
36A through an RF filter 52 and an opto-triac 54 which provides isolation between
the line voltage and the control logic for the meter. The hot switch 50 is also connected
to a transformer 56 protected by a fuse 58. The output of the transformer 56 is coupled
to a pre-regulator 59 through a cold switch 60. The cold switch 60 cuts off-power
to the pre-regulator 59 if the temperature drops below a preset limit, nominally 0°C.
The pre-regulator 59 provides an output voltage of a predetermined range to a switcher
62 which generates the output voltage +5v; and the voltages for generating -12V and
-30V.
[0017] The +5V is applied to a +3 volt regulator 64 and then to the display 38A. The +5V
from the switcher 62 is also applied to a +5V filter 66 which provides +5V for logic
circuits. Specifically, the +5V is applied to the keyboard 22A, the display 38A, and
bank, digit and trip sensor logic 68 and to the integrated circuits. The -12V is applied
to a -12V regulator 70 and then to the non-volatile memory 24A.
[0018] The -30V output from the switcher 62 is also applied to a -30V regulator 74 and then
to a -30V switch 76 which switches its output voltage on and off in response to the
requirements of writing in NVM as dictated by the program. The output of the -30V
switch is applied to the non-volatile memory 24A. The -30V supply is connected to
the power on reset 72 of the microprocessor 10A.
[0019] +5V from the switcher 62 is also supplied to one input of the power on reset 72;
the other input receives -30V from the regulator 74 as previously described. A low
voltage sensor 88 also receives one input of +5V from the switcher 62 and its other
input from the pre-regulator 59; its output is applied to the microprocessor 10A.
The low voltage sensor 88 detects power failure and communicates this to the microprocessor
10A which in turn addresses the RAM through system bus 12A to transfer all security
data present in the RAM to the non-volatile memory 24A.
[0020] Another output from the pre-regulator 59 in the form of +24V is applied to the digit
and bank motor drive 30A for the bank motor 26A and digit motor 28A, which selects
the particular printing wheel (bank) which is to be activated and the particular digit
of the selected printing wheel which is to be set.
[0021] An output strobe from the integrated circuit 16A is buffered through buffer driver
68 and applied to digit sensor (encoder) 78, bank sensor (encoder) 80, and trip sensor
40A. The opto strobe applies power to the digit sensor 78, bank sensor 80 and trip
sensor 40A when needed. The output from the trip sensor 40A is applied to the input/output
lines 82 which are coupled to the integrated circuit 16A. The outputs from the digit
sensor 78 and bank sensor 80 and cycle switch 84 are applied to a storage buffer 86.
[0022] During power up, the key switch 42, see Fig. 1, is closed, and the AC line voltage
energizes the electrical components previously described and an Initialization process
will occur. Such initialization may include a hard and/or soft initialization process
as disclosed in the aforementioned United States Letters Patent 4,301,507. Preferably
the Intialization process is that described in copending European application of even
date corresponding to U.S. Application Serial No. 447,913 entitled "Initializing the
Print Wheels in an Electronic Postage Meter". The disclosure of this European application
is hereby incorporated herein by reference.
[0023] In operation, the microprocessor 10A under control of the. ROM 14A and possibly the
auxiliary ROM 100 communicates over the address bus 94 and control bus 98 with the
device select 98. The output of the device select 98 communicates with the particular
module to be addressed over select lines 99. The modules to be addressed are the RAM,
the ROM 14A, an auxiliary ROM 100, a demultiplexer 102, NVM logic 104 and the buffer
86. The RAM of integrated circuit 16A provides the working memory for the postage
meter and the microprocessor 10A. The ROM 14A stores the program; the auxiliary ROM
100 may be used to provide additional program storage space. The non-volatile memory
24A provides storage of all security information for the meter and retains such information
during power down or power failure. The demultiplexer 102 latches the lower eight
(8) bits of address information that defines a particular location which is used immediately
thereafter. The NVM logic 104 controls the mode of operation of the NVM 24A and also
provides ready wait and NVM ready signals to the microprocessor 10A to indicate the
presence of the slow speed device (NVM) as active on the bus 12A.
[0024] As previously mentioned, the digital sensor 78 (optical encoder) and bank sensor
80, (optical encoder) and cycle switch 84 whose current state is read, i.e., "Home"
or "In Cycle", apply input signals to the buffer 86 which sends output signals over
data bus 108 to the microprocessor 10A for storage in the proper RAM location.
[0025] The RAM is also electrically coupled to I/O lines to transmit or receive data from
the trip sensor 40A, the display 38A, keyboard 22A, and privilege access switch 110,
if present. The privilege access switch 110 may be used in applications which require
manual resetting of meter postage via a switch which is kept under seal.
[0026] The flow charts discussed below indicate.how one or more external data bits preferably
stored in non-volatile memory can be used to change a firmware variable so that the
actions of the firmware change. It should be understood that the term firmware as
used herein includes software.
[0027] Phantom zeros are necessary in a postage meter because of the variations in monetary
systems and the range thereof around the world. Phantom zeros occur mechanically fixed
and thus will appear on each imprint of the meter. The postage value will display
the value to be printed, including the phantom zeros. The setting of phantom- zeros
in the display is accomplished by modifying a firmware variable based on data stored
in non-volatile memory.
[0028] Specifically, referring to the flow chart illustrated as 110 in Fig. 3A for an Inbound
Message Conversion, i.e., entering postage from the keyboard, the format of the digits
is set equal to the format of the digits minus those phantom zeros set in non-volatile
memory. When entering postage from the keyboard, the use of the decimal point describes
the setting exactly. If-the format of the decimal is equal to F (HEX), i.e., no decimal
entry being made, the meter will default to the decimal position specified in the
characteristic code stored in the NVM and the message will be converted internally
for display. Control is then returned to the superordinate process. However, if the
decimal is not equal to F(HEX), i.e., a decimal point has been set, the NVM is addressed
to set the format of the decimal equal to the decimal format minus the phantom zeros
stored in NVM. Therefore, the message is converted internally for display and control
is returned to the superordinate process.
[0029] Referring to the flow chart illustrated as 120 in Fig. 3B, for an Outbound Message
Conversion, i.e., displaying the entered postage on the display,the internal units
are converted to a data format or message. NVM is then accessed to set the format
of the digits in the message equal to the format of the digits plus the phantom zeros
stored in the NVM. If the format of the decimal is equal to F(HEX) i.e., no decimal
entry being made, control is returned to the superordinate process. However, if the
format of -the decimal is not equal to F (HEX), NVM is accessed to set the format
of the decimal equal to the decimal format plus the phantom zeros stored in NVM. Control
is then returned to the superordinate process. Preferably, as disclosed in our copending
European Patent ApplicationsNo. 83 102 266.0 (corresponding to U.S. Application Serial
No. 355,437) and No. 83 106 828.3 (corresponding to U.S. Application Serial No. 347,398),
after the serial number is set in the meter, a "one time" program locks up the meter
to preclude further changes therein.
[0030] It will be understood for the purpose of the present application that the term postage
meter refers to the general class of device for the imprinting of a defined unit value
for governmental or private carrier delivery of parcels, envelopes or other like application
for unit value printing. Thus, although the term postage meter is utilized, it is
both known and employed in the trade as a general term for devices utilized in conjunction
with services other than those exclusively employed by governmental postage and tax
services. For example, private, parcel and freight services purchase and employ such
meters as a means to provide unit value printing and accounting for individual parcels.
[0031] It should be apparent to those skilled in the art that various modifications may
be made in the present invention without departing from the scope thereof as described
in the specification and defined in the appended claims.
1. A method for modifying a firmware variable in an electronic postage meter characterised
by the steps of:
storing a program for operation of the electronic postage meter;
providing data external to the stored program which data is capable of modifying a
variable in the program to change the action of the program; and
accessing such external data during operation of the electronic postage meter to change
the action of the program in accordance with the presence of the external data.
2. A method according to claim 1 characterised in that the program is stored in at
least one ROM.
3. A method according to claim 1 or 2 characterised by providing the data to allow
modification of the actions of the program to set phantom zeros.
4. A method according to any one of claims 1 to 3 characterised by the step of storing
the data in non-volatile memory.
5. A method for modifying a firmware variable in an electronic postage meter characterised
by the steps of
storing a program for operation of the electronic postage meter in at least one ROM;
setting data external to the stored program; and modifying a variable in the firmware
in accordance with the external data.
6. A method according to claim 5 characterised in that the external data is set in
non-volatile memory.
7. Apparatus for modifying a firmware variable in an electronic postage meter characterised
by:
ROM means (14) for storing a program for the electronic postage meter;
non-volatile memory means (24);
data for changing the actions of a firmware variable stored in said non-volatile memory
means (24); and
means (10,12) interconnecting said ROM means (14) and said non-volatile memory means
(24) for providing communication therebetween to access said data and change the actions
of the firmware in accordance with the presence of said data in said non-volatile
memory means (24).
8. Apparatus according to claim 7 characterised in that said interconnecting means
includes a system bus (12) and a microprocessor (10).
9. Apparatus according to claim 7 or 8 characterised in that the presence of said
data in said non-volatile memory means provides for the setting of phantom zeros.
10. Apparatus for modifying a firmware variable in an electronic postage meter characterised
by:
ROM means (14) for storing a program for the electronic postage meter;
a non-volatile memory means (24)
data for changing the actions of the firmware stored in said non-volatile memory means
(24); and
interconnecting means including a microprocessor (10) and a system bus (12) for interconnecting
said ROM means (14) and said non-volatile memory means (24) for providing communication
therebetween to access said data stored in said non-volatile memory means (24) and
the firmware to change the actions of the firmware in accordance with the presence
of said data in said non-volatile memory means (24), the presence of said data in
said non-volatile memory means (24) resulting in the setting of phantom zeros.
11. Apparatus according to claim 10 characterised by other data set in said non-volatile
memory means (24) for modifying said data for changing the code sequence of the stored
program.
12. An electronic postage meter characterised by apparatus according to any one of
claims 7 to 11.