METHODS AND APPARATUS FOR MODIFYING A FIRMWARE VARIABLE IN AN ELECTRONIC POSTAGE METER

Abstract: Methods and apparatus for modifying a firmware vari­ able in an electronic postage meter. A program is stored e.g. in ROM (14) for operation of the electronic postage meter, data is provided e.g. in a non-volatile memory (24) external to the stored program which data is capable of modifying a variable in the program to change the action of the program, and such external data is accessed during operation of the electronic postage meter to change the action of the program in accordance with the presence of the external data.

Description: METHODS AND APPARATUS FOR MODIFYING A FIRMWARE VARIABLE IN AN ELECTRONIC POSTAGE METER The present invention relates to methods and apparatus for modifying a firmware variable in an electronic postage meter and to electronic postage meters. 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. 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. The disclosures of both above-mentioned European applications are hereby incorporated herein by this reference. 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. 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. 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. 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. 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. 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. 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. Other objects, 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 de tailed block diagram of the electronic circuitry of the elec tronic postage meter; FIGURE 3A is a flowchart for Inbound Message Conversion illustrating the present invention; and FIGURE 3B is a flowcart for Outbond Message Conversion illustrating the present invention. Referring to Figure l, 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 circuFit 16. A reset and power control 32 is electrically connected between the integrated circuit 16, the NVM 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 ELEC TRONIC MAILING MACHINE. The electronic postage meter is controlled by the microprocessor 10 operating under control of the programs stored in the ROM 14. The microprocessor 10. accents 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 nonvolatile memory 24 may be an MNOS semiconductor type memory, a battery augmented CMOS memory, core memory, or other suitable nonvolatile 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 avail able 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 meters 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. 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 compon ends. 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. 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 700C. 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 OOC. 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. 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. 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. +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 lOA 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. 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. 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. 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 correspon ding 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. In operation, the microprocessor 10A under control of the7. 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. 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 HIn 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. 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. 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. 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. 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. 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 N'fli. 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. 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. 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.

Claims: 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 nonvolatile 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 nonvolatile 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.

Inventors: DUWEL, EDWARD C., SODERBERG, JOHN H.
Applicants: PITNEY BOWES INC.
Application year: 1983
Main classification: G07B17
IPC codes: G07B17, G06F19, G06Q50