APPARATUS FOR ELECTRONIC PARKING SYSTEM
This application claims the benefit of the filing date of Provisional Patent Application, U.S. Appl. No. 60/149,735 filed August 19, 1999.
BACKGROUND OF THE INVENTION 1. Field of the invention. The subject invention relates to an electronic parking system, and particularly for an apparatus for an electronic parking system. More particularly, the apparatus for the electronic parking system is an in-car parking meter possessed by the motorist and, when active, is displayed inside the motorist's vehicle. The subject invention also relates to a method for generating and controlling the release of random recharge codewords used for initiating and reloading the monetary credits associated with the in-car parking meter.
2. Description of the Relative Art. Municipalities employ parking meters to regulate the usage of available parking spaces and to generate revenue. By regulating the use of available parking spaces, the municipality can regulate traffic flow in particular areas at certain periods of time and also keep clear certain roadways for purposes of street cleaning or other public activities. The revenue generated by the parking meters funds projects for the upkeep of the public roadways and provides for the salaries of the employees of the municipality who maintain the parking system. Traditionally, parking meters are mounted on a pole in close vicinity of the available parking space. These parking meters are coined-operated and have a display means which displays the time remaining for a vehicle to be legally parked in its corresponding parking space. These traditional parking meters comprise a timing device which is either mechanically actuated by a lever mounted on the face of the parking meter or electronically controlled by a simply timing circuit contained within the meter. These timing devices are usually fixed for a certain period of time per monetary unit, for
example, 20 minutes per 25 cents; however, multiple periods of time can be purchase at one time. In use, a motorist would deposit into the parking meter monetary units corresponding to the desired period of time. The parking meter will then display the time remaining for the vehicle to be legally parked. When the time limit expires an indication is displayed in the display means to that effect. An employee of the municipality can then easily detect which vehicles are illegally parked and issue a fine or summons to the motorist.
These traditional in-ground parking meters have several disadvantages both to the municipality and the motorist. To the municipality, a large number of employees and associated labor costs are required to maintain a parking system that employs in-ground parking meters. First, to realize the revenue generated by each parking meter, an employee of the municipality has to collect the coins deposited from each individual meter. Depending on the size of the municipality, collecting the money from each individual meter can be a long and labor intensive task. Also, when the municipality is required to change the time per monetary unit rate, an employee of the municipality would again have to visit each individual parking meter to make the proper adjustments. The municipality would also have to maintain a mobile crew of repairmen to go to the locations of broken or disabled meters. Additionally, if a meter is broken or disabled for any length of time, the municipality will realize lost revenues. A parking system employing in-ground parking meters also has drawbacks for the motorist. To operate the parking meter, the motorist is usually required to deposit coins for the period of time desired. This requires the motorist to always have a supply of coins on hand in the vehicle. If the motorist is unable to produce the required number of coins, they run the risk of being issued a summons which will result in paying a fine. Additionally, if a motorist initially believes they have
purchased the required period of time but returns to their vehicle only a few moments after the expiration of that time period, they again run the risk of being issued a summons with an associated fine.
It is an object of the subject invention to provide an in-car parking meter which is possessed by the motorist and, when active, is displayed inside the motorist's vehicle.
It is another object of the subject invention to provide an in-car parking meter which can be easily loaded and subsequently reloaded with monetary credits.
Another object of the subject invention is to provide an in-car parking meter which can be utilized in various parking zones with each zone having a specific monetary parking rate.
It is a further object of the subject invention to provide a parking system which facilitates changing the parking parameters by the parking authority.
It is another object of the subject invention to provide a method for generating and controlling the release of Random Recharge Codewords (RRC) which are utilized to reload the in-car parking meter with monetary units and to update various parking parameters.
SUMMARY OF THE INVENTION
The above stated objects are met by a new and improved electronic parking system. The subject electronic parking system is centered around a new in- car parking meter. The new in-car parking meter is about the size of a standard credit card and only two tenths of an inch thick, externally comprising four momentary switches or keys and a liquid crystal display (LCD). Internally, the new in-car parking meter comprises a low power microcomputer, a lithium battery to power the meter, a crystal to generate accurate timekeeping, an infrared serial interface for sending and receiving data and a temperature sensing means to measure the ambient temperature of the meter.
The in-car parking meter electronically stores parking credits in the form of currency, such as U.S. dollars, and dispenses these this credits when activated at a rate associated with the selected zone of parking. The in-car parking meter is possessed by the motorist and, when active, is displayed inside the motorist's vehicle. Initially, a motorist will purchase from a municipality or parking authority, a meter containing a certain monetary amount of parking credits. This credit is electronically stored within the meter in the form of currency for a particular region. As the motorist uses the meter to park, the electronic currency is debited to pay for the parking fee incurred. Once the initially loaded parking credits are exhausted, additional parking credits can be reloaded into an existing meter. Reloading of credits to the meter can be accomplish in two ways, by either (1 ) entering a unique multi-digit random codeword into the meter through the use of its four membrane keys on the front panel or (2) through the use of an external serial data transmitter.
For each municipality or parking authority, customized parking parameter data is downloaded into the RAM of the microcomputer of the meter. This data
contains parking parameters for the different zones of parking available to the motorist. Parking parameter data consist of rates, intervals, and options associated with a particular zone or area of parking. Therefore, the new in-car parking meter can be use in various locations within a region even though the different, specific locations charge different rates and have different hours of usage.
An important feature of the subject electronic parking system is its ability to reload monetary credits into the in-car parking meter by the motorist. By being able to reload the meter, a motorist would not have to be concerned with having a supply of coins to deposit into the meter. The motorist will also not have to worry about promptly returning to the vehicle since the in-car parking meter will continuously debit the electronic bank in the meter as long as there are sufficient credits. As for the municipality, the subject electronic parking system facilitates collecting revenue and maintaining the meters. When the meter is in disrepair, a motorist will simply send the in-car parking meter back to the parking authority. This eliminates the need for a large crew of repairmen and thus reducing overall labor cost. Also, since a motorist needs to purchase a codeword from the parking authority to reload the meter, either by telephone or at a predetermined reloading station, the municipality will realize revenues immediately and eliminate the need for a large labor force to collect the monetary deposits from each individual meter. The reloading of monetary credits into the meter can either be performed manually, through the use of the four front panel keys, or automatically, through the infrared serial interface. But either way a codeword unique to the particular meter being reloaded must be validated before reloading is allowed to be completed. Since the ability to generate a valid codeword for a particular meter depends on the knowledge of its two random number tables loaded at initial setup, a method of
generating and assessing a secured "serial number/random number table" database is provided. The generation of the "serial number/random number table" database is completely done in advance for a range of serial numbers expected to be assigned to meters in a geographical region of the world. This is accomplished by using a computer and a hardware based "crypto-grade" random number generator. A software program is executed that generates a series of serial numbers between a specified range and these serial numbers are then associated with the output of the hardware based "crypto-grade" random number generator. The result is a database that contains four hundred and twenty nibbles of hexadecimal random numbers for each serial number in the generated series. The resulting database is to be used for initially programming the meter and then to be used for reloading the meter at a later date.
These and other features of the present invention will become apparent from the following detailed description considered in connection with the accompanying drawings. It should be understood, however, that the drawings are designed for the purpose of illustration only and not as a definition of the limits of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of the in-car parking meter of the subject invention.
FIG. 2 is a front plan view of a preferred embodiment of the in-car parking meter of the subject invention.
FIG. 3 is a block diagram of the data structures relating to parking parameters in accordance with the subject invention.
FIG. 4 is a block diagram depicting the basic operation of the in-car parking meter of the subject invention. FIG. 5 is block diagram of the random number tables use to generate a random recharge codeword in accordance with the subject invention
FIG. 6 is a schematic diagram of the infrared serial interface circuit of the subject invention.
FIG. 7 is a block diagram showing the operation of the 16Hz interrupt in accordance with the subject invention.
FIG. 8 is a schematic diagram of the in-car parking meter's temperature measurement circuitry.
FIG. 9 is a block diagram showing the operation of 1/2Hz interrupt in accordance with the subject invention. FIG. 10 is a block diagram of the Algorithm for generating the authentication hour code use as a security measure in the subject invention.
FIGS. 11 A and 11 B show a specially made wallet for the displaying of the in-car parking meter of the subject invention.
FIG. 12 shows a series of displays shown on the in-car parking meter when initiating parking.
FIG. 13 shows a series of displays of the in-car parking meter of the subject invention while the motorist's vehicle is parked.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIGS. 1 and 2, the in-car parking meter of the present invention is generally indicated by the reference numeral 10. Internally, the new in-car parking meter 10 comprises a low power microcomputer 12, a battery 14, a crystal 16, an infrared serial interface 18 and a temperature sensing means 20 to measure ambient temperature of the meter. The microcomputer 12 further comprises a microprocessor 22; an internal RAM 24 with a 16K word capacity for program memory, bitmaps and tables; an internal RAM 26 with a 3,500 nibbles capacity for operational variables, parking parameters and random codewords; an internal clock divider 28 to generate 1/2Hz and 16Hz clocks signals; an internal battery checking circuit 30 and an internal LCD electrical interface 32 capable of driving 1 ,024 segments and controlling bias voltage of a liquid crystal display. The LCD interface 32 drives a 1 ,024 pixel LCD display 34 organized as 16 rows by 64 columns. The single chip microcomputer 12 has the feature of very low power dissipation averaging only 5 uA at room temperature. A three volt Lithium battery 14, with sufficient maH capacity, is provided to power the circuitry of the in-car parking meter 10 for at least three years. Externally, the in-car parking meter 10 comprises four momentary switches or keys 36, 38, 40, 42 for entering data. These switches may be utilized for initial programming of the in-car parking meter 10, checking the status of available monetary credits or for reloading monetary credits into the in-car parking meter 10.
When used as an integral part of a customizable parking system, the in-car parking meter will dedicate a large amount of its internal RAM 26 (approx 3K nibbles) for the storage of the targeted parking authority's parking parameters. These parameters are stored in RAM 26 to allow customization of the parking parameters before delivery to the parking authority. This downloading of the customized
parameters is accomplished via a serial infrared transfer through the in-car parking meter's case, which will be described in detail below. The parking parameters define the number of zones to be active and a definition of each active zone's parameters. Zone parameters include: the zone symbol bit map to be displayed for the zone, the parking rates for each day of the week, the timelimits for each day of the week, the hours the zone is active for each day of the week and whether the rate represents a flat rate for the entire interval or whether the rate is prorated across the interval. Additionally, the zone parameters describe the clock boundaries or intervals on which the parking rate changes, whether or not a penalty phase is to be invoked after exceeding the timelimit for a zone, and how long of an interval of time must pass before a zone can be re-parked at.
Besides parking parameters, customization includes the bit maps displayed for the city or parking authority name, the bit map for the money symbol to used during display of bank balances, fees or rates, and bit maps for the various Zone Symbols. Using downloadable bit maps for names or symbols is a key enabler of the in-car parking meter's international operation. Bit maps allow the use of Japanese or Chinese symbols for city names.
To enhance the flexibility of defining any type of complex parking regimen, special attention was paid to the method in which parking information was stored. Typically, there will be zones with long and complex parameters to store along with zones that have short and simple parameters. A method of storing the zone parameters that is individually tailored to the zone's complexity was developed to prevent complex zone parameter storage from artificially increasing the storage requirements of non-complex zones. Additionally, zones often have the same subset of rates or intervals, that once described can be reused by other zones.
A method of parameter storage was thus chosen that is best described as a linked list of data structures as shown in FIG. 3. The following describes the storage data structures:
Selected Zone Pointer (50)- Zone Header Data Structure (52) Zone Display Values (54)
Average Hourly Charge (56) New Day Delineation Hour (58) Global Zone Options (60)
Zone Penalty Parameter List Pointer (62) - Parameter List Structure (68) Day of Week Parameter List Pointers (64) -> Parameter List Structure (68)
Day of Week Hours of Operation Pointers (66) -> Hours of Operation Structure (78)
Parameter List Structure (68):
Contains the Timelimit to be applied and a linked list of data sets containing Rates 70, Intervals 72, Interval Counts 74 and Options 76.
The data set element 'Rate' 70 specifies the amount to charge for the associated interval of time. The data set element 'Interval' 72 specifies the number of minutes allotted for the designated rate. Intervals can be as high as 4095 minutes (~ 68 hours).
The data set element 'Interval Count' 74 specifies whether the designated interval of time, once reached is to be repeated indefinitely or is to repeat between 1 - 15 times before advancing to the next data set.
'Options' 76 lists whether the rate is to be flat or prorated, whether the timelimit is to be enforced or ignored, whether the Hours of Operation are to be enforced or ignored, and whether entry is the last entry in the list.
Hours of Operation Structure (78):
A list of starting 84 and ending 86 hours that defines when the parking zone is to be considered active. Inactive zones are free to park in. When an inactive zone is parked in, the in-car parking meter will begin parking and charge a zero rate until the zone activates, at which point it will start charging the programmed rate for the Day of Week 80 and Time of Day 82.
When actively parking and the zone transitions to inactive due to the Time of Day, the in-car parking meter can either remain parking at a zero rate or automatically turn itself off; the automatic turn off option 88 is stored as part of the Hours of Operation List.
If Hours of Operation are disabled, there is an additional Zone parameter used to delineate between days. This value, contained in the zone's header data structure, specifies the hour of the day when another day is defined to occur.
This value is important when charging a flat rate by the day, e.g. a rate described as $10.00 per day.
The electronic bank, contained within the microcomputer 12, is charged differently depending upon whether the rate is pro-rated or flat. When the rate is flat, the rate is always charged at the beginning of the interval the flat rate applies to. A one minute grace period is provided before the actual charge, just in case the user had accidentally initiated parking. Flat rate parking intervals can be up to 68 hours in duration. When the rate is pro-rated, the rate is charged at the end of the interval or when the parking is terminated. Prorated charge intervals will never exceed one hour of duration, and the proration is the percentage of the interval in minutes actually parked times the per interval rate.
FIG. 4 depicts the basic operation of the in-car parking meter. When actively parking and the bank balance is low, the electronic bank's funds may be depleted while still actively parking. How this occurs depends upon whether the rate being applied is pro-rated or flat. If a flat rate interval ends and another flat rate interval is to begin, the bank is checked for sufficient funds 106 to charge the next interval, if insufficient, no charge is made and the in-car parking meter enters the 'Insufficient Credits State' 108. If a prorated interval ends and another pro-rated interval is to be started, the defined interval is trimmed to allow the maximum amount of parking short of incurring a negative balance at the end of this last interval. If parking continues to the end of this adjusted interval, the in-car will enter the 'Insufficient Credits State' 108.
Zones may be programmed as timelimited or unlimited. When unlimited, the active parking display 'Zone Symbol and TimeLeft/Time Parked' indicates the time parked, which increments from 00:00 upward to a maximum of 99:59. If the parked time exceeds this, a greater than symbol is appended to the time parked display.
When timelimited, the active parking display 'Zone Symbol and TimeLeft/Time Parked' indicates the time left of the time limit, which decrements from the timelimit downward to 0. If parking remains active beyond this point, and the in-car parking meter unit applies a penalty 116, the time left display is appended with a negative sign and the time left continues to decrement, creating a larger negative time. The negative time will stop decrementing once -99:59 has been reached.
If timelimited, and active parking continues past the timelimit, various optional actions can be taken:
If the penalty option is set for the zone, once the timelimit is exceeded, a penalty regimen 116 is selected. The penalty regimen 116 can apply any number of interval and penalty rates. These are defined by the penalty parameter list 62 pointed to by the zone header 52. Typically, the penalty parameters will be programmed to end with an unlimited zero rate interval, which will come into play after a predetermined penalty fee has been accessed against the balance. If a penalty period ends, the in-car parking meter will enter the 'Expired Mode'. If the penalty is disabled for the zone, once the timelimit is exceeded, the in-car parking meter will enter the 'Expired Mode' 112.
The reloading of monetary credits into the in-car parking meter can either be performed manually, through the use of the four front panel keys 36, 38, 40, 42 or automatically, through the infrared serial interface 18. But either way, a codeword, unique to the particular in-car parking meter being reloaded, must be validated before the reloading is allowed to be completed.
Each in-car parking meter can be reloaded a finite number of times. The reason there is a finite number of recharges available is related to security. The codewords used to reload the in-car parking meter are not algorithmically based, they
are totally randomly generated. Since there is no algorithm to generate these codewords, a table of these codewords must be stored within the in-car parking meter. The decision to use random numbers instead of an algorithm was based upon several factors. First of all, algorithms are breakable. Given enough access to the reloading codewords, it is possible to deduce the algorithm. Once the algorithm is known, all units relying upon the algorithm would be rendered insecure. On the otherhand, random numbers are totally unrelated to each other, therefore, even access to a majority of random codewords would not improve the ability to determine the value for the remaining random codewords. Another reason for using random codewords over algorithmically based codewords is processing power available. Since the in-car parking meter must last several years on a very small lithium battery, the processor must be simple and slow. For the technology available today, only processors with 4 bit data widths and clock rates of 32 KHz have low enough power consumption to comply. Since, it would only be practical to run very simple algorithms on these simple and slow processors, only limited security would be provided.
Finally, with random codewords, there is a guarantee by definition that the codewords cannot be deduced, only guessed. Algorithms on the otherhand offer no guarantee that they cannot be broken. In fact, it can only be proved that an algorithm can be broken and it is impossible to prove that they are unbreakable.
The in-car parking meter is limited to 64 reloads because each contains a unique table of 64 random, 5 digit hexadecimal values. A five digit hexadecimal number has over 1 million possible combinations, thus to guess a particular random codeword has the probability of less than 1 in a million. Note, each reload is generated using a completely different 5 hexadecimal random number.
At initial factory programming, a portion of the in-car parking meter's
RAM 26 is downloaded with a unique electronic serial number 140 and two unique random number tables (one 320 nibbles 142 and the other 100 nibbles 144). The unique serial number 140 is assigned to the unique random number tables 142, 144. Hence, when the electronic serial number is read through the display 34 or serial port
18, it identifies the random number tables that were downloaded along with it, but only to those who have the database of serial numbers verses random tables.
The in-car parking meter's reload codeword consists of two 7 digit decimal numbers, which for the purposes of this discussion will be labeled D01 through D14 as follows (same format as will be displayed on the LCD display 34 during reload):
D14 - D13 D12 D11 - D10 D09 D08 D07 - D06 D05 D04 - D03 D02 D01
The in-car parking meter's reloading capability provides the ability to sum to or replace its electronic bank's monetary value. Assigning a 0 to D14, indicates that the bank's value should be summed with the value being reloaded. Assigning a 1 to
D14, indicates that the bank's value should be replaced by the value being reloaded. If the digits 2 through 9 are assigned to D14, the codeword is invalid by definition.
The codeword digits D13, D12, and D11 are used to define the multiplier used to change all stored rate parameters for every zone. This features allows the parking authority the ability to change the rate charged for parking without the necessity of retrieving all in-car parking meter's out in the field and updating their parameters manually. Hence, the parking fees can be easily increased to account for inflation when the user pays for another reload of parking credits. The multiplier entered in D13, D12, D11 can vary from 001 through 999. The value 001 represents a rate multiplier of 1/100 and the value of 999 represents a rate multiplier of 9.99. If the value of 000 is entered, no rate multiplication is performed.
During reloading, the amount to reload is determined by digits D10, D09, and D08. These digits represent a monetary value, 100 times the electronic bank's minimum resolution. For instance, when the in-car parking meter's bank is in USD, the minimum resolution of the bank is a cent, or 1/100th of a USD. Therefore, if digits D10, D09, and D08 contain the value 025, $25.00 USD will be reloaded. Since the in-car parking meter accepts values between 001 through 999, $1.00 through $999.00 USD can be reloaded.
The reload codeword digits D07, D06, D05, D04, D03, D02, and D01 are used for validation of the codeword. For any combination of digits D14 through D08, there is only one valid combination of digits D07 through D01 values. Since the digits D07 through D01 are derived from random 5 digit hexadecimal numbers, there is 1 ,048,576 possible combinations of digits D07 through D01 for any specific combination of digits D14 through D08. Hence, for a particular setting specified by digits D14 through D08, there is one correct valid combination of D07 through D01 out of over 1 million possibilities.
When a user wants to reload a specific in-car parking meter, the user must supply its electronic serial number, its reload interval, its current bank balance and the desired reload monetary amount. These variables are supplied to a computer program with a secured access to the serial number/random number database. The computer is also supplied with the parking authority's desire to sum or replace, the rate increase if any, and the minimum and maximum allowed reload monetary value that is acceptable (this may be also be limited by the maximum allowed bank balance). Using these variables, the computer first determines whether the user's reload monetary value falls within the parking authority's minimum and maximum value. If so, the computer generates a valid 14 digit codeword for reloading. Note, the reload interval is
the current successful reload. Since the in-car parking meter allows 64 reloads, the reload interval is a number between 0 through 63.
The in-car parking meter also enforces a limitation on the dollar amount allowed to reload. If the electronic bank balance is within $1000.00 of bank's limit, the reload mode is disallowed.
The in-car parking meter permanently disables reloading if a user enters 8 invalid reload codewords during any reload interval. Normally, a successful reload will modify the bank balance and increment to the next reload interval. An unsuccessful reload, due to an invalid codeword, remains at the same reload interval. Should the user try unsuccessfully 8 times at any reload interval, the in-car parking meter permanently disables the reload mode. The user has no recourse but to turn in their in-car parking meter or use it until bankrupt.
The purpose for disabling the reload mode after 8 unsuccessful tries is two fold. One, it is an attempt to discourage guessing. Two, should the parking authority perform a rate increase, this prevents the user from never correctly entering the reload codeword to avoid the rate increase. That is, should 8 unsuccessful tries just increment the reload interval, then the user could avoid the reload interval containing the rate increase, and reload using the next reload interval.
Since the ability to generate a valid codeword for a particular in-car parking meter depends upon the knowledge of its two random number tables, and these tables are linked to the electronic serial number of the particular in-car parking meter, a method of generating and accessing a secured 'serial number/random number table' database is needed.
To this end, the generation of the 'serial number/random number table' database is completely done in advance for a range of serial numbers expected to be
assigned to a geographical region of the world. This is done by using a computer and a hardware based 'crypto-grade' random number generator. A software program is executed that generates a series of serial numbers between a specified range. These serial numbers are then associated with the output of the hardware based 'crypto- grade' random number generator. The result is a database that contains 420 nibbles of hexadecimal random numbers for each serial number in the generated series. This resulting database is then archived to be used for initially programming the selected in-car parking meter.
The algorithm for codeword generation consists of indexing nine table elements. The 320 nibble RAM based random number table 142 is indexed using the current reload interval. A ROM based random number table, common to all in-car parking meters is indexed by the upper codeword digits D14 through D8 which represent the options sumOrReplace, rateMultiplier, and reloadAmount. The table indexes are generated as follows: baselndex = reload interval
Dδlndex : reload interval ) + value of D8 ) % 20 D9lndex ■■ reload interval + 1 + value of D9 ) % 20 D10lndex reload interval + 2 + value of D10) % 20 D11 Index reload interval + 3 + value of D1 1) % 20 D12lndex reload interval + 4 + value of D12) % 20
D13lndex reload interval + 5 + value of D13) % 20 D Index reload interval + 6 + value of D14) % 20 where '% 20' means module 20
The indexes are now used to index the random number table, and the resulting random hexadecimal numbers are added together. The resulting hexadecimal sum is now converted to a 7 digit binary coded decimal value whose maximum possible value is 5-242-875: hexadecimal sum = RAM1Table[baselndex] + RAM2Table[D8lndex] +
RAM2Table[D9lndex] + RAM2Table[D10lndex] +
RAM2Table[D111ndex] + RAM2Table[D12lndex] + RAM2Table[D13lndex] + RAM2Table[D14lndex] expected valid codeword = BinaryToBCD(hexadecimal sum)
Since a typical municipality can have several thousand in-car parking meters in the hands of motorists at any one time, the parking credits will require recharging at different times due to differences in each motorist's parking habits. This requires that the municipality have instant access to all the random recharge codewords for all of its in-car parking meters, since it has no way of knowing which codewords will be needed at any one time. But, since the in-car parking meter manufacturer may charge for each codeword, the parking authority will want to purchase the codewords in small blocks.
To this end, hardware and software is provided for controlling the release of the random recharge codewords. The hardware consists of a microprocessor with an internal RAM connected to an external nonvolatile memory and a battery, all encapsulated in epoxy for security. The battery maintains the contents of the internal RAM of the microprocessor. The internal RAM stores Block Access Codes required to be entered by the city before disclosure of any random recharge codewords. The RAM is sufficient to store all the Block Access Codes needed to dispense all required random recharge codewords. The nonvolatile memory stores all the random recharge codewords. Additionally, the nonvolatile memory contains a significant majority of unrelated random values used to conceal the codewords. The codewords are distributed among the unrelated random values in a pattern known only to the algorithm stored securely within the microprocessor. A program that provides the interface to this hardware is executed on an external computer connected to the hardware by a serial communications link.
Besides the four keys of the front face, the in-car parking meter also communicates and can be reloaded through its own case using a Infra-Red Serial Interface (IRSI) 18. The advantages of such an interface are the immunity to electrical interference associated with automobile environments, the smaller size and lower cost of an IRSI, and the ability to hermetically seal the in-car parking meter's case, since no electrical contact is needed.
The IRSI 18 is composed of an internal infrared optimized photodiode 150 and an internal light emitting diode (LED) 152, separated by approximately 1 inch. The photodiode 150 is used to receive serial data sent by a high power infrared LED transmitter 158 of an externally located transceiver 154. The infrared light pulses emitted by the external LED 154 penetrates through the in-car parking meter's plastic case, through an infrared filter in front of the photodiode 150 and causes the photodiode 150 to conduct. This conduction results in an input high voltage appearing at the serial input pin of the microcomputer. When no light strikes the photodiode 150, its conduction drops to the dark current level, and an input low voltage appears at the serial input pin of the microcomputer.
The internal LED 152 is used to transmit serial data out of the in-car parking meter. When the LED 152 is biased on, it emits light, which travels through the housing, to a very sensitive phototransistor 156, located externally. The light from the LED 152 biases the phototransistor on, and therefore allows the serial data to be electrically observed by an external transceiver 154.
For simplicity, the IRSI 18 has been designed to operate only in a controlled environment. First, the in-car parking meter must be placed into an ambient light blocking, slotted transceiver. When the in-car parking meter is fully inserted, ambient light is blocked and the inside of the slotted transceiver 154, the external
infrared LED 158 and external phototransistor 156, are aligned opposite their respective counterparts internal to the in-car parking meter. To enhance the light transmission through the housing, the in-car parking meter's housing is thinner over the internal LED 152 and photodiode 150. To initiate a serial transmission between the external transceiver 154 and the in-car parking meter's IRSI 18, several conditions must be met. First, the in-car parking meter will communicate only in the Off state. Second, before the in-car parking meter will respond to any serial data received, a special sequence of 32 bits must be received at a 1/16th per second rate. This sequence is initiated by a reception of a '1 bit' followed by the appropriate 32 bit sequence of '1 or 0 bits'. Should the sequence not match the expected sequence, the input is ignored until a 32 bit sequence of all '0 bits' is received. Should the sequence match the expected sequence, the in-car parking meter will acknowledge by pulsing its internal LED 152. Next the in-car parking meter will enter a full duplex serial connection with the external transceiver 154.
A 16Hz initiation process is used to conserve battery power. The in-car parking meter only biases the photodiode 150, for approximately a quarter of a millisecond every 60 milliseconds, and only when in the Off mode. Additionally, the in-car parking meter will not drive its internal LED 152 or enter into full duplex serial communications until a successful 32 bit sequence is received.
The IRSI 18 operates in five distinct modes, depending upon the first command received from the external transceiver 154. These modes are: short status, long status, credit reload, parameter reload, parking garage and initial load.
The short status mode command causes the in-car parking meter to output its electronic serial number, its current reload interval, its reload try count, its
current bank balance, its current date, its current time, its battery status and a checksum. After which, the in-car parking meter will wait ten seconds for an additional command before shutting down its IRSI.
The long status mode command causes the in-car parking meter to output the short status data as well as additional data, which consists of the accumulated parking fees for each zone used and the last ten parking timestamps. The in-car parking meter will store timestamps of the last ten parking activations. These timestamps include: the year, day of the year, starting time of parking, ending time of parking and parking zone. These timestamps are useful in determining the validity of tickets issued to motorists. For instance, if an enforcement officer fails to see an operating in-car parking meter, the timestamp can be used to prove the in-car parking meter was active at the time of the ticket. Again, the in-car parking meter will wait ten seconds for an additional command before shutting down its IRSI 18.
The credit reload mode command causes the in-car parking meter to receive the reload codeword and transmission checksum. Should the checksum fail, the reload operation is ignored. If the checksum is correct and the reload codeword validates, a reload is performed. If the reload codeword fails, the reload try count is incremented. If the reload try count reaches 8, the credit reload mode and parameter reload mode will be permanently disabled. After any reload command, a status code is output from the in-car parking meter's IRSI to indicate the status of the command. Status includes: checksum fail, reload fail with try count, or reload pass with new balance. The in-car parking meter will wait ten seconds for an additional command before shutting down its IRSI.
The parameter reload mode command causes the in-car parking meter to receive a whole new set of parking parameters, a new bank balance, the language to
use, as well as, date and time values. Immediately following the command word, a parameter reload codeword and checksum must be received. If the checksum is incorrect, the command is aborted. Otherwise, the parameter reload codeword must be validated before the command will proceed. If the parameter reload codeword fails, the reload try count is incremented and the command is aborted. If the reload try count reaches 8, the credit reload mode and parameter reload mode will be permanently disabled. Note, the parameter reload codeword methodology is very similar to the reload codeword methodology; each in-car parking meter has a unique set of parameter reload codewords, with each member of the set tied to the reload interval.
If the parameter reload codeword validates, the in-car parking meter will now accept the data. The serial data is sent one nibble of new data at a time, followed by the in-car parking meter's status response. The same data nibble is sent two additional times. The in-car parking meter determines whether the three nibbles match. If they match, the in-car parking meter responds with a success status, and the transmitter sends the next data nibble. If the three nibbles fail to match, the in-car parking meter responds with a failed status, and the same nibble is re-sent three times. Should the serial communication fail 10 times in a row or become interrupted for more than 30 seconds, the in-car parking meter will abort the command. Once aborted, the in-car parking meter must be successfully reloaded with parameters before it will exit the off state and become operational.
Upon successful competition of the transfer (the commanded number of nibbles had been received correctly), the in-car parking meter will respond with a success status. Status for this command includes: checksum fail, reload fail with try
count, or reload pass with new balance. The in-car parking meter will wait ten seconds for an additional command before shutting down its IRSI.
The parking garage mode command causes the in-car parking meter to start/stop parking for a gated garage or lot. When parking within a municipal garage or cooperating private garage with entrance and exit gates, the motorist will insert their in-car parking meter into a designated slot located at the entrance gate of the parking garage. The slot will communicate with the in-car parking meter through the infrared serial interface 18, selecting the appropriate parking zone automatically and turning the in-car parking meter on. While within the garage, the in-car parking meter will remain active, even if the motorist attempts to prematurely end parking by pressing the "Off" key. When the motorist leaves the parking garage, the in-car parking meter is again inserted into a slot located at the exit gate. Through the IRSI 18, the user's parking will be terminated. Should the in-car parking meter contain sufficient funds to pay for the stay, the motorist will be allowed to exit the garage. Should the stay require additional funds, the motorist will repay the difference at a kiosk, located in the close vicinity.
Note, participating parking garages will be equipped with specialized interface hardware. This hardware will be capable of interfacing to the in-car parking meter through its infrared serial interface. The specialized hardware will store the serial number, date, start time and end time for the parking. Should the parking garage be privately owned, this information will be used to credit the private garage for the parking incurred. In an alternative embodiment, this data will be transmitted from a specific garage by cell phone on a weekly basis to the parking authority.
The load mode command is used to initialize the in-car parking meter with its electronic serial number and random number block. The load mode command is also used to calibrate the crystal oscillator 16 of the in-car parking meter using a very
accurate frequency standard. This command is also capable of optionally performing a parameter update. The load mode command is only performed at the factory.
Besides the IRSI 18, the in-car parking meter has the ability to communicate with an external receiver, for example, a data collector portably carried by a parking enforcement official, through the use of a passive transmitter, i.e., a corner cube. The corner cube will allow the in-car parking meter to transmit serial data optically and passively. The corner cube will be positioned behind a controllable segment of the LCD display 34. When the segment is on (opaque), the optical path from the corner cube to the external receiver is blocked. When the segment is off (transparent), the optical path is clear. The key to employing an optical corner cube is the fact that the corner cube has the property of reflecting any light striking it from a point source directly back to the point source, i.e., an external receiver. The external receiver comprises a photodetector, along with the point source, which is able to detect any light being reflected back by the corner cube. To passively transmit serial data, the segment of the display only needs to be modulated on and off at the serial data rate and the external receiver provides the transmission medium of light emanating from the point source.
The advantages of this passive transmitter for the in-car parking meters are very low power consumption, low implementation cost and covert, at a distance transmission. Since the passive transmitter needs only to modulate a LCD segment, power consumption for the transmission of serial data requires a only a few microwatts of power making it very suitable for in-car parking meters that operate off of a small Lithium battery for several years. The low implementation cost derives from use of the same LCD for both light modulation and display of human readable information. Additionally, since the modulated light is only returned directly back to the receiver and
looks to the motorists as just another LCD segment, the passive transmitter provides a very covert communications channel that can work from several feet away. This allows parking enforcement officers to utilize an external receiver to read additional information about the status of the in-car parking meter not displayed on the LCD in human readable form. This information may contain the serial number, time parked, money in the electronic bank, etc; too much information to put on the display in human readable form as well as information that it would be desirable to limit public access to. One aspect of designing the in-car parking meter for international use is the ability to display the money symbol of the country the in-car parking meter is operated in. The money symbol is used for displaying balances and fees. Since new money symbols are constantly being created (e.g. the Euro), the money symbol used by in-car parking meter is downloaded into RAM as part of the product customization. Additionally, during the in-car parking meter's use, a country or countries may decide to standardize upon a new currency (e.g. the Euro). Typically when this happens, a date is given for the switch and a conversion rate is pre-determined. The in-car parking meter contains the ability to convert, at a specified date and hour, the electronic bank and all the parking rates from one currency to another predetermined currency. Additionally, the new currency money symbol is also switched. The in-car parking meter is programmed with the date and time, the conversion factor and the new currency symbol as part of the customization.
Another aspect of international usage is the ability to display text strings in the language of country the in-car parking meter is being used in. The in-car parking meter stores these text strings as either character strings composed of three different font sizes or as bit maps. The character strings or bit maps are selected depending upon the default language. For example, the English language may be stored as
character strings, with characters identifying one of the three different font sizes needed to fit the message within the space allowed. This method of storage is very efficient in its ROM usage. But, the Chinese language is not compatible with a character set and the messages to be displayed would best the displayed as bit maps. The in-car parking meter contains tables of text strings, stored as either bit maps or character strings for each language supported. The language displayed can be programmed at delivery of the in-car parking meter to the motorist so that it can be tailored to the individual motorist in areas with diverse languages. The motorist can also select via the user interface, the default language of the in-car parking meter. A key feature that allows the display of international money symbols, text strings in various languages, and the city names as bit map images is the use of a graphical based LCD display. The in-car parking meter graphical display 34 is organized as an array of 16 rows x 64 columns of pixels (1024 pixels). The display 34 has been designed to work over the large temperature range often found in parked automobiles.
One disadvantage of a LCD display with a large number of pixel (segments) is the high degree of multiplexing necessary in order to keep the segment count to a reasonable number. The higher the multiplexing ratio, the narrower the range of temperatures in which the LCD provides a reasonable contrast in. The in-car parking meter uses 64 segment drivers with a reasonably high multiplexing ratio of 1/16. For LCD's, colder temperatures cause the off segments to darken and higher temperatures cause the on segments to fade. To allow a multiplexed LCD display the ability to span this temperature range, a temperature compensating methodology must be enacted.
In-car parking meter's temperature compensation consists of a temperature sensing circuit 20 and the ability to change the bias levels of the LCD segment drivers. The LCD interface 32 contained by the microcomputer 12 has the ability to modify the bias voltages to the display 34 via a simple special function register. In-car parking meter compensates for temperature by reading the temperature value every half hour, and adjusting the bias levels according to a temperature/bias level table generated for the specific LCD used.
As shown in FIG. 8, the temperature sensing circuitry 20 is used to get a rough measurement of the ambient temperature. The circuitry 20 is normally turned off to save power, and only comes on for a fraction of a second every half hour. The circuit 20 measures the resistance of a negative temperature coefficient thermistor 180, and using a table look-up, can translate the measured resistance into a temperature value. The resistance is measured by comparing the time it takes for a capacitor 182 to charge with a known resistor value 184 against the time it takes for the NTC thermistor 180 to charge the same capacitor.
The in-car parking meter uses a 32,768 Hz crystal 16 in an oscillator circuit to generate the basic Λh Hz timekeeping clock as shown in FIG. 9. But inherently at room temperature, the manufactured crystals are only within a certain tolerance to the ideal frequency. This initial inaccuracy is electronically calibrated out during initial manufacture. The calibration consists of accurately measuring the interval between two pulses of light output via the LED 152 of the in-car parking meter during initial programming. The interval will be defined in the in-car parking meter's software to last X clocks of the microprocessor (the clocks being generated by the crystal to be calibrated). Now knowing what the interval should be X/32768 and what the interval is Y, one can determine how many seconds per week to add or subtract to the seconds
counter to compensate for the offset from the ideal frequency. This value is stored during initial programming and is used weekly by the in-car parking meter's software for clock accuracy compensation. The interval is accurately measured by using a higher frequency oscillator, oven controlled and calibrated high degree of accuracy, to generate a high frequency count of the interval between LED pulses. This high frequency count can then be used to determine the lower frequency oscillator's interval to the required resolution and accuracy.
Since the in-car parking meter will be used within an automobile, it will be subject to large swings in ambient temperature. Unfortunately, the temperature affects the frequency that the crystal oscillator 16 produces. Changes in temperature from ambient (the temperature that the crystal is calibrated at) will produce offsets from the calibrated frequency. These offsets can be compensated for by generating an average temperature for the week before the seconds compensation (see above). Once this average temperature is calculated, a table look-up of temperature vs. frequency drift for the crystal yields the seconds compensation adjustment for the average temperature. The temperature will be measured every half hour for the entire week prior to the weekly seconds compensation and these values will be averaged together to produce a representative temperature for the week.
One concern of parking authorities is that a motorist using the in-car parking meter may forget to turn off the unit when returning from parking. Special hardware can be added to detect when the vehicle, the in-car parking meter was activated in, has left the parking space. In the simplest method, a motion detector is added to the in-car parking meter and monitored by software. If the significant motion is detected over a period of several minutes, the in-car parking meter can be programmed to exit any active parking.
The in-car parking meter's battery voltage is checked every half-hour by its internal battery checking circuit 30. Should the in-car parking meter's battery voltage drop below a predetermined minimum value for three consecutive readings, a battery low warning display will be flashed every 4 seconds when in the off mode. At this point, the user is advised to return their in-car parking meter so that any remaining credits can be accounted for before the battery voltage drops below the voltage required for operation. The battery warning will be issued several weeks in advance of failure.
There are two major security issues surrounding in-car meters. The first issue is that of counterfeit meters and the second issue is theft of in-car meters.
Counterfeit meters are fabricated to appear externally like their target in-car meter in operation, yet are designed to provide the end-user countless hours of free parking. This threat, if left unchecked, could produce a huge underground economy based on illegal counterfeit meters. The new in-car parking meter thwarts this threat by outputting a authentication code every hour of every day. Each hour, it is not known what the value will appear to be, but every in-car parking meter under the same parking authority, will produce the same code, and counterfeit meter will not. Referring to FIG. 10, the hourly code 190 is generated by referencing an unpublished table 192 of random values, stored in ROM and common to all in-car parking meters, in conjunction with a RAM based algorithm 194 that utilizes the time of day 196, day of year 198, year 200, and parking authority codeword 202 to generate an pseudorandom address within the table for the selected value. A RAM based algorithm 194 is used so that the addressed Hour Code 190 can be only be known if both the contents of the ROM and the contents of the RAM are known. This prevents the compromising of the Hour Code 190 by the examination of the masked microprocessor die to discern
its program and secret table. The RAM based algorithm 194 is programmable and known only to the in-car parking meter's manufacturer. Since the contents of the RAM are not discernable by inspection of the microprocessor die, but necessary to the generation of the Hour Code, mere inspection of the microprocessor die will not compromise the hour code.
To discourage theft of the in-cars parking meters, each in-car parking meter will display its unchangeable electronic serial number during parking. Since the monetary credits electronically stored within an in-car parking meter can only be spent parking, the thief must park in order to gain a financial advantage. But since parking will advertise the stolen in-car parking meter's serial number, it would be unwise of a thief to use it for parking, effectively negating the value of the stolen in-car parking meter.
The above method is superior to the "PIN code" method used by other in- car meters for theft protection, since it does not require the motorist to unlock the in-car meter upon every use. Nor does it require the motorist to remember the PIN. The electronic serial number and hour code are combined together to produce a very powerful security display, presented every X seconds during active parking.
Since the in-car parking meter 10 is the size of a credit card, a special wallet 210 will be manufactured for it to serve several purposes. First, the wallet 210 will help protect the in-car parking meter from mechanical damage. Second, the wallet 210 will allow businesses to advertise services and allow the user to store business cards within it as well. Third and most important, the wallet 210 will serve as a holder for the in-car parking meter, allowing it to be displayed within the car. The wallet will consist of a plastic, cordura or leather material. The in-car parking meter will be attached on one inside flap of the wallet and a fuzzy strip of Velcro™ 212 attached on
the outside of the other flap. A strip of Velcro™ will be supplied to loop around the sun visor 214 of the user's vehicle. The wallet 210 will hang open from the sun visor 214, attaching to the Velcro™ strip 212. The sun visor 214 can now be positioned to face to the front or to the side of the vehicle. Note, either the driver's or passenger's sun visor 214 can be designated.
To operate the in-car parking meter, the motorists presses the momentary switch labeled 'On/Off 36. This activates the LCD 34 which displays the city name (or parking authority) and credit balance 300. Note, the City Name can be twice as long as the display. If longer than the display, the name will scroll across from left to right. Seconds later, the display automatically changes to display information concerning the default parking zone 302. Parking zone information 302 consists of the zone designation symbol bit image 304, the zone's standard rate of charging (e.g. $ 0.75/hr), the timelimit for the zone (if any), and optional information, such 'Residential', 'Staff, 'Student', etc. For example, first the Zone's Rate 302 is displayed. After 4 seconds, the Zone's Timelimit 306, 308 is displayed, and then after another 4 seconds, a Zone Message 310 is displayed, otherwise it loops back to the Zone Rate 302.
The default parking zone is either the last zone parked at or, initially, the very first zone. The motorist scrolls through different zones by pressing or holding down one of the two membrane switches labeled with either an up 38 or down 40 arrow. Once the desired zone display has been scrolled to, the motorist can activate parking in that zone by pressing the membrane switch labeled with a 'star' 42.
At this point, certain pre-parking displays may occur depending upon the amount of money available, the cost of the parking, or whether or not a zone's parking has been temporarily disabled. If there is insufficient money available to activate parking at the selected zone, the following display will result: Insufficient Credits 312.
This can result from having a bank balance of zero dollars or the selected zone's rate is a flat rate that exceeds the bank's balance. If this display occurs, parking activation is prevented and the in-car parking meter returns to the zone selection displays described above. If the zone has been temporarily disabled, the display will read: No
Parking Allowed 314. This occurs when the in-car parking meter has been programmed to disallow the re-parking at a particular zone for specified time interval. If this display occurs, parking activation is prevented and the in-car parking meter returns to the zone selection displays described above. If the monetary amount in the electronic bank is less than 10 times the average hourly rate for the zone selected and the zone's rate is prorated, the following display may be shown: 8 HR Remain, Low Credits 316. This display occurs when the bank credits are low compared to the zone's charging rate. This is only a warning display that lasts for a few seconds prior to entering active parking. Once parking is allowed and activated, the in-car parking meter presents a series of displays used to provide parking status to the parking enforcement officers. The displays are presented as a continuous loop, with each display being presented for a number of seconds, as shown in FIG. 13. The displays presented are programmable for each zone and can be chosen from the following set of displays: City Name 400, Zone and Message 402, Zone Symbol and Current Rate 404, Zone Symbol and Time Left or Time Parked 406, Zone Symbol and Day of the Week and Time of Day 408, and finally, the Hour Code and the in-car parking meter's Serial Number 410 is always displayed. The display sequence now wraps around back to the City Name 400 display.
Two additional flashing display are provided should the in-car parking meter become bankrupt or if parking in a time limited zone should exceed the time limit. For bankrupt in-car parking meters, the flashing "Insufficient Credits" 412 display is shown. If the timelimit is exceeded, the flashing "Expired" 414 display is show. Parking is terminated by the motorist pressing the "On/Off" key 36, or by the time of day reaching an hour designated as outside the hours of parking. In either case, the display 416 showing the Time Parked and Fee incurred is presented until the motorist once again presses the "On/Off" key 36 and blanks the display.
While the invention has been described with respect to a preferred embodiment, it is apparent that various changes can be made without departing from the scope of the invention as defined by the appended claims.