WO1995011495A2 - Postage imprinting apparatus and methods for use with a computer printer - Google Patents

Postage imprinting apparatus and methods for use with a computer printer Download PDF

Info

Publication number
WO1995011495A2
WO1995011495A2 PCT/US1994/011499 US9411499W WO9511495A2 WO 1995011495 A2 WO1995011495 A2 WO 1995011495A2 US 9411499 W US9411499 W US 9411499W WO 9511495 A2 WO9511495 A2 WO 9511495A2
Authority
WO
WIPO (PCT)
Prior art keywords
postage
printer
imprint
accessory
font
Prior art date
Application number
PCT/US1994/011499
Other languages
French (fr)
Other versions
WO1995011495A3 (en
Inventor
Robert C. Minnick
Gilad Keren
Original Assignee
Minnick Robert C
Gilad Keren
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 Minnick Robert C, Gilad Keren filed Critical Minnick Robert C
Priority to AU80758/94A priority Critical patent/AU8075894A/en
Publication of WO1995011495A2 publication Critical patent/WO1995011495A2/en
Publication of WO1995011495A3 publication Critical patent/WO1995011495A3/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00193Constructional details of apparatus in a franking system
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00193Constructional details of apparatus in a franking system
    • G07B2017/00201Open franking system, i.e. the printer is not dedicated to franking only, e.g. PC (Personal Computer)
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • G07B2017/00322Communication between components/modules/parts, e.g. printer, printhead, keyboard, conveyor or central unit

Definitions

  • This invention relates to postage imprinting devices, and more particularly to postage imprinting devices for use with conventional computer-driven printers to enable the printer to apply postage to an item while securely maintaining a record of the value of available postage.
  • the invention also relates to accessory devices for computer-driven printers, and more particularly to an accessory device compatible with one or more printer models, which may enable such printers to provide additional functions despite the fact that the accessory interconnection port was intended for functions more limited than those provided by the accessory device.
  • Prior-art postage imprinting devices have generally included mechanical or electromechanical apparatus for receiving a mailable item, or an adhesive label which may be affixed to such an item, and applying a postage imprint thereto.
  • the imprint typically includes at least the amount of the postage and a distinctive logo which is difficult to reproduce, and may also include the date, an originating city or postal zone code, rate or handling endorsements, and other information.
  • such postage imprinting devices In order to ensure that users will not obtain services for which they have not paid, such postage imprinting devices generally include at least two storage registers-one for recording the amount of postage which remains available for use, and the other for recording the amount of postage which has already been used.
  • the available postage register is adjusted upward by postal authorities when a user pays in advance for postage.
  • the selected postage amount is compared to the available postage register to determine whether sufficient unused postage remains. If the register indicates that sufficient postage is available, the imprint is performed, and the imprinted amount is deducted from the register. If sufficient postage is not available, however, then the imprint is inhibited and the register is left unchanged.
  • the devices include a number of security features to prevent tampering entirely or, failing that, to render tampering easily detectable upon inspection of the device by postal authorities. Such security features are expensive to design and manufacture.
  • the secure portions of conventional postage imprinting devices must occasionally be taken to the postal authority for inspection or the addition of pre-paid postage. Other portions of the postage imprinting devices are not subject to inspection and may be heavy or bulky.
  • the devices are often constructed to. llow the secure portions to be easily separated from the remainder so that only the secure portions need be moved when inspection or addition of postage is required. This separability feature, and the need to provide a carrying case to protect the secure portion from damage during transit, further increase the cost of prior-art postage imprinting devices.
  • prior-art postage imprinting devices generally have been expensive to obtain and operate, thereby limiting the number of mailers who can economically employ them.
  • Postal users can generally obtain postage stamps directly from the postal authority by paying the face value of the stamps.
  • postage imprinting devices have achieved widespread acceptance, their acquisition and maintenance costs have placed them out of reach for many small-volume mailers.
  • An additional disadvantage of prior-art postage imprinting devices is that they are generally usable only for applying postage to, and possibly sealing, an item of mail. Even for moderate-volume mailers, the devices sit idle much of the time.
  • postage imprinting devices have been integrated only to a very limited extent with other office equipment, and generally must be loaded and unloaded by hand.
  • some postage imprinting devices may be connected to a suitable postal scale or a computer to au ⁇ tomatically provide a correct postage amount.
  • many of these arrangements still require a manual operation to transfer the mail item from the scale to the postage imprinting device. Since the address for an item to be mailed is generally applied to the item using a separate addressing device such as a typewriter or a computer-driven printer, the item must also be manually transferred from the addressing device to the scale or postage imprinting device.
  • postage imprinting devices of conventional design are poorly adapted to provide additional functions, such as applying a destination address in addition to postage.
  • the elements which actually apply the imprint to an item typically comprise a stamp or printing plate having a large fixed portion and a small variable portion.
  • the large fixed portion generally contains the distinctive postage logo and any other information which remains constant for all items to be imprinted.
  • the variable portion typically includes the postage amount and the date, and for each character position in the variable portion the character to be printed may be selected from a very small number of predefined characters.
  • the United States Postal Service uses computer-based postage imprinting devices having a thermal printer for imprinting a postage indicium, and possibly other information of use in processing the mail, on an adhesive label. Once printed, the label may be purchased like a postage stamp, and then applied to an item to be mailed. Although these devices are computer controlled, they are not suitable for general-purpose printing.
  • thermal pr nting technology used by these dev ces has several disadvantages which may render such postage imprinting devices unacceptable for use as a general-purpose printer.
  • the thermal printing technology does not produce the high print quality available through other modern computer printing technologies to which customers are accustomed.
  • Thermally sensitive paper is expensive, has tactile qualities which users dislike, and degrades more rapidly than ordinary pilper.
  • High-quality computer-driven printers with sufficient inherent capabilities to print something that resembles the stamp of an existing postage imprinting device have long been available. It would be simple to provide computer software for use with such printers to print a simulated meter stamp.
  • neither general-purpose business computers nor printers designed for use therewith contain facilities for securely maintaining a record of available pre-paid postage, for decrementing the available postage record according to use, and for inhibiting the imprinting of postage unless sufficient available postage remains. Without such facilities, a user could imprint as much postage as he wanted, without paying for it.
  • Another possible solution is to provide the secure postage register facilities in a metering device which may be interposed in the communication link between a computer and a printer.
  • the metering device would normally pass unchanged all information it received from the computer to the printer.
  • the metering device would be responsive to requests from the computer to send instructions to the printer to produce a suitable meter stamp.
  • the data stream between the computer and the printer is particularly easy to monitor and manipulate, and therefore, interposing a metering device in this data stream significantly increases the risk of tampering.
  • Many modern printers provide a limited-purpose interface port for font cartridges and certain other devices.
  • the font cartridge interface ports are adapted to operate in a normal mode, in which the cartridge functions merely as a memory device containing font information in a predefined format, and an emulation mode, in which the cartridge contains programs (and associated data) which may be executed by the printer's control microprocessor.
  • the emulation mode provides a highly flexible way of controlling a printer or adding features thereto, and several commercial devices have been produced which appear to operate in this mode.
  • Practical Peripherals (375 Conejo Ridge Ave., Thousand Oaks, California, 91361) sells a product which may be connected to a printer through its font cartridge interface for receiving and printing a facsimile transmission.
  • software written for the emulation mode of one printer is not guaranteed to be compatible with the emulation modes of other printers.
  • Accessory cartridges designed to operate with a particular model of printer in its emulation mode are often incompatible with other printer models of the same manufacturer.
  • the Practical Peripherals facsimile receiving device appears to be compatible with certain Hewlett Packard printers designated “Laserjet 11" and “Laserjet 111", but not with Hewlett Packard's earlier "Laserjet” and later "Laserjet IV” printers, nor with printers of other manufacturers.
  • Hewlett Packard printers designated "Laserjet 11" and "Laserjet 111”
  • Hewlett Packard's earlier "Laserjet” and later "Laserjet IV” printers nor with printers of other manufacturers.
  • ser ous compat ty pro ems may ar se, t e solution to which is not yet known.
  • font cartridges which are compatible with several printer models.
  • the font cartridge interfaces of a popular family of printers sold by Hewlett Packard Company (Boise Division, 11311 Chinden Boulevard, Boise, Idaho, 83707) under the name "Laserjet" are upwardly compatible, and font cartridges produced for early models of such printers have been usable in a number of later models.
  • this compatibility does not necessarily extend to use of the font cartridge interface to perform any function other than providing additional fonts.
  • the manner in which these particular models access the font cartridge may differ.
  • the Hewlett Packard printer designated "Laserjet IV" is reported to have a font caching facility, and therefore may access the font cartridge on fewer occasions than earlier models of that product family.
  • the prior art discloses devices which may be connected to a printer through its font cartridge interface to enhance its capabilities, but teaches the operation of such devices in the printer's emulation mode, and does not disclose how a device with capabilities more extensive than that of an ordinary font or macro cartridge might operate in the printer's normal (i.e. non-emulation) mode.
  • a postage imprinting device were adapted for addition to a printer through its font cartridge interface in the manner taught by the prior art, it would operate in the emulation mode, but it would only be compatible with an undesirably limited set of printers.
  • a postage imprinting system for enabling a general-purpose computer driven printer to imprint postage constructed according to the present invention comprises a postage metering accessory device adapted for interconnection with the printer through its font cartridge interface, suitable programs and font or image data for use by the metering accessory, and appropriate software for execution by a host computer to control the printer.
  • the metering accessory comprises an enclosure, a mechanical and electrical interface to the font cartridge slot of the printer, and an electronic circuit for implementing its functions.
  • the metering accessory may have the physical form - factor of an ordinary font cartridge and may be inserted into a font cartridge slot of the printer.
  • the metering accessory could be constructed so that it may be inserted into a SIMM socket, a PCMCIA socket, or any other interface through which the printer obtains font information.
  • the metering accessory could also be implemented as an integral part of a printer.
  • the metering accessory provides certain fonts for use by the printer in producing a postage imprint, maintains a record of available postage, and allows the printer to perform a valid imprint only if the available postage equals or exceeds the value of the requested imprint.
  • the electronic circuit comprises a Read-Only Memory (ROM) containing fonts and related data structures, logic for implementing a state machine and certain control functions, an auxiliary memory for recording the value of a requested meter imprint, and a microcomputer for maintaining a record of available postage and for reporting whether the value of the requested meter imprint equals or exceeds the available postage. If a sufficiently fast microcomputer is used, then the auxiliary memory may be implemented as a part thereof.
  • the ROM contains several font data structures in a format determined by the requirements of the printer to which the metering accessory is to be attached, so that the metering accessory appears to the printer as would an ordinary font cartridge.
  • a printer's font cartridge interface typically includes an address bus, a data bus, and suitable control signals to enable the printer to read data from the ROM.
  • data is provided which represents the graphical image to be rendered by the printer when it prints that character.
  • Auxiliary data structures are provided in the ROM so that the printer may determine the locations or ROM addresses of certain parameters of each font and the image data for the characters thereof.
  • the printer In order to print a particular character in a selected font, the printer must first obtain from the ROM the image data corresponding to that character/font combination. It does this by reading, via the font cartridge interface, the image data for that character from the ROM at the addresses indicated by the auxiliary data structures. Thus, if the ROM addresses of the image data for a particular character in a particular font are known, the fact that the printer is reading the image data for that character may be detected by observing the address bus of the font cartridge interface and noting when the corresponding addresses are accessed.
  • the metering accessory is directly connected to the printer only through its font cartridge interface, and is not directly connected to the host computer at all. Thus, the metering accessory is unable to receive direct communications from the host computer in order to discern when a postage imprint is desired. Instead, the metering accessory exploits the ability to observe the characters for which the printer fetches image data.
  • the host computer software communicates to the metering accessory that an mpr nt s to be performed, and t e value thereof, by instructing the printer to print certain predefined sequences of characters in selected fonts.
  • the metering accessory observes the printer fetching the image data in the required predefined sequences, it may interpret them as an attention message, a reset message, or a postage imprint value.
  • the metering accessory circuit of the present invention includes a state machine and associated logic for observing the activity on the address bus of the font cartridge interface.
  • the metering accessory ROM includes several fonts having image data organized for convenient observation by the state machine. Six fonts are provided which correspond to the digits representing the value of a meter imprint ranging in value up to $ 999 . 999 .
  • postage imprint values of $ 100 or greater are rarely needed, and therefore, a commercial embodiment of the invention could be constructed to accommodate fewer digits.
  • larger currency values may be needed for routinely used postal amounts.
  • imprinting postage-like items such as real estate transfer tax stamps, and the like, large imprint values may be needed.
  • the electronic circuits of the preferred embodiment of the invention will accommodate up to eight digits without modification.
  • the software, fonts, and associated data structures described herein will accommodate six digits, but can easily be modified to accept more.
  • Each font corresponds to one of the six available decimal digit positions.
  • An additional font provides the image of the logo portion of the imprint, which may be large compared to the size of ordinary characters. Many printers limit the size of the image associated with a character. Accordingly, the logo image is split into a plurality of segments of manageable size, and each segment is associated with a different character of the logo font. The logo image is formed as a seamless mosaic of these segments by printing these characters in the proper sequence.
  • a first set contains the image for a "void" postage logo, which would be printed, for example, if a requested imprint value exceeded the available postage.
  • a second set contains the image for a "valid" postage logo.
  • the entries in the ROM's auxiliary data structures which identify the location of the image data for the logo font point only to the addresses of the "void" image data, and therefore, the printer is aware of only one set of image data for the logo font. As a result, an attempt to print the characters forming the logo image mosaic will, in the absence of special circumstances, cause the printer to access the image data at the addresses indicated by the auxiliary data structures so that the ROM provides the "void" logo image.
  • the metering accessory circuit contains address translation logic which is interposed between the font cartridge interface and the ROM.
  • the address translation logic is enabled only when an imprint has been requested and sufficient postage is available.
  • the address translation logic supplies to the ROM a modified or translated address which refers to the location of the "valid" logo data.
  • the host computer software instructs the printer to print a predetermined "attention" string consisting of characters in selected fonts which are present in the metering accessory.
  • the metering accessory observes the activities of the printer as it requests font data in order to satisfy the printing instructions received from the host computer.
  • the metering accessory When the metering accessory observes that the printer has attempted to print the "attention" string, the metering accessory prepares to record the value of the imprint.
  • the host computer software instructs the printer to print the value of the imprint by sending the corresponding numeric digits, or place-holding characters, in selected fonts.
  • the metering accessory observes the characters requested by the printer in each font, records the value of the imprint, and checks an internal record of available postage to determine whether sufficient pre-paid postage is available to perform the imprint. If sufficient postage is available, the metering accessory reduces its internal available postage record by the amount of the imprint and enables the previously mentioned address translation logic. If insufficient postage is available, the accessory leaves the available postage record unchanged, and leaves the address translation logic disabled.
  • the host computer software instructs the printer to print the logo portion of the meter imprint by selecting the "logo" font and sending a predefined set of characters corresponding to the associated image data.
  • the printer requests image data for those characters, the metering accessory supplies the valid logo image only if the address translation logic was previously enabled (i.e., sufficient postage was available). Otherwise, it supplies the invalid logo image.
  • Fig. 1 is a simplified block diagram of a postage imprinting system 102 constructed according to the present invention, including a postage metering accessory 100 for enabling a conventional computer-driven printer to apply postage to an item;
  • Fig. 2 is a simplified flow diagram showing the operation of the postage imprinting system 102 of Fig. 1 as it might be used in an exemplary application environment to apply postage to an item;
  • Fig. 3 is a detailed flow diagram showing the operation of the postage imprinting system 102 of Fig. 1 as it might be used in an exemplary application environment to apply postage to an item;
  • Fig. 4 is an electrical schematic diagram of an electronic circuit for implementing the postage metering accessory 100 of Fig. 1;
  • Fig. 5 is a view of a completed sample valid postage imprint as it might be printed by a printer in conjunction with the postage imprinting system 102 of Fig. 1;
  • Fig. 6a is a view of a portion of the sample valid postage imprint of Fig. 5;
  • Fig. 6b is a view of a portion of a sample void postage imprint as it might be printed by a printer in conjunction with the imprinting system 102 of Fig. 1;
  • Fig. 7a is a segmented view of the postage logo portion of the sample valid postage imprint of Fig. 6a, showing how the image of the postage logo portion may be divided for storage as individual characters of a printable font in the postage metering accessory of Fig. 1;
  • Fig. 7b is a segmented view of the postage logo portion of the sample void postage imprint of Fig. 6b, showing how the image of the postage logo portion may be divided for storage as individual characters of a printable font in the postage metering accessory of Fig. 1;
  • Fig. 8 is a flow diagram showing the operation of an exemplary computer program which may be executed by a host computer to cause a printer cooperating with the postage metering accessory 100 of Fig. 1 to print a postage imprint;
  • Fig. 9 is a flow diagram showing the operation of the electronic circuit of Fig. 4, with emphasis on a state machine and associated control circuitry thereof;
  • Fig. 10 is a flow diagram showing the operation of an exemplary computer program which may be executed by a microcomputer controller portion of the electronic circuit of Fig. 4; and
  • Fig. 11 is a diagram showing an exemplary organization of certain internal data structures to be stored in a Read Only Memory
  • ROM Read Only Memory
  • Fig. 1 is a summary block diagram of a preferred embodiment of a postage imprinting system 102 constructed according to the present invention.
  • the system 102 preferably comprises a high quality general-purpose printer 110 having a font cartridge socket or interface 132, a device 120 (for example, a computer) for generating a data stream for controlling the printer 110, a postage metering accessory device 100 adapted for interconnection with the printer 110 through the font cartridge interface 132, and software 182 and 184 for controlling the operation of the data stream generating device 120 and the postage metering accessory device 100.
  • the printer 110 is preferably a high-quality computer- driven printer which allows a user to provide additional character-based fonts by means of a font cartridge interface 132.
  • the printer 110 may be a conventional computer-driven page printer which employs laser or light- emitting diode imaging technology, an ink jet printer, a thermal transfer printer, or a high-density dot matrix impact printer. Details are provided herein describing an exemplary imple ⁇ mentation of the present invention which is adapted for use with certain products of the Hewlett-Packard Company sold under the name "LaserJet" and with compatible printers of other manufacturers.
  • a first prototype embodiment of the invention has been tested for compatibility with Hewlett-Packard LaserJet Series 11, 111, HIP, IllSi, and IV printers, and a second prototype embodiment has been tested with a model 4039 printer available from the Lexmark division of International Business Machines.
  • the invention is applicable to a wide class of printers (and possibly other computer peripherals) , and small modifications would allow use of the described implementation with other printer models.
  • the invention may not be applicable to certain early printers (notably Hewlett Packard printers earlier than the LaserJet Series 11) which impose significant limitations on the number of font changes which may be made on a page, the size of characters which can be printed, and the like.
  • the electrical and mechanical characteristics of the nterface 130 are typically specified by official or de facto industry standards for computer-driven printers.
  • the interface 130 could be an EIA-232-D serial data link, a "Centronics"compatible parallel data link, or a network conforming to the IEEE 802.X family of network specifications.
  • the command-level characteristics of the interface 130 - i.e., the format of the data and instructions carried over the interface - is typically defined by the manufacturer of the printer.
  • Hewlett-Packard Company has defined a family of command-level languages, which it refers to as Printer Control Language (PCL) , for communicating with its printers sold under the names "LaserJet" and "DeskJet.”
  • PCL Printer Control Language
  • device 120 may be any type of data- processing or other device capable of producing a suitable stream of data and instructions to control the printer.
  • device 120 could be a conventional general-purpose computer 188 having a monitor 122, keyboard 124, and disk drives 126, 128.
  • software 182 could be implemented as programs for execution by the computer for generating the appropriate printer control messages to cause the printer, in conjunction with the metering accessory 100, to produce a meter imprint.
  • device 120 might be a postal scale or another user interface device (not shown) which is adapted to receive a postage imprint request from a user and to generate the appropriate printer control messages.
  • the printer data stream generating device 120 is hereinafter referred to as the "host computer. "
  • the metering accessory 100 provides certain fonts for use by the printer 110 in producing a postage imprint, maintains a record of available postage, and allows the printer to perform a valid imprint only if the available postage exceeds the value of the requested imprint.
  • the metering accessory 100 is preferably connected to the printer 110 via the printer's font cartridge interface 132, and preferably, the metering accessory is viewed by the printer 110 as an ordinary font cartridge.
  • Fig. 5 is a diagram of an exemplary valid postage meter imprint 662 which may be produced by the postage imprinting system 102 of the present invention.
  • Fig. 6a is a diagram of a portion 610 of the valid meter imprint 662 identifying those portions or fields of the imprint which may vary; the contents of the variable fields have been omitted.
  • the format and appearance of the exemplary imprint 662 is designed to mimic the imprint of a conventional postage meter. However, the imprint 662 could have any format and appearance which meets the requirements of postal authorities.
  • the imprint 662 comprises a postage logo 612, a postage value 644, an cancellation endorsement 640 (here, originating postal zone code), and a rate or handling endorsement 664.
  • the postage logo 612 comprises a distinctive design which may be intended to be difficult to reproduce, and remains the same for each imprint produced by the postage imprinting system 102.
  • the postage value 642, cancellation endorsement 664, and rate or handling endorsement 664 may differ each time an imprint is produced.
  • postage imprinted by postage imprinting devices is normally denominated in dollars, but postage rates have a fractional resolution of 0.001 dollars.
  • the postage required for an item may range from a few cents to tens or hundreds of dollars.
  • the postage value field 622 preferably comprises six character positions 632, 634, 636, 6381, 640, and 642.
  • Each of the character positions may contain a blank, a digit or a special character, depending on the postage value and on certain rules for printing the value which may be imposed by postal authorities or by custom.
  • the "ones" digit 654 (Fig. 5) is always printed in the third character position 636 (Fig. 6a) , and is always followed by a decimal point 644 and at least two fractional digits 656, 658 in the fourth and fifth character positions 638, 640.
  • Zeros in the tens and hundreds positions 632, 634 are suppressed.
  • the right most suppressed zero in positions 632, 634 is replaced with a special character 652 (Fig. 5) ; any zeros to the left of the rightmost zero are replaced with a blank 650.
  • a zero in the sixth digit position 642 (corresponding to $ 0.001) is also suppressed and is replaced with another special character (not shown) . If the sixth digit position 642 is nonzero, the corresponding digit 660 is printed in a raised position above a horizontal bar (e.g. 5 ) . These conventions allow postage values from $ 0.001 to $ 999.999 to be imprinted. Different formats for the postage value field 622 may be used in other countries or for producing postage-like imprints to be used with non-postal carriers.
  • a rate or handling endorsement 664 may be provided in a field 614 to the left of the postage logo 612 to indicate the class of postage or in order to qualify for special postage rates.
  • a meter serial number 668 may be provided in a field 620.
  • a cancellation endorsement 640 may be provided in fields 616, 618.
  • the cancellation endorsement may comprise an indication of the sender's postal zone code 640 (Fig. 5) , or the originating city and date of. mailing (not shown) . These elements may be fixed or variable, depending on postal regulations and the needs of users.
  • the metering accessory 100 of the present invention provides font information to enable the printer 110 to produce a postage imprint, and, from the viewpoint of the printer 110, behaves as an ordinary font cartridge.
  • ordinary font cartridges are implemented using a large ROM or its equivalent.
  • a printer's font cartridge interface typically includes an address bus, a data bus, and suitable control signals to enable the printer to read data from the ROM. For each character in each font present in the font cartridge, data is provided which represents the graphical image to be rendered by the printer when it prints that character.
  • Auxiliary data structures are provided in the ROM so that the printer may determine certain parameters and characteristics of each font and the locations or ROM addresses of the image data for the characters thereof.
  • the format of the auxiliary data structures of a font cartridge for a particular printer is generally defined by the printer manufacturer, and for many printers, the manufacturer and a plurality of other parties produce compatible font cartridges.
  • the technique of providing auxiliary data structures to describe the characteristics of a font and to identify the locations of its image data, and the specific formats of those data structures are well known in the art.
  • the printer In order to print a particular character in a selected font, the printer must first obtain from the ROM the image data corresponding to that character/font combination.
  • the metering accessory 100 comprises an enclosure (not shown) , a mechanical and electrical connector 134 which mates with the font cartridge socket 132 of the printer 110, and an electronic circuit 410 for implementing its functions.
  • the metering accessory 100 may have the physical form-factor of an ordinary font cartridge so that it may be inserted into the font cartridge socket 132 of the printer.
  • the electronic circuit 410 comprises a Read-Only Memory (ROM) 146 containing fonts and related data structures, logic 144 for implementing a state machine 156 and certain control functions, an auxiliary memory 152 for temporarily recording the value of a requested meter imprint to be imprinted, and a micro ⁇ computer 148 for maintaining a record 154 of available postage and for reporting whether the value of the requested meter imprint exceeds the available postage.
  • the ROM 146 preferably contains a plurality of fonts and auxiliary data structures 163, 164, 168, 166 in a format determined by the requirements of the printer 110 to which the metering accessory 100 is to be attached, so that the metering accessory 100 appears to the printer 110 as an ordinary font cartridge.
  • the metering accessory' s connection 134 to the printer 110 comprises a plurality of bussed electrical signals 136 which may be functionally segregated into an address bus 138, a data bus 142, and suitable control signals 140. These are the same signals available in an ordinary font cartridge, and enable the printer to read data from the ROM 146 of the metering accessory. For each character in each font present in a font cartridge, data 168, 162, 164 is provided which represents the graphical image to be rendered by the printer 110 when it prints that character. Auxiliary data structures 166 are provided in the ROM 146 so that the printer may determine the locations or ROM addresses of certain parameters of each font and the image data for the characters thereof. As best seen in Fig. 1, the metering accessory 100 is directly connected to the printer 110 through its font cartridge interface 132, but is not directly connected to the host computer 120. Thus, the metering accessory 100 is unable to receive direct communications from the host computer 120 in
  • the metering accessory 100 exploits the ability to observe the characters for which the printer 110 fetches image data.
  • the host computer software 182 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined sequences of characters in selected fonts.
  • the printer 110 may interpret them as an attention message, a reset message, or a postage imprint value.
  • the metering accessory circuit 410 of the present invention includes a state machine 156 and associated logic for observing the activity on the address bus 138 of the font cartridge interface 134.
  • the metering accessory ROM 146 contains several fonts 168, 162, 164 which are needed to produce a postage imprint and which have their image data organized for convenient observation by the state machine 156.
  • the postage value field 622 of postage imprint 662 comprises six digit positions 632, 634, 636, 638, 640, and 642, and each digit position always has the same order-of-magnitude value (see Figs. 5 and 6) .
  • each of the fonts 168 is intended for use exclusively for printing the postage value digit in the selected corresponding digit position.
  • Additional fonts 162, 164 (which may be implemented as a single font having two sets of pointers thereto) provide the image of the logo portions 612 of the valid postage imprint 662, and the image of the void postage imprint 692 (see Figs. 6a and 6b) .
  • Two different sets 162, 164 of logo image data are provided at different regions within the metering accessory ROM.
  • a first set 162 contains the image for a "void" postage logo 692 (Fig. 6b) , which would be printed, for example, if a requested imprint value exceeded the available postage.
  • a second set 164 contains the image for a "valid" postage logo 662 (Fig. 6a) .
  • auxiliary data structures 166 which identify the location of the image data for the logo font point only to the addresses of the "void" image data 162, and therefore, the printer is aware of only one set of image data for the logo font. As a result, an attempt to print the characters forming the logo image mosaic will, under normal circumstances, cause the printer to access the image data 162 at the addresses indicated by the auxiliary data structures so that the ROM provides the "void" logo image.
  • the postage logo images 662, 692 may be large compared to the size of ordinary characters. Many printers limit the size of the image associated with a character. Accordingly, as best seen in Figs. 7a and 7b, the logo images 612 and 692 are split into a plurality of segments (e.g., 670, 672, 674, 676, 678, 680, 682, 684, 686, and 688 for valid postage imprint 662; and 270, 272, 274, 276, 278, 280, 282, 284, 286, and 288 for the void postage imprint 692) , of manageable size. Each segment is associated with a different character of the logo font.
  • segments e.g., 670, 672, 674, 676, 678, 680, 682, 684, 686, and 688 for valid postage imprint 662; and 270, 272, 274, 276, 278, 280, 282, 284, 286, and 288 for the void postage imprint 69
  • the logo image is formed as a seamless mosaic of these segments by printing these characters in the proper sequence.
  • the metering accessory circuit 410 contains address translation logic 158 which is interposed between the font cartridge interface 134 and the ROM 146.
  • the address translation logic 158 is enabled only when an imprint has been requested and sufficient postage is available.
  • the address translation logic 158 supplies to the ROM a modified or translated address (via a modified address bus 160) which refers to the location of the "valid" logo data 164.
  • the metering accessory 100 comprises a microcomputer (MCU) 148, a state machine 156, and an auxiliary memory 152 which provide facilities for maintaining a record of available postage and for determining whether sufficient postage is available to perform an imprint.
  • MCU microcomputer
  • auxiliary memory 152 which provide facilities for maintaining a record of available postage and for determining whether sufficient postage is available to perform an imprint.
  • the host computer 120 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined sequences of characters in selected fonts. This causes the printer to fetch the font image data corresponding to those characters. Since the organization of the font image data in ROM 146 is known, the characters for which the printer is fetching font image data can be determined from the ROM addresses at which the printer reads.
  • the metering acces ⁇ sory 100 When the metering acces ⁇ sory 100 observes the printer 110 fetching the image data in the required predefined sequences, it may interpret them as an attention message, a reset message, or a postage imprint value.
  • the state machine 156 monitors the address bus 138 of the font cartridge interface 134 in order to observe the printer as it fetches font image data. A portion of the address information, from which the character and font being printed may be determined, is provided to the auxiliary memory 156.
  • the state machine 156 detects that the printer has fetched a predefined "attention string" it causes the auxiliary memory 156 to capture the characters and fonts used to print the postage value field 622 (Fig. 6a) for later use by microcomputer 148.
  • each digit of the postage value field 622 is printed in a different one of the digit fonts 168 corresponding to the position of that digit, the order of magnitude of each digit (i.e. the digit's decimal place or weight) is determined by the font in which it is printed. The value of each digit may be determined by its relative position within the font. Thus, by recording the characters and fonts used to print the postage value field 622, sufficient information is retained to allow the microcomputer 148 to subsequently reconstruct that field.
  • the state machine When the state machine determines that the last character of the postage value field 622 has been sent, it interrupts the microcomputer 148.
  • the microcomputer 148 retrieves the postage value characters from the auxiliary memory 156 and uses this information to reconstruct the postage value.
  • the microcomputer 148 compares the reconstructed postal P, value- information to a register 154 in which it maintains its record of available postage. If sufficient postage is available to perform the requested meter imprint, then the microcomputer 148 asserts an acknowledgment signal (ACK) 190 and deducts the value of the imprint from its available postage record 154.
  • ACK acknowledgment signal
  • the MCU 148 does not assert ACK 190, and it leaves the value of the available postage record 154 unchanged because a valid imprint will not be produced.
  • the acknowledgment signal 190 is used by the state machine 158 to control whether or not,the address translation logic 156 is enabled. Thus, the address translation logic is enabled only if the microcomputer 148 determines that sufficient postage is available to satisfy a meter imprint.
  • the postage logo portion 612 of the meter imprint 662 is formed by selecting the postage logo font and printing a preselected sequence of characters. This function is performed by the host computer 120 once all other page formatting has been completed and after all of the variable portions of the meter imprint have been supplied. If the address translation logic 158 has been enabled, the metering accessory responds to attempts by the printer to retrieve the associated font image data by supplying the image data for the valid postage logo. If the address translation logic has not been enabled, the metering cartridge provides the image data for the invalid postage logo.
  • the technique of substituting an invalid postage logo when, for any reason, the metering accessory determines that a valid imprint should not be provided advantageously avoids the need to inhibit the printer from operating in such situations. Instead, the printer operates normally, printing whatever image data is provided by the metering accessory, regardless of the validity of the requested imprint. It is intended that the printer 110 be able to print additional material, such as an address or a promotional graphic, on an item as a part of the same printing operation in which it prints a postage imprint.
  • substituting an invalid logo when a valid imprint should not be provided allows the user to identify the items which were not properly imprinted, and to make appropriate corrections (e.g., reprinting those items when additional postage has been purchased) .
  • FIG. 2 is a simplified flow diagram 210 showing, in summary form, how the host computer 120, printer 110, state machine 156, and the microcomputer 148 of the postage imprinting system 102 cooperate to produce a postage imprint.
  • the diagram 210 is organized as a table having four columns 212, 214, 216, and 218, showing the activities of the host computer 120, printer 110, state machine 156, and the microcomputer 148, respectively.
  • Solid arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs as a result of the activity in the first box. Dotted arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs after, but not necessarily as a result of, the activity in the first box.
  • a more detailed flow diagram is also provided (see Fig. 3) and will be explained following the detailed description of the electronic circuit 410 and flow charts for the state machine 156, host computer software 182, and microcomputer control software 184.
  • the host computer 120 sends a printer-reset command to the printer.
  • the printer prints and ejects any pages for which the printer has received printing instructions but which have not yet been completed.
  • step 222 is needed because many high-quality printers, such as laser printers, do not immediately perform a physical printing operation in response to each printing instruction received from the host computer 120. Instead, these printers execute printing instructions by rendering a representation of the page to be printed in an internal storage means, and perform the physical printing operation only when all printing instructions relating to that page have been received and processed.
  • formatting, " and the physical process of producing the printed page is referred to as "printing.”
  • the reset operation of step 222 causes the printing of any pages which the printer may have formatted but not printed.
  • the printer resets certain of its internal parameters to default values.
  • step 224 the host computer sends to the printer a predetermined "attention" string, consisting of characters intended to reset the metering accessory and prepare it for receiving the postage value field.
  • the printer attempts to format the attention string by reading font image data corresponding to the characters of the attention string from the metering accessory.
  • step 228, the state machine of metering accessory the observes the printer reading the image data corresponding to the attention string and enters a state in which it expects to receive the postage value field.
  • step t e host computer sends the postage value characters to the printer. Each digit of the postage value field is sent in a unique font corresponding to the position of that digit within the field.
  • step 232 the printer attempts to format the postage value field, reading for each character of that field the corresponding font image data from the metering accessory.
  • step 234 the state machine observes the printer reading the font image data for each character of the postage value field from the metering accessory.
  • the state machine stores each postage value character in the auxiliary memory in a position determined by the font in which it was formatted. Since the font used to format each of the postage value characters is determined by the character' s position within the field, each character is stored in an auxiliary memory location corresponding to that character's position within the field
  • the state machine receives the final character of the postage value field, it sends an interrupt signal to the microcomputer.
  • the microcomputer Prior to step 236, the microcomputer is in an idle mode, in which it awaits an interrupt signal from the state machine.
  • the microcomputer responds to the interrupt signal from the state machine by reading the postage value characters from the auxiliary memory and comparing the value of the re ⁇ quested imprint with its internal record of available postage. If the available postage is sufficient to satisfy the imprint request, the microcomputer deducts the value of the requested imprint from the available postage record and reports that sufficient postage was available by asserting the ACK signal.
  • the host computer sends to the printer instructions to format miscellaneous information associated with the postage imprint.
  • the miscellaneous information may include, for example, the user's postal zone code 640 or the date for completing the cancellation endorsement fields 616 and 618, a rate or handling endorsement 664, or any other information ancillary to the postage imprint (see Figs. 5-6) .
  • the host computer sends to the printer instructions to select the postage logo font and format the characters forming the postage logo portion 612 of the postage imprint 662.
  • Step 240 preferably keeps the printer busy while the microcomputer reads and validates the postage value field (see step 236) , so that the microcomputer has completed its validation function before the printer begins to format the postage logo portion. This enables the metering accessory to provide the appropriate valid or invalid postage logo image data according to whether or not sufficient postage was available.
  • step 244 the printer formats the postage logo portion of the imprint, reading the image data for the postage logo portion from the metering accessory.
  • step 246 the metering accessory provides the image data for the postage logo to the printer. If the microcomputer has asserted the ACK signal (step 236) , indicating that sufficient postage was available to satisfy the imprint request, the state machine and associated address translation logic cause the metering accessory ROM to supply the image data for the valid postage logo. If the inicrocomputer has not asserted the ACK signal, then the image data for invalid logo is supplied.
  • step 248 the host computer sends to the printer a printer-reset command to cause the printer to print and eject the page containing the postage imprint, and any other material formatted on that page.
  • step 250 the printer prints and ejects the formatted page.
  • step 252 the printer resets certain internal parameters to default values, and readies itself to print another page.
  • step 256 the microcomputer observes that the printer has completed printing the page containing the postage imprint, negates the ACK signal, and returns to its idle mode.
  • Fig. 4 is an electrical schematic diagram showing an electronic circuit 410 for implementing the metering accessory 100 of the present invention.
  • the exemplary circuit 410 is described herein as an implementation of the present invention adapted for use with several models of printers sold by Hewlett- Packard under the name "LaserJet and compatible printers of other manufacturers. Such printers are hereinafter referred to as the "exemplary printers.”
  • the circuit 410 could be modified within the spirit of the present invention for use with a large variety of high quality printers.
  • the circuit 410 communicates with the printer 110 through the printer's font cartridge interface 132.
  • An electrical and mechanical connection to the printer's font cartridge interface 132 is provided using a suitable connector 420 adapted to mate with a font cartridge interface connector (not shown) provided on the printer 110.
  • connector 420 may be a printed circuit cardedge connector having 25 terminal fingers on each side of a printed circuit card. This configuration is compatible with the font cartridge inter- face connector of the exemplary printers. A different connector might be required in order to adapt the metering accessory 100 for use with other printers if the font cartridge interface of such printers are.not designed to be compatible with the ex- emplary printers.
  • the font cartridge interface 132 of the exemplary printers comprises an interface bus 136 of 50 signal leads, including a 20-bit address bus 138 (individual signals of which are designated AO-A19) , a 16-bit data bus 142 (individual signals of which are designated DO-D15) , a set of control signals 140
  • the power supply signals V cc 414 and Ground 412 allow the printer to supply necessary operating power to the metering accessory circuit 410.
  • V cc 414 is approximately +5.0 V with respect to Ground 412, and the components of circuit 410 are selected for compatibility with the provided power supply. However, if it were desired to adapt the circuit 410 for use with a printer that provides a different power supply voltage, suitable components compatible with the such a power supply could be substituted.
  • Several decoupling capacitors 442 are connected across V cc 414 and Ground 412 and are located electrically "near" the integrated circuits of circuit 410 to decouple noise produced by such integrated circuits from the power supply signals V cc 414 and Ground 412.
  • Capacitors 442 may be any suitable decoupling capacitors, such as 0.1 vF ceramic capacitors; preferably, at least one larger capacitor, such as a 10,uF electrolytic capacitor, is also provided.
  • a Pull-Up signal 416 is provided so that some inputs to the integrated circuits of the circuit 410 may be connected to a signal having a "high" logic level without directly connecting the inputs to V cc 414.
  • the Pull-Up signal 416 is connected to V cc 414 through a resistor 418 which may be a 1 kn resistor or another appropriate value.
  • circuit 410 are provided by several interconnected integrated circuit (IC) devices: address buffers 422 and 424; data buffers 438 and 440; a microcomputer 148; state machine, address translation and control logic devices 426 and 428; Read-Only Memory devices 424 and 436; auxiliary memory devices 430 and 432; and a numeric display 446 with associated control devices 444 and 448.
  • IC integrated circuit
  • Circuit 410 comprises an 19-bit internal buffered and modified address bus 160, individual signals of which are designated AAO-AA18. Signals AO-A14 and A17 of the font cartridge interface address bus 138 are buffered by address buffers 422 and 424 to produce signals AA0-AA14 and AA17. Buffers 422 and 424 are connected unidirectionally for receiving addresses from the printer 110 via the interface address bus 138; the metering accessory circuit 410 never asserts an address on the interface address bus 138.
  • Address buffers 422 and 424 may be any suitable buffers, such as type 74LS244 octal three- state buffers.
  • the output enable inputs of buffers 422 and 424 are tied to Ground 412 so that the outputs are always enabled.
  • Internal address signals AA15-AA17 are provided by the state machine and logic circuits 426 and 428 and are described later in more detail.
  • Circuit 410 also comprises a 16-bit internal data bus 460, individual signals of which are designated ADO-AD15. Data retrieved from ROM devices 434, 436, 534, and 536 is supplied on the internal data bus 460, buffered by data buffers 438 and 440, and provided on the font cartridge interface data bus 136 for use by the printer 110. Buffers 438 and 440 are connected unidirectionally for transmitting data to the printer 110 via the interface data bus 136; the metering accessory circuit 410 never receives data from the printer via the interface data bus 138. Data buffers 438 and 440 may be any suitable buffers, such as type 74LS244 octal three-state buffers. The output enable inputs of buffers 438 and 440 are connected to an output enable (OE) signal 462 which is generated by state machine and logic circuit 426. Generation of the OE signal 462 is described later in more detail.
  • OE output enable
  • ROM devices 434, 436, 534, and 536 are used to store font image data and associated data structures and may be any suitable byte-wide Read-Only Memory devices having a total capacity of at least 256 K bytes. Alternatively, the ROM devices may be implemented as suitable memory devices of other organizations or widths; for example, 1-bit, 4-bit, or 16-bit wide devices be used.
  • ROM devices 434 and 436 are referred to herein as “Read-Only, " they may be implemented using any appropriate memory technology capable of relatively non ⁇ volatile long term storage, including conventional mask- programmed ROMS, Programmable ROMs (PROMs) , Erasable PROMs (EPROMs) , Electrically-Erasable PROMs (EEPROMs) , Electrically- Alterable ROMs (EAROMs) , FLASH memory, and battery-backed Random Access Memory (RAM) .
  • PROMs Programmable ROMs
  • EPROMs Erasable PROMs
  • EEPROMs Electrically-Erasable PROMs
  • EAROMs Electrically- Alterable ROMs
  • FLASH memory FLASH memory
  • RAM battery-backed Random Access Memory
  • ROM devices 434, 436, 534, and 536 may be implemented using type 27CO40 EPROMs each having a capacity of 4 M bits (organized as 512 K by 8 bits) . Such devices are available from Intel Corporation (3065 Bowers Ave., Santa Clara, CA, 95051), and may also be available from other manufacturers.
  • the output enable inputs of the ROMs 434, 436, 534, and 536 are connected to the OT signal 462 generated by state machine and logic circuit 426.
  • the chip enable inputs of ROMs 434, 436 are connected to a Chip Enable (CE 12) 464, also generated by state machine and logic circuit 426.
  • CE 12 Chip Enable
  • ROMs 534, 536 are connected to a Chip Enable (CE 34) 524, also generated by state machine and logic circuit 426. Generation of the OE 462, CE12 464, and CE34 524 signals is described later in more detail. Where bytewide memory devices are used, pairs of ROMs (434 and 436, or 534 and 536) operate simultaneously to deliver a 16 bit output word to the internal data bus 460.
  • CE 34 Chip Enable
  • a commercial embodiment of the invention it is believed that 1 M bytes is sufficient to store the image data and auxiliary data structures needed for operation of the metering accessory 100, as well as some additional fonts which are not required for the operation of the metering accessory 100 but which may be helpful to users for general printing functions.
  • the schematic diagram of Fig. 4 shows memory sockets, address signals, and chip enable signals sufficient to ac ⁇ commodate four memory devices, only two memory devices of 4 M bits capacity are needed to provide the necessary storage.
  • two of the memory devices e.g. 534, 536) could be omitted, as could their associated chip enable signal (e.g. CE34) .
  • the circuit 410 could accommodate four type 27040 EPROMS, to provide a total capacity of 2 M bytes, without modification. Two type 27080 EPROMs could also be used to provide the same total capacity. Note that the address space provided in the font cartridge interfaces of many popular printers is limited to 2 M bytes, and therefore, larger capacities may not be useful. Other memory organizations and sizes could also be used by making small modifications to the state machine and address translation circuitry and to the organization of the font data in the ROMS, which will be discussed later in detail.
  • Fig. 11 shows, in tabular form, the organization of the font data in the ROMS.
  • Table 1110 of Fig. 11 is essentially a map of the address space of the ROMs 146. Each row entry of the table 1110 corresponds to an arbitrarily defined region within the address space.
  • the first column 1126 of the table 1110 contains descriptions of the information to be stored in each address region.
  • the second column 1128 contains address descriptors which indicate the length of each region and the addresses which it occupies.
  • Each address descriptor in the second column 1128 contains 20 bit positions 1112 corresponding to the 20 bits of ROM address space; each entry forms a binary value indicating the addresses which the region occupies.
  • a dash "-" in a bit position indicates that the binary value of that bit position may be either 0 or 1, and therefore, the size of an address region is determined by the number of dashes in its corresponding address descriptor.
  • the symbol ⁇ $" is used herein as a prefix to indicate that a number is expressed in hexadecimal notation.
  • row 1130 contains an address descriptor of "000000010000 " . Since the eight least significant bits of the address descriptor are dashes, they can have any value. An address will be in the described region if its 12 high-order bits are "0 0 0 0 0 0 0 1 0 0 0 0", regardless of the contents of the eight low-order bits. Therefore, the associated address region extends from $01000 to $010FF, and the length of the region is 256 ($100) words.
  • ROMs 146 contain, inter alia, six fonts (referred to as fonts "A” through “F") 170, 172, 174, 176, 178, and 180 (Fig. 1) .
  • ROMs 146 also contain two fonts 162, 164 (referred to as fonts "G" and "G.") for printing the invalid postage logo and the valid postage logo respectively. Font "G” preferably may also include image information for printing handling endorsements, a desired postal rate class, or other information. ROMs 146 may contain one or more additional fonts (not shown) which may be used to print any other material which a user desires to print. This material may or may not be associated with the postage imprint.
  • ROMs 146 contain auxiliary data structures 166 for describing certain characteristics of fonts contained therein, including the location of the image data for such fonts.
  • the format of the auxiliary data structures of a font cartridge for a particular printer is generally defined by the printer manufacturer. For many printers, including the exemplary printers discussed above, the manufacturer and a plurality of other parties produce compatible font cartridges.
  • the technique of providing auxiliary data structures to describe the characteristics of a font and to identify the locations of its image data, and the specific formats of those data structures are well known in the art and they will not be further discussed here.
  • the image data for each character of a font is located at predefined addresses, and that the printer contains means to determine these addresses and fetch the image data therefrom when it receives instructions to format the character.
  • Appendix A lists each of the digit fonts, and shows the correlation between the font, the address where its image data begins, the digit position within the postage value field with which the font corresponds, and the resulting order-ofmagnitude value of such digits.
  • Appendix B lists each of the 16 characters defined for the digit fonts. For each character, Appendix B indicates the corresponding data which must be sent to the printer to cause it to access the font image data for that character, the appearance of the character when printed, and the meaning which the metering accessory 100 attaches to the character.
  • the image data for the characters of each of the digit fonts A-F is stored in adjacent fixed-length regions, and the storage regions for all of the digit fonts are stored adjacent to one another.
  • the image data for each of the logo fonts G and G. is stored in separate fixed length regions, which happen to be larger than the regions provided for the digit fonts because more image data is required for the logos.
  • the image data 1160 for font A corresponding to the left-most digit position of the postage value field, begins at address $01000, and comprises 16 256-word regions 1130, 1132,..., 1134, each corresponding to one of the 16 characters in that font.
  • the image data 1162 for font B begins at address $02000, and comprises 16 256- word regions 1136, 1138,..., 1140; the image data 1164 for font F begins at address $06000 and comprises 16 256-word regions 1142, 1144, ..., 1146.
  • Intervening fonts C-E are omitted from the table 1110 for brevity.
  • Regions 1148, 1150, and 1152 corresponding to the first, second, and third attention characters respectively, are shown in a group 1166. Although these regions are grouped separately from the characters of the digit fonts, in fact, as shown in Fig. 11, their addresses are identical to characters 12, 13, and 14 of font A. Thus, these regions are actually shown out of order.
  • the attention characters are provided in each of fonts A-F and they will be recognized if printed in any of these fonts. However, these fonts may have different horizontal escapements, and consequently, the cursor may be in different positions after printing the attention sequence, depending on which font is chosen. Regions 1154 and 1156 are allocated to contain the font image data for the valid and invalid postage logos Go and G respectively.
  • Region 1154 begins at address $08000 and extends for 16 K words.
  • Region 1156 begins at address $10000 and extends for 16 K words.
  • a region 1170 is provided to contain the auxiliary data structures which describe certain font characteristics and identify the location of the font image data to the printer.
  • Region 1170 begins at address $00000 and extends for 4 K bytes.
  • the required internal data organization for a font cartridge differs among printer families, and in some instances, among individual members of those families. Additional information on the organization of font cartridges for a particular printer may be obtained from the printer manufacturer or by examining the data contents of a font cartridge known to work with that printer. Additional information on the organization of font cartridges for the exemplary printers is also available as a commercial product from Mark Five Systems, 2115 N. Grand Avenue Pueblo, CO 81003.
  • the regions for storing the image data for each digit font are aligned on even 12-bit boundaries.
  • the regions for storing the image data for each digit character are aligned on even 8- bit boundaries.
  • address bits 14-12 indicate the particular font to which the address corresponds
  • address bits 11-8 indicate the particular digit character within that font to which the address corresponds.
  • address bits 14-12 also indicate the digit position to which that address corresponds.
  • Address bit 14 forms a high-order digit position field 1118.
  • Address bits 14-13 form a low-order digit position field 1120.
  • Address bits 11-8 form a character number field 1122.
  • the information in these fields is used by the state machine and address translation devices 126, 128, to determine that a postage imprint is being requested, and by the auxiliary memory devices 430 and 432 to temporarily capture the digits of the postage value field 622 for later use by microcomputer 148.
  • the remaining address bits 7-0 and 19-17 form a field 1124 which is used by the state machine. However, these bits are used as ordinary address bits by ROM devices 434, 436, 534, and 536.
  • the host computer 120 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined se ⁇ quences of characters in selected fonts. These instructions cause the printer to fetch the font image data corresponding to those characters.
  • the state machine monitors the address bus of the font cartridge interface in order to observe the printer as it fetches font image data, and in response to certain character and font combinations takes some action associated with the production of an imprint.
  • the auxiliary memory devices also monitor the address bus and capture the characters of the postage value field when so instructed by the state machine.
  • the font image data associated with the characters is blank and the host computer issues the printing instruction for that character solely for its effect on the metering accessory.
  • the font image data associated with the characters is non-blank, and the host computer issues the printing instructions for two purposes: to cause the printer to draw or format that image data onto the page; and to cause the metering accessory to take some action.
  • the font image data associated with the metering accessory reset character is blank.
  • the host computer selects a digit font and sends the reset character, it causes the state machine of the metering accessory to reset itself, but no visible image associated with that character is rendered onto the page.
  • the terms "blank” or “invisible,” as opposed to “empty, " are used to describe the image data for such characters, because in order for the state machine to detect the characters it must observe the printer fetch some image data.
  • the font image data associated with the postage value digits generally form the images of the respective digits.
  • Appendices A and B are tables which indicate how the printer 110 and the metering accessory 100 interpret instructions from the host computer 120 to format a digit font character. Appendix A, lists the digit fonts and indicates, for each such font, its typeface number, starting address, corresponding digit position, and order-of-magnitude digit value. Appendix B lists each of the 16 characters define for the digit fonts.
  • Appendix B indicates the corresponding data which must be sent to the printer to cause it to access the font image data for that character, the appearance of the character when printed, and the meaning which the metering accessory 100 attaches to the character when it observes that the printer has accessed the character's font data.
  • These tables may be consulted to determine how to format a message from the host computer 120 to cause a desired action in the metering accessory 100, and to decode a message from the host computer 120 to determine what action the printer 110 and the metering accessory 100 will take in response thereto.
  • the host computer 120 To format the digit "4" in the third position (i.e., the "units" digit position) of the postage value field 622, the host computer 120 must
  • a printed symbol is determined by the font' s image data and varies from font to font, even when the symbol set remains unchanged.
  • a printed symbol may therefore be entirely unrelated to the image normally associated with the ASCII character code required to cause that symbol to be printed.
  • the digit characters generally have printed appearances and metering accessory meanings which are close to what is normally expected for such characters.
  • printed appearance of the digits in certain positions of the postage value field is slightly altered.
  • Fig. 6a which is printed in font "D”
  • each digit is preceded by a decimal point 644 (Fig. 5) . This avoids the need to explicitly format a decimal point in the correct position and renders it more difficult to produce fraudulent imprints by tampering with the position of the decimal point.
  • the sixth character position 660 (Fig. 6a) digits other than zero are printed in a raised position above a horizontal bar (e.g. -) . If the sixth character position 660 (i.e., the thousandths place) has the value zero, a special postage value end character is substituted instead (see Appendix B) . When printed, the end character appears as three closely-vertically- spaced tilde characters " ⁇ ". Although the end character does not appear to be a digit, it is treated as the digit zero when the microcomputer 148 validates the postage value field.
  • the host computer 120 To format the postage value end character, which is used only in the sixth character position, the host computer 120 must
  • Auxiliary memory devices 430 and 432 provide temporary storage to capture the digits of the postage value field by observing the printer's font cartridge interface address bus 138. As the printer 110 formats the postage value field, the state machine 156 and auxiliary memory devices 430 and 432 determine the digit values, and their positions, by observing the addresses at which the printer reads font image data.
  • the microcomputer 148 reads the data and performs its validation task.
  • the state machine and control logic 144 manages write operations to the auxiliary memories 430, 432.
  • the microcomputer 148 controls read operations.
  • Auxiliary memory devices 430 and 432 are implemented in the exemplary circuit 410 by type 74LS670 4-word by 4-bit register files having three-state outputs, but other suitable memory devices could also be used with small circuit modifications.
  • Each of the auxiliary memory devices 430, 432 has a set of four input leads, a separate set of four output leads, a read enable lead, and a write enable lead.
  • the auxiliary memory devices 430, 432 provide a total of eight 4-bit registers for storing the digits of the postage value field. Since each digit font contains a maximum of 16 characters, a single 4-bit register is sufficient to store a code representing each character, and the auxilliary memories provide enough storage for eight digit characters.
  • the postage value field 622 (Fig. 6a) contains only six characters, so two of the registers in the auxiliary memories are unused. The remaining two registers could be used to accomodate two more digits by defining two additional digit fonts and modifying the state machine and control logic 144 accordingly.
  • the postage value field 622 always contains six digits, and the position of each digit within the field can be determined from the font in which it is printed. Each postage value digit is stored in a register location in one of the auxiliary memory devices 430, 432 corresponding to its position within the field 622.
  • Auxiliary memory device 432 stores the first three digits 632, 634, and 636 (Fig, 6a) .
  • auxiliary memory device 430 stores the remaining three digits 638, 640 and 642.
  • a digit's position within the field 622 can be determined from the address in auxiliary memories 430,432 at which it is stored, it is not necessary to explicitly store the digit's font or position in the auxiliary memory devices 430, 432.
  • address lines AA8-AA11 of the internal address bus 160 are connected to the four data input leads of auxiliary memory devices 430,432. These address lines form the character number field 1122 (see Fig. 11) .
  • this field contains a number [0-15] representing the ordinal position of that character within the font (see Appendix B) .
  • Address lines AA12-AA13 of the internal address bus 160 are connected to the two write address input leads of auxiliary memory devices 430,432. These address lines form the low-order digit position field 1120 (Fig. 11) .
  • State machine and control logic device 428 generates two gated write control signals GW0 476 and GW1 474 which are provided to the active-low write enable inputs of auxiliary memory devices 432 and 430 respectively.
  • GW0 476 when it expects to receive digits and it detects the printer reading from an address assigned to one fo the digit fonts A-C, and GW1 474 when digits are expected and the printer reads from fonts D-F.
  • the state machine device 428 expects to receive digits when it has been previously armed by the printer reading font image data corresponding to a pre-defined string of attention characters.
  • the state machine device 428 detects the printer reading from one of the digit font by, inter alia, observing that address line AA17 is low.
  • the state machine 428 further distinguishes between reads from fonts A-C and fonts D-F using address line AA14.
  • the image data for fonts A-C is assigned to the address range $01000-$03FFF; address line AA14 is low throughout this range.
  • the image data for fonts D-F is assigned to the address range $04000-$06FFF; address line AA14 is high throughout this range.
  • Address line AA14 forms the high-order digit position field 1118 (Fig. 11) , in that when the printer reads image data for a digit character, address line AA14 determines whether the state machine device records that digit in the low order auxiliary memory device 432 or thl high-order device 430. Thus, when the printer reads image data from an address assigned to the digit fonts, the state machine device 428 writes the contents of the character number field 1122 (address bits AA8-AA11) into the register addressed by the low-order digit position field 1120 (address bits AA12-AA13) in the auxiliary memory device selected by the high-order digit position field 1118 (address bit AA14) .
  • the microcomputer 148 generates two read address signals 484 and 486 which are provided to the read address inputs of auxiliary memory devices 430, 432.
  • the microcomputer 148 generates two gated read-control signals GR0 480 and GR1 478 which are provided to the active-low read enable inputs of auxiliary memory devices 432 and 430 respectively.
  • Microcomputer 148 asserts GR0 480 to read stored digits from low-order auxiliary memory device 432, and asserts GR1 478 to read digits from high-order auxiliary memory device 430.
  • Each of the four data output leads of auxiliary memory device 430 is connected to its corresponding output lead of device 432 in a "wired-or" configuration to form a four-bit auxiliary memory output bus 494.
  • Bus 494 is provided to four input terminals of the microcomputer 148.
  • Auxiliary memory devices 430 and 432 preferably have three-state or open collector outputs so that when the microcomputer 148 is reading from a selected device, the unselected device does not cause interference.
  • the microcomputer can reconstruct the amount of the postage value field because each digit is stored at a register address which corresponds to the font in which it was printed, which in turn corresponds to the position of the digit in the postage value field, which further corresponds to an order-of-magnitude value assigned to that position.
  • the microcomputer 148 and its control software are discussed further in greater detail.
  • Microcomputer 148 maintains a record of the available postage, and validates the postage value field of a requested postage imprint to determine whether or not sufficient postage was available to satisfy the request.
  • micro ⁇ computer 148 may control a display 510, 446, and associated driver circuits 444, 448 to indicate the amount of postage available and other useful information.
  • Microcomputer 148 is preferably a self-contained microprocessor based circuit having sufficient internal ROM, RAM, registers, and I/O capability to carry out the above functions.
  • a prototype embodiment of the invention has been, constructed in which a type 8749 microcomputer was used with appropriate software.
  • approximately 2 K bytes of EPROM were needed to contain programs and static data, about 64 bytes of RAM and 32 registers were used to contain dynamic data (including the available postage record, known as the "descending" register, and the cumulative postage used record, known as the "ascending" register) , 15 parallel output bits and 8 parallel input bits were required.
  • the 8749 microcomputer of the prototype embodiment is depicted in the schematic diagram of Fig. 4.
  • Software 184 (Fig. 1) used to control the microcomputer 148 in the prototype embodiment was written in an assembly language for the 8048/9 family of microcomputers.. The structure of software 184 is described further in conjunction with Fig. 10.
  • the software 184 used in a commercial embodiment of the invention may provide features in addition to those provided in the prototype embodiment, and therefore, a microcomputer which provides larger amounts of RAM and ROM would be preferable.
  • neither the circuit 410 nor the 8749 microcomputer 148 of the prototype embodiment include means for modifiable, non-volatile storage of the record of available postage.
  • Providing a modifiable, but non-volatile storage means is essential in this application, because there is no guarantee that the metering accessory will always have a supply of external electrical power to maintain the microcomputer's RAM or register contents. For example, it may be necessary to turn off the printer to which the metering accessory is connected, or to move the metering accessory from one printer to another, or to store the metering accessory in a secure location, such as a safe, away from the printer.
  • Code and data security are advantageous is preventing tampering.
  • a microcomputer having extremely low standby power requirements and a battery may be provided to supply power continuously to maintain the microcomputer's internal storage, even when the metering accessory is unable to receive power through the font cartridge interface bus 136.
  • the backup battery may be rechargeable battery which is recharged automatically when external power is available.
  • a non-volatile storage means could also be provided by a device external to the microcomputer but connected thereto, such as an EEPROM, an Electrically-Alterable ROM (EAROM) or any other suitable non-volatile memory.
  • EEPROM Electrically Erasable PROM
  • EEPROM Electrically Erasable PROM
  • a type 87C51BH microcomputer which provides 128 bytes of RAM, and 4096 bytes of EPROM, could be advantageously employed in a commercial embodiment of the invention.
  • These microcomputers have instruction sets similar to those of the 8748/9 micro ⁇ computer of the prototype embodiment, and therefore, the software 184 should operate with only minor modifications.
  • Type 87C51BH microcomputers are available from Intel Corporation (3065 Bowers Ave., Santa Clara, CA, 95051) .
  • a backup battery could be provided to maintain the contents of the microcomputer's registers and internal RAM when external power is not available.
  • microcomputer products which are capable of performing the tasks required of microcomputer 148, and these could also be used if software 184 is modified accordingly.
  • Microcomputer 184 preferably includes an internal clock oscillator so that an external clock generator is not required. As best seen in Fig. 4, a crystal 454 is connected across the crystal terminals of the microcomputer 184. Crystal 454 may be any appropriate crystal compatible with the microcomputer 184, such as an 11.0592 MHz, series-resonant crystal. A capacitor 458 is preferably connected from one of the crystal terminals to Ground 412. Capacitor 458 may be any suitable capacitor, such as a 22 pF ceramic capacitor. A capacitor 456 is preferably provided between the RESET so that when the microcomputer initially receives operating power, the microcomputer 148 enters and remains in its reset state for a small delay period.
  • Capacitor 456 may be any suitable capacitor, such as a 10, ⁇ F electrolytic capacitor, which provides a reset escape delay of about 0.1 seconds.
  • the 8749 microcomputer 148 provides an 8-bit data bus port, which is fully bidirectional, and two 8-bit semi-bidirectional "parallel" ports, which may be selected to be input ports or output ports under program control. In the circuit 410 of Fig. 4, the data bus port and one of the parallel ports are used to provide output signals from the microcomputer, and the remaining parallel port is used to provide input signals to the microcomputer.
  • microcomputer 148 preferably has at least one interrupt input.
  • the active-low interrupt input of the microcomputer 148 is connected to the ATTN signal 466 produced by device 426.
  • the ATTN signal 466 is active when a postage imprint has been requested and the state machine 156 (Fig. 1) has received the final digit of the postage value field.
  • the ATTN signal instructs the microcomputer 148 to validate the postage value field and report whether sufficient postage was available to satisfy an imprint request.
  • the microcomputer 148 provides an acknowledgment signal (ACK) 470 output which is connected to an input of the state machine and address translation device input of the microcomputer 148 and Ground 412, 428 to report the result of the postage value validation step.
  • ACK acknowledgment signal
  • ACK 470 is used by the state machine and address translation logic 144 to select whether to provide the image of a valid or an invalid postage imprint logo.
  • ACK 470 is active during an imprint request to affirmatively indicate that sufficient postage was available, and once asserted, ACK 470 remains active until the metering accessory 100 detects a reset character. This allows the host computer 120 to send instructions to the printer 110 to format the postage imprint logo without imposing undue time constraints on the completion of logo formatting step.
  • the microcomputer 148 also generates a busy signal (BUSY) 482 to indicate that the microcomputer 148 has begun the process of validating the postage value field.
  • BUSY 482 is provided to an input of the state machine and address translation circuit 428.
  • the microcomputer 148 receives two state variable signals FO 488 and Fl 490 which are produced by the state machine and address translation circuit 428. Signals FO 488 and Fl 490 indicate which of four possible states the state machine 156 occupies. The microcomputer 148 uses this state information to determine when a postage imprinting cycle has been completed. The interaction between the microcomputer 148 and the state machine 156 is described further in greater detail.
  • the exemplary circuit 410 optionally may have means to display the microcomputer's record 154 of available postage and other useful information.
  • the display may be any suitable display means which may be controlled by the microcomputer or which can otherwise display the desired information.
  • circuit 410 may contain a 9- digit light emitting diode display 510 having a two-digit status field 512, a blank section 514, and a six-digit register display field 516.
  • Other display sizes and configurations could also be used; preferably, the display provides sufficient character positions to display all of the digits of the ascending and descending postage registers, along with additional characters to indicate which register is being displayed.
  • the display 510 may be implemented using a multiplexed 9-digit display module 446, with each digit having 7 segments plus a decimal point.
  • Such display modules are commercially available from NSA-Hitachi SID (E. Middlefield Road, Mountain View, CA, 94043) as part number NSA 1583.
  • Circuit 410 preferably has suitable data conversion and driver circuits 444, 448 to conveniently interface the multiplexed display module 446 to the microcomputer 148, as is well known in the art.
  • a suitable BCD segment decoder-driver circuit 444, and a suitable digit address decoder 448 may be provided to drive the segment inputs and the digit inputs of display module 446 respectively. Since the display module 446 is both vertically and horizontally multiplexed, the microcomputer can usefully illuminate only a single digit at one time.
  • the microcomputer 148 selects a digit of the display to be illuminated by placing a 3-bit digit address on three digit- select output signals 504 provided to decoder 448.
  • the decoder 448 enables the selected one of its eight digit enable outputs 502, which are connected to the digit input leads of the display module 446.
  • BCD decoder 444 is a type 7448 BCD decoder-driver circuit
  • digit address decoder 448 is a type 74LS138 three-line to eight-line decoder- demultiplexer.
  • other suitable components could also be used.
  • the microcomputer For each digit to be displayed, the microcomputer provides to BCD decoder 444 a corresponding BCD value on four output leads 496.
  • the BCD decoder 444 has seven output leads 498, each of which is connected to one of the display segment inputs.
  • the decoder 444 maps the input BCD value to the display segments which must be illuminated to form an image of the corresponding digit, and enables the corresponding output lead.
  • the microcomputer 148 may rapidly select the digits in sequence using the digit address lines 504, and provide the corresponding BCD digit on output lead 496.
  • Microcomputer 148 preferably provides an output lead 506 which is connected to one of the enable inputs of decoder 448.
  • Microcomputer 148 preferably also provides an output lead 518 which is used to control the decimal point segment of the display.
  • the DP signal 518 is provided to programmable logic device 426, which produces a buffered version of the signal (DP2) 522.
  • the buffered DP2 signal 522 is connected to the decimal point segment input of the display via a dropping resistor 520.
  • the dropping resistor limits the current through the decimal point display segments, thereby equalizing the brightness of the decimal point and the other segments. Any suitable resistor may be used.
  • resistor 520 may be a 6.8 k ⁇ 0.25 W film resistor.
  • Microcomputer 148 provides an input lead 492 connected to a jumper block 450.
  • the jumper block may be employed during testing to select whether or not the available postage value, or other information about the status of the metering accessory, is posted to display device 446.
  • Jumper block input lead 492 is pulled up to V cc 414 via a resistor 451, such as a 1 K ⁇ 0.25 W resistor.
  • Additional test jumpers and similar associated circuitry 450a may be provided to select various status displays and test modes.
  • the jumper blocks and associated circuitry may be omitted from production devices.
  • the state machine, address translation and control logic devices 426 and 428 provide a variety of functions needed to enable the remainder of the metering accessory circuit components to cooperate. Devices 426 and 428 are preferably implemented using suitable programmable logic integrated circuits.
  • device 426 may be a type 16V8 or 16L8 Programmable Array Logic (PAL ® ) or Generic Array Logic (GAL ® ) IC, or any equivalent programmable logic device.
  • Device 428 may be a type 22V10 registered PAL/GAL, or equivalent.
  • the 16V8 and 22V10 type devices are available from Lattice Semiconductor Corporation (5555 Northeast Moore Ct. , Hillsboro, Oregon, 97124) and Advanced Micro Devices (P.O. Box 3453, Sunnyvale, California, 94088) , and may also be available from other manufacturers.
  • PAL is a registered trademark of Monolithic Memories Inc
  • GAL is a registered trademark of Lattice Semiconductor Corporation.
  • PAL integrated circuits Although particular types of PAL integrated circuits are described for use in the exemplary circuit 410, other types of PAL circuits, or other programmable logic technologies (e.g., gate-array logic devices) could also be used.
  • the use of programmable logic circuits enables a relatively large number of combinational and sequential functions to be integrated in only a couple of IC packages.
  • the functions of devices 426 and 428 could also be implemented using small-scale integrated circuits, but a relatively large number of IC packages would be required. If, as suggested previously, gate-arrays or other semi-custom or custom IC technologies are employed to implement the functions of other components of the circuit 410, then the functions of devices 426 and 428 would preferably also be included therein.
  • Programmable logic integrated circuits of the type used to implement the state machine, address translation and control logic devices 426 and 428 contain a plurality of combinational logic elements and, optionally, register elements.
  • the interconnections between these elements can be, at least in part, determined after the device has been manufactured.
  • the term "programming, " as applied to such ICs, refers to the physical process for determining the functional interconnection of the gate and register elements contained in the device.
  • Several products are commercially available to perform the programming process, responsive to a low-level or machine- readable description of these interconnections.
  • other products are commercially available to convert a high- level design description of the desired functions of a programmable logic IC, expressed in a language which is easily understood by one skilled in the art, into the low level description needed to program the IC.
  • Exemplary high-level design descriptions for use in programming device 426 and for programming device 428 have been prepared.
  • One design description provides a design for device 428 which renders the circuit 410 compatible with several models of printers sold by Hewlett-Packard under the name "Laser-Jet", and compatible printers of other manufacturers.
  • Another design description provides a design for device 428 which renders the circuit 410 compatible with a model 4039 printer sold by the Lexmark division of International Business Machines.
  • TDL Teleango Design Language
  • the software produces low-level programming files for each device.
  • the low level programming files may then be used by any suitable programming equipment to program the devices 426 and 428.
  • the model "EXPRO-40" programming system available from Songtech International, Inc. (44061 S. Grimmer Boulevard, Fremont, California, 94538) is compatible with the low-level programming files produced by the "Tango-PLD” software, and is capable of programming type 16L8, 16V8, 22L10, and 22V10 programmable logic ICs.
  • Other software and hardware systems are available for programming programmable logic circuit and could be used to program devices 426 and 428. However, the design descriptions may require modifications to conform to the requirements of those systems.
  • Device 426 receives timing and control signals XO, X4, X5, and X6 140, and address lines A18 and A19 from the font cartridge interface bus 136.
  • the control signals 140 used by the font cartridge interface and used in the circuit 410 are defined by the manufacturer of the printer for which it is to be used.
  • XO is a fast (0 wait-state) clock
  • X3 is a wait return and output gate signal which is returned to the printer from the cartridge
  • X4 is an active-low address enable signal
  • XS is an active-high cartridge select signal
  • X6 is a slow (2 wait- state) clock.
  • X6 and X3 are connected so that the cartridge always operates at 2 wait states.
  • Device 426 produces three chip enable signals (CE, CE12, and CE34) 524, 464, and 526 and an output enable signal (OE) 462.
  • OE 462 is active low and is asserted when X0, X4, and X6 are low and XS is high.
  • CE 526 is active low and is asserted when XO, X4, A18 and A19 are low and XS is high.
  • CE12 464 is active low and is asserted when X0, X4, A18 and A19 are low and XS is high.
  • CE 524 is active low and is asserted when X0, X4, and A18 are low, and XS and A19 are high.
  • the chip enable signal CE 526 is provided to an input of device 428.
  • the chip enable signal CE12 464 is provided to the chip enable inputs of ROM devices 434 and 436.
  • the chip enable signal CE34 524 is provided to the chip enable inputs of ROM devices 534 and 536.
  • the output enable signal (OE) 462 is provided to the output enable inputs of ROM devices 434 and 436, and to the output en- able inputs of the data bus buffers 438 and 440.
  • the font cartridge interface address bus 138 is 20 bits wide, and therefore, provides an address space of 1 M words. As mentioned previously, the exemplary embodiment requires only 512 K words (1 M bytes) of ROM space in order to provide the functions of the inventive postage metering accessory.
  • the chip enable signal CE12 464 enables ROM devices 434, 436 only when an address in the lowest 256 K words of the font cartridge interface address space.
  • the chip enable signal CE34 524 enables ROM devices 534, 536 only when an address in the highest 256 K words of the font cartridge interface address space.
  • the output enable signal OE 462 enables the output buffers 438, 440 whenever the metering accessory is addressed.
  • the postage metering accessory 100 may be desirable to provide in the postage metering accessory 100 some additional fonts, macros, or the like, which are not required for postage imprinting functions, but nonetheless may be valuable to users.
  • additional fonts could be provided in the postage imprinting ROM devices 434, 436, 534, and 536.
  • Additional ROMs may be easily added to the circuit 410 by connecting them to buffered address and data busses and the OE signal 462, and by producing one or more suitable additional chip enable signals which are active when the postage imprinting ROMs are not being accessed.
  • the ROM devices 434, 436, 534, and 536 could be segregated in pairs, so that, for example, ROMs 434 and 436 contain the information needed for postage imprinting functions, and ROMs 534 and 536 contain a plurality of additional fonts.
  • Programmable logic device 426 also receives an attention signal (ATTN) 468 from device 428 which indicates when the state machine 156 has detected that a postage imprint has been requested and the final digit of the postage value field has been received.
  • APN attention signal
  • microcomputer 148 When this event occurs, the microcomputer 148 must read and validate the postage value.
  • the interrupt input of microcomputer 148 is an active-low input, but ATTN 468 is an active-high signal. Accordingly, device 426 inverts ATTN 468 to produce an active-low attention signal (ATTN) 466 which is connected to interrupt input of microcomputer 148.
  • APN active-low attention signal
  • Programmable logic device 426 also receives a decimal point (DP) signal 518 from the microcomputer 148, and produces a buffered version of the signal (DP2) 522 which is used to illuminate the decimal point segment of the display 446.
  • DP decimal point
  • Programmable logic device 428 provides state machine and address translation logic functions.
  • Device 428 receives as inputs the internal (buffered) address leads AA8-AA14 and AA17 from internal address bus 160, and receives external address leads A15 and A16 from the external address bus 138.
  • Device 428 also receives as inputs an acknowledgment signal (ACK) 470 and a busy signal (BUSY) 482 from the microcomputer 148.
  • the acknowledgment signal (ACK) 470 is asserted by the microcomputer 148 to indicate that it has read the postage value digits and that sufficient postage was available to satisfy the postage imprint request.
  • the busy signal (BUSY) 482 is asserted by the microcomputer 148 when it begins to process the postage value digits.
  • Device 428 also receives as an input a clock signal (CLK) 472 which is fed back from one of the outputs of that device.
  • CLK clock signal
  • the state machine and address translation device 428 also provide the feedback clock signal to the microcomputer 148.
  • Device 428 also implements a state machine 156 (Fig. 1) having four states. The state in which the state machine 156 resides at any time is determined by state variables FO and Fl, which appear as output signals FO 488 and Fl 490 of device 428.
  • the state variable output signals F0 488 and Fl 490 are provided as inputs to microcomputer 148.
  • the state machine enters state [1,0] it is "armed" to receive the digits of the postage value field 622.
  • device 428 generates an attention signal (ATTN) 468 to indicate that the state machine 156 has detected a postage imprint request and the final digit of the postage value field has been received.
  • ATTN 468 is inverted by device 426 to produce the ATTN 466 signal which is supplied to the interrupt input of microcomputer 148.
  • the interrupt instructs the microcomputer 148 to validate the collected postage value digits.
  • the microcomputer 148 asserts BUSY 482 soon after it receives the interrupt.
  • Logic is preferably provided in the operating software 184 of the microcomputer 148 and in the state machine 156 to ensure that once the microcomputer 148 begins validating the postage value digits, neither the microcomputer 148 nor the state machine 156 can be disturbed before the microcomputer has finished validation.
  • the ATTN 466 remains asserted until device 428 receives a reset character ( "?") sent by the host computer to indicate that all postage imprint formatting has been completed. Ordinarily, the reset character causes the state machine 156 to return to its normal [0,0] state. However, BUSY 482 inhibits the [1,0] to [0,0] state machine transition.
  • the microcomputer 148 continues to assert BUSY 482 until it has completed the validation process and it observes that the ATTN signal 466 is no longer asserted. Thus, once the microcomputer 148 has begun the validation process, the state machine 156 cannot be reset, and the microcomputer cannot receive another interrupt request via the ATTN signal 466, until validation is complete.
  • ACK signal 470 remains valid until the printer has completed formatting the postage logo portion of the imprint. If sufficient postage was available to satisfy the requested postage mpr n , e m crocompu er a so asser s e signal 470, and ACK remains asserted until the microcomputer 148 observes that the state machine 156 has returned from its waiting-for-digits [1,0] state to its normal [0,0] state. The state machine 156 is inhibited from returning to the [0,0] state until the BUSY signal 482 is negated.
  • Device 428 Since the microcomputer 148 will not negate BUSY 482 until the state machine receives the reset character and negates ATTN 466, ACK 470 also remains active until after the reset character has been received. Device 428 also generates modified address signals AA15 and AA16 which are provided to the internal address bus 160. Device 428 comprises address translation logic which detects an attempt by the printer to read font image data from an address region reserved for the postage logo font. The address translation logic allows the printer to access the font image data containing a valid postage logo only when the microcomputer 148 has validated an requested meter imprint and determined that sufficient postage was available to satisfy the imprint request. If a read attempt occurs in the invalid logo font address region, and microcomputer 148 has asserted the ACK 470 and BUSY 482 signals, device 428 redirects the read attempt from the invalid postage logo font to the valid logo font.
  • the address translation logic operates by inhibiting generation of logic levels on AA15 and AA16 matching those of the valid logo font address except when the printer reads from an address in the invalid logo font region and the ACK 470 and BUSY 482 signals are each asserted.
  • the address translation logic translates the asserted address into the invalid logo region.
  • device 428 also generates write control signals GWO 476 and GW1 474 which are used to control write operations to the auxiliary memories 430, 432 when the printer fetches font image data for the postage value characters.
  • Fig. 8 is a flow diagram 810 showing the operation of a first exemplary computer program 182 which may be executed by the host computer 120 to cause the printer 110 cooperating with the postage metering accessory 100 to print a postage imprint.
  • the program 182 is written in "Professional Basic, " a product of Microsoft Corporation (One Microsoft Way, Redmond, Washington, 98052-6399) .
  • This exemplary program 182 was developed to test a prototype em o ment o t e e ectronic hardware, and certa n software associated therewith, and therefore does not include extensive user interface facilities.
  • a second exemplary host computer program (not shown) , employing a high-quality, object-oriented user interface, has also been developed for controlling a printer 110 cooperating with the inventive postage metering accessory 100.
  • the second exemplary program is written in "Visual Basic for DOS," a product of Microsoft Corporation (One Microsoft Way, Redmond, Washington, 980526399) .
  • the first exemplary program 182 is relatively easy to understand, because it is written in a procedural fashion.
  • the second exemplary program is written in an object oriented structure, and is more difficult to understand. Accordingly, only the first exemplary program 182 is described in detail herein.
  • inventive methods of controlling a host computer to cooperating with a printer and metering accessory are couched herein in the well-known terminology of a high- level, procedural computer programming language, the inventive methods could also be embodied in other forms.
  • inventive methods could also be embodied in other forms.
  • other types of computer programming languages including those which deviate from the procedural paradigm, could be used.
  • a hard-wired electronic, electrooptical, or electromechanical controller could also be used to produce a suitable stream of instructions to control the printer.
  • the program begins at terminal 812.
  • the program acquires the recipient's name and address, a printer type identifier, the value of the desired postage imprint and related information.
  • an advantage of this invention is its ability to imprint an item to be mailed with both postage and nonpostage related information in a single printing operation, the invention would still be highly useful even if it were capable printing only postage. Accordingly, acquiring information beyond what is required to imprint postage is optional.
  • the program 182 of Fig. 8 derives this information internally or requests it from the user, it could obtain this information from a database external to the program or from external equipment, such as a weighing device.
  • the desired postage imprint value is formatted in a message to the printer.
  • the postage value is normalized by adding start and stop characters, rounding off excess digits, padding where additional digits are required, and converting leading zeroes to zero-suppression codes.
  • step 820 the host computer sends an instruction to format a start character.
  • the host computer sets a counter P equal to the size of the postage value field. P corresponds to the current digit position.
  • step 824 the host computer sends an instruction to select the digit font (among A-F) corresponding to the current digit position P.
  • the host computer sen s the g t at t e current pos t on. The host computer then decrements P.
  • step 826 the current position P is compared to zero to determine whether all digit characters have been sent to the printer. If P is not less than zero, then branch 828 is taken, and execution returns to step 824. If P is greater than zero, then branch 830 is taken, and execution continues at step 832.
  • step 832 the host computer selects any normal font and sends instructions to format any ancillary information desired on the item.
  • the microcomputer validates the request postage imprint value.
  • the microcomputer must complete the validation task before the host computer executes step 834.
  • step 834 the host computer selects font G, which is the postage imprint logo font.
  • the host computer sends the ASCII characters 3@43. This causes the printer to format the mosaic of information which forms the distinctive postage logo. If the sufficient available postage was available, the metering accessory delivers a valid postage imprint logo; if the available postage was insufficient, the metering accessory delivers an invalid logo.
  • step 836 the printer type identifier is consulted, and an appropriate branch 840, 842a, 842b, 842c, 842d, etc., is taken.
  • a sequence of imprint termination steps 860, 860a, 860b, 860c, 860d suitable for that printer is performed to reset the metering accessory to a known state following completion of a postage imprint.
  • branch 840 is taken and execution continues with imprint termination sequence 860.
  • the host computer selects digit font B and formats the metering accessory reset c aracter "?".
  • step 846 the host computer selects digit font C and again formats the metering accessory reset character.
  • step 848 execution continues with step 848.
  • step 848 the host computer sends a printer reset string ( ⁇ ESC>E) .
  • the printer reset string causes the printer to print and eject the current page containing the postage imprint and any other material formatted thereon.
  • the printer resets certain internal parameters to default values, and some printers discard cached font information.
  • Steps 844 and 846 are omitted for certain printers because such printers reset devices using the font cartridge interface automatically upon receipt of the printer reset string.
  • the program ends at terminal 850. If additional meter imprints are required, the program could be modified to loop back to the beginning at terminal 812.
  • Fig. 9 is a flow diagram 910 showing the operation of the exemplary electronic circuit 410 of Fig. 4, with emphasis on a state machine 156 and associated control circuitry 426, 428.
  • the functional behavior of the state machine, address translation and control logic devices 426 and 428 is fully specified in the previously mentioned design descriptions.
  • the state machine and address translation circuitry are implemented in the exemplary circuit using electronic hardware, similar functions could also be implemented using a high-speed microprocessor or other means.
  • the state machine Upon n t a zat on, t e state mac ne 156 beg ns at step 914.
  • the state machine negates the gated write signals GWO 476 (Fig. 4] and GW1 474, which are used to control write operations to the auxiliary memories 430, 432, and ATTN, which is used to interrupt the microcomputer 148.
  • step 916 the printer has attempted to load font image data for a character.
  • the state machine inspects the character and font in which the character was printed. If the font was one of the special metering accessory fonts (that is, one of the digit fonts A-F, or the postage imprint logo font G) , and the character printed was the first attention character (">"-see Appendix B) , then branch 920 is taken and the control passes to step 924. If the font was one of A-G and the character was the metering accessory reset character ("?"), then branch 918 is taken, and control passes to the reset and initialization step 914. If neither of these conditions are satisfied, branch 922 is taken, the character is ignored, and the state machine continues to await the metering accessory attention string.
  • the special metering accessory fonts that is, one of the digit fonts A-F, or the postage imprint logo font G
  • branch 920 is taken and the control passes to step 924. If the font was one of A-G and the character was the meter
  • step 926 the printer has attempted to load font image data for another character. The state machine inspects the character and font. If the font was one of the special fonts A-G, and the character printed was the second attention character, then branch 930 is taken and the control passes to step 934. If the font was one of A-G and the character was the metering accessory reset character, then branch 928 is taken, an contro passes to t e reset an n t a zat on step 914. If neither of these conditions are satisfied, branch 932 is taken, the character is ignored, and the state machine continues to await the second character of the metering accessory attention string.
  • step 934 the state machine enters a second intermediate state [1,1] in which it awaits the third attention character (" ⁇ ") .
  • step 936 the printer has attempted to load font image data for another character. The state machine inspects the character and font. If the font was one of the special fonts A-G, and the character printed was the third attention character, then branch 940 is taken and the control passes to step 950. If the font was one of A-G and the character was the metering accessory reset character, then branch 938 is taken, and control passes to the reset and initialization step 914. If neither of these conditions are satisfied, branch 942 is taken, the character is ignored, and the state machine continues to await the third character of the metering accessory attention string.
  • step 950 the state machine enters a final state [1,0], in which it awaits the characters of the postage imprint value field.
  • step 952 the printer has attempted to load font image data for another character.
  • the state machine examines address bit A14 (the high-order digit position field 1118) . Address bit A14 is used to select the auxiliary memory devices 430, 432, in which the digit character will be stored. If A14 is 0, branch 954 is taken, control passes to step 958, and the state machine asserts GWO and negates GW1. This writes the character into auxiliary memory device 432 at a register ocat on correspon ng to t e ont n w c t e c aracter was printed.
  • step 962 the state machine inspects the character and font. If the font was one of A-G and the character was the metering accessory reset character, then branch 964 is taken, and control passes to the reset and initialization step 914. If the character was printed in font F, which corresponds to the final character position 642 (Fig. 6a) of the postage value field 622, and the character was a digit (0-9) or the postage value end character (see Appendix B) , the postage value field is complete. Branch 966 is taken, and control passes to step 970. If the character was not printed in font F, or the character is not a digit or the postage value end character, then the postage value field is not yet complete. Branch 968 is taken, control passes to step 952, and the state machine continues to await ad ⁇ ditional postage value characters.
  • step 970 the state machine asserts the ATTN signal, interrupting microcomputer 148.
  • the state machine negates the gated write signals GWO 476 (Fig. 4) and GWl 474, preventing further write operations to the auxiliary memories 430, 432.
  • step 972 the printer has attempted to load font image data for font G.
  • the state machine and address translation logic inspects the address at which the printer was reading.
  • Branch 976 is taken and control passes to step 980.
  • Control passes to step 982.
  • the address translation logic is not enabled, or the printer is not attempting to read from the "invalid" logo font location, then a void postage logo will be printed.
  • Branch 974 is taken and control passes to step 978.
  • the address translation logic leaves AA16 and AA15 unchanged, thereby mapping the printer's attempts to read image data for the postage imprint logo font into the invalid image region, and the printer receives a invalid postage logo. Control passes to step 982.
  • step 982 the state machine is still operating on the address obtained in step 972. If the font was one of A-G, and the address corresponds to the metering accessory reset character, and the microcomputer has negated BUSY (signaling that the reset character has been recognized by both the state machine and the microcomputer) , then branch 984 is taken, and control passes to the reset and initialization step 914. Otherwise, the character is ignored by the state machine, control returns to step 972, and the state machine continues to await receipt of the metering accessory reset character.
  • Fig. 10 is a flow diagram 710 showing the operation of an exemplary computer program 184 which may be executed by a microcomputer controller portion 148 of the exemplary electronic circuit 410 of Fig. 4.
  • the program 184 is written in an assembly language for the 8048/9 family of microcomputers.
  • This exemplary program 184 was developed to test a prototype embodiment of the electronic hardware, and certain software associated therewith, and therefore does not include certain facilities which might be included in a production embodiment of the invention.
  • the program 184 does not provide means for adding postage to the available postage register 154 (Fig. 1) . Instead, the program 184 assumes a default available postage value each time power is applied to the microcomputer.
  • the 8048/9 microprocessor of the exemplary circuit 410 does not provide any changeable but non-volatile storage, data security, or code security.
  • providing secure available postage registers in a postage meter is now well known in the art, and an approach from the prior art could easily be adapted for use with the present invention.
  • the ascending postage register is not implemented because of limited RAM storage in the 8048 microcomputer. However, microcomputers with more RAM storage are available and could be used in a commercial embodiment.
  • step 714 the program negates BUSY 482 and ACK 470, and enables the interrupt input.
  • step 716 appears in this flow diagram as a software step, in reality, this step corresponds to a hardware interrupt request received on the INT input lead of the microcomputer 148.
  • the microcomputer executes a display routine along branch 720.
  • the "descending" or available postage reg ⁇ ister R is displayed.
  • step 770 the microcomputer fetches the available postage record (hereafter, "R") from memory as a number of digits (hereafter, "D”) .
  • the microcomputer sets a counter ("P") to 0.
  • step 772 the microcomputer writes the current character position P out on the three display digit address leads 504.
  • Decoder 448 decodes the character position and enables the corresponding digit of display 510, 446.
  • the microcomputer obtains the digit at position P and writes it out on the four
  • Decoder 444 maps the BCD digit into the appropriate display segments and enables them.
  • Display 446 now shows the image of the current digit in position P.
  • step 774 the microcomputer increments the current display digit position P.
  • step 776 the microcomputer compares the current digit position P with the number of digits in the available postage record. If the current digit position P is not greater than D, then at least one digit remains to be displayed. Branch 778 is taken, and execution resumes at step 772, where the next available digit is selected and displayed. If the current digit position P is greater than D, then all digits have been displayed.
  • Steps 784, 786, and 788 comprise a display routine for the "ascending" or cumulative used postage register "A". Steps 784, 786, and 788 are analogous to previously described steps 770, 772, 774, and 776, but they operate to display the ascending register instead of the descending register.
  • branch 780 is taken, and execution returns to the beginning of the display loop at step 716.
  • the microcomputer If the state machine asserts the ATTN 466 signal, indicating that postage value digits are available in the auxiliary memory for validation, the microcomputer immediately responds by executing the steps along branch 718.
  • the microcomputer blanks the display 510, 446 by negating the display enable control lead 506.
  • the microcomputer asserts the BUSY signal 482, which inhibits state machine resets.
  • the microcomputer prepares to read the digits from the auxiliary memories by setting a counter "P, " representing a current digit position, to 7, and by setting a variable "V,” representing the reconstructed value of the postage value field, to 0.
  • the microcomputer decrements the current position counter P by 1.
  • step 726 the microcomputer compares the position counter P to 3 so that it can select the auxiliary memory device from which the current character must be read. If P is greater than 3, branch 728 is taken, and in step 732, the microcomputer enables high-order memory device 432 by setting asserting GR1 478 and negating GRO 480. If P is not greater than 3, branch 730 is taken, and in step 734, the microcomputer enables low-order memory device 430 by asserting GR1 478 and negating GRO 480.
  • step 738 the microcomputer checks whether all digits have been processed by comparing P to 1. If P is greater than 1, one or more digits remain to be processed; branch 740 is taken and execution resumes at step 724. If P equals 1, then all digits have been processed, and branch 742 is taken.
  • step 744 the requested imprint value V is subtracted from the available postage or descending register R, and is added to the cumulative used postage or ascending register A.
  • step 746 R is compared to zero to determine whether an overdraft occurred. If R is less than zero, insufficient postage was available. In that case, branch 748 is taken, the requested imprint value V is added back to the descending register R, and subtracted from the ascending register A. The microcomputer does not assert ACK 470, and execution jumps to step 756. If, in step 746, R was non-negative, than sufficient postage was available. In that case, branch 750 is taken, the microcomputer asserts ACK 470, and execution continues at step 756.
  • step 756 the microcomputer loops in branch 756 until the state machine 156 negates the A signal 468. Once ATTN 468 is negated, branch 760 is taken. Execution continues at step 762, where the microcomputer negates the BUSY signal 482. Once BUSY 482 is negated, the state machine 156 may to return to its normal state [0,0] . At step 764, the microcomputer loops in branch 766 until the state machine returns to the normal state [0,0] . Once that occurs, branch 768 is taken, and control returns to the reset and initialization step 714.
  • Fig. 3 is a flow diagram 310 showing, at a more detailed level than was shown in Fig. 2, how the host computer 120, printer 110, state machine 156, and the microcomputer 148 components of the postage metering system 102 cooperate to produce a postage imprint.
  • the diagram 310 is organized as a table having four columns 312, 314, 316, and 318, showing the activities of the host computer 120, printer 110, state machine 156, and the microcomputer 148, respectively.
  • Solid arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs as a result of the activity in the first box.
  • Dotted arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs after, but not necessarily as a result of, the activity in the first box.
  • step 320 the host computer 120 sends a printer reset request character sequence ( ⁇ Escape>E) to the printer.
  • This step is needed for certain high-quality printers because many such printers do not immediately perform physical printing activities when the receive printing instructions from the host. Instead, many such printers render an internal image of the page to be printed, and to not transfer the internal image to the output medium until all printing instructions for a particular page have been completed.
  • formatting, " and the physical process of producing the printed page is referred to as "printing.”
  • Host computer soft- ware at the time it is initialized, cannot determine whether there are printing instructions left over from previous activities which may have been formatted, but not yet printed.
  • the reset sequence advises the printer that the printing instructions for the current page are complete and forces it to print and eject the page if an previous printing requests were pending.
  • the printer prints and ejects any pending formatted pages; resets certain internal parameters to defaults; and discards any font information which may have been previously cached.
  • a printer reset command is propagated to any attached font cartridges or accessories attached to the printer through the font cartridge interface.
  • step 326 the microcomputer waits in an idle mode. If display means are provided, the microcomputer displays the amount remaining in the available postage register, or other useful information. The microcomputer continues until it receives an interrupt request by means of the ATTN signal.
  • step 328 the host computer may sent address information and other material not directly related to the production of a meter imprint to the printer.
  • step 330 the printer formats the address or other non-postage information in response to step 328.
  • step 334 the printer attempts to format the reset and attention characters by reading the bitmap of the characters from the ROM of the metering accessory.
  • step 336 the metering accessory 100 observes the address bus and detects that the printer has formatted (by reading the associated image data) the metering accessory reset and attention characters.
  • the state machine 156 is reset, and is subsequently stepped through several intermediate states, until it reaches the "waiting for postage value digits" state. See Appendix A for the correlation between fonts and image locations, and Appendix B for the correlation between characters and the meanings the printer and metering accessory assign to them.
  • step 338 the host computer "formats" the postage imprint value characters by sending them to the printer. For each digit in the postage imprint value, the host computer selects the appropriate font which corresponds with the position of that digit in the postage value field 622, as defined in Appendix A, and formats the digit in the selected font.
  • the printer attempts to format the stamp value characters by reading the font image data associated with each character, in the selected font, from the ROMs of the postage metering accessory.
  • step 342 the state machine of the metering accessory observes the printer load the font image data corresponding to the stamp value characters. The state machine stores each digit character in an auxiliary memory at a position determined by the font in which the character is printed.
  • step 344 the microcomputer responds to the interrupt request.
  • the microcomputer reads the requested postage imprint value digits from the auxiliary memory, reconstructs the requested value, and subtracts it from the available postage register.
  • step 346 if the resulting register value is negative, indicating that insufficient postage was available to satisfy the imprint request, then the microcomputer adds the requested value back to the available postage register, and leaves the ACK signal 470 negated.
  • step 348 if the register value was nonnegative then the microcomputer asserts the ACK signal 470.
  • the microcomputer awaits the negation of the ATTN signal 466, which indicates that the printer has completed formatting the postage imprint.
  • step 352 the host computer sends instructions to the printer for formatting miscellaneous information related to the postage imprint.
  • most postage meter imprints include some manner of cancellation endorsement, indicating the date mailed or the originating zip code.
  • Some meter imprints also contain a rate class, handling endorsement, or advertisement which is typically printed in association with the imprint. This material is preferably printed in this step to ensure that the host computer and printer do not attempt to format the postage imprint logo before the microcomputer has completed its task of validating the postage imprint value.
  • step 354 the printer attempts to format the material sent by the host computer in step 352.
  • step 356 the state machine enables the address translation logic if appropriate, in response to the ACK and BUSY signals provided by the microcomputer to report whether the available postage was sufficient to satisfy the amount requested.
  • the translation will be enabled only for read requests directed to a predefined address range allocated to the invalid postage imprint logo, and only if ACK and BUSY are both active.
  • step 358 the host computer selects the postage imprint logo font G, and sends the characters which represent the mosaic of which produces the distinctive postage logo.
  • step 360 the printer formats the postage imprint logo by attempting to read from the metering accessory ROMs the appropriate font image data.
  • step 362 the metering accessory ROMs Stamp cartridge provides font image data for the valid postage imprint logo or the invalid logo, depending on the state of the address translation logic. See step 356.
  • step 364 the host computer sends to the printer the metering accessory reset character in any of the special fonts (A-G) .
  • step 366 the printer formats the metering accessory reset characters.
  • the state machine observes the font image data associated with the reset character being read from the metering accessory ROM by the printer.
  • the state machine resets itself to state [0,0], and negates the ATTN signal.
  • Steps 364, 366, and 368 are required only for some printers.
  • step 370 the host computer 120 again sends a printer reset request character sequence ( ⁇ Escape>E) to the printer.
  • step 372 the printer prints and ejects any pending formatted pages.
  • step 374 the printer resets certain internal parameters to defaults and discards any font information which may have been previously cached.
  • step 376 the state machine may undergo a reset operation.
  • step 378 the microcomputer returns to its idle mode activities. If display means are provided, the microcomputer displays the amount remaining in the available postage register, or other useful information.

Abstract

A postage imprinting accessory (100) for use with a general-purpose computer-driven printer (110). A microcomputer (148) maintains a record (154) of available postage and validates any postage imprint requests to determine whether the request exceeds the available postage. In operation, host computer software (182, 184) instructs the printer (110) to print the requested postage imprint value. If sufficient postage is available, a valid postage logo is printed. If there is insufficient postage, the address translation (158) logic is disabled, so the printer (110) prints a void postage logo instead.

Description

POSTAGE IMPRINTING APPARATUS AND METHODS FOR USE WITH A COMPUTER PRINTER
BACKGROUND OF THE INVENTION
This invention relates to postage imprinting devices, and more particularly to postage imprinting devices for use with conventional computer-driven printers to enable the printer to apply postage to an item while securely maintaining a record of the value of available postage. The invention also relates to accessory devices for computer-driven printers, and more particularly to an accessory device compatible with one or more printer models, which may enable such printers to provide additional functions despite the fact that the accessory interconnection port was intended for functions more limited than those provided by the accessory device.
Despite many predictions that electronic communications will soon supplant the traditional hand-delivered paper letter in business operations, the United States Postal Service (USPS) continue to carry an overwhelming proportion of all business correspondence. In addition, the postal system also carries a large number of parcels and other items. Accordingly, it is evident that the need for postage will continue well into the age of personal computers. Most postal authorities require that payment for postal services be made in advance and evidenced by postage stamps or other suitable indicia applied to the article being mailed. Although postage stamps are generally convenient for use by individuals and extremely small-volume mailers, their use becomes inconvenient for those mailing more than a few pieces at any one time. Conventional postage stamps are inconvenient to obtain in large quantities. They are difficult to apply rapidly to a large number of articles. It is difficult and expensive to maintain a suitable inventory of all of the proper denominations of conventional stamps. People who lack arithmetic skills may be unable to determine the proper combination of stamps needed to total a desired amount. Thus, a significant problem for many postal users is how to conveniently and inexpensively apply postage to an item to be mailed.
A variety of postage metering or imprinting devices have been developed to reduce the cost and inconvenience of applying postage. Prior-art postage imprinting devices have generally included mechanical or electromechanical apparatus for receiving a mailable item, or an adhesive label which may be affixed to such an item, and applying a postage imprint thereto. The imprint typically includes at least the amount of the postage and a distinctive logo which is difficult to reproduce, and may also include the date, an originating city or postal zone code, rate or handling endorsements, and other information.
In order to ensure that users will not obtain services for which they have not paid, such postage imprinting devices generally include at least two storage registers-one for recording the amount of postage which remains available for use, and the other for recording the amount of postage which has already been used. The available postage register is adjusted upward by postal authorities when a user pays in advance for postage. Each time a user attempts to imprint postage, the selected postage amount is compared to the available postage register to determine whether sufficient unused postage remains. If the register indicates that sufficient postage is available, the imprint is performed, and the imprinted amount is deducted from the register. If sufficient postage is not available, however, then the imprint is inhibited and the register is left unchanged. Because the postage imprinting devices are often located at the user's premises, and therefore are under his physical control, the devices include a number of security features to prevent tampering entirely or, failing that, to render tampering easily detectable upon inspection of the device by postal authorities. Such security features are expensive to design and manufacture. In addition, the secure portions of conventional postage imprinting devices must occasionally be taken to the postal authority for inspection or the addition of pre-paid postage. Other portions of the postage imprinting devices are not subject to inspection and may be heavy or bulky. Hence, the devices are often constructed to. llow the secure portions to be easily separated from the remainder so that only the secure portions need be moved when inspection or addition of postage is required. This separability feature, and the need to provide a carrying case to protect the secure portion from damage during transit, further increase the cost of prior-art postage imprinting devices.
As a result of these and other factors, prior-art postage imprinting devices generally have been expensive to obtain and operate, thereby limiting the number of mailers who can economically employ them. Postal users can generally obtain postage stamps directly from the postal authority by paying the face value of the stamps. Thus, it is difficult for smaller businesses to justify the cost of obtaining and operating a postage imprinting device, even if obtaining and applying stamps is a burden. Although postage imprinting devices have achieved widespread acceptance, their acquisition and maintenance costs have placed them out of reach for many small-volume mailers. An additional disadvantage of prior-art postage imprinting devices is that they are generally usable only for applying postage to, and possibly sealing, an item of mail. Even for moderate-volume mailers, the devices sit idle much of the time. Another problem with existing postage imprinting devices is that they have been integrated only to a very limited extent with other office equipment, and generally must be loaded and unloaded by hand. For example, some postage imprinting devices may be connected to a suitable postal scale or a computer to au¬ tomatically provide a correct postage amount. However, many of these arrangements still require a manual operation to transfer the mail item from the scale to the postage imprinting device. Since the address for an item to be mailed is generally applied to the item using a separate addressing device such as a typewriter or a computer-driven printer, the item must also be manually transferred from the addressing device to the scale or postage imprinting device. This manual transfer is expensive, and the additional handling increases the probability that an item may be mis-marked or damaged in the postage imprinting device. Further, postage imprinting devices of conventional design are poorly adapted to provide additional functions, such as applying a destination address in addition to postage. Although some existing postage imprinting devices may be electronically controlled, the elements which actually apply the imprint to an item typically comprise a stamp or printing plate having a large fixed portion and a small variable portion. The large fixed portion generally contains the distinctive postage logo and any other information which remains constant for all items to be imprinted. The variable portion typically includes the postage amount and the date, and for each character position in the variable portion the character to be printed may be selected from a very small number of predefined characters. Thus, the design of existing postage imprinting devices cannot be conveniently extended to provide flexible and general capabilities to apply non-postage information to a mailable item.
Accordingly, the need exists for a postage imprinting device which works in conjunction with existing general-purpose computer-driven printers to apply to an item both postage and non-postage information in a single printing operation, and which does not interfere with operation of the general-purpose computer-driven printer when used for functions other than imprinting of postage. The United States Postal Service uses computer-based postage imprinting devices having a thermal printer for imprinting a postage indicium, and possibly other information of use in processing the mail, on an adhesive label. Once printed, the label may be purchased like a postage stamp, and then applied to an item to be mailed. Although these devices are computer controlled, they are not suitable for general-purpose printing. They are operated by only USPS employees, and no facilities are provided for printing additional, customer- specified, non-postal-service information on the label. Further, the thermal pr nting technology used by these dev ces has several disadvantages which may render such postage imprinting devices unacceptable for use as a general-purpose printer. The thermal printing technology does not produce the high print quality available through other modern computer printing technologies to which customers are accustomed. Thermally sensitive paper is expensive, has tactile qualities which users dislike, and degrades more rapidly than ordinary pilper. High-quality computer-driven printers with sufficient inherent capabilities to print something that resembles the stamp of an existing postage imprinting device have long been available. It would be simple to provide computer software for use with such printers to print a simulated meter stamp. However, neither general-purpose business computers nor printers designed for use therewith contain facilities for securely maintaining a record of available pre-paid postage, for decrementing the available postage record according to use, and for inhibiting the imprinting of postage unless sufficient available postage remains. Without such facilities, a user could imprint as much postage as he wanted, without paying for it.
One solution to this problem might be to include the secure postage register facilities of existing postage imprinting devices as an integral part of a high-quality general-purpose printer. However, this solution would suffer from many of the same disadvantages as the prior art postage imprinting devices. Since the market for any particular printer model is limited, and the market for a printer having postage imprinting capability is somewhat more limited, significant economies of scale may not be achieved, and the printer will therefore be undesirably expensive. In addition, potential users of such a printer are likely to already have a high-quality printer and will not wish to replace that existing printer merely to obtain the postage imprinting capability.
Another possible solution is to provide the secure postage register facilities in a metering device which may be interposed in the communication link between a computer and a printer. The metering device would normally pass unchanged all information it received from the computer to the printer. However, the metering device would be responsive to requests from the computer to send instructions to the printer to produce a suitable meter stamp. However, it would be difficult for the metering device to determine whether printing was successful. In addition, the data stream between the computer and the printer is particularly easy to monitor and manipulate, and therefore, interposing a metering device in this data stream significantly increases the risk of tampering. Many modern printers provide a limited-purpose interface port for font cartridges and certain other devices. Thus, another possible way to add postage imprinting device functions to a general-purpose printer is to provide secure postage register facilities, along with any other required facilities, in an accessory device which may be connected to a printer through its font cartridge interface. A variety of prior-art font cartridges and several other prior-art accessories are available which use these interfaces. However, because existing font cartridge interfaces were originally designed for limited purposes, the use of these interfaces for postage imprinting purposes presents a number of difficult problems.
In general, the font cartridge interface ports are adapted to operate in a normal mode, in which the cartridge functions merely as a memory device containing font information in a predefined format, and an emulation mode, in which the cartridge contains programs (and associated data) which may be executed by the printer's control microprocessor.
The emulation mode provides a highly flexible way of controlling a printer or adding features thereto, and several commercial devices have been produced which appear to operate in this mode. For example, Practical Peripherals (375 Conejo Ridge Ave., Thousand Oaks, California, 91361) sells a product which may be connected to a printer through its font cartridge interface for receiving and printing a facsimile transmission. Because different printers have different control microprocessors (and other critical hardware) , software written for the emulation mode of one printer is not guaranteed to be compatible with the emulation modes of other printers. Accessory cartridges designed to operate with a particular model of printer in its emulation mode are often incompatible with other printer models of the same manufacturer. According to advertisements, the Practical Peripherals facsimile receiving device appears to be compatible with certain Hewlett Packard printers designated "Laserjet 11" and "Laserjet 111", but not with Hewlett Packard's earlier "Laserjet" and later "Laserjet IV" printers, nor with printers of other manufacturers. Thus, although devices are known which use a printer's font cartridge interface in emulation mode to significantly enhance a printer's capabil ties, ser ous compat ty pro ems may ar se, t e solution to which is not yet known.
Manufacturers of printers and printer accessories often produce font cartridges which are compatible with several printer models. For example, the font cartridge interfaces of a popular family of printers sold by Hewlett Packard Company (Boise Division, 11311 Chinden Boulevard, Boise, Idaho, 83707) under the name "Laserjet" are upwardly compatible, and font cartridges produced for early models of such printers have been usable in a number of later models. However, this compatibility does not necessarily extend to use of the font cartridge interface to perform any function other than providing additional fonts.
Further, even when a font cartridge is compatible with several printer models, the manner in which these particular models access the font cartridge may differ. For example, the Hewlett Packard printer designated "Laserjet IV" is reported to have a font caching facility, and therefore may access the font cartridge on fewer occasions than earlier models of that product family.
In summary, the prior art discloses devices which may be connected to a printer through its font cartridge interface to enhance its capabilities, but teaches the operation of such devices in the printer's emulation mode, and does not disclose how a device with capabilities more extensive than that of an ordinary font or macro cartridge might operate in the printer's normal (i.e. non-emulation) mode. Thus, if a postage imprinting device were adapted for addition to a printer through its font cartridge interface in the manner taught by the prior art, it would operate in the emulation mode, but it would only be compatible with an undesirably limited set of printers.
OBJECTS AND SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a secure device which may be connected to a high-quality computer-driven printer to enable the printer to produce postage meter stamps.
It is another object of the present invention to provide a postage imprinting device which cooperates with a conventional computer-driven printer to enable the printer to imprint postage and non-postage-related information in a single printing operation.
It is an additional object of the present invention to provide a postage imprinting device and methods for cooperative use with a conventional computer driven printer and a computer to enable the printer to imprint postage under control of the computer.
It is a further object of the invention to provide a small, lightweight postage imprinting accessory device to enable a conventional computer-driven printer to imprint postage.
It is another object of the invention to provide a postage imprinting accessory device which enables a conventional computer-driven printer to imprint postage, but which does not interfere with other printer uses.
It is an additional object of the invention to provide a postage imprinting accessory device which interfaces with a conventional computer-driven printer through a font cartridge interface thereof to enable it to imprint postage. It is a further object of the present invention to provide an accessory device which is adapted for connection to the font cartridge interface of a general purpose computer-driven printer and which is compatible with many printer models. It is another object of the present invention to provide an accessory device which is adapted for connection to the font cartridge interface of a general purpose computer-driven printer and which operates without relying on the presence of a particular microprocessor in the printer. It is another object of the present invention to provide an accessory device which is adapted for connection to the font cartridge interface of a general purpose computer-driven printer which provides additional functions beyond those provided by an ordinary font cartridge but which does not require the printer to operate in an emulation mode.
A postage imprinting system for enabling a general-purpose computer driven printer to imprint postage constructed according to the present invention comprises a postage metering accessory device adapted for interconnection with the printer through its font cartridge interface, suitable programs and font or image data for use by the metering accessory, and appropriate software for execution by a host computer to control the printer.
The metering accessory comprises an enclosure, a mechanical and electrical interface to the font cartridge slot of the printer, and an electronic circuit for implementing its functions. The metering accessory may have the physical form - factor of an ordinary font cartridge and may be inserted into a font cartridge slot of the printer. Alternatively, the metering accessory could be constructed so that it may be inserted into a SIMM socket, a PCMCIA socket, or any other interface through which the printer obtains font information. The metering accessory could also be implemented as an integral part of a printer. In operation, the metering accessory provides certain fonts for use by the printer in producing a postage imprint, maintains a record of available postage, and allows the printer to perform a valid imprint only if the available postage equals or exceeds the value of the requested imprint.
The electronic circuit comprises a Read-Only Memory (ROM) containing fonts and related data structures, logic for implementing a state machine and certain control functions, an auxiliary memory for recording the value of a requested meter imprint, and a microcomputer for maintaining a record of available postage and for reporting whether the value of the requested meter imprint equals or exceeds the available postage. If a sufficiently fast microcomputer is used, then the auxiliary memory may be implemented as a part thereof. The ROM contains several font data structures in a format determined by the requirements of the printer to which the metering accessory is to be attached, so that the metering accessory appears to the printer as would an ordinary font cartridge.
In general, ordinary font cartridges are implemented using a large ROM or its equivalent. A printer's font cartridge interface typically includes an address bus, a data bus, and suitable control signals to enable the printer to read data from the ROM. For each character in each font present in the font cartridge, data is provided which represents the graphical image to be rendered by the printer when it prints that character. Auxiliary data structures are provided in the ROM so that the printer may determine the locations or ROM addresses of certain parameters of each font and the image data for the characters thereof.
Many modern printers accommodate both "bit-mapped" fonts, wherein each font provides a binary "image" of each printable character which can be rendered at a fixed size, and "scalable" fonts, wherein each font provides a more general description of each printable character which the printer can use to render the' characters in a range of sizes. Unless otherwise specified, the fonts described herein are of the "bit-mapped" variety.
In order to print a particular character in a selected font, the printer must first obtain from the ROM the image data corresponding to that character/font combination. It does this by reading, via the font cartridge interface, the image data for that character from the ROM at the addresses indicated by the auxiliary data structures. Thus, if the ROM addresses of the image data for a particular character in a particular font are known, the fact that the printer is reading the image data for that character may be detected by observing the address bus of the font cartridge interface and noting when the corresponding addresses are accessed.
The metering accessory is directly connected to the printer only through its font cartridge interface, and is not directly connected to the host computer at all. Thus, the metering accessory is unable to receive direct communications from the host computer in order to discern when a postage imprint is desired. Instead, the metering accessory exploits the ability to observe the characters for which the printer fetches image data. The host computer software communicates to the metering accessory that an mpr nt s to be performed, and t e value thereof, by instructing the printer to print certain predefined sequences of characters in selected fonts. When the metering accessory observes the printer fetching the image data in the required predefined sequences, it may interpret them as an attention message, a reset message, or a postage imprint value.
In addition to the above-mentioned limitations on communications between the printer and the metering accessory, there are also limitations on communications between the printer and the host computer. In particular, excluding data- communications flow-control signals, most printers are equipped only to receive information from the host computer, but are not equipped to send any information to the host computer. Although some modern printers are now equipped for bidirectional communications with a host computer, the metering accessory of the present invention does not require a printer to incorporate such capability, because it is desirable for the accessory to remain compatible with the large number of printers which are not so equipped. However, if, in the future, a significant pro- portion of available printers are capable of bi-direction communications, it may be advantageous to modify the metering accessory to exploit such capability.
The metering accessory circuit of the present invention includes a state machine and associated logic for observing the activity on the address bus of the font cartridge interface. In addition, the metering accessory ROM includes several fonts having image data organized for convenient observation by the state machine. Six fonts are provided which correspond to the digits representing the value of a meter imprint ranging in value up to $ 999 . 999 . In the United States, postage imprint values of $ 100 or greater are rarely needed, and therefore, a commercial embodiment of the invention could be constructed to accommodate fewer digits. However, in other countries, larger currency values may be needed for routinely used postal amounts. Similarly, imprinting postage-like items, such as real estate transfer tax stamps, and the like, large imprint values may be needed. Accordingly, the electronic circuits of the preferred embodiment of the invention will accommodate up to eight digits without modification. The software, fonts, and associated data structures described herein will accommodate six digits, but can easily be modified to accept more.
Each font corresponds to one of the six available decimal digit positions. An additional font provides the image of the logo portion of the imprint, which may be large compared to the size of ordinary characters. Many printers limit the size of the image associated with a character. Accordingly, the logo image is split into a plurality of segments of manageable size, and each segment is associated with a different character of the logo font. The logo image is formed as a seamless mosaic of these segments by printing these characters in the proper sequence.
Two different sets of logo image data are provided at different regions within the metering accessory ROM. A first set contains the image for a "void" postage logo, which would be printed, for example, if a requested imprint value exceeded the available postage. A second set contains the image for a "valid" postage logo. The entries in the ROM's auxiliary data structures which identify the location of the image data for the logo font point only to the addresses of the "void" image data, and therefore, the printer is aware of only one set of image data for the logo font. As a result, an attempt to print the characters forming the logo image mosaic will, in the absence of special circumstances, cause the printer to access the image data at the addresses indicated by the auxiliary data structures so that the ROM provides the "void" logo image.
However, the metering accessory circuit contains address translation logic which is interposed between the font cartridge interface and the ROM. The address translation logic is enabled only when an imprint has been requested and sufficient postage is available. When the address translation logic is enabled, and the printer attempts to read image data at an address in the logo font region, the address translation logic supplies to the ROM a modified or translated address which refers to the location of the "valid" logo data. Thus, the image of the Is valid" postage logo is available to the printer only when an imprint has been requested and sufficient postage is available. In order to imprint postage, the host computer software instructs the printer to print a predetermined "attention" string consisting of characters in selected fonts which are present in the metering accessory. The metering accessory observes the activities of the printer as it requests font data in order to satisfy the printing instructions received from the host computer.
When the metering accessory observes that the printer has attempted to print the "attention" string, the metering accessory prepares to record the value of the imprint. The host computer software instructs the printer to print the value of the imprint by sending the corresponding numeric digits, or place-holding characters, in selected fonts. The metering accessory observes the characters requested by the printer in each font, records the value of the imprint, and checks an internal record of available postage to determine whether sufficient pre-paid postage is available to perform the imprint. If sufficient postage is available, the metering accessory reduces its internal available postage record by the amount of the imprint and enables the previously mentioned address translation logic. If insufficient postage is available, the accessory leaves the available postage record unchanged, and leaves the address translation logic disabled.
The host computer software instructs the printer to print the logo portion of the meter imprint by selecting the "logo" font and sending a predefined set of characters corresponding to the associated image data. When the printer requests image data for those characters, the metering accessory supplies the valid logo image only if the address translation logic was previously enabled (i.e., sufficient postage was available). Otherwise, it supplies the invalid logo image.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of this invention will be best understood by reference to the following detailed description of a preferred embodiment of the invention, taken in conjunction with the accompanying drawings, in which:
Fig. 1 is a simplified block diagram of a postage imprinting system 102 constructed according to the present invention, including a postage metering accessory 100 for enabling a conventional computer-driven printer to apply postage to an item;
Fig. 2 is a simplified flow diagram showing the operation of the postage imprinting system 102 of Fig. 1 as it might be used in an exemplary application environment to apply postage to an item;
Fig. 3 is a detailed flow diagram showing the operation of the postage imprinting system 102 of Fig. 1 as it might be used in an exemplary application environment to apply postage to an item;
Fig. 4 is an electrical schematic diagram of an electronic circuit for implementing the postage metering accessory 100 of Fig. 1;
Fig. 5 is a view of a completed sample valid postage imprint as it might be printed by a printer in conjunction with the postage imprinting system 102 of Fig. 1;
Fig. 6a is a view of a portion of the sample valid postage imprint of Fig. 5;
Fig. 6b is a view of a portion of a sample void postage imprint as it might be printed by a printer in conjunction with the imprinting system 102 of Fig. 1;
Fig. 7a is a segmented view of the postage logo portion of the sample valid postage imprint of Fig. 6a, showing how the image of the postage logo portion may be divided for storage as individual characters of a printable font in the postage metering accessory of Fig. 1;
Fig. 7b is a segmented view of the postage logo portion of the sample void postage imprint of Fig. 6b, showing how the image of the postage logo portion may be divided for storage as individual characters of a printable font in the postage metering accessory of Fig. 1;
Fig. 8 is a flow diagram showing the operation of an exemplary computer program which may be executed by a host computer to cause a printer cooperating with the postage metering accessory 100 of Fig. 1 to print a postage imprint;
Fig. 9 is a flow diagram showing the operation of the electronic circuit of Fig. 4, with emphasis on a state machine and associated control circuitry thereof; Fig. 10 is a flow diagram showing the operation of an exemplary computer program which may be executed by a microcomputer controller portion of the electronic circuit of Fig. 4; and
Fig. 11 is a diagram showing an exemplary organization of certain internal data structures to be stored in a Read Only
Memory (ROM) portion of the circuit of Fig. 4 for use with the computer programs of Figs. 8 and 10.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 1 is a summary block diagram of a preferred embodiment of a postage imprinting system 102 constructed according to the present invention. The system 102 preferably comprises a high quality general-purpose printer 110 having a font cartridge socket or interface 132, a device 120 (for example, a computer) for generating a data stream for controlling the printer 110, a postage metering accessory device 100 adapted for interconnection with the printer 110 through the font cartridge interface 132, and software 182 and 184 for controlling the operation of the data stream generating device 120 and the postage metering accessory device 100.
The printer 110 is preferably a high-quality computer- driven printer which allows a user to provide additional character-based fonts by means of a font cartridge interface 132. For example, the printer 110 may be a conventional computer-driven page printer which employs laser or light- emitting diode imaging technology, an ink jet printer, a thermal transfer printer, or a high-density dot matrix impact printer. Details are provided herein describing an exemplary imple¬ mentation of the present invention which is adapted for use with certain products of the Hewlett-Packard Company sold under the name "LaserJet" and with compatible printers of other manufacturers. A first prototype embodiment of the invention has been tested for compatibility with Hewlett-Packard LaserJet Series 11, 111, HIP, IllSi, and IV printers, and a second prototype embodiment has been tested with a model 4039 printer available from the Lexmark division of International Business Machines. However, the invention is applicable to a wide class of printers (and possibly other computer peripherals) , and small modifications would allow use of the described implementation with other printer models. The invention may not be applicable to certain early printers (notably Hewlett Packard printers earlier than the LaserJet Series 11) which impose significant limitations on the number of font changes which may be made on a page, the size of characters which can be printed, and the like.
The data stream generating device 120 and the printer 110 communicate via an interface 130 which may be any suitable communications link. The electrical and mechanical characteristics of the nterface 130 are typically specified by official or de facto industry standards for computer-driven printers. For example, the interface 130 could be an EIA-232-D serial data link, a "Centronics"compatible parallel data link, or a network conforming to the IEEE 802.X family of network specifications. The command-level characteristics of the interface 130 - i.e., the format of the data and instructions carried over the interface - is typically defined by the manufacturer of the printer. For example, Hewlett-Packard Company has defined a family of command-level languages, which it refers to as Printer Control Language (PCL) , for communicating with its printers sold under the names "LaserJet" and "DeskJet."
The particular device 120 selected to supply the instructions and data required for printing is irrelevant to the printer 110, provided that the device is compatible with the mechanical, electrical, and command-level characteristics of the interface 130. Accordingly, device 120 may be any type of data- processing or other device capable of producing a suitable stream of data and instructions to control the printer. For example, device 120 could be a conventional general-purpose computer 188 having a monitor 122, keyboard 124, and disk drives 126, 128. In that case, software 182 could be implemented as programs for execution by the computer for generating the appropriate printer control messages to cause the printer, in conjunction with the metering accessory 100, to produce a meter imprint. Alternatively, device 120 might be a postal scale or another user interface device (not shown) which is adapted to receive a postage imprint request from a user and to generate the appropriate printer control messages. For convenience, the printer data stream generating device 120 is hereinafter referred to as the "host computer. "
The metering accessory 100 provides certain fonts for use by the printer 110 in producing a postage imprint, maintains a record of available postage, and allows the printer to perform a valid imprint only if the available postage exceeds the value of the requested imprint. The metering accessory 100 is preferably connected to the printer 110 via the printer's font cartridge interface 132, and preferably, the metering accessory is viewed by the printer 110 as an ordinary font cartridge. The following brief explanations of,the components of a postage imprint and the operation of the printer's font cartridge interface and may serve as useful background information to aid the reader in understanding the construction and operation of the metering accessory 100.
Fig. 5 is a diagram of an exemplary valid postage meter imprint 662 which may be produced by the postage imprinting system 102 of the present invention. Fig. 6a is a diagram of a portion 610 of the valid meter imprint 662 identifying those portions or fields of the imprint which may vary; the contents of the variable fields have been omitted. The format and appearance of the exemplary imprint 662 is designed to mimic the imprint of a conventional postage meter. However, the imprint 662 could have any format and appearance which meets the requirements of postal authorities.
The imprint 662 comprises a postage logo 612, a postage value 644, an cancellation endorsement 640 (here, originating postal zone code), and a rate or handling endorsement 664. Typically, the postage logo 612 comprises a distinctive design which may be intended to be difficult to reproduce, and remains the same for each imprint produced by the postage imprinting system 102. In contrast, the postage value 642, cancellation endorsement 664, and rate or handling endorsement 664 may differ each time an imprint is produced. In the United States, postage imprinted by postage imprinting devices is normally denominated in dollars, but postage rates have a fractional resolution of 0.001 dollars. The postage required for an item may range from a few cents to tens or hundreds of dollars. Thus, the postage value field 622 (Fig. 6) preferably comprises six character positions 632, 634, 636, 6381, 640, and 642.
Each of the character positions may contain a blank, a digit or a special character, depending on the postage value and on certain rules for printing the value which may be imposed by postal authorities or by custom. For example, the "ones" digit 654 (Fig. 5) is always printed in the third character position 636 (Fig. 6a) , and is always followed by a decimal point 644 and at least two fractional digits 656, 658 in the fourth and fifth character positions 638, 640. Zeros in the tens and hundreds positions 632, 634 are suppressed. The right most suppressed zero in positions 632, 634 is replaced with a special character 652 (Fig. 5) ; any zeros to the left of the rightmost zero are replaced with a blank 650. A zero in the sixth digit position 642 (corresponding to $ 0.001) is also suppressed and is replaced with another special character (not shown) . If the sixth digit position 642 is nonzero, the corresponding digit 660 is printed in a raised position above a horizontal bar (e.g.5) . These conventions allow postage values from $ 0.001 to $ 999.999 to be imprinted. Different formats for the postage value field 622 may be used in other countries or for producing postage-like imprints to be used with non-postal carriers. A rate or handling endorsement 664 may be provided in a field 614 to the left of the postage logo 612 to indicate the class of postage or in order to qualify for special postage rates. If no endorsement 664 is required, field 614 may be left blank. A meter serial number 668 may be provided in a field 620. A cancellation endorsement 640 may be provided in fields 616, 618. For example, the cancellation endorsement may comprise an indication of the sender's postal zone code 640 (Fig. 5) , or the originating city and date of. mailing (not shown) . These elements may be fixed or variable, depending on postal regulations and the needs of users.
As mentioned above, the metering accessory 100 of the present invention provides font information to enable the printer 110 to produce a postage imprint, and, from the viewpoint of the printer 110, behaves as an ordinary font cartridge. In general, ordinary font cartridges are implemented using a large ROM or its equivalent. A printer's font cartridge interface typically includes an address bus, a data bus, and suitable control signals to enable the printer to read data from the ROM. For each character in each font present in the font cartridge, data is provided which represents the graphical image to be rendered by the printer when it prints that character.
Auxiliary data structures are provided in the ROM so that the printer may determine certain parameters and characteristics of each font and the locations or ROM addresses of the image data for the characters thereof. The format of the auxiliary data structures of a font cartridge for a particular printer is generally defined by the printer manufacturer, and for many printers, the manufacturer and a plurality of other parties produce compatible font cartridges. Thus, the technique of providing auxiliary data structures to describe the characteristics of a font and to identify the locations of its image data, and the specific formats of those data structures, are well known in the art. In order to print a particular character in a selected font, the printer must first obtain from the ROM the image data corresponding to that character/font combination. It does this by reading, via the font cartridge interface, the image data for that character from the ROM at the addresses indicated by the auxiliary data structures. Thus, if the ROM addresses of the image data for a particular character in a particular font are known, the fact that the printer is reading the image data for that character may be detected by observing the address bus of the font cartridge interface and noting when the corresponding addresses are accessed.
The metering accessory 100 comprises an enclosure (not shown) , a mechanical and electrical connector 134 which mates with the font cartridge socket 132 of the printer 110, and an electronic circuit 410 for implementing its functions. The metering accessory 100 may have the physical form-factor of an ordinary font cartridge so that it may be inserted into the font cartridge socket 132 of the printer.
The electronic circuit 410 comprises a Read-Only Memory (ROM) 146 containing fonts and related data structures, logic 144 for implementing a state machine 156 and certain control functions, an auxiliary memory 152 for temporarily recording the value of a requested meter imprint to be imprinted, and a micro¬ computer 148 for maintaining a record 154 of available postage and for reporting whether the value of the requested meter imprint exceeds the available postage. The ROM 146 preferably contains a plurality of fonts and auxiliary data structures 163, 164, 168, 166 in a format determined by the requirements of the printer 110 to which the metering accessory 100 is to be attached, so that the metering accessory 100 appears to the printer 110 as an ordinary font cartridge.
The metering accessory' s connection 134 to the printer 110 comprises a plurality of bussed electrical signals 136 which may be functionally segregated into an address bus 138, a data bus 142, and suitable control signals 140. These are the same signals available in an ordinary font cartridge, and enable the printer to read data from the ROM 146 of the metering accessory. For each character in each font present in a font cartridge, data 168, 162, 164 is provided which represents the graphical image to be rendered by the printer 110 when it prints that character. Auxiliary data structures 166 are provided in the ROM 146 so that the printer may determine the locations or ROM addresses of certain parameters of each font and the image data for the characters thereof. As best seen in Fig. 1, the metering accessory 100 is directly connected to the printer 110 through its font cartridge interface 132, but is not directly connected to the host computer 120. Thus, the metering accessory 100 is unable to receive direct communications from the host computer 120 in
2S order to discern when a postage imprint is desired. Instead, the metering accessory 100 exploits the ability to observe the characters for which the printer 110 fetches image data. The host computer software 182 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined sequences of characters in selected fonts. When the metering accessory 100 observes the printer 110 fetching the image data in the required predefined sequences, it may interpret them as an attention message, a reset message, or a postage imprint value.
The metering accessory circuit 410 of the present invention includes a state machine 156 and associated logic for observing the activity on the address bus 138 of the font cartridge interface 134. In addition, the metering accessory ROM 146 contains several fonts 168, 162, 164 which are needed to produce a postage imprint and which have their image data organized for convenient observation by the state machine 156. As described above, the postage value field 622 of postage imprint 662 comprises six digit positions 632, 634, 636, 638, 640, and 642, and each digit position always has the same order-of-magnitude value (see Figs. 5 and 6) . Six fonts 170, 172, 174, 176, 187, and 180 (collectively 168) are provided, each corresponding to a different selected one of the digit positions of the postage value field 622. Thus, each of the fonts 168 is intended for use exclusively for printing the postage value digit in the selected corresponding digit position.
Additional fonts 162, 164 (which may be implemented as a single font having two sets of pointers thereto) provide the image of the logo portions 612 of the valid postage imprint 662, and the image of the void postage imprint 692 (see Figs. 6a and 6b) . Two different sets 162, 164 of logo image data are provided at different regions within the metering accessory ROM. A first set 162 contains the image for a "void" postage logo 692 (Fig. 6b) , which would be printed, for example, if a requested imprint value exceeded the available postage. A second set 164 contains the image for a "valid" postage logo 662 (Fig. 6a) . The entries in the ROM's auxiliary data structures 166 which identify the location of the image data for the logo font point only to the addresses of the "void" image data 162, and therefore, the printer is aware of only one set of image data for the logo font. As a result, an attempt to print the characters forming the logo image mosaic will, under normal circumstances, cause the printer to access the image data 162 at the addresses indicated by the auxiliary data structures so that the ROM provides the "void" logo image.
The postage logo images 662, 692 may be large compared to the size of ordinary characters. Many printers limit the size of the image associated with a character. Accordingly, as best seen in Figs. 7a and 7b, the logo images 612 and 692 are split into a plurality of segments (e.g., 670, 672, 674, 676, 678, 680, 682, 684, 686, and 688 for valid postage imprint 662; and 270, 272, 274, 276, 278, 280, 282, 284, 286, and 288 for the void postage imprint 692) , of manageable size. Each segment is associated with a different character of the logo font. The logo image is formed as a seamless mosaic of these segments by printing these characters in the proper sequence. The metering accessory circuit 410 contains address translation logic 158 which is interposed between the font cartridge interface 134 and the ROM 146. The address translation logic 158 is enabled only when an imprint has been requested and sufficient postage is available. When the address translation logic 158 is enabled, and the printer 110 attempts to read image data at an address in the logo font region, the address translation logic 158 supplies to the ROM a modified or translated address (via a modified address bus 160) which refers to the location of the "valid" logo data 164. Thus, the image
612 of the "valid" postage logo is available to the printer only when an imprint has been requested and sufficient postage is available.
The metering accessory 100 comprises a microcomputer (MCU) 148, a state machine 156, and an auxiliary memory 152 which provide facilities for maintaining a record of available postage and for determining whether sufficient postage is available to perform an imprint. As noted above, in order to imprint postage, the host computer 120 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined sequences of characters in selected fonts. This causes the printer to fetch the font image data corresponding to those characters. Since the organization of the font image data in ROM 146 is known, the characters for which the printer is fetching font image data can be determined from the ROM addresses at which the printer reads. When the metering acces¬ sory 100 observes the printer 110 fetching the image data in the required predefined sequences, it may interpret them as an attention message, a reset message, or a postage imprint value. The state machine 156 monitors the address bus 138 of the font cartridge interface 134 in order to observe the printer as it fetches font image data. A portion of the address information, from which the character and font being printed may be determined, is provided to the auxiliary memory 156. When the state machine 156 detects that the printer has fetched a predefined "attention string" it causes the auxiliary memory 156 to capture the characters and fonts used to print the postage value field 622 (Fig. 6a) for later use by microcomputer 148. Because each digit of the postage value field 622 is printed in a different one of the digit fonts 168 corresponding to the position of that digit, the order of magnitude of each digit (i.e. the digit's decimal place or weight) is determined by the font in which it is printed. The value of each digit may be determined by its relative position within the font. Thus, by recording the characters and fonts used to print the postage value field 622, sufficient information is retained to allow the microcomputer 148 to subsequently reconstruct that field.
When the state machine determines that the last character of the postage value field 622 has been sent, it interrupts the microcomputer 148. The microcomputer 148 retrieves the postage value characters from the auxiliary memory 156 and uses this information to reconstruct the postage value. The microcomputer 148 then compares the reconstructed postal P, value- information to a register 154 in which it maintains its record of available postage. If sufficient postage is available to perform the requested meter imprint, then the microcomputer 148 asserts an acknowledgment signal (ACK) 190 and deducts the value of the imprint from its available postage record 154. If sufficient postage is not available, the MCU 148 does not assert ACK 190, and it leaves the value of the available postage record 154 unchanged because a valid imprint will not be produced. The acknowledgment signal 190 is used by the state machine 158 to control whether or not,the address translation logic 156 is enabled. Thus, the address translation logic is enabled only if the microcomputer 148 determines that sufficient postage is available to satisfy a meter imprint.
As noted above, the postage logo portion 612 of the meter imprint 662 is formed by selecting the postage logo font and printing a preselected sequence of characters. This function is performed by the host computer 120 once all other page formatting has been completed and after all of the variable portions of the meter imprint have been supplied. If the address translation logic 158 has been enabled, the metering accessory responds to attempts by the printer to retrieve the associated font image data by supplying the image data for the valid postage logo. If the address translation logic has not been enabled, the metering cartridge provides the image data for the invalid postage logo.
The technique of substituting an invalid postage logo when, for any reason, the metering accessory determines that a valid imprint should not be provided, advantageously avoids the need to inhibit the printer from operating in such situations. Instead, the printer operates normally, printing whatever image data is provided by the metering accessory, regardless of the validity of the requested imprint. It is intended that the printer 110 be able to print additional material, such as an address or a promotional graphic, on an item as a part of the same printing operation in which it prints a postage imprint. Thus, substituting an invalid logo when a valid imprint should not be provided allows the user to identify the items which were not properly imprinted, and to make appropriate corrections (e.g., reprinting those items when additional postage has been purchased) . In addition, this technique requires no modification of the printer for use with the metering accessory. It also avoids the need for the printer or host computer to be aware of whether or not the requested postage imprint was valid. Fig. 2 is a simplified flow diagram 210 showing, in summary form, how the host computer 120, printer 110, state machine 156, and the microcomputer 148 of the postage imprinting system 102 cooperate to produce a postage imprint. The diagram 210 is organized as a table having four columns 212, 214, 216, and 218, showing the activities of the host computer 120, printer 110, state machine 156, and the microcomputer 148, respectively. Solid arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs as a result of the activity in the first box. Dotted arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs after, but not necessarily as a result of, the activity in the first box. A more detailed flow diagram is also provided (see Fig. 3) and will be explained following the detailed description of the electronic circuit 410 and flow charts for the state machine 156, host computer software 182, and microcomputer control software 184. In step 220, the host computer 120 sends a printer-reset command to the printer. In step 222, the printer prints and ejects any pages for which the printer has received printing instructions but which have not yet been completed. This step is needed because many high-quality printers, such as laser printers, do not immediately perform a physical printing operation in response to each printing instruction received from the host computer 120. Instead, these printers execute printing instructions by rendering a representation of the page to be printed in an internal storage means, and perform the physical printing operation only when all printing instructions relating to that page have been received and processed. Hereafter, the actions of the printer in rendering the internal representation of the page to be printed is referred to as "formatting, " and the physical process of producing the printed page is referred to as "printing." Thus, the reset operation of step 222 causes the printing of any pages which the printer may have formatted but not printed. In addition, in step 222, the printer resets certain of its internal parameters to default values. In step 224, the host computer sends to the printer a predetermined "attention" string, consisting of characters intended to reset the metering accessory and prepare it for receiving the postage value field. In step 226, the printer attempts to format the attention string by reading font image data corresponding to the characters of the attention string from the metering accessory. In step 228, the state machine of metering accessory the observes the printer reading the image data corresponding to the attention string and enters a state in which it expects to receive the postage value field. In step 230, t e host computer sends the postage value characters to the printer. Each digit of the postage value field is sent in a unique font corresponding to the position of that digit within the field. In step 232, the printer attempts to format the postage value field, reading for each character of that field the corresponding font image data from the metering accessory. In step 234, the state machine observes the printer reading the font image data for each character of the postage value field from the metering accessory. The state machine stores each postage value character in the auxiliary memory in a position determined by the font in which it was formatted. Since the font used to format each of the postage value characters is determined by the character' s position within the field, each character is stored in an auxiliary memory location corresponding to that character's position within the field
(i.e. its digit position) . When the state machine receives the final character of the postage value field, it sends an interrupt signal to the microcomputer.
Prior to step 236, the microcomputer is in an idle mode, in which it awaits an interrupt signal from the state machine. In step 236, the microcomputer responds to the interrupt signal from the state machine by reading the postage value characters from the auxiliary memory and comparing the value of the re¬ quested imprint with its internal record of available postage. If the available postage is sufficient to satisfy the imprint request, the microcomputer deducts the value of the requested imprint from the available postage record and reports that sufficient postage was available by asserting the ACK signal. In step 240, the host computer sends to the printer instructions to format miscellaneous information associated with the postage imprint. The miscellaneous information may include, for example, the user's postal zone code 640 or the date for completing the cancellation endorsement fields 616 and 618, a rate or handling endorsement 664, or any other information ancillary to the postage imprint (see Figs. 5-6) . In step 242, the host computer sends to the printer instructions to select the postage logo font and format the characters forming the postage logo portion 612 of the postage imprint 662. Step 240 preferably keeps the printer busy while the microcomputer reads and validates the postage value field (see step 236) , so that the microcomputer has completed its validation function before the printer begins to format the postage logo portion. This enables the metering accessory to provide the appropriate valid or invalid postage logo image data according to whether or not sufficient postage was available.
In step 244, the printer formats the postage logo portion of the imprint, reading the image data for the postage logo portion from the metering accessory. In step 246, the metering accessory provides the image data for the postage logo to the printer. If the microcomputer has asserted the ACK signal (step 236) , indicating that sufficient postage was available to satisfy the imprint request, the state machine and associated address translation logic cause the metering accessory ROM to supply the image data for the valid postage logo. If the inicrocomputer has not asserted the ACK signal, then the image data for invalid logo is supplied. In step 248, the host computer sends to the printer a printer-reset command to cause the printer to print and eject the page containing the postage imprint, and any other material formatted on that page. In step 250, the printer prints and ejects the formatted page. In step 252, the printer resets certain internal parameters to default values, and readies itself to print another page. In step 256, the microcomputer observes that the printer has completed printing the page containing the postage imprint, negates the ACK signal, and returns to its idle mode.
Fig. 4 is an electrical schematic diagram showing an electronic circuit 410 for implementing the metering accessory 100 of the present invention. The exemplary circuit 410 is described herein as an implementation of the present invention adapted for use with several models of printers sold by Hewlett- Packard under the name "LaserJet and compatible printers of other manufacturers. Such printers are hereinafter referred to as the "exemplary printers." However.the circuit 410 could be modified within the spirit of the present invention for use with a large variety of high quality printers.
The circuit 410 communicates with the printer 110 through the printer's font cartridge interface 132. An electrical and mechanical connection to the printer's font cartridge interface 132 is provided using a suitable connector 420 adapted to mate with a font cartridge interface connector (not shown) provided on the printer 110. For example, as best seen in Fig. 4, connector 420 may be a printed circuit cardedge connector having 25 terminal fingers on each side of a printed circuit card. This configuration is compatible with the font cartridge inter- face connector of the exemplary printers. A different connector might be required in order to adapt the metering accessory 100 for use with other printers if the font cartridge interface of such printers are.not designed to be compatible with the ex- emplary printers.
The font cartridge interface 132 of the exemplary printers comprises an interface bus 136 of 50 signal leads, including a 20-bit address bus 138 (individual signals of which are designated AO-A19) , a 16-bit data bus 142 (individual signals of which are designated DO-D15) , a set of control signals 140
(designated XO-X6) , and power supply signals Vcc414 and Ground 412. The power supply signals Vcc414 and Ground 412 appear on multiple signal leads of interface bus 136.
The power supply signals Vcc414 and Ground 412 allow the printer to supply necessary operating power to the metering accessory circuit 410. In current models of the exemplary printers, Vcc414 is approximately +5.0 V with respect to Ground 412, and the components of circuit 410 are selected for compatibility with the provided power supply. However, if it were desired to adapt the circuit 410 for use with a printer that provides a different power supply voltage, suitable components compatible with the such a power supply could be substituted. Several decoupling capacitors 442 are connected across Vcc414 and Ground 412 and are located electrically "near" the integrated circuits of circuit 410 to decouple noise produced by such integrated circuits from the power supply signals Vcc414 and Ground 412. Capacitors 442 may be any suitable decoupling capacitors, such as 0.1 vF ceramic capacitors; preferably, at least one larger capacitor, such as a 10,uF electrolytic capacitor, is also provided. A Pull-Up signal 416 is provided so that some inputs to the integrated circuits of the circuit 410 may be connected to a signal having a "high" logic level without directly connecting the inputs to Vcc414. The Pull-Up signal 416 is connected to Vcc414 through a resistor 418 which may be a 1 kn resistor or another appropriate value.
As best seen in Fig. 4, the functions of circuit 410 are provided by several interconnected integrated circuit (IC) devices: address buffers 422 and 424; data buffers 438 and 440; a microcomputer 148; state machine, address translation and control logic devices 426 and 428; Read-Only Memory devices 424 and 436; auxiliary memory devices 430 and 432; and a numeric display 446 with associated control devices 444 and 448. Each of these devices are discussed further in greater detail. The specific selection of integrated circuit devices described herein is merely one way of implementing the functions of circuit 410, employing products which are commercially available and are affordable in small quantities. However, other devices could also be used. In particular, if it is desired to manufacture the metering accessory 100 in large quantities, many or all of the functions of circuit 410 may be implemented using fewer IC devices if gate-arrays or other semicustom or custom IC technologies are employed. Circuit 410 comprises an 19-bit internal buffered and modified address bus 160, individual signals of which are designated AAO-AA18. Signals AO-A14 and A17 of the font cartridge interface address bus 138 are buffered by address buffers 422 and 424 to produce signals AA0-AA14 and AA17. Buffers 422 and 424 are connected unidirectionally for receiving addresses from the printer 110 via the interface address bus 138; the metering accessory circuit 410 never asserts an address on the interface address bus 138. Address buffers 422 and 424 may be any suitable buffers, such as type 74LS244 octal three- state buffers. The output enable inputs of buffers 422 and 424 are tied to Ground 412 so that the outputs are always enabled. Internal address signals AA15-AA17 are provided by the state machine and logic circuits 426 and 428 and are described later in more detail.
Circuit 410 also comprises a 16-bit internal data bus 460, individual signals of which are designated ADO-AD15. Data retrieved from ROM devices 434, 436, 534, and 536 is supplied on the internal data bus 460, buffered by data buffers 438 and 440, and provided on the font cartridge interface data bus 136 for use by the printer 110. Buffers 438 and 440 are connected unidirectionally for transmitting data to the printer 110 via the interface data bus 136; the metering accessory circuit 410 never receives data from the printer via the interface data bus 138. Data buffers 438 and 440 may be any suitable buffers, such as type 74LS244 octal three-state buffers. The output enable inputs of buffers 438 and 440 are connected to an output enable (OE) signal 462 which is generated by state machine and logic circuit 426. Generation of the OE signal 462 is described later in more detail.
ROM devices 434, 436, 534, and 536 are used to store font image data and associated data structures and may be any suitable byte-wide Read-Only Memory devices having a total capacity of at least 256 K bytes. Alternatively, the ROM devices may be implemented as suitable memory devices of other organizations or widths; for example, 1-bit, 4-bit, or 16-bit wide devices be used. Although the ROM devices 434 and 436 are referred to herein as "Read-Only, " they may be implemented using any appropriate memory technology capable of relatively non¬ volatile long term storage, including conventional mask- programmed ROMS, Programmable ROMs (PROMs) , Erasable PROMs (EPROMs) , Electrically-Erasable PROMs (EEPROMs) , Electrically- Alterable ROMs (EAROMs) , FLASH memory, and battery-backed Random Access Memory (RAM) .
As best seen in Fig. 4, for example, ROM devices 434, 436, 534, and 536 may be implemented using type 27CO40 EPROMs each having a capacity of 4 M bits (organized as 512 K by 8 bits) . Such devices are available from Intel Corporation (3065 Bowers Ave., Santa Clara, CA, 95051), and may also be available from other manufacturers. The output enable inputs of the ROMs 434, 436, 534, and 536 are connected to the OT signal 462 generated by state machine and logic circuit 426. The chip enable inputs of ROMs 434, 436 are connected to a Chip Enable (CE 12) 464, also generated by state machine and logic circuit 426. The chip enable inputs of ROMs 534, 536 are connected to a Chip Enable (CE 34) 524, also generated by state machine and logic circuit 426. Generation of the OE 462, CE12 464, and CE34 524 signals is described later in more detail. Where bytewide memory devices are used, pairs of ROMs (434 and 436, or 534 and 536) operate simultaneously to deliver a 16 bit output word to the internal data bus 460.
In a commercial embodiment of the invention, it is believed that 1 M bytes is sufficient to store the image data and auxiliary data structures needed for operation of the metering accessory 100, as well as some additional fonts which are not required for the operation of the metering accessory 100 but which may be helpful to users for general printing functions. Although the schematic diagram of Fig. 4 shows memory sockets, address signals, and chip enable signals sufficient to ac¬ commodate four memory devices, only two memory devices of 4 M bits capacity are needed to provide the necessary storage. Thus, in a production embodiment, two of the memory devices (e.g. 534, 536) could be omitted, as could their associated chip enable signal (e.g. CE34) .
As the storage capacity of memory devices improves, fewer devices may be used to achieve the same total storage, or increased storage may be provided with the same number of devices. As shown herein, the circuit 410 could accommodate four type 27040 EPROMS, to provide a total capacity of 2 M bytes, without modification. Two type 27080 EPROMs could also be used to provide the same total capacity. Note that the address space provided in the font cartridge interfaces of many popular printers is limited to 2 M bytes, and therefore, larger capacities may not be useful. Other memory organizations and sizes could also be used by making small modifications to the state machine and address translation circuitry and to the organization of the font data in the ROMS, which will be discussed later in detail.
The state machine, address translation logic, auxiliary memories, and related functions of the metering accessory circuit 410 rely on a particular organization of font image data within the ROMs 146. Accordingly, before discussing the operation of these components, it will be helpful to consider Fig. 11, in conjunction with the tables of Appendix A and B. Fig. 11 shows, in tabular form, the organization of the font data in the ROMS. Table 1110 of Fig. 11 is essentially a map of the address space of the ROMs 146. Each row entry of the table 1110 corresponds to an arbitrarily defined region within the address space. The first column 1126 of the table 1110 contains descriptions of the information to be stored in each address region. The second column 1128 contains address descriptors which indicate the length of each region and the addresses which it occupies. Each address descriptor in the second column 1128 contains 20 bit positions 1112 corresponding to the 20 bits of ROM address space; each entry forms a binary value indicating the addresses which the region occupies. A dash "-" in a bit position indicates that the binary value of that bit position may be either 0 or 1, and therefore, the size of an address region is determined by the number of dashes in its corresponding address descriptor. The symbol ■■$" is used herein as a prefix to indicate that a number is expressed in hexadecimal notation.
For example, row 1130 contains an address descriptor of "000000010000 " . Since the eight least significant bits of the address descriptor are dashes, they can have any value. An address will be in the described region if its 12 high-order bits are "0 0 0 0 0 0 0 1 0 0 0 0", regardless of the contents of the eight low-order bits. Therefore, the associated address region extends from $01000 to $010FF, and the length of the region is 256 ($100) words. ROMs 146 contain, inter alia, six fonts (referred to as fonts "A" through "F") 170, 172, 174, 176, 178, and 180 (Fig. 1) . Each of these fonts correspond to a different selected one of the six digit positions of the postage value field 622 (Fig. 6a) . In an exemplary embodiment of the invention, it is sufficient to provide 16 characters in each such font: the digits 0-9, a blank or special place-holding character, a reset character, and first, second, and third attention characters. ROMs 146 also contain two fonts 162, 164 (referred to as fonts "G" and "G.") for printing the invalid postage logo and the valid postage logo respectively. Font "G" preferably may also include image information for printing handling endorsements, a desired postal rate class, or other information. ROMs 146 may contain one or more additional fonts (not shown) which may be used to print any other material which a user desires to print. This material may or may not be associated with the postage imprint.
In addition, ROMs 146 contain auxiliary data structures 166 for describing certain characteristics of fonts contained therein, including the location of the image data for such fonts. The format of the auxiliary data structures of a font cartridge for a particular printer is generally defined by the printer manufacturer. For many printers, including the exemplary printers discussed above, the manufacturer and a plurality of other parties produce compatible font cartridges. Thus, the technique of providing auxiliary data structures to describe the characteristics of a font and to identify the locations of its image data, and the specific formats of those data structures, are well known in the art and they will not be further discussed here. For the present invention, it is sufficient to understand that the image data for each character of a font is located at predefined addresses, and that the printer contains means to determine these addresses and fetch the image data therefrom when it receives instructions to format the character.
Appendix A lists each of the digit fonts, and shows the correlation between the font, the address where its image data begins, the digit position within the postage value field with which the font corresponds, and the resulting order-ofmagnitude value of such digits. Appendix B lists each of the 16 characters defined for the digit fonts. For each character, Appendix B indicates the corresponding data which must be sent to the printer to cause it to access the font image data for that character, the appearance of the character when printed, and the meaning which the metering accessory 100 attaches to the character.
The image data for the characters of each of the digit fonts A-F is stored in adjacent fixed-length regions, and the storage regions for all of the digit fonts are stored adjacent to one another. The image data for each of the logo fonts G and G. is stored in separate fixed length regions, which happen to be larger than the regions provided for the digit fonts because more image data is required for the logos. Thus, as best seen in Fig. 11, the image data 1160 for font A, corresponding to the left-most digit position of the postage value field, begins at address $01000, and comprises 16 256-word regions 1130, 1132,..., 1134, each corresponding to one of the 16 characters in that font. Only the regions allocated for characters 0, 1, and 15 are shown; the intervening regions are omitted for brevity, as indicated by ellipses. Similarly, the image data 1162 for font B begins at address $02000, and comprises 16 256- word regions 1136, 1138,..., 1140; the image data 1164 for font F begins at address $06000 and comprises 16 256-word regions 1142, 1144, ..., 1146. Intervening fonts C-E are omitted from the table 1110 for brevity.
Regions 1148, 1150, and 1152, corresponding to the first, second, and third attention characters respectively, are shown in a group 1166. Although these regions are grouped separately from the characters of the digit fonts, in fact, as shown in Fig. 11, their addresses are identical to characters 12, 13, and 14 of font A. Thus, these regions are actually shown out of order. The attention characters are provided in each of fonts A-F and they will be recognized if printed in any of these fonts. However, these fonts may have different horizontal escapements, and consequently, the cursor may be in different positions after printing the attention sequence, depending on which font is chosen. Regions 1154 and 1156 are allocated to contain the font image data for the valid and invalid postage logos Go and G respectively. Region 1154 begins at address $08000 and extends for 16 K words. Region 1156 begins at address $10000 and extends for 16 K words. A region 1170 is provided to contain the auxiliary data structures which describe certain font characteristics and identify the location of the font image data to the printer. Region 1170 begins at address $00000 and extends for 4 K bytes. The required internal data organization for a font cartridge differs among printer families, and in some instances, among individual members of those families. Additional information on the organization of font cartridges for a particular printer may be obtained from the printer manufacturer or by examining the data contents of a font cartridge known to work with that printer. Additional information on the organization of font cartridges for the exemplary printers is also available as a commercial product from Mark Five Systems, 2115 N. Grand Avenue Pueblo, CO 81003. The 20 address bit positions 1112 of the second column 1128 are grouped into fields 1114, 1116, 1118, 1120, 1122, and 1124 for convenient reference. For a given address, useful information about the data stored at that address can be obtained by examining these fields. Address bits 19-17 form an unused field 1114. In the exemplary circuit 410, 128 K words is sufficient to store all of the required font image data and no addresses above $LFFFF are required. Address bits 16-15 form a "stamp switch" field 1116. This field indicates whether the address refers to the invalid postage logo image data (field=10) , valid postage logo (field=01) , or other data (field=00 or 11) .
The regions for storing the image data for each digit font are aligned on even 12-bit boundaries. The regions for storing the image data for each digit character are aligned on even 8- bit boundaries. Thus, for an address in the digit font regions, address bits 14-12 indicate the particular font to which the address corresponds, and address bits 11-8 indicate the particular digit character within that font to which the address corresponds. Further, since each digit font is associated with a particular digit position within the postage value field, address bits 14-12 also indicate the digit position to which that address corresponds.
Address bit 14 forms a high-order digit position field 1118. Address bits 14-13 form a low-order digit position field 1120. Address bits 11-8 form a character number field 1122. The information in these fields is used by the state machine and address translation devices 126, 128, to determine that a postage imprint is being requested, and by the auxiliary memory devices 430 and 432 to temporarily capture the digits of the postage value field 622 for later use by microcomputer 148. The remaining address bits 7-0 and 19-17 form a field 1124 which is used by the state machine. However, these bits are used as ordinary address bits by ROM devices 434, 436, 534, and 536. As noted above, in order to imprint postage, the host computer 120 communicates to the metering accessory 100 that an imprint is to be performed, and the value thereof, by instructing the printer 110 to print certain predefined se¬ quences of characters in selected fonts. These instructions cause the printer to fetch the font image data corresponding to those characters. The state machine monitors the address bus of the font cartridge interface in order to observe the printer as it fetches font image data, and in response to certain character and font combinations takes some action associated with the production of an imprint. The auxiliary memory devices also monitor the address bus and capture the characters of the postage value field when so instructed by the state machine. In some cases, the font image data associated with the characters is blank and the host computer issues the printing instruction for that character solely for its effect on the metering accessory. In other- cases, the font image data associated with the characters is non-blank, and the host computer issues the printing instructions for two purposes: to cause the printer to draw or format that image data onto the page; and to cause the metering accessory to take some action.
For example, the font image data associated with the metering accessory reset character is blank. When the host computer selects a digit font and sends the reset character, it causes the state machine of the metering accessory to reset itself, but no visible image associated with that character is rendered onto the page. The terms "blank" or "invisible," as opposed to "empty, " are used to describe the image data for such characters, because in order for the state machine to detect the characters it must observe the printer fetch some image data. In contrast, the font image data associated with the postage value digits generally form the images of the respective digits. When the host computer selects a digit font and sends an nstruction to print one of the digits, the printer formats or renders the image of that digit (or, in some cases) , and in addition, the state machine instructs one of the auxiliary memory devices 430, 432 to store an associated numerical value. Appendices A and B are tables which indicate how the printer 110 and the metering accessory 100 interpret instructions from the host computer 120 to format a digit font character. Appendix A, lists the digit fonts and indicates, for each such font, its typeface number, starting address, corresponding digit position, and order-of-magnitude digit value. Appendix B lists each of the 16 characters define for the digit fonts. For each character, Appendix B indicates the corresponding data which must be sent to the printer to cause it to access the font image data for that character, the appearance of the character when printed, and the meaning which the metering accessory 100 attaches to the character when it observes that the printer has accessed the character's font data. These tables may be consulted to determine how to format a message from the host computer 120 to cause a desired action in the metering accessory 100, and to decode a message from the host computer 120 to determine what action the printer 110 and the metering accessory 100 will take in response thereto.
For example, to format the digit "4" in the third position (i.e., the "units" digit position) of the postage value field 622, the host computer 120 must
• select digit font "C" (by sending an appropriate escape sequence which describes that font see-Appendix A) ; and
• send the ASCII character code "4" (i.e., a byte having the decimal value 52) (see Appendix B) .
Although it might seem obvious to send the ASCII character code "4" of to cause the printer to produce an image of the symbol "4", most modern printers do not impose a fixed mapping from ASCII character codes and the associated printed symbols. For example, the manufacturer of the exemplary printers has de¬ fined a plurality of tables, called "symbol sets", which define mappings from character codes to printed symbols. A printer user often may select one symbol set, among several available choices, to determine which mapping the printer will use for a particular font. The symbol sets available for each font of the metering accessory 100 are specified in auxiliary data structures 166 according to methods known in the art and defined by the manufacturer of the exemplary printers. In addition, the appearance of a printed symbol is determined by the font' s image data and varies from font to font, even when the symbol set remains unchanged. A printed symbol may therefore be entirely unrelated to the image normally associated with the ASCII character code required to cause that symbol to be printed.
As shown in Appendix B, the digit characters generally have printed appearances and metering accessory meanings which are close to what is normally expected for such characters. However, printed appearance of the digits in certain positions of the postage value field is slightly altered. In the fourth character position 638 (Fig. 6a), which is printed in font "D", each digit is preceded by a decimal point 644 (Fig. 5) . This avoids the need to explicitly format a decimal point in the correct position and renders it more difficult to produce fraudulent imprints by tampering with the position of the decimal point.
In the sixth character position 660 (Fig. 6a) , digits other than zero are printed in a raised position above a horizontal bar (e.g. -) . If the sixth character position 660 (i.e., the thousandths place) has the value zero, a special postage value end character is substituted instead (see Appendix B) . When printed, the end character appears as three closely-vertically- spaced tilde characters "~". Although the end character does not appear to be a digit, it is treated as the digit zero when the microcomputer 148 validates the postage value field.
Thus, to format the postage value end character, which is used only in the sixth character position, the host computer 120 must
• select digit font "F" (by sending an appropriate escape sequence which describes that font-see Appendix A) ; and
• send the ASCII character code ";" (i.e., a byte having the decimal value 59) or "0" (i.e., a byte having the decimal value 48) (see Appendix B) . Auxiliary memory devices 430 and 432 (Fig. 4) provide temporary storage to capture the digits of the postage value field by observing the printer's font cartridge interface address bus 138. As the printer 110 formats the postage value field, the state machine 156 and auxiliary memory devices 430 and 432 determine the digit values, and their positions, by observing the addresses at which the printer reads font image data. Once the postage value digits have been captured in the auxiliary memory devices 430, 432, the microcomputer 148 reads the data and performs its validation task. The state machine and control logic 144 manages write operations to the auxiliary memories 430, 432. The microcomputer 148 controls read operations. Auxiliary memory devices 430 and 432 are implemented in the exemplary circuit 410 by type 74LS670 4-word by 4-bit register files having three-state outputs, but other suitable memory devices could also be used with small circuit modifications. Each of the auxiliary memory devices 430, 432 has a set of four input leads, a separate set of four output leads, a read enable lead, and a write enable lead. These completely independent read and write facilities advantageously eliminate the need to provide external logic to multiplex the control, address, and data leads between the microcomputer 148 (for reads) and the state machine 156 and address bus 138 (for writes) .
The auxiliary memory devices 430, 432 provide a total of eight 4-bit registers for storing the digits of the postage value field. Since each digit font contains a maximum of 16 characters, a single 4-bit register is sufficient to store a code representing each character, and the auxilliary memories provide enough storage for eight digit characters. The postage value field 622 (Fig. 6a) contains only six characters, so two of the registers in the auxiliary memories are unused. The remaining two registers could be used to accomodate two more digits by defining two additional digit fonts and modifying the state machine and control logic 144 accordingly.
The postage value field 622 always contains six digits, and the position of each digit within the field can be determined from the font in which it is printed. Each postage value digit is stored in a register location in one of the auxiliary memory devices 430, 432 corresponding to its position within the field 622. Auxiliary memory device 432 stores the first three digits 632, 634, and 636 (Fig, 6a) . and auxiliary memory device 430 stores the remaining three digits 638, 640 and 642. Because a digit's position within the field 622, and therefore its order- of-magnitude value, can be determined from the address in auxiliary memories 430,432 at which it is stored, it is not necessary to explicitly store the digit's font or position in the auxiliary memory devices 430, 432.
As best seen in Fig. 4, address lines AA8-AA11 of the internal address bus 160 are connected to the four data input leads of auxiliary memory devices 430,432. These address lines form the character number field 1122 (see Fig. 11) . When the printer fetches font image data for a character in a digi font, this field contains a number [0-15] representing the ordinal position of that character within the font (see Appendix B) . Address lines AA12-AA13 of the internal address bus 160 are connected to the two write address input leads of auxiliary memory devices 430,432. These address lines form the low-order digit position field 1120 (Fig. 11) .
State machine and control logic device 428 generates two gated write control signals GW0 476 and GW1 474 which are provided to the active-low write enable inputs of auxiliary memory devices 432 and 430 respectively. State machine device
428 asserts GW0 476 when it expects to receive digits and it detects the printer reading from an address assigned to one fo the digit fonts A-C, and GW1 474 when digits are expected and the printer reads from fonts D-F.
The state machine device 428 expects to receive digits when it has been previously armed by the printer reading font image data corresponding to a pre-defined string of attention characters. The state machine device 428 detects the printer reading from one of the digit font by, inter alia, observing that address line AA17 is low. The state machine 428 further distinguishes between reads from fonts A-C and fonts D-F using address line AA14. The image data for fonts A-C is assigned to the address range $01000-$03FFF; address line AA14 is low throughout this range. The image data for fonts D-F is assigned to the address range $04000-$06FFF; address line AA14 is high throughout this range. Address line AA14 forms the high-order digit position field 1118 (Fig. 11) , in that when the printer reads image data for a digit character, address line AA14 determines whether the state machine device records that digit in the low order auxiliary memory device 432 or thl high-order device 430. Thus, when the printer reads image data from an address assigned to the digit fonts, the state machine device 428 writes the contents of the character number field 1122 (address bits AA8-AA11) into the register addressed by the low-order digit position field 1120 (address bits AA12-AA13) in the auxiliary memory device selected by the high-order digit position field 1118 (address bit AA14) .
The microcomputer 148 generates two read address signals 484 and 486 which are provided to the read address inputs of auxiliary memory devices 430, 432. The microcomputer 148 generates two gated read-control signals GR0 480 and GR1 478 which are provided to the active-low read enable inputs of auxiliary memory devices 432 and 430 respectively.
Microcomputer 148 asserts GR0 480 to read stored digits from low-order auxiliary memory device 432, and asserts GR1 478 to read digits from high-order auxiliary memory device 430. Each of the four data output leads of auxiliary memory device 430 is connected to its corresponding output lead of device 432 in a "wired-or" configuration to form a four-bit auxiliary memory output bus 494. Bus 494 is provided to four input terminals of the microcomputer 148. Auxiliary memory devices 430 and 432 preferably have three-state or open collector outputs so that when the microcomputer 148 is reading from a selected device, the unselected device does not cause interference. The microcomputer can reconstruct the amount of the postage value field because each digit is stored at a register address which corresponds to the font in which it was printed, which in turn corresponds to the position of the digit in the postage value field, which further corresponds to an order-of-magnitude value assigned to that position. The microcomputer 148 and its control software are discussed further in greater detail.
Microcomputer 148 maintains a record of the available postage, and validates the postage value field of a requested postage imprint to determine whether or not sufficient postage was available to satisfy the request. In addition, micro¬ computer 148 may control a display 510, 446, and associated driver circuits 444, 448 to indicate the amount of postage available and other useful information. Microcomputer 148 is preferably a self-contained microprocessor based circuit having sufficient internal ROM, RAM, registers, and I/O capability to carry out the above functions.
A prototype embodiment of the invention has been, constructed in which a type 8749 microcomputer was used with appropriate software. In that embodiment, approximately 2 K bytes of EPROM were needed to contain programs and static data, about 64 bytes of RAM and 32 registers were used to contain dynamic data (including the available postage record, known as the "descending" register, and the cumulative postage used record, known as the "ascending" register) , 15 parallel output bits and 8 parallel input bits were required. The 8749 microcomputer of the prototype embodiment is depicted in the schematic diagram of Fig. 4. Software 184 (Fig. 1) used to control the microcomputer 148 in the prototype embodiment was written in an assembly language for the 8048/9 family of microcomputers.. The structure of software 184 is described further in conjunction with Fig. 10.
The software 184 used in a commercial embodiment of the invention may provide features in addition to those provided in the prototype embodiment, and therefore, a microcomputer which provides larger amounts of RAM and ROM would be preferable.
Further, neither the circuit 410 nor the 8749 microcomputer 148 of the prototype embodiment include means for modifiable, non-volatile storage of the record of available postage. In addition, no provision is made in the circuit 410 for either code security or data security. Providing a modifiable, but non-volatile storage means is essential in this application, because there is no guarantee that the metering accessory will always have a supply of external electrical power to maintain the microcomputer's RAM or register contents. For example, it may be necessary to turn off the printer to which the metering accessory is connected, or to move the metering accessory from one printer to another, or to store the metering accessory in a secure location, such as a safe, away from the printer. Code and data security are advantageous is preventing tampering.
There are several ways of providing such modifiable non¬ volatile storage. For example, a microcomputer having extremely low standby power requirements and a battery may be provided to supply power continuously to maintain the microcomputer's internal storage, even when the metering accessory is unable to receive power through the font cartridge interface bus 136. The backup battery may be rechargeable battery which is recharged automatically when external power is available. Alternatively, a non-volatile storage means could also be provided by a device external to the microcomputer but connected thereto, such as an EEPROM, an Electrically-Alterable ROM (EAROM) or any other suitable non-volatile memory. Alternatively, a microcomputer having a small quantity of internal Electrically Erasable PROM (EEPROM) could also be used.
In view of these constraints on the microcomputer 148, a type 87C51BH microcomputer, which provides 128 bytes of RAM, and 4096 bytes of EPROM, could be advantageously employed in a commercial embodiment of the invention. These microcomputers have instruction sets similar to those of the 8748/9 micro¬ computer of the prototype embodiment, and therefore, the software 184 should operate with only minor modifications. Type 87C51BH microcomputers are available from Intel Corporation (3065 Bowers Ave., Santa Clara, CA, 95051) . A backup battery could be provided to maintain the contents of the microcomputer's registers and internal RAM when external power is not available. Several other manufacturers also make microcomputer products which are capable of performing the tasks required of microcomputer 148, and these could also be used if software 184 is modified accordingly.
Microcomputer 184 preferably includes an internal clock oscillator so that an external clock generator is not required. As best seen in Fig. 4, a crystal 454 is connected across the crystal terminals of the microcomputer 184. Crystal 454 may be any appropriate crystal compatible with the microcomputer 184, such as an 11.0592 MHz, series-resonant crystal. A capacitor 458 is preferably connected from one of the crystal terminals to Ground 412. Capacitor 458 may be any suitable capacitor, such as a 22 pF ceramic capacitor. A capacitor 456 is preferably provided between the RESET so that when the microcomputer initially receives operating power, the microcomputer 148 enters and remains in its reset state for a small delay period. This prevents the microcomputer from being cycled through a plurality of reset operations if the power supply is temporarily unstable (e.g., if a user inserts the metering accessory 100 while the printer power supply is operating) . Capacitor 456 may be any suitable capacitor, such as a 10, μF electrolytic capacitor, which provides a reset escape delay of about 0.1 seconds. The 8749 microcomputer 148 provides an 8-bit data bus port, which is fully bidirectional, and two 8-bit semi-bidirectional "parallel" ports, which may be selected to be input ports or output ports under program control. In the circuit 410 of Fig. 4, the data bus port and one of the parallel ports are used to provide output signals from the microcomputer, and the remaining parallel port is used to provide input signals to the microcomputer. In addition, microcomputer 148 preferably has at least one interrupt input.
As best seen in Fig. 4, the active-low interrupt input of the microcomputer 148 is connected to the ATTN signal 466 produced by device 426. The ATTN signal 466 is active when a postage imprint has been requested and the state machine 156 (Fig. 1) has received the final digit of the postage value field. The ATTN signal instructs the microcomputer 148 to validate the postage value field and report whether sufficient postage was available to satisfy an imprint request. The microcomputer 148 provides an acknowledgment signal (ACK) 470 output which is connected to an input of the state machine and address translation device input of the microcomputer 148 and Ground 412, 428 to report the result of the postage value validation step. ACK 470 is used by the state machine and address translation logic 144 to select whether to provide the image of a valid or an invalid postage imprint logo. ACK 470 is active during an imprint request to affirmatively indicate that sufficient postage was available, and once asserted, ACK 470 remains active until the metering accessory 100 detects a reset character. This allows the host computer 120 to send instructions to the printer 110 to format the postage imprint logo without imposing undue time constraints on the completion of logo formatting step.
The microcomputer 148 also generates a busy signal (BUSY) 482 to indicate that the microcomputer 148 has begun the process of validating the postage value field. BUSY 482 is provided to an input of the state machine and address translation circuit 428. In addition, the microcomputer 148 receives two state variable signals FO 488 and Fl 490 which are produced by the state machine and address translation circuit 428. Signals FO 488 and Fl 490 indicate which of four possible states the state machine 156 occupies. The microcomputer 148 uses this state information to determine when a postage imprinting cycle has been completed. The interaction between the microcomputer 148 and the state machine 156 is described further in greater detail. The exemplary circuit 410 optionally may have means to display the microcomputer's record 154 of available postage and other useful information. The display may be any suitable display means which may be controlled by the microcomputer or which can otherwise display the desired information. For example, as best seen in Fig. 4, circuit 410 may contain a 9- digit light emitting diode display 510 having a two-digit status field 512, a blank section 514, and a six-digit register display field 516. Other display sizes and configurations could also be used; preferably, the display provides sufficient character positions to display all of the digits of the ascending and descending postage registers, along with additional characters to indicate which register is being displayed. The display 510 may be implemented using a multiplexed 9-digit display module 446, with each digit having 7 segments plus a decimal point.
Such display modules are commercially available from NSA-Hitachi SID (E. Middlefield Road, Mountain View, CA, 94043) as part number NSA 1583.
Circuit 410 preferably has suitable data conversion and driver circuits 444, 448 to conveniently interface the multiplexed display module 446 to the microcomputer 148, as is well known in the art. For example, a suitable BCD segment decoder-driver circuit 444, and a suitable digit address decoder 448 may be provided to drive the segment inputs and the digit inputs of display module 446 respectively. Since the display module 446 is both vertically and horizontally multiplexed, the microcomputer can usefully illuminate only a single digit at one time. The microcomputer 148 selects a digit of the display to be illuminated by placing a 3-bit digit address on three digit- select output signals 504 provided to decoder 448. The decoder 448 enables the selected one of its eight digit enable outputs 502, which are connected to the digit input leads of the display module 446. In the exemplary circuit 410, BCD decoder 444 is a type 7448 BCD decoder-driver circuit, and digit address decoder 448 is a type 74LS138 three-line to eight-line decoder- demultiplexer. However, other suitable components could also be used.
For each digit to be displayed, the microcomputer provides to BCD decoder 444 a corresponding BCD value on four output leads 496. The BCD decoder 444 has seven output leads 498, each of which is connected to one of the display segment inputs. The decoder 444 maps the input BCD value to the display segments which must be illuminated to form an image of the corresponding digit, and enables the corresponding output lead. To give the appearance of multiple simultaneously illuminated digits, the microcomputer 148 may rapidly select the digits in sequence using the digit address lines 504, and provide the corresponding BCD digit on output lead 496. Microcomputer 148 preferably provides an output lead 506 which is connected to one of the enable inputs of decoder 448. This enables the microcomputer to easily enable or disable the display module 446. Microcomputer 148 preferably also provides an output lead 518 which is used to control the decimal point segment of the display. The DP signal 518 is provided to programmable logic device 426, which produces a buffered version of the signal (DP2) 522. The buffered DP2 signal 522 is connected to the decimal point segment input of the display via a dropping resistor 520. The dropping resistor limits the current through the decimal point display segments, thereby equalizing the brightness of the decimal point and the other segments. Any suitable resistor may be used. For example, resistor 520 may be a 6.8 kΩ 0.25 W film resistor. Microcomputer 148 provides an input lead 492 connected to a jumper block 450. The jumper block may be employed during testing to select whether or not the available postage value, or other information about the status of the metering accessory, is posted to display device 446. Jumper block input lead 492 is pulled up to Vcc 414 via a resistor 451, such as a 1 KΩ 0.25 W resistor. Additional test jumpers and similar associated circuitry 450a may be provided to select various status displays and test modes. The jumper blocks and associated circuitry may be omitted from production devices. The state machine, address translation and control logic devices 426 and 428 provide a variety of functions needed to enable the remainder of the metering accessory circuit components to cooperate. Devices 426 and 428 are preferably implemented using suitable programmable logic integrated circuits. For example, device 426 may be a type 16V8 or 16L8 Programmable Array Logic (PAL®) or Generic Array Logic (GAL®) IC, or any equivalent programmable logic device. Device 428 may be a type 22V10 registered PAL/GAL, or equivalent. The 16V8 and 22V10 type devices are available from Lattice Semiconductor Corporation (5555 Northeast Moore Ct. , Hillsboro, Oregon, 97124) and Advanced Micro Devices (P.O. Box 3453, Sunnyvale, California, 94088) , and may also be available from other manufacturers. ["PAL" is a registered trademark of Monolithic Memories Inc; "GAL" is a registered trademark of Lattice Semiconductor Corporation.]
Although particular types of PAL integrated circuits are described for use in the exemplary circuit 410, other types of PAL circuits, or other programmable logic technologies (e.g., gate-array logic devices) could also be used. The use of programmable logic circuits enables a relatively large number of combinational and sequential functions to be integrated in only a couple of IC packages. The functions of devices 426 and 428 could also be implemented using small-scale integrated circuits, but a relatively large number of IC packages would be required. If, as suggested previously, gate-arrays or other semi-custom or custom IC technologies are employed to implement the functions of other components of the circuit 410, then the functions of devices 426 and 428 would preferably also be included therein. Programmable logic integrated circuits of the type used to implement the state machine, address translation and control logic devices 426 and 428 contain a plurality of combinational logic elements and, optionally, register elements. The interconnections between these elements can be, at least in part, determined after the device has been manufactured. The term "programming, " as applied to such ICs, refers to the physical process for determining the functional interconnection of the gate and register elements contained in the device. Several products are commercially available to perform the programming process, responsive to a low-level or machine- readable description of these interconnections. In addition, other products are commercially available to convert a high- level design description of the desired functions of a programmable logic IC, expressed in a language which is easily understood by one skilled in the art, into the low level description needed to program the IC.
Exemplary high-level design descriptions for use in programming device 426 and for programming device 428 have been prepared. One design description provides a design for device 428 which renders the circuit 410 compatible with several models of printers sold by Hewlett-Packard under the name "Laser-Jet", and compatible printers of other manufacturers. Another design description provides a design for device 428 which renders the circuit 410 compatible with a model 4039 printer sold by the Lexmark division of International Business Machines.
The design descriptions are written in "Tango Design Language" (TDL) . These descriptions may be processed by a commercially available software package sold by Accel
Technologies, Inc. (6825 Flanders Drive, San Diego, California, 92121-2986), under the name "Tango-PLD." The software produces low-level programming files for each device. The low level programming files may then be used by any suitable programming equipment to program the devices 426 and 428. For example, the model "EXPRO-40" programming system, available from Songtech International, Inc. (44061 S. Grimmer Boulevard, Fremont, California, 94538) is compatible with the low-level programming files produced by the "Tango-PLD" software, and is capable of programming type 16L8, 16V8, 22L10, and 22V10 programmable logic ICs. Other software and hardware systems are available for programming programmable logic circuit and could be used to program devices 426 and 428. However, the design descriptions may require modifications to conform to the requirements of those systems.
The functional behavior of state machine, address translation and control logic devices 426 and 428 is fully specified in the design descriptions. Only a general explanation of the functions of these devices is provided here. Device 426 receives timing and control signals XO, X4, X5, and X6 140, and address lines A18 and A19 from the font cartridge interface bus 136. The control signals 140 used by the font cartridge interface and used in the circuit 410 are defined by the manufacturer of the printer for which it is to be used. For certain models of Hewlett-Packard's LaserJet family of printers, the relevant control signals are used as follows: XO is a fast (0 wait-state) clock; X3 is a wait return and output gate signal which is returned to the printer from the cartridge; X4 is an active-low address enable signal; XS is an active-high cartridge select signal; and X6 is a slow (2 wait- state) clock. In circuit 410, X6 and X3 are connected so that the cartridge always operates at 2 wait states. Device 426 produces three chip enable signals (CE, CE12, and CE34) 524, 464, and 526 and an output enable signal (OE) 462. OE 462 is active low and is asserted when X0, X4, and X6 are low and XS is high. CE 526 is active low and is asserted when XO, X4, A18 and A19 are low and XS is high. CE12 464 is active low and is asserted when X0, X4, A18 and A19 are low and XS is high. CE 524 is active low and is asserted when X0, X4, and A18 are low, and XS and A19 are high. The chip enable signal CE 526 is provided to an input of device 428. The chip enable signal CE12 464 is provided to the chip enable inputs of ROM devices 434 and 436. The chip enable signal CE34 524 is provided to the chip enable inputs of ROM devices 534 and 536. The output enable signal (OE) 462 is provided to the output enable inputs of ROM devices 434 and 436, and to the output en- able inputs of the data bus buffers 438 and 440.
Device 426 also receives a decimal point (DP) signal 518 from the microcomputer 148, and produces a buffered version of the signal (DP2) 522 which is used to illuminate the decimal point segment of the display 446. The font cartridge interface address bus 138 is 20 bits wide, and therefore, provides an address space of 1 M words. As mentioned previously, the exemplary embodiment requires only 512 K words (1 M bytes) of ROM space in order to provide the functions of the inventive postage metering accessory. The chip enable signal CE12 464 enables ROM devices 434, 436 only when an address in the lowest 256 K words of the font cartridge interface address space. The chip enable signal CE34 524 enables ROM devices 534, 536 only when an address in the highest 256 K words of the font cartridge interface address space. The output enable signal OE 462 enables the output buffers 438, 440 whenever the metering accessory is addressed.
It may be desirable to provide in the postage metering accessory 100 some additional fonts, macros, or the like, which are not required for postage imprinting functions, but nonetheless may be valuable to users. Such additional fonts could be provided in the postage imprinting ROM devices 434, 436, 534, and 536. Alternatively, it may be preferable to provide any such additional fonts in separate ROM devices (not shown) so that no modifications to the contents of the postage imprinting ROMs are required. For example, if postal authorities require certification of the postage imprinting ROMS, then adding fonts or other materials to those ROMs might require recertification, whereas providing fonts through sepa- rate additional ROM devices may not. Additional ROMs may be easily added to the circuit 410 by connecting them to buffered address and data busses and the OE signal 462, and by producing one or more suitable additional chip enable signals which are active when the postage imprinting ROMs are not being accessed. Alternatively, the ROM devices 434, 436, 534, and 536 could be segregated in pairs, so that, for example, ROMs 434 and 436 contain the information needed for postage imprinting functions, and ROMs 534 and 536 contain a plurality of additional fonts. Programmable logic device 426 also receives an attention signal (ATTN) 468 from device 428 which indicates when the state machine 156 has detected that a postage imprint has been requested and the final digit of the postage value field has been received. When this event occurs, the microcomputer 148 must read and validate the postage value. The interrupt input of microcomputer 148 is an active-low input, but ATTN 468 is an active-high signal. Accordingly, device 426 inverts ATTN 468 to produce an active-low attention signal (ATTN) 466 which is connected to interrupt input of microcomputer 148.
Programmable logic device 426 also receives a decimal point (DP) signal 518 from the microcomputer 148, and produces a buffered version of the signal (DP2) 522 which is used to illuminate the decimal point segment of the display 446.
Programmable logic device 428 provides state machine and address translation logic functions. Device 428 receives as inputs the internal (buffered) address leads AA8-AA14 and AA17 from internal address bus 160, and receives external address leads A15 and A16 from the external address bus 138. Device 428 also receives as inputs an acknowledgment signal (ACK) 470 and a busy signal (BUSY) 482 from the microcomputer 148. The acknowledgment signal (ACK) 470 is asserted by the microcomputer 148 to indicate that it has read the postage value digits and that sufficient postage was available to satisfy the postage imprint request. The busy signal (BUSY) 482 is asserted by the microcomputer 148 when it begins to process the postage value digits. Device 428 also receives as an input a clock signal (CLK) 472 which is fed back from one of the outputs of that device. The state machine and address translation device 428 also provide the feedback clock signal to the microcomputer 148. Device 428 also implements a state machine 156 (Fig. 1) having four states. The state in which the state machine 156 resides at any time is determined by state variables FO and Fl, which appear as output signals FO 488 and Fl 490 of device 428. The state variable output signals F0 488 and Fl 490 are provided as inputs to microcomputer 148. The state machine is initially in a normal state [F1=0,F0=0] . The state machine 156 monitors the address busses 138 and 460, and, as it observes the printer fetching image data corresponding to first, second, and third attention characters >, =, and <, it steps through states [0,1] , [1,1] , and [1,0] . When the state machine enters state [1,0] , it is "armed" to receive the digits of the postage value field 622.
Once the final digit of the postage value field has been received, device 428 generates an attention signal (ATTN) 468 to indicate that the state machine 156 has detected a postage imprint request and the final digit of the postage value field has been received. ATTN 468 is inverted by device 426 to produce the ATTN 466 signal which is supplied to the interrupt input of microcomputer 148. The interrupt instructs the microcomputer 148 to validate the collected postage value digits. The microcomputer 148 asserts BUSY 482 soon after it receives the interrupt.
Logic is preferably provided in the operating software 184 of the microcomputer 148 and in the state machine 156 to ensure that once the microcomputer 148 begins validating the postage value digits, neither the microcomputer 148 nor the state machine 156 can be disturbed before the microcomputer has finished validation. The ATTN 466 remains asserted until device 428 receives a reset character ( "?") sent by the host computer to indicate that all postage imprint formatting has been completed. Ordinarily, the reset character causes the state machine 156 to return to its normal [0,0] state. However, BUSY 482 inhibits the [1,0] to [0,0] state machine transition. The microcomputer 148 continues to assert BUSY 482 until it has completed the validation process and it observes that the ATTN signal 466 is no longer asserted. Thus, once the microcomputer 148 has begun the validation process, the state machine 156 cannot be reset, and the microcomputer cannot receive another interrupt request via the ATTN signal 466, until validation is complete.
In addition, logic is provided to ensure that once asserted, the ACK signal 470 remains valid until the printer has completed formatting the postage logo portion of the imprint. If sufficient postage was available to satisfy the requested postage mpr n , e m crocompu er a so asser s e signal 470, and ACK remains asserted until the microcomputer 148 observes that the state machine 156 has returned from its waiting-for-digits [1,0] state to its normal [0,0] state. The state machine 156 is inhibited from returning to the [0,0] state until the BUSY signal 482 is negated. Since the microcomputer 148 will not negate BUSY 482 until the state machine receives the reset character and negates ATTN 466, ACK 470 also remains active until after the reset character has been received. Device 428 also generates modified address signals AA15 and AA16 which are provided to the internal address bus 160. Device 428 comprises address translation logic which detects an attempt by the printer to read font image data from an address region reserved for the postage logo font. The address translation logic allows the printer to access the font image data containing a valid postage logo only when the microcomputer 148 has validated an requested meter imprint and determined that sufficient postage was available to satisfy the imprint request. If a read attempt occurs in the invalid logo font address region, and microcomputer 148 has asserted the ACK 470 and BUSY 482 signals, device 428 redirects the read attempt from the invalid postage logo font to the valid logo font.
As shown in Fig. 11 and Appendix A, the invalid logo font data is located in the region $10000-$13FFF (i.e., A15=0, A16=l) , while the valid logo font data is located in the region $08000-$0BFFF (i.e., A15=l, A16=0) . The address translation logic operates by inhibiting generation of logic levels on AA15 and AA16 matching those of the valid logo font address except when the printer reads from an address in the invalid logo font region and the ACK 470 and BUSY 482 signals are each asserted. Thus, if the printer attempts to read from the valid logo font region, or if the printer attempts to read from the invalid font region when ACK 470 and BUSY 482 are not both asserted, the address translation logic translates the asserted address into the invalid logo region.
As discussed above with respect to the auxiliary memories, device 428 also generates write control signals GWO 476 and GW1 474 which are used to control write operations to the auxiliary memories 430, 432 when the printer fetches font image data for the postage value characters.
It is noted that when the state machine is armed and the address translation logic is functioning, certain address regions must be avoided. These regions encompass much more than that occupied by the postage imprint logo image. Therefore, it is important that any fonts accessed while the state machine is armed be excluded from certain "keep-out" address regions. Among these are fonts used to print the name and address, the return address and ZIP code, the POSTNET code, and the like. An explanation of the activities of state machine 156 in detecting and processing a postage imprint request is explained further in the discussion of Fig. 9.
Fig. 8 is a flow diagram 810 showing the operation of a first exemplary computer program 182 which may be executed by the host computer 120 to cause the printer 110 cooperating with the postage metering accessory 100 to print a postage imprint. The program 182 is written in "Professional Basic, " a product of Microsoft Corporation (One Microsoft Way, Redmond, Washington, 98052-6399) . This exemplary program 182 was developed to test a prototype em o ment o t e e ectronic hardware, and certa n software associated therewith, and therefore does not include extensive user interface facilities.
A second exemplary host computer program (not shown) , employing a high-quality, object-oriented user interface, has also been developed for controlling a printer 110 cooperating with the inventive postage metering accessory 100. The second exemplary program is written in "Visual Basic for DOS," a product of Microsoft Corporation (One Microsoft Way, Redmond, Washington, 980526399) . The first exemplary program 182 is relatively easy to understand, because it is written in a procedural fashion. The second exemplary program is written in an object oriented structure, and is more difficult to understand. Accordingly, only the first exemplary program 182 is described in detail herein.
Although the inventive methods of controlling a host computer to cooperating with a printer and metering accessory are couched herein in the well-known terminology of a high- level, procedural computer programming language, the inventive methods could also be embodied in other forms. For example, other types of computer programming languages, including those which deviate from the procedural paradigm, could be used. Alternatively, a hard-wired electronic, electrooptical, or electromechanical controller could also be used to produce a suitable stream of instructions to control the printer.
The program begins at terminal 812. At step 814, the program acquires the recipient's name and address, a printer type identifier, the value of the desired postage imprint and related information. Although an advantage of this invention is its ability to imprint an item to be mailed with both postage and nonpostage related information in a single printing operation, the invention would still be highly useful even if it were capable printing only postage. Accordingly, acquiring information beyond what is required to imprint postage is optional. Although the program 182 of Fig. 8 derives this information internally or requests it from the user, it could obtain this information from a database external to the program or from external equipment, such as a weighing device. In step 816, the desired postage imprint value is formatted in a message to the printer. The postage value is normalized by adding start and stop characters, rounding off excess digits, padding where additional digits are required, and converting leading zeroes to zero-suppression codes. In step 818, the host computer sends a message to select one of the a digit fonts A-F. Then, the host computer sends the characters "?>=<". The "?" causes the metering accessory to reset itself to a known state. The ">", "=", and , "<" are the first, second, and third attention characters, respectively. See Appendix B. These characters form a predefined attention sequence which alerts the metering accessory that a postage imprint is desired and "arms" the metering accessory to receive the postage value field.
In step 820, the host computer sends an instruction to format a start character. The host computer sets a counter P equal to the size of the postage value field. P corresponds to the current digit position. In step 824, the host computer sends an instruction to select the digit font (among A-F) corresponding to the current digit position P. Next, the host computer sen s the g t at t e current pos t on. The host computer then decrements P.
In step 826, the current position P is compared to zero to determine whether all digit characters have been sent to the printer. If P is not less than zero, then branch 828 is taken, and execution returns to step 824. If P is greater than zero, then branch 830 is taken, and execution continues at step 832.
In step 832, the host computer selects any normal font and sends instructions to format any ancillary information desired on the item. During this step, the microcomputer validates the request postage imprint value. The microcomputer must complete the validation task before the host computer executes step 834. In step 834, the host computer selects font G, which is the postage imprint logo font. The host computer sends the ASCII characters 3@43. This causes the printer to format the mosaic of information which forms the distinctive postage logo. If the sufficient available postage was available, the metering accessory delivers a valid postage imprint logo; if the available postage was insufficient, the metering accessory delivers an invalid logo.
In step 836, the printer type identifier is consulted, and an appropriate branch 840, 842a, 842b, 842c, 842d, etc., is taken. For each type of printer, a sequence of imprint termination steps 860, 860a, 860b, 860c, 860d suitable for that printer is performed to reset the metering accessory to a known state following completion of a postage imprint. For example, if for certain printers branch 840 is taken and execution continues with imprint termination sequence 860. In step 844 thereof, the host computer selects digit font B and formats the metering accessory reset c aracter "?". In step 846, the host computer selects digit font C and again formats the metering accessory reset character. These steps are needed to ensure that the metering accessory is reset to a known state following completion of a postage imprint. Once the appropriate imprint termination sequence 860, 860a, 860b, 860c, 860d has been completed, execution continues with step 848.
In step 848, the host computer sends a printer reset string (<ESC>E) . The printer reset string causes the printer to print and eject the current page containing the postage imprint and any other material formatted thereon. In addition, the printer resets certain internal parameters to default values, and some printers discard cached font information. Steps 844 and 846 are omitted for certain printers because such printers reset devices using the font cartridge interface automatically upon receipt of the printer reset string. The program ends at terminal 850. If additional meter imprints are required, the program could be modified to loop back to the beginning at terminal 812.
Fig. 9 is a flow diagram 910 showing the operation of the exemplary electronic circuit 410 of Fig. 4, with emphasis on a state machine 156 and associated control circuitry 426, 428. The functional behavior of the state machine, address translation and control logic devices 426 and 428 is fully specified in the previously mentioned design descriptions. Although the state machine and address translation circuitry are implemented in the exemplary circuit using electronic hardware, similar functions could also be implemented using a high-speed microprocessor or other means. Upon n t a zat on, t e state mac ne 156 beg ns at step 914. The state machine enters its normal state [F1=0, F0=0] , in which it awaits the metering accessory attention string. The state machine negates the gated write signals GWO 476 (Fig. 4] and GW1 474, which are used to control write operations to the auxiliary memories 430, 432, and ATTN, which is used to interrupt the microcomputer 148.
In step 916, the printer has attempted to load font image data for a character. The state machine inspects the character and font in which the character was printed. If the font was one of the special metering accessory fonts (that is, one of the digit fonts A-F, or the postage imprint logo font G) , and the character printed was the first attention character (">"-see Appendix B) , then branch 920 is taken and the control passes to step 924. If the font was one of A-G and the character was the metering accessory reset character ("?"), then branch 918 is taken, and control passes to the reset and initialization step 914. If neither of these conditions are satisfied, branch 922 is taken, the character is ignored, and the state machine continues to await the metering accessory attention string.
In step 924, the state machine enters a first intermediate state [0,1] , in which it awaits the second attention character ("=") . In step 926, the printer has attempted to load font image data for another character. The state machine inspects the character and font. If the font was one of the special fonts A-G, and the character printed was the second attention character, then branch 930 is taken and the control passes to step 934. If the font was one of A-G and the character was the metering accessory reset character, then branch 928 is taken, an contro passes to t e reset an n t a zat on step 914. If neither of these conditions are satisfied, branch 932 is taken, the character is ignored, and the state machine continues to await the second character of the metering accessory attention string.
In step 934, the state machine enters a second intermediate state [1,1] in which it awaits the third attention character ("<") . In step 936, the printer has attempted to load font image data for another character. The state machine inspects the character and font. If the font was one of the special fonts A-G, and the character printed was the third attention character, then branch 940 is taken and the control passes to step 950. If the font was one of A-G and the character was the metering accessory reset character, then branch 938 is taken, and control passes to the reset and initialization step 914. If neither of these conditions are satisfied, branch 942 is taken, the character is ignored, and the state machine continues to await the third character of the metering accessory attention string. In step 950, the state machine enters a final state [1,0], in which it awaits the characters of the postage imprint value field. In step 952, the printer has attempted to load font image data for another character. The state machine examines address bit A14 (the high-order digit position field 1118) . Address bit A14 is used to select the auxiliary memory devices 430, 432, in which the digit character will be stored. If A14 is 0, branch 954 is taken, control passes to step 958, and the state machine asserts GWO and negates GW1. This writes the character into auxiliary memory device 432 at a register ocat on correspon ng to t e ont n w c t e c aracter was printed. Control passes to step 962. If A14 is 1, branch 956 is taken, control passes to step 960, and the state machine asserts GWl and negates GWO. This writes the character into auxiliary memory device 43 0 at a register location corresponding to the font in which the character printed. Control passes to step 962.
In step 962, the state machine inspects the character and font. If the font was one of A-G and the character was the metering accessory reset character, then branch 964 is taken, and control passes to the reset and initialization step 914. If the character was printed in font F, which corresponds to the final character position 642 (Fig. 6a) of the postage value field 622, and the character was a digit (0-9) or the postage value end character (see Appendix B) , the postage value field is complete. Branch 966 is taken, and control passes to step 970. If the character was not printed in font F, or the character is not a digit or the postage value end character, then the postage value field is not yet complete. Branch 968 is taken, control passes to step 952, and the state machine continues to await ad¬ ditional postage value characters.
If control reaches step 970, the metering accessory attention string has been received, and the postage value field is complete. Accordingly, the postage value field must be validated. In step 970, the state machine asserts the ATTN signal, interrupting microcomputer 148. In addition, the state machine negates the gated write signals GWO 476 (Fig. 4) and GWl 474, preventing further write operations to the auxiliary memories 430, 432. After the microcomputer has finished its imprint logo by fetching font image data from the region allocated to font G; control passes to step 972.
In step 972, the printer has attempted to load font image data for font G. The state machine and address translation logic inspects the address at which the printer was reading. The address translation logic is active when ACK=1 (sufficient postage was available) and BUSY=L (microprocessor and state machine have not been reset. If the address translation logic is active, and the printer is attempting to read from the
"invalid" logo font location (i.e., A17=0, A16=l, A15=0, and A14=0) , then a valid postage logo will be printed. Branch 976 is taken and control passes to step 980. The address translation logic sets AA16=0 and AA15=1, thereby mapping the printer's attempts to read image data for the postage imprint logo font into the valid image region, and the printer receives a valid postage logo. Control passes to step 982. However, if the address translation logic is not enabled, or the printer is not attempting to read from the "invalid" logo font location, then a void postage logo will be printed. Branch 974 is taken and control passes to step 978. The address translation logic leaves AA16 and AA15 unchanged, thereby mapping the printer's attempts to read image data for the postage imprint logo font into the invalid image region, and the printer receives a invalid postage logo. Control passes to step 982.
In step 982, the state machine is still operating on the address obtained in step 972. If the font was one of A-G, and the address corresponds to the metering accessory reset character, and the microcomputer has negated BUSY (signaling that the reset character has been recognized by both the state machine and the microcomputer) , then branch 984 is taken, and control passes to the reset and initialization step 914. Otherwise, the character is ignored by the state machine, control returns to step 972, and the state machine continues to await receipt of the metering accessory reset character.
Fig. 10 is a flow diagram 710 showing the operation of an exemplary computer program 184 which may be executed by a microcomputer controller portion 148 of the exemplary electronic circuit 410 of Fig. 4. The program 184 is written in an assembly language for the 8048/9 family of microcomputers. This exemplary program 184 was developed to test a prototype embodiment of the electronic hardware, and certain software associated therewith, and therefore does not include certain facilities which might be included in a production embodiment of the invention.
In particular, the program 184 does not provide means for adding postage to the available postage register 154 (Fig. 1) . Instead, the program 184 assumes a default available postage value each time power is applied to the microcomputer. The 8048/9 microprocessor of the exemplary circuit 410, does not provide any changeable but non-volatile storage, data security, or code security. However, providing secure available postage registers in a postage meter is now well known in the art, and an approach from the prior art could easily be adapted for use with the present invention. In addition, the ascending postage register is not implemented because of limited RAM storage in the 8048 microcomputer. However, microcomputers with more RAM storage are available and could be used in a commercial embodiment.
The program begins at terminal 712. In step 714, the program negates BUSY 482 and ACK 470, and enables the interrupt input. Although step 716 appears in this flow diagram as a software step, in reality, this step corresponds to a hardware interrupt request received on the INT input lead of the microcomputer 148. Whenever no interrupt has been requested, and the microcomputer 148 has completed servicing any previous interrupts, the microcomputer executes a display routine along branch 720. First, the "descending" or available postage reg¬ ister R is displayed. In step 770, the microcomputer fetches the available postage record (hereafter, "R") from memory as a number of digits (hereafter, "D") . The microcomputer sets a counter ("P") to 0.
In step 772, the microcomputer writes the current character position P out on the three display digit address leads 504. Decoder 448 decodes the character position and enables the corresponding digit of display 510, 446. The microcomputer obtains the digit at position P and writes it out on the four
BCD digit output leads 496. Decoder 444 maps the BCD digit into the appropriate display segments and enables them. Display 446 now shows the image of the current digit in position P.
In step 774, the microcomputer increments the current display digit position P. In step 776, the microcomputer compares the current digit position P with the number of digits in the available postage record. If the current digit position P is not greater than D, then at least one digit remains to be displayed. Branch 778 is taken, and execution resumes at step 772, where the next available digit is selected and displayed. If the current digit position P is greater than D, then all digits have been displayed.
Once the descending register has been completely displayed, branch 782 is taken, and execution continues with step 784. Steps 784, 786, and 788 comprise a display routine for the "ascending" or cumulative used postage register "A". Steps 784, 786, and 788 are analogous to previously described steps 770, 772, 774, and 776, but they operate to display the ascending register instead of the descending register. When the ascending register has been completely displayed, branch 780 is taken, and execution returns to the beginning of the display loop at step 716.
If the state machine asserts the ATTN 466 signal, indicating that postage value digits are available in the auxiliary memory for validation, the microcomputer immediately responds by executing the steps along branch 718. In step 722, the microcomputer blanks the display 510, 446 by negating the display enable control lead 506. The microcomputer asserts the BUSY signal 482, which inhibits state machine resets. The microcomputer prepares to read the digits from the auxiliary memories by setting a counter "P, " representing a current digit position, to 7, and by setting a variable "V," representing the reconstructed value of the postage value field, to 0. In step 724, the microcomputer decrements the current position counter P by 1. In step 726, the microcomputer compares the position counter P to 3 so that it can select the auxiliary memory device from which the current character must be read. If P is greater than 3, branch 728 is taken, and in step 732, the microcomputer enables high-order memory device 432 by setting asserting GR1 478 and negating GRO 480. If P is not greater than 3, branch 730 is taken, and in step 734, the microcomputer enables low-order memory device 430 by asserting GR1 478 and negating GRO 480.
In step 736, the microcomputer reads the 4-bit postage imprint value digit C from the auxiliary memory device it enabled in step 732 or 734, and recalculates V according to the formula V=10V+C. In step 738, the microcomputer checks whether all digits have been processed by comparing P to 1. If P is greater than 1, one or more digits remain to be processed; branch 740 is taken and execution resumes at step 724. If P equals 1, then all digits have been processed, and branch 742 is taken. In step 744, the requested imprint value V is subtracted from the available postage or descending register R, and is added to the cumulative used postage or ascending register A.
In step 746, R is compared to zero to determine whether an overdraft occurred. If R is less than zero, insufficient postage was available. In that case, branch 748 is taken, the requested imprint value V is added back to the descending register R, and subtracted from the ascending register A. The microcomputer does not assert ACK 470, and execution jumps to step 756. If, in step 746, R was non-negative, than sufficient postage was available. In that case, branch 750 is taken, the microcomputer asserts ACK 470, and execution continues at step 756.
In step 756, the microcomputer loops in branch 756 until the state machine 156 negates the A signal 468. Once ATTN 468 is negated, branch 760 is taken. Execution continues at step 762, where the microcomputer negates the BUSY signal 482. Once BUSY 482 is negated, the state machine 156 may to return to its normal state [0,0] . At step 764, the microcomputer loops in branch 766 until the state machine returns to the normal state [0,0] . Once that occurs, branch 768 is taken, and control returns to the reset and initialization step 714.
Fig. 3 is a flow diagram 310 showing, at a more detailed level than was shown in Fig. 2, how the host computer 120, printer 110, state machine 156, and the microcomputer 148 components of the postage metering system 102 cooperate to produce a postage imprint. The diagram 310 is organized as a table having four columns 312, 314, 316, and 318, showing the activities of the host computer 120, printer 110, state machine 156, and the microcomputer 148, respectively. Solid arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs as a result of the activity in the first box. Dotted arrows pointing from a first box to a second box generally indicate that the activity in the second box occurs after, but not necessarily as a result of, the activity in the first box.
In step 320, the host computer 120 sends a printer reset request character sequence (<Escape>E) to the printer. This step is needed for certain high-quality printers because many such printers do not immediately perform physical printing activities when the receive printing instructions from the host. Instead, many such printers render an internal image of the page to be printed, and to not transfer the internal image to the output medium until all printing instructions for a particular page have been completed. Hereafter, the actions of the printer in rendering the internal representation of the page to be printed is referred to as "formatting, " and the physical process of producing the printed page is referred to as "printing." Host computer soft- ware, at the time it is initialized, cannot determine whether there are printing instructions left over from previous activities which may have been formatted, but not yet printed. The reset sequence advises the printer that the printing instructions for the current page are complete and forces it to print and eject the page if an previous printing requests were pending. In step 322, the printer prints and ejects any pending formatted pages; resets certain internal parameters to defaults; and discards any font information which may have been previously cached. In some printers, a printer reset command is propagated to any attached font cartridges or accessories attached to the printer through the font cartridge interface. Thus, in step 324, for some printers, the state machine may undergo a reset operation. In this step, the state machine waits to receive a predefined sequence of attention characters ">=<" which indicates that a postage imprint is requested.
In step 326, the microcomputer waits in an idle mode. If display means are provided, the microcomputer displays the amount remaining in the available postage register, or other useful information. The microcomputer continues until it receives an interrupt request by means of the ATTN signal.
In step 328, the host computer may sent address information and other material not directly related to the production of a meter imprint to the printer. In step 330, the printer formats the address or other non-postage information in response to step 328.
In step 332, the host computer sends a metering accessory reset instruction (by formatting a "?" in one of the digit fonts A-F) and the metering accessory attention sequence (">=<" in a digit font) . In step 334, the printer attempts to format the reset and attention characters by reading the bitmap of the characters from the ROM of the metering accessory.
In step 336, the metering accessory 100 observes the address bus and detects that the printer has formatted (by reading the associated image data) the metering accessory reset and attention characters. The state machine 156 is reset, and is subsequently stepped through several intermediate states, until it reaches the "waiting for postage value digits" state. See Appendix A for the correlation between fonts and image locations, and Appendix B for the correlation between characters and the meanings the printer and metering accessory assign to them.
In step 338, the host computer "formats" the postage imprint value characters by sending them to the printer. For each digit in the postage imprint value, the host computer selects the appropriate font which corresponds with the position of that digit in the postage value field 622, as defined in Appendix A, and formats the digit in the selected font. In step 340, the printer attempts to format the stamp value characters by reading the font image data associated with each character, in the selected font, from the ROMs of the postage metering accessory. In step 342, the state machine of the metering accessory observes the printer load the font image data corresponding to the stamp value characters. The state machine stores each digit character in an auxiliary memory at a position determined by the font in which the character is printed. Once all of the stamp value characters have been formatted, which is signaled by the formatting of the least significant digit of the postage value field, the state machine asserts the A signal 466, activating the interrupt input of the microcomputer.
In step 344, the microcomputer responds to the interrupt request. The microcomputer reads the requested postage imprint value digits from the auxiliary memory, reconstructs the requested value, and subtracts it from the available postage register. In step 346, if the resulting register value is negative, indicating that insufficient postage was available to satisfy the imprint request, then the microcomputer adds the requested value back to the available postage register, and leaves the ACK signal 470 negated. In step 348, if the register value was nonnegative then the microcomputer asserts the ACK signal 470. In step 350, the microcomputer awaits the negation of the ATTN signal 466, which indicates that the printer has completed formatting the postage imprint.
In step 352, the host computer sends instructions to the printer for formatting miscellaneous information related to the postage imprint. For example, most postage meter imprints include some manner of cancellation endorsement, indicating the date mailed or the originating zip code. Some meter imprints also contain a rate class, handling endorsement, or advertisement which is typically printed in association with the imprint. This material is preferably printed in this step to ensure that the host computer and printer do not attempt to format the postage imprint logo before the microcomputer has completed its task of validating the postage imprint value. In step 354, the printer attempts to format the material sent by the host computer in step 352. In step 356, the state machine enables the address translation logic if appropriate, in response to the ACK and BUSY signals provided by the microcomputer to report whether the available postage was sufficient to satisfy the amount requested. The translation will be enabled only for read requests directed to a predefined address range allocated to the invalid postage imprint logo, and only if ACK and BUSY are both active.
In step 358, the host computer selects the postage imprint logo font G, and sends the characters which represent the mosaic of which produces the distinctive postage logo. In step 360, the printer formats the postage imprint logo by attempting to read from the metering accessory ROMs the appropriate font image data. In step 362, the metering accessory ROMs Stamp cartridge provides font image data for the valid postage imprint logo or the invalid logo, depending on the state of the address translation logic. See step 356.
In step 364, the host computer sends to the printer the metering accessory reset character in any of the special fonts (A-G) . In step 366, the printer formats the metering accessory reset characters. The state machine observes the font image data associated with the reset character being read from the metering accessory ROM by the printer. The state machine resets itself to state [0,0], and negates the ATTN signal. Steps 364, 366, and 368 are required only for some printers. In step 370, the host computer 120 again sends a printer reset request character sequence (<Escape>E) to the printer. In step 372, the printer prints and ejects any pending formatted pages. In step 374, the printer resets certain internal parameters to defaults and discards any font information which may have been previously cached.
In step 376, for some printers, the state machine may undergo a reset operation. In this step, the state machine waits to receive a predefined sequence of attention characters ">=-<" which indicates that a postage imprint is requested. In step 378, the microcomputer returns to its idle mode activities. If display means are provided, the microcomputer displays the amount remaining in the available postage register, or other useful information. The above-described embodiments of the invention are merely examples of ways in which the invention may be carried out. Other ways may also be possible, and are within the scope of the following claims defining the invention.
APPENDIX A
Font Typeface Starting Digit Digit Number Address Position Value
(see Fig. 6)
A 241 $01000 First (632) 100
B 242 $02000 Second (634) 10
C 243 $03000 Third (636) 1
D 244 $04000 Fourth (640 0.1
E 245 $05000 Fifth (640) 0.01
F 246 $06000 Sixth (642) 0.001
G 247 $08000 n/a n/a
G. 247 $10000 n/a n/a
APPENDIX B
Character Corresponding Printer Meaning of Number Printer Character Character to Within Input Appearance Metering Font Character Peripheral
0 II 0" 48 0 Digit 0
1 "1" 49 1 Digit 1
2 II2 » 50 2 Digit 2
3 II 311 51 3 Digit 3
4 "4" 52 4 Digit 4
5 "5" 53 5 Digit 5
6 "6" 54 6 Digit 6
7 n -η n 55 7 Digit 7
8 "8" 56 8 Digit 8
9 n g II 57 9 Digit 9
Postage Value
10 II . 11 58 ~ Start Character (Ignored)
11 II . II 59 Postage Value End
~ Character (Digit 0)
12 "<" 60 invisible Attention String Character 3
13 II _ II 61 invisible Attention String Character 2
14 I. -- I. 62 invisible Attention String Character 1
15 II " II 63 invisible Reset Character
9f

Claims

CLAIMS 1. An accessory for enabling a general-purpose computer printer to produce a postage imprint, the printer having a first interface adapted for connection to said accessory; said accessory comprising: means for storing a representation of a valid postage imprint; means for storing a record of an amount of available postage; means for receiving from the printer via the first interface a request to deliver said valid postage imprint representation; validity determining means responsive to said request receiving means and said record storage means for determining whether said request is valid; and means responsive to said validity determining means for enabling delivery to said printer via the first interface of said valid postage imprint representation exclusively when said request is valid.
2. The device of claim 1 wherein said accessory is adapted for use with a printer having a second interface for connection to a computer, the printer lacking a direct connection between the first interface and the second interface.
3. The device of claim 1 further comprising: means for storing a representation of an invalid postage imprint; means responsive to said validity determining means and said request receiving means for enabling delivery to said printer via the first interface said invalid postage imprint representation whenever said request is not valid.
4. The device of claim 1 further comprising means for storing a representation of at least one printable character which is not directly related to said valid postage imprint.
5. The device of claim 1 wherein said accessory is arranged for use with a printer of which said first interface is adapted for use as a font cartridge interface.
6. The device of claim 1 wherein: said accessory further comprises means for storing representations of images for a plurality of printable characters; said representations of said printable characters being stored in a predefined format; and wherein said valid postage imprint representation is stored in a manner consistent with said predefined format.
7. The device of claim 1 further comprising: means for storing representations of images for a plurality of printable characters; means for receiving from the printer, via the first interface, requests to deliver said representations of images of printable characters; and means for distinguishing said requests to deliver representations of images of printable characters from said requests to deliver said valid postage imprint representation.
8. The device of claim 7 wherein: said representations of images for a plurality of printable characters are stored in a first set of locations; said representation of a valid postage imprint is stored in a second set of locations; each of said requests to deliver said representation of said characters and said requests to deliver said representation of a valid postage imprint include a designation of the locations at which said representation is stored; and said distinguishing means is responsive to said designation of the locations at which said representation is stored to determine whether said request calls for a representation of an image of a character or for said representation of said valid postage imprint.
9. The device of claim 1 wherein said validity determining means comprises means for detecting a predefined message from the printer signaling that a postage imprint is to be printed.
10. The device of claim 1 wherein said validity determining means comprises means for detecting a message from the printer containing a designation of a postage value to be printed as a part of said postage imprint.
9y
11. The device of claim 10 wherein said validity determining means comprises means for storing said designation of a postage value to be printed as a part of said postage imprint.
12. The device of claim 11 wherein said validity determining means comprises means for comparing said stored postage value designation to said record of available postage.
13. The device of claim 10 wherein: said accessory further comprises means for storing representations of images respectively corresponding to a plurality of characters in a plurality of fonts; said message comprises a plurality of requests to deliver the stored image representation of a selected one of said characters in chosen one of said fonts; said validity determining means associates with each request a digit value corresponding to said selected character; and said validity determining means associates with each request a digit position corresponding to said chosen font.
14. The device of claim 10 wherein: said accessory further comprises means for storing representations of images respectively corresponding to a plurality of characters in a plurality of fonts; the representations of images corresponding to the characters of each font being stored respectively in different predefined ranges of locations;
9S the representations of the image corresponding to each character of a font being stored in different predefined sets of locations; said message comprises a plurality of requests to deliver the stored image representation of a selected one of said characters in a selected one of said fonts; said validity determining means associates with each request a digit value corresponding to said predefined range of locations at which said image representations for said selected font are stored; and said validity determining means associates with each request a digit position corresponding to said predefined set of locations at which said image representation for said selected character is stored.
15. For use with a postage imprinting system having data processing means, general-purpose printing means connected to said data processing means, and postage metering accessory means connected to said general purpose printing means, the method of imprinting postage comprising the steps of:
(a) the data processing means transmitting a postage imprinting request to said printing means;
(b) the printing means requesting postage imprint image information from said postage metering accessory means; (c) the postage metering accessory means validating said postage imprint image information request; and
(d) the postage metering accessory means providing postage imprint image information corresponding to a valid postage imprint exclusively when said postage imprint image information request is valid.
16. The method of claim 15 further comprising the step of: the postage metering accessory means providing postage imprint image information corresponding to a void postage imprint unless said postage imprint image information request is valid.
17. The method of claim 15 wherein said step of requesting postage imprint image information further comprises the steps of: making at least one request for image information corresponding to an attention message; and making at least one request for image information corresponding to the value of the postage imprint requested by said data processing means.
18. The method of claim 17 further comprising the steps of: converting into digit information said requests for image information corresponding to the value of the postage imprint requested by said data processing means; and storing said digit information for later use.
19. The method of claim 15 wherein said step of validating said postage imprint image information request comprises the steps of:
37 extracting information as to the value of the postage imprint requested by said data processing means, from said postage imprint image information request; comparing said postage value information to a record of available postage; and determining that said postage imprint image information request is valid exclusively when said record of available postage equals or exceeds said postage value information.
20. The method of claim 17 wherein: said step of making at least one request for image information corresponding to the value of the postage imprint requested by said data processing means comprises the steps of: associating with the value of the postage imprint requested at least one location in said accessory at which corresponding image information is stored in said accessory; and requesting image information from said accessory at said location; and said step of extracting information as to the value of the postage imprint requested by said data processing means comprises the steps of: observing said locations at which said printing means requests image information; and associating with said observed locations a corresponding postage value.
21. For use with a postage imprinting system having data processing means, general purpose printing means connected to said data processing means, and postage metering accessory means
99- connected to said general purpose printing means, the method of imprinting postage comprising the steps of:
(a) the data processing means transmitting a postage imprinting request to said printing means; (b) the printing means transmitting information including the postage value of said postage imprinting request to said postage metering accessory means;
(c) the postage metering accessory means validating said postage imprinting request using said postage value information; (d) the postage metering accessory means enabling said printer to produce a valid postage imprint exclusively when said postage imprinting request is valid.
22. The method of claim 21 further comprising the step of: providing information necessary to said printing means to produce a valid postage imprint exclusively when said postage imprinting request is valid.
23. The method of claim 21 further comprising the step of: providing to said printing means information for constructing an image of a valid postage imprint exclusively when said postage imprinting request is valid.
24. The method of claim 21 further comprising the step of: providing to said printing means information for constructing an image of a void postage imprint unless said postage imprinting request is valid.
*f
25. For use with an information processing system having a data processing means, a peripheral device connected to said data processing means, and an accessory connected to said peripheral device, said accessory lacking a direct connection to said data processing means, the method of communicating between said data processing means and said accessory comprising the steps of:
(a) said data processing means sending a message to said peripheral device;
(b) said peripheral device associating with each of at least one symbol of said message a location in said accessory in which information relating to said symbol may be stored;
(c) said peripheral device requesting information from said accessory for each of said symbols at said associated location;
(d) said accessory observing the locations at which said peripheral device requests information and associating said location with a corresponding information item, whereby the symbol which caused the peripheral device to request the information may be inferred; and
(e) said accessory storing a record of said information items associated with said information request locations to recreate at least a portion of said message.
26. An accessory for enabling a general-purpose computer printer to produce a postage imprint, the printer having a first interface adapted for connection to said accessory such that the printer can request from said accessory image information corresponding to print requests from an external device; said accessory comprising:
løc character image storage means for storing image information corresponding to a plurality of printable characters; imprint image storage means for storing image information corresponding to a valid postage imprint; means for storing a record of available postage; means for monitoring the characters for which the printer retrieves image information from the character image storage means; means responsive to the monitoring means for detecting a predetermined sequence of characters signaling a postage imprint request; means responsive to the detecting means and the monitoring means for capturing and storing characters corresponding to a desired postage imprint value; means for consulting the available postage record to determine whether the desired postage imprint value is less than or equal to the available postage record; and means responsive to the consulting means for making the valid postage imprint image available to the printer exclusively when the desired postage imprint value is less than or equal to the available postage record.
27. The device of claim 26 wherein: said accessory receives from said printer requests for image information directed to predefined address locations of said accessory at which the image information needed by the printer to satisfy said print requests is stored; and
Iφ l said monitoring means observes the address locations from which said printer requests image information and associates therewith a corresponding symbol.
28. The device of claim 26 wherein: said accessory receives from said printer requests for image information directed to predefined address locations of said accessory at which the image information needed by the printer to satisfy said print requests is stored; and said monitoring means observes the address locations from which said printer requests image information and associates therewith a corresponding postage imprint value.
29. The device of claim 26 wherein said means responsive to the monitoring means for detecting a predetermined sequence of characters signaling a postage imprint request is a state machine.
30. The device of claim 26 wherein said means responsive to the detecting means and the monitoring means for capturing and storing characters corresponding to a desired postage imprint value is a memory.
31. The device of claim 26 wherein said means responsive to the consulting means for making the valid postage imprint image available to the printer exclusively when the desired postage imprint value is less than or equal to the available postage record comprises: means for receiving an address from which said printer requests postage information; address translation means responsive to said received address and said consulting means for translating said received address to a storage address at which said image information corresponding to said valid postage imprint exclusively when said consulting means determines that the desired postage imprint value is less than or equal to the available postage record; and means for providing the image information located at said storage address to said printer.
32. The device of claim 31 wherein said address translation means translates said received address to a storage address at which said image information corresponding to a void postage imprint is stored whenever said consulting means determines that the desired postage imprint value is greater than the available postage record.
33. For use with an information processing system comprising a printer, a device connected to the printer for sending printing instructions thereto, and a font storage device connected to the printer for providing to said printer image information corresponding to said printing instruction; the method comprising the steps of: the printer associating with each printing instruction at least one printable symbol;
ιo the printer associating with each printable symbol at least one location in said font storage device at which image information corresponding to said symbol is stored; the printer requesting said image information from said font storage means; said font storage device observing the addresses from which said printer requests font information and uniquely associating therewith a selected representation; and said font storage device storing at least a portion of said selected representation whereby at least a portion of said printing instruction can be recreated.
10?
PCT/US1994/011499 1993-10-12 1994-10-11 Postage imprinting apparatus and methods for use with a computer printer WO1995011495A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU80758/94A AU8075894A (en) 1993-10-12 1994-10-11 Postage imprinting apparatus and methods for use with a computer printer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13495093A 1993-10-12 1993-10-12
US08/134,950 1993-10-12

Publications (2)

Publication Number Publication Date
WO1995011495A2 true WO1995011495A2 (en) 1995-04-27
WO1995011495A3 WO1995011495A3 (en) 1995-06-01

Family

ID=22465752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/011499 WO1995011495A2 (en) 1993-10-12 1994-10-11 Postage imprinting apparatus and methods for use with a computer printer

Country Status (2)

Country Link
AU (1) AU8075894A (en)
WO (1) WO1995011495A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0933730A2 (en) * 1998-01-28 1999-08-04 Neopost Limited Postage meter with digital print head

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271481A (en) * 1976-06-10 1981-06-02 Pitney Bowes Inc. Micro computerized electronic postage meter system
US4377214A (en) * 1981-02-10 1983-03-22 Pitney Bowes, Inc. Method and apparatus for interfacing an electronic scale system with a storage medium
US4933849A (en) * 1987-07-16 1990-06-12 Pitney Bowes Security system for use with an indicia printing authorization device
US5202834A (en) * 1989-05-30 1993-04-13 Alcatel Business Systems Limited Mail item processing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4271481A (en) * 1976-06-10 1981-06-02 Pitney Bowes Inc. Micro computerized electronic postage meter system
US4377214A (en) * 1981-02-10 1983-03-22 Pitney Bowes, Inc. Method and apparatus for interfacing an electronic scale system with a storage medium
US4933849A (en) * 1987-07-16 1990-06-12 Pitney Bowes Security system for use with an indicia printing authorization device
US5202834A (en) * 1989-05-30 1993-04-13 Alcatel Business Systems Limited Mail item processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0933730A2 (en) * 1998-01-28 1999-08-04 Neopost Limited Postage meter with digital print head
EP0933730A3 (en) * 1998-01-28 2000-12-06 Neopost Limited Postage meter with digital print head

Also Published As

Publication number Publication date
AU8075894A (en) 1995-05-08
WO1995011495A3 (en) 1995-06-01

Similar Documents

Publication Publication Date Title
US5801944A (en) System and method for printing postage indicia directly on documents
CA1274312A (en) Secure vault having electronic indicia for a value printing system
US8195579B2 (en) System and method for printing postage indicia with mail-by date
US5905232A (en) Electronic postage scale system and method
JP2795988B2 (en) Printer control method for printing postage
AU685580B2 (en) Storing, retrieving and automatically printing postage on mail
US7266504B1 (en) System and method for printing multiple postage indicia
CA2198286C (en) Custom class selection in automated mail processing
EP0782112A3 (en) Transaction evidencing system and method including post printing and batch processing
EP0493948A2 (en) Franking machine
CA2057613C (en) Embedded user interface accessible by an external device
US5365044A (en) Postage meter strip printing machine
EP0780809A3 (en) PC-based open metering system and method
US20130278949A1 (en) Postage printer
WO1995011495A2 (en) Postage imprinting apparatus and methods for use with a computer printer
US20080021849A1 (en) System and method for printing multiple postage indicia
US5079712A (en) Register setting arrangement for carrier management system
EP0491392A2 (en) Embedded user-interface having multiple language capability
CN108608740A (en) Bar code printer system and its method for supplier&#39;s delivery bar code printing
AU721032B2 (en) System and method for retrieving, selecting and printing postage indicia on documents
US5907833A (en) Apparatus for franking mail
AU4376800A (en) Storing, retrieving and automatically printing postage on mail
CA2105121A1 (en) On-line save/recall for a parcel processing system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU CA CN JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

AK Designated states

Kind code of ref document: A3

Designated state(s): AU CA CN JP

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: CA