(19)
(11) EP 0 000 444 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
24.01.1979 Bulletin 1979/02

(21) Application number: 78300133.2

(22) Date of filing: 10.07.1978
(51) International Patent Classification (IPC)2G07B 13/00
(84) Designated Contracting States:
BE CH DE FR GB NL SE

(30) Priority: 11.07.1977 CA 282441

(71) Applicant: CENTRODYNE CORPORATION
Montreal Quebec (CA)

(72) Inventor:
  • Steiner, Jack Centrodyne Corporation
    Montréal, Québec (CA)

(74) Representative: Rogers, Jack (GB) et al
F.J. Cleveland & Co. 40-43 Chancery Lane
GB-London WC2A 1JQ
GB-London WC2A 1JQ (GB)


(56) References cited: : 
   
       


    (54) Electronic taximeter


    (57) An electronic taximeter having a dedicated microprocessor. The microprocessor is specifically designed to carry out the desired calculating functions of a taximeter. The taximeter is therefore superior in performance to conventional mechanical taximeters. The microprocessor has a main memory (23) storing data relating to distance travelled and fares charged, and an input data memory (19) storing the predetermined data needed to update the data in the main memory (23). The storage locations of the main memory (23) are sequentially selected by a cyclical counter (21), and when the selected data needs updating, the contents of the corresponding storage location of the memory (19) are added in a BCD adder (25). The updated data is then stored again in the main memory (23). Selector circuits (31) also driven cyclically by the counter (21) enable selection of the desired updated data from the main memory (23) for display.




    Description


    [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.


    Claims

    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.
     




    Drawing










    Search report