[0001] This invention relates to an electronic taximeter. More specifically, this invention
relates to such a taximeter including a dedicated microprocessor adapted to carry
out the functions required by a taximeter. The invention furthermore relates to the
microprocessor of the taximeter.
[0002] To a large extent, taximeters available in taxis today are of the mechanical type.
These are heavy and bulky and difficult to calibrate accurately on a time basis. In
addition, the process for calibrating mechanical taximeters to new fare rates is awkward
and expensive as it usually requires changes in computing gears. The mechanical versions
also suffer from poor accuracy and a lack of adequate resolution as well as limitations
on the number of optional rates. In addition, they have limited range of features,
e.g. amount of information that can be displayed and fail to take advantage of available
technology.
[0003] Electronic taximeters have also been designed, but these have failed to match the
mechanical taximeters in cost and general performance. General purpose microprocessor
based electronic taximeters have so far proved uncompetitive due to poor temperature
performance, high cost, susceptibility to electrical interference from the cars electrical
system, and generally poor design. The use of a general purpose microprocessor is
expensive because of the provision in the microprocessor, of capabilities, which must
be paid for, but which are not employed in the operation of the taximeter.
[0004] The problem therefore with which the invention is in general concerned is the design
of an electronic taximeter which is competitive in cost with, and superior in performance
to, conventional mechanical taximeters, while avoiding the high cost incurred when
employing a general purpose microprocessor.
[0005] A solution to this problem is provided by the invention as claimed. The microprocessor
proposed by the invention is of a simple and logical design, being designed specifically
to provide the calculating functions desired in a taximeter. It may be assembled from
discrete, off-the-shelf readily available microcircuit components and is thus cheap
and easy to build; for the same reason it can also be easy to repair.
[0006] In essence the microprocessor operates by cyclically selecting the storage locations
of the data relating to distance travelled and fares charged and updating the selected
data when appropriate, as indicated by an input signal relating for example to a distance
unit travelled.
[0007] The taximeter of the invention is simpler to operate than mechanical taximeters and
provides instant recall, preferably on a single display device, of the data stored
in it. A particular advantage is the flexibility of the microprocessor; thus, in order
to change the face structure or the charging rate of the taximeter, or to convert
from calculation by miles to calculation by kilometers, it is only necessary to alter
a set of data in a single memory.
[0008] An embodiment of the invention will now be described by way of example in the following,
with reference to the accompanying drawings, in which:-
Figure 1 is a block diagram of the electronics portion of a taximeter embodying the
invention;
Figure 2 is a schematic illustration of a transducer in the taximeter; and
Figure 3 shows the front face of one suitable embodiment of a display device in the
taximeter.
[0009] Referring to Figure 1, the taximeter embodying the invention comprises a transducer
1 for providing pulses representing predetermined units of distance travelled by the
taxi in which the taximeter is installed. One suitable embodiment of such a transducer
is shown in Figure 2; the transducer shaft 3 is connected in series with the speedometer
cable 5 of the taxi. Four radial blades 7 are equally spaced around the shaftand are
disposed to cross the path of light between a light 9 emitting diode (LED)/and a phototransistor
11. An output pulse is provided from the phototransistor 11 each time the path of
light between the LED 9 and the phototransistor 11 is broken by the passage of a blade
7. As most speedometer cables are rotated at an approximate rate of 1000 turns per
kilometer travelled by the taxi, the phototransistor will provide approximately 4000
pulses per kilometer travelled.
[0010] Returning to Figure 1, the output of the transducer 1 is fed to one terminal of input
latches 13 which, in a manner well known in the art, comprise a plurality of bistable
devices. A second input terminal of the latches 13 is fed from an EXTRAS pushbutton
on the taximeter as will be described below. Another terminal of the latches 13 is
connected to a quartz time-base generator 15 which acts as the clock for the entire
system. The cycle frequency of the generator 15 is of the order of 2.5 MHZ.
[0011] The output of the latches 13 is fed to an input multiplexor 17 (MUX), whose output
is fed to a data read-only memory (ROM) 19.
[0012] The generator or clock 15 also provides a timing sub- signal to actuate function
circuits/system 21 which takes the form of an electronic counter. Each time a pulse
is supplied from the clock 15 the count value in the counter 21 is increased by one
until the maximum count of the counter 21 is reached. At the next clock pulse, the
counter 21 returns to zero to begin a new cycle.
[0013] The counter 21 has one output cunnected to the address terminals of the random-access
memory (RAM) 23. The address on the RAM 23 which is selected corresponds at any time
to the count on 21. Thus, the addresses of the RAM 23 are sequentially accessed in
each cycle of the subsystem 21, the maximum count of counter 21 corresponding to the
number of addresses of RAM 23. In a typical embodiment, the RAM 23 has 64 storage
locations, each location storing four bits so that a single binary coded digit (BCD)
can be stored there. In this case the counter 21 also has a maximum count of 64.
[0014] The output of the RAM 23 at any time, referred to as the last data output, passes
via four lines connected to a BCD adder 25, and the output of the adder 25 is fed
to a latch 27. As will be explained below, new data supplied by the ROM 19 is added
to the last data of the RAM 23 in the adder 25. The new data is then fed to a latch
27, and in turn to the RAM 23 thereby to update the data in the RAM 23.
[0015] In the typical embodiment, mentioned above, the RAM 23 is a 64 x 4 bit memory, and
the connection between the counter 21 and the RAM 23 comprises six parallel address
lines which pass via a program ROM 29. The function of the program ROM 29 is to control
the operation of the date ROM 19 and the remainder of the circuits as will be more
fully described below. In this embodiment the program ROM acts as a "look-up" table.
[0016] The function circuits or counter 21 also causes a selector circuits subsystem 31
to cycle through its sequence of states. The subsystem 31 receives data input from
the latch 27 preparatory to feeding the data to a display unit 33 where it is visually
displayed. A "BCD to seven segment" decocder 35 converts the BCD representation received
via the subsystem 31 into a code usable by the display unit.
[0017] Although shown for convenience as a separate unit in Figure 1, manual siect switches
37 are really a part of the display device. Parameters to be displayed on the display
unit are selected by activating the appropriate rotary switch or pushbuttons of switches
37. This primes the appropriate addresses in the selector circuit 31 to permit passage
of the data at those addresses through to the display unit.
[0018] The front face of the display unit is illustrated in Figure 3 and consists in this
embodiment of a VACANT/ HIRED switch 39, an EXTRAS pushbutton 41, TIME ON/TIME OFF
switch 43, and readout and rate selector rotary switch 37. The display unit also includes
a bank of LEDs 47 which provide a nine digit readout. The same reference numerals
in Figure 1 designate either lines from the appropriate switches in Figure 3 or schematic
representations of the same elements.
[0019] In an alternative embodiment not illustrated herein, the VACANT/HIRED and TIME ON/TIME
OFF switches are replaced with a single, 3 position pushbutton switch which operates
in the following fixed sequence:-
[0020] The basic measurements which are performed by the taximeter are listed below, in
the order of their increasing complexity:-
(a) Counting and storage of the total number of paid trips as indicated by depression
of the VACANT/ HIRED switch 43 at the start of each trip.
(b) Recording and storage of the extra fare or surcharge (due to excess luggage for
example) as entered by a single or repeated depression of the EXTRAS button 41. The
EXTRAS display and storage are cleared before the start of each trip and new data
is entered if necessary only at the start of each trip.
(c) Recording and storage of total extras, that is, the total of all items (b) above
for all trips.
(d) Recording and storage of total kilometers travelled, i.e. basically the same function
as an odometer of a car.
(e) Recording and storage of paid kilometers i.e. total kilometers travelled during
the time the taxi is hired.
(f) Processing and recording of the fare for each paid trip. The fare processing is
a significantly more complicated function than any of the preceding items listed above.
On a typical trip, the following events might for example typically occur to make
up the fare:-
(1) A drop fare (or basic minimum) is recorded when the VACANT/HIRED switch 39 is
depressed. The drop fare could amount to, for example, 75 φ.
(2) When the taxi starts to move, it will first traverse a "dead zone" distance or
time for which no extra fare is charged. The distance could typically be of the order
of 1/2 km.
(3) After the dead zone distance or time has been traversed, and if the taxi is travelling
faster than a cross-over speed as defined below, the fare is increased by a predetermined
increment per unit of distance travelled, for example, 12 φ per 1/4 km.
(4) If the speed of the taxi decreases below the cross-over speed or the taxi stops
during the trip, the fare is increased at a predetermined rate per unit of time, for
example, 5 t for each 30 second period.
(5) If the taxi starts again after a stop, the fare continues to be increased at the
time rate until the cross-over speed is again reached. The cross-over speed is defined
as the speed at which the rate of accumulation of distance-based fare as defined in
(3) is just equal to the rate of accumulation of time-based fare as defined in
(4), or it may be arbitrarily set to any speed in accordance with the local or municipal
rate structure, legally in effect.
[0021] With the examples given above, i.e. a distance-based rate of 12 φ per 1/4 km and
a time-based rate of 5 / for every 30 seconds, the cross-over speed which yields the
maximum allowable revenue is 12
km per hour. In order to determine when the cross-over speed is reached, the meter
compares actual speed with cross-over speed continuously and switches from distance-based
increements to time-based increments below the cross-over speed and from time-based
increments to distance-based increments above the cross-over speed.
[0022] (6) The addition of time-based increments, to the fare is stopped by the driver when
he arrives at the destination of his passenger by depressing the TIME ON/TIME OFF
switch 43. At this point, no further fare increments can be accumulated as the timer
mechanism is off and no further distance is being covered.
[0023] (7) The time-based increments may be prevented at any point during the trip by depressing
the switch 43 if fare is to be charged solely on the basis of distance travelled.
[0024] (g) Total fares, that is, the sum of all items (f) abae for all trips, is also calculated
and stored and can be read out as required.
METHOD OF OPERATION
[0025] Typical operation of the illustrated embodiment of the invention will now be described.
GENERAL
[0026] The data ROM 19 and the RAM 23 each comprise 64 memory locations with 4 bits each
for the storage of a single BCD digit at each location. Current information is stored
in the RAM, and new data is computed by adding the contents of the ROM to those of
the RAM. A particular item of data in the RAM is updated, when the address of the
location at which this data is contained in the RAM is selected by the function circuits
21, by applying the data from this location of the RAM as the "last data" to one input
of the BCD adder. The data to be added to the "last data" is applied from the ROM
to the other input of the BCD adder 25, and the information at both inputs is then
processed in the adder.
[0027] The processed data from the adder 25 is then applied to the latch 27 from which it
is inserted, as updated data, into the appropriate memory locations of the RAM, which
have previously been cleared upon the transmittal of the "last data" to the adder
25. At the same time, the updated data is available to be displayed on the display
device 33 by virtue of the connection between the latch 27 and selector circuits 31.
The latch 27 clears to receive the next data item from the adder.
[0028] The following examples indicate the computations and manipulations for the various
functions as above described:
EXTRAS (total)
[0029] The treatment of the total EXTRAS data (item c) in the list above) by the dedicated
microprocessor is initiated by depression of the button 41 of the display. Each time
the button is depressed, the appropriate address of the data ROM 19 is activated as
described below. This address will contain a predetermined BCD number (equivalent,
for example, to 15 φ) and this predetermined amount will be added to the "last data"
supplied from the appropriate storage locations in the RAM by the BCD adder and the
total restored in the RAM as above described. For example, if it is required to insert
45 φ worth of EXTRAS, then button 41 is depressed three times.
[0030] If the amount already stored in the RAM for the total EXTRAS is, for example, $1.25,
then the digits 5,2 and 1 would be stored in 3 separate locations respectively in
the RAM. These digits will be presented, in sequence, to the BCD adder when the locations
at which they are stored in the RAM are selected by the function circuits 21.
[0031] Each depression of the EXTRAS switch 41 causes one of the input latches 13 to be
"set" (to logical 1 from logical 0). Thus, when the function circuits 21 produce the
address of the least significant digit (5 of the $1.25) the output of the input multiplexor
17 is a logical 1 (due to the prior setting of the EXTRAS input latch 13). The output
of the input multiplexor causes the data ROM to provide an output of 5 as this was
the predetermined amount pre-programmed into the data ROM at the corresponding location.
The 5 of the data RON and the 5 provided by the RAM from its corresponding location
will be added together to produce a 0 with a carry 1. The 0 is transmitted to the
latch 27.
[0032] When the address of the middle significant digit of the $1.25 is selected by the
function circuits, the carry 1 will be added to the 2 from the RAM and the second
digit 1 from the ROM by the BCD adder to give a to sum 4 which is also transmitted/the
latch 27. Next the 1 from the RAM location for the most significant digit is processed
through the adder, being unchanged since the corresponding address of the ROM contains
a zero.
[0033] The numbers 0, 4 and 1 will thus be sequentially loaded into the RAM 23 after the
addition has been performed so that the data at the total EXTRAS locations of the
RAM will now be the updated amount of $1.40.
[0034] If there is no EXTRAS input, then only 0 will be added to the RAM data so that there
will not be any change in the data in the RAM.
[0035] In a similar fashion, a data is formed for the EXTRAS charged on each individual
trip (item (b) above). The RAM contents storing this EXTRAS amount is cleared automatically
at the start of each trip. The RAM contents for the total EXTRAS are cleared only
during intentional clearing of the meter statistics.
TRIPS (total)
[0036] Total trips is the total number of paid trips taken by the taxi during any period
(item (a) above). If this is cleared at the beginning of each day, then the amounts
stored at the end of the day will be the total number of paid. trips taken in that
day. If this is cleared at the beginning of the week, then the amount stored in the
RAM at the end of the week will constitute the total number of paid trips taken during
the week.
[0037] An input signal indicating a paid trip is inserted by depression of the HIRED button
39. This data is inserted through the function circuits 21, and when the HIRED button
is pressed, then the corresponding address in the data ROM is activated; the data
ROM at the appropriate location contains a BCD 1 so that each time the HIRED button
39 is pressed the relevant data at the corresponding locations in the RAM 23 will
be incremented by 1 through the adder 25.
KILOMETERS (total)
[0038] The operation of the microprocessor for total kilometers travelled (item (d) above)
is very similar to the operation for total EXTRAS described above. The basic difference
is that the input data comprises distance pulses arriving from the transducer 1 at
a rate for example of approximately 4000 per kilometer travelled. Each pulse from
the transducer sets a "distance" latch in the input latches, and the sequence of events
for adding this new distance data to the data already in the RAM 23 must all take
place before the next distance pulse arrives from the transducer 1.
[0039] A total of 8 digits are used for calculating and storing total kilometers in the
RAM. Thus, the maximum distance which can be stored is 99,999.999 kilometers.
[0040] As the transducer 1 produces a distance pulse each time the taxi travels 1/4000 of
a kilometer i.e. every 0.00025 kilometers, obviously the distance dta cannot be loaded
directly into the third digit to the right of the decimal point, i.e. into the thousandth
of a km position. In addition, calibration may be such that a pulse is produced for
a distance which is not exactly 0.00025 kilometers, e.g. it may produce a pulse every
0.000247 kilometers or every 0.000256 kilometers. In order to achieve a nominal 1/4000
kilometer resolution of distance, and in order to allow for variation of taxi calibration
or even to allow for a change from kilometers to miles, three additional locations
in the RAM are used as well as the eight for the eight digits described above. Thus,
with each transducer pulse, the numbers 2, 5 and 0, representing 0.000250 kilometers
or appropriately different numbers as discussed below, are added to respective ones
of these three additional locations. Another location acts as an overflow location
and has a 1 inserted into it each time there is an overflow of the sum of the 3 additional
locations (i.e. the sum is greater than or equal to 1000); each unit in this last
location represents 0.001 kilometers.
[0041] For a taxi which produces exactly 1 pulse for every 1/4000 km, three locations in
ROM 19 corresponding to those of the RAM just described are pre-programmed (burned)
with the numbers 2, 5 and 0. If the transducer produces pulses at a different rate,
then different numbers will be pre-programmed into the ROM. For example, if the transducer
produces a pulse every 1/3850 km then the appropriate ROM locations will be pre-programmed
to contain the numbers 2, 6 and 0, representing 0.000260 or 1/3846 km, which is an
error by only 0.1% or one part in a thousand.
[0042] Taxi calibration is achieved by entering the digits, which are to be added on each
occasion to the- three additional locations in the RAM, in the appropriate locations
of the ROM 19. At the appropriate moment of the RAM/ROM/adder functional sequence,
these digits are then added to the data already in the additional locations of the
RAM.
[0043] To convert for example from kilometer to mile operation, different digits would be
burned into the ROM locations. This is the only change necessary to convert from mileage
operation to kilometer operation or vice versa.
[0044] The output of the overflow location of the RAM is added to the RAM location containing
the data for thousandths total kilometers travelled whenever there is a logical 1
at this overflow location. Thus, the information concerning kilometers travelled is
updated in the RAM location.
[0045] As will be appreciated, when the car is not moving, distance pulses will not be produced
by the transducer 1. At such a time, distance information from the RAM 23 cycles around
the computing circuit loop unchanged along with other data (which is not necessarily
unchanged) as the RAM is stepped through its memory locations by the function circuits
21.
[0046] As will be appreciated, the content of the ROM will be applied only against the least
significant digit (thousandths) of the RAM for total kilometers travelled. The only
time any of the other locations will be incremented is by a carry from a lesser significant
digit to a more significant digit.
PAID KILOMETERS
[0047] The operation of this circuit (item (e) above) is the same as for total kilometers,
except that in the case of paid kilometers, the accumulation is only done when the
taxi has been hired and the HIRED button on the taximeter has been depressed. The
accumulation of paid kilometers begins when the HIRED button is pressed and ends,
for any trip, when the VACANT button is depressed afterwards.
FARES COMPUTATION
[0048] The operation of the computing circuit for fares (item (f) above) is more complicated
than for the previous functions described above.
[0049] In addition to the complications of drop fare, time-based fare and distance-based
fare described above, there is the additional element of the "dead zone" which is
defined as a fixed distance or a fixed time after the beginning of a trip during which
the customer is not actually charged at the prevailing time or distance fare. The
presence or absence of dead zone, or the actual amount thereof, is fixed by the applicable
tarriff regulation authorities and the taximeter is therefore separately adjustable
for different geographical areas in which these factors vary.
[0050] Five locations in the RAM are assigned to the storage of fares data. Thus, the maximum
fare which can be stored in the RAM is Ø999.99. When the VACANT/HIRED switch 39 is
depressed, and the taximeter goes into the HIRED mode, these five locations are cleared
and the drop fare is added from storage locations in the ROM 19. This addition takes
place under the control of the program ROM 29 during the first cycle of the function
circuits 21 after the depression of the button 39.
[0051] When there is a dead zone regulation in the area of operation, then dead zone locations
will be activated in the RAM including an overflow dead zone location. The overflow
dead zone location will be filled (set to logical 1) only after the dead zone distance
or time has been traversed by the vehicle. Further fare accumulation will not take
place until the overflow dead zone location has been filled.
[0052] The amount by which the fare is incremented thereafter is preprogrammed into memory
locations in the ROM corresponding to appropriate memory locations in the RAM. Thus,
if the increment is 5t (e.g. for every tenth of a kilometer), then the number 5 will
be pre-programmed into a memorylocation in the ROM corresponding to the least significant
digit fares location in the RAM. Each time a tenth of a kilometer is traversed, the
number in the memory location in the ROM will be added to the data in the corresponding
location in the RAM on the next cycle of the function circuits 21. If the increment
is 10φ, then the memory location in the ROM corresponding to the second least significant
digit location for fares in the RAM will be pre-programmed with a 1.
[0053] The calculation of the kilometers traversed which are to be charged, and the time
traversed when the vehicle is either not moving or is moving at below the cross-over
speed, is under the control of the program ROM 29.
TOTAL FARES COMPUTATION
[0054] Five locations are provided in the RAM for the storage of total fares (item (g) above).
These locations are not cleared at the start of each trip but have to be deliberately
cleared at the discretion of the owner of the device.
[0055] The contents of the total fares locations are continuously updated in parallel with
the trip fares locations. This function also comes under the control of the program
ROM.
DISPLAYING PARAMETERS
[0056] As the RAM 23 is continuously sequenced through all of its 64 addresses, each 4-bit
4-wire BCD digit in the RAM is presented by latch 27 to display selector circuits
31. In order to select any particular parameter, manual selector select switch 37
is rotated. The switch 37, in conjunction with synchronizing signals from the function
circuits 21, selects the parameter to be displayed. Each BCD digit of that parameter
is decoded by the BCD to 7 segment decoder, and the decoder is connected to the light
emitting diodes (each of 7 segments) to display any decimal digit in a manner well
known in the art.
[0057] In this way, the desired parameter is immediately displayed.
1. An electronic taximeter including a dedicated microprocessor for performing the
calculating functions required in the taximeter and display means (33) for display
of the calculated data, characterized in that the microprocessor comprises a main
memory (23) having a plurality of data storage locations which store data relating
to distance travelled and fares charged, an input data memory (19) having a plurality
of storage locations which store predetermined data which are to be combined with
the corresponding data stored in the main memory (23) to update the data stored in
the main memory, combining means (25) for combining the data stored in the storage
locations of the main memory (23) with the data stored in the respective corresponding
storage locations of the input data memory (19), a program memory (29) arranged to
control the operation of the main memory (23) and the input data memory (19), a counter
(21) arranged to select sequentially and cyclically the storage locations of the main
memory (23) so that data at these locations is available when appropriate for updating
by combination in the combining means (25) with data from the input data memory (19),
a clock (15) arranged to drive the counter (21) through its cycle, and signal input
means (13,17) through which signals relating for example to distance travelled and
to the beginning and end of a fare trip are entered so as to cause combination by
said combining means (25) of the appropriate data when such data is made available
for combination by said counter (21).
2. A taximeter according to claim 1 wherein said main memory (23) is a random access
memory (RAM).
3. A taximeter according to claim 1 or claim 2 wherein said input data memory (19)
and said program memory (29) are both read only memories (RON).
4. A taximeter according to any one of claims 1 to 3 wherein each storage location
in said main memory (23) and said input data memory (19) is capable of storing four
bits of information, whereby it is capable of storing a single binary coded digit
(BCD), said combining means (25) being a BCD adder.
5. A taximeter according to claim 4 wherein the microprocessor has a latch (27) having
an input connected to the output of said BCD adder (25) and an output connected to
an input of the main memory (23), whereby updated data from said BCD adder is delivered
to said main memory (23) for storage therein.
6. A taximeter according to any one of the preceding claims wherein the signal input
means of the microprocessor has an input multiplexor (17) having an output connected
to said input data memory (19), and has input latches (13) having an output connected
to an input of said multiplexor (17) and having inputs connected to sources of input
signals, the counter (21) being connected to the multiplexor (17) and the clock (15)
being connected to the latches (13), such that delivery of the appropriate input signal
to the input data memory (19) occurs when the appropriate storage location is selected
in the main memory (23).
7. A taximeter according to any one of the preceding claims wherein, to operate said
display means (33), the microprocessor has a selector (31) to which the data being
stored in said main memory (23) is made available, the selector (31) being driven
by said counter (21) so as to select from among the data made available to it the
data selected for display, the selected data being transmitted from the output of
the selector (31) to the display means (33).
8. A taximeter according to claim 7 wherein the output of the selector (31) is connected
to a BCD to 7 segment converter (35) which drives the display means (33).
9. A microprocessor for use in a taximeter, as defined in any one of the preceding
claims.