Signal processing circuit of a bar code reader

Abstract: A signal processing circuit includes: a signal input unit (30) for optically detecting a bar code and outputting a first signal; a differential unit (D) connected to the signal input unit (30), for amplifying the first signal, differentiating the first signal, filtering the first signal and outputting a second signal; a comparison unit (C) connected to the differential unit (D), for integrating the second signal and outputting a third signal, and comparing the second signal with the third signal and outputting a fourth signal; a slice level generation unit (S) connected to the differential unit (D), for holding a peak voltage of the second signal; a gate signal output unit (G) connected to the differential unit (D) and the slice level generation unit (S), for comparing the second signal with the positive slice voltage and the negative slice voltage; and a signal output unit (OUT) connected to the comparison unit (C) and the gate signal output unit (G), for inputting the fourth signal and the positive slice voltage, and outputting a gate signal to obtain a binary-coded signal.

Description: The present invention relates to a bar code reader, particularly, it relates to a signal processing circuit of the bar code reader. Recently, bar code readers are widely utilized for management of goods in a POS (point of sales) system. In general, there are mainly two types of bar codes, i.e., label type and print type. The former is labeled on the goods, and the latter is printed on the goods. The bar code is detected and binary-coded by the bar-code reader, and a binary-coded signal is output to a host computer. In this case, it is necessary to precisely detect the bar code regardless of the type of goods and for both the label type and print type,to avoid a miscount. EP-A-0 240 767 discloses a bar code reader comprising a photodetector for detecting light reflected from a bar code and converting the light into a waveform which is applied to a differentiator. The differentiated signal is peak detected and the peak detected value is used to generate positive and negative threshold levels. For example, the positive threshold level is selected to be 0.3 times the peak detected value. Two comparators are provided for comparing the differentiated signal with each of the threshold levels. The outputs of the comparators are applied respectively to the set and reset inputs of a flip-flop. The Q output of the flip-flop is high during a space and low during a bar. However, there are some problems in the print type when detecting the bar code printed on metal-packed goods, such as canned juice, as explained hereinafter. It is desirable to provide a signal processing circuit of a bar code reader enabling precise detection of a bar code, including the type provided on the surface of a metal can. In accordance with the present invention, there is provided a signal processing circuit of a bar code reader, the circuit including: a signal input unit for optically detecting a bar code provided on a surface of goods and outputting a first signal after optical-to-electrical conversion; a differential unit connected to the signal input unit, for amplifying the first signal, differentiating the first signal, filtering the first signal after differentiation to eliminate high frequency noise, and outputting a second signal after filtering; a comparison unit connected to the differential unit, for integrating the second signal and outputting a third signal after integration, and comparing the second signal with the third signal and outputting a fourth signal when the third signal is larger than the second signal; a reference level generation unit connected to the differential unit, for holding a peak voltage of the second signal, limiting the peak voltage to a predetermined upper limitation voltage, discharging the limited peak voltage in accordance with a predetermined time constant, and dividing the limited peak voltage by a predetermined amount to obtain a positive reference voltage and a negative reference voltage; a gate signal output unit connected to the differential unit and the reference level generation unit for comparing the second signal with the positive reference voltage and the negative reference voltage to obtain fifth and sixth signals respectively; and a signal output unit connected to the comparison unit and the gate signal output unit, for receiving the fourth signal and the fifth signal, receiving the inverted fourth signal and the sixth signal, and outputting a gate signal to obtain a binary-coded signal representing said bar code. In one embodiment, the reference level generation unit comprises a peak hold circuit for receiving the second signal and holding the peak voltage of the second signal, an upper limitation circuit connected to the peak hold circuit for receiving an output of the peak hold circuit and limiting the peak voltage to a predetermined upper limitation voltage, and a discharge circuit connected to the upper limitation circuit for discharging the peak voltage limited by the upper limitation circuit in accordance with a predetermined time constant. In another embodiment, the predetermined amount is determined to halve the limited peak voltage. In still another embodiment, the upper limitation circuit comprises an operational amplifier to reduce the peak voltage when the peak voltage exceeds the predetermined upper limitation voltage, and a variable resistor to determine the upper limitation voltage. Reference is made, by way of example, to the accompanying drawings in which: Fig. 1 is a circuit diagram of a prior-proposed signal processing circuit of a bar code reader; Fig. 2 shows waveforms at various points of signal processing circuit shown in Fig. 1; Figs. 3A to 3C are views for explaining problems with a metal can; Fig. 4 is a basic circuit diagram of a signal processing circuit of a bar code reader embodying the present invention; Fig. 5 shows waveforms at various points of a signal processing circuit shown in Fig. 4; Fig. 6 is a circuit diagram of a signal processing circuit of a bar code reader according to an embodiment of the present invention; Figs. 7A to 7I are views for explaining waveforms detected from the bar code; Fig. 8 is a detailed circuit of the slice level generation unit shown in Fig. 6; Fig. 9 shows waveforms at various points of a signal processing circuit shown in Fig. 6; and Fig. 10 shows details of the waveforms shown in Fig. 9. Before describing the preferred embodiments, an explanation will be given of a previous-proposed signal processing circuit of a bar code reader. Figure 1 is a circuit diagram of such a signal processing circuit of a bar code reader. In Fig. 1, reference number 30 denotes a signal input unit, 31 an amplifier, 32 a differential circuit, 33 a low-pass filter, 34 an amplifier, 35 an integration circuit, 36 a comparator, 37 a resistor, 38 an amplifier, 39 a peak hold circuit, 40 a DC level circuit, 41 a discharge circuit, 42 a voltage division circuit, 43 an inversion amplifier, 44 and 45 comparators, 46 and 47 delay circuits, 48 and 49 AND gates, 50 an inverter, and 51 a flip-flop circuit. Further, 60 denotes a comparison unit, 61 a slice level generation unit, 62 a gate signal output unit, and 63 a signal output unit. As shown in the drawing, the comparison unit 60 is constituted by the integration circuit 35, the comparator 36, and the resistor 37. The slice level generation unit 61 is constituted by the peak hold circuit 39, the DC level circuit 40, the discharge circuit 41, the voltage division circuit 42, and the inversion amplifier 43. The gate signal output unit 62 is constituted by the comparators 44 and 45, and the delay circuits 46 and 47. The signal output unit 63 is constituted by the AND gates 48 and 49. Next, the operation of the above circuit is explained in detail with reference to Figs. 1 and 2. A bar code signal optically detected by the signal input unit 30 is converted to an electrical signal and amplified by the amplifier 31. The signal 1 in Fig. 2 denotes the signal amplified by the amplifier 31. The signal 1 is differentiated by the differential circuit 32 and the differentiated signal is input to the low-pass filter 33 to eliminate high frequency noise contained in the signal. The signal 2 in Fig. 2 denotes the signal filtered by the low-pass filter 33. The signal 2 is divided into two routes. In one route, the signal 2 is input to the comparator 60 through the amplifier 34. In the other route, the signal 2 is input to the slice level generation unit 61 and the gate signal output unit 62 through the amplifier 38. In the slice level generation unit 61, the amplified signal 2 is input to the peak hold circuit 39 and the DC level circuit 40. The output waveform of the peak hold circuit 39 is shown by PHS in Fig. 2. The output of the DC level circuit 40 is shown by DCL in Fig. 2. Both outputs of the peak hold circuit 39 and DC level circuit 40 are input to the discharge circuit 41. The output of the discharge circuit 41 is input to the voltage division circuit 42. The output of the voltage division circuit 42 is used as the negative slice voltage (level) -SL in the gate signal output unit 62. The output of the voltage division circuit 42 is also input to the inversion circuit 43. The output of the inversion circuit 43 is used as the positive slice voltage (level) +SL in the gate signal output unit 62. In the gate signal output unit 62, the comparator 44 receives the amplified signal 2 at the (+)input terminal, and receives the positive slice level +SL at the (-)input terminal. The comparator 45 also receives the amplified signal 2 at the (+)input terminal, and receives the negative slice level -SL at the (-)input terminal. The output of the comparator 44 is input to the signal output unit 63 after being delayed by the delay circuit 46. Similarly, the output of the comparator 45 is input to the signal output unit 63 after being delayed by the delay circuit 47. In the comparison unit 60, the signal 2 amplified by the amplifier 34 is input to the integration circuit 35 and the comparator 36. The output of the integration circuit 35 is shown by the signal 3 in Fig. 2. The comparator 36 receives the signal 2 at the (-)input terminal, receives the signal 3 at the (+)input terminal, and outputs the signal 4 to the signal output unit 63 after comparison. In the signal output circuit 63, the signal 4 is input to the AND gate 48, and the signal 4 through the inverter 50 is input to the AND gate 49. Further, the AND gate 48 receives the delay signal from the delay circuit 46, and the AND gate 49 receives the delay signal from the delay circuit 47. The outputs of the AND gates 48 and 49 become an edge signal indicating the start and end of the black bar. The outputs of the AND gates 48 and 49 are input to the flip-flop circuit 51 and the bar code is binary-coded by the flip-flop circuit 51. The width and number of the black/white bars are detected in the flip-flop circuit 51, and the bar code is decoded as the binary-cod.ed signal 11. Figures 3A to 3C are views for explaining problems with a metal can. In Fig. 3A, 70 denotes a metal (for example, an aluminum) can, such as a juice can. 71 denotes the bar code printed on the surface of the metal can. In Fig. 3B, the bar code 71 is printed on the surface of the metal can. 71a denotes a black bar, and 71b denotes white bar. In this case, the black bar 71a is constituted by the surface of the metal, i.e., the surface of the aluminum. While, the other portions including the white bar 71b are printed in white. Problems occur in this type of black bar 71a. In Fig. 3C, 71c denotes a large peak as a noise portion, and 71d denotes the bar code portion as the data. The beam, for example, a laser beam, scans the bar code in the direction of the arrow in Fig. 3A. When the beam scans the bar code, the large peak 71c is detected by the signal input unit 30. This peak corresponds to the peak shown in Fig. 2. The large peak 71c occurs when the scanning beam is fully reflected from the metal surface in the edge of the bar code. This peak 71c is very large compared with the bar code portion 71d as shown in Figs. 2 and 3c. As explained in Fig. 1, the peak hold circuit 39 and the discharge circuit 41 generate the peak hold signal PHS as shown in Fig. 2. Further, the slice level SL is generated from the voltage division circuit 42. In this case, the slice level SL is determined to, for example, half of the level of the peak hold signal PHS. Accordingly, when the peak level is very high, the peak hold signal PHS thereof also becomes very high. As a result, as shown by circles P1 and P2 in Fig. 2, when a large peak is detected in the start of the read of the bar code by means of the beam, the slice level SL also becomes high level so that the signals 2 and 3 at the bar code portion cannot exceed the slice levels +SL and -SL. Accordingly, a precise binary-coded signal 11 cannot be obtained in these portions P1 and P2 so that an error signal E is output from the flip-flop circuit 51. As shown in Fig. 2, the binary-coded error signal E becomes a very large signal corresponding to the non-detected portions P1 and P2. Figure 4 is a basic circuit diagram of a signal processing circuit of a bar code reader embodying the present invention, and Figure 5 shows waveforms at various points of the signal processing circuit shown in Fig. 4. In Fig. 4, each unit corresponds to those in Fig. 1 as follows. The differential unit D corresponds to the amplifier 31, the differential circuit 32, and the low-pass filter 33, the comparison unit C corresponds to the comparison unit 60, the slice level generation unit S corresponds to the slice level generation unit 61 except that an upper limitation circuit 6 is added, the gate signal generation circuit G corresponds to the gate signal generation circuit 62, and the signal output unit OUT corresponds to the signal output unit 60. As shown in the drawing, the upper limitation circuit 6 is added to the output of the peak hold circuit 5. As previously explained in Fig. 1, the bar code is optically detected and electrically converted by the signal input unit 30, and the detection signal is amplified by the amplifier 31 so that the signal 1 is obtained. The signal 1 is differentiated by the differentiation circuit 32 and filtered by the low-pass filter 33 so that the signal 2 is obtained. In Fig. 4, the signal 2 is input to the peak hold circuit 5. The upper limitation circuit 6 suppresses (limits) the peak voltage of the peak hold signal PHS to the predetermined limitation voltage when the peak hold signal PHS exceeds the predetermined limitation voltage. The signal 2' generated by the discharge circuit 7 denotes a new peak hold signal suppressed by the upper limitation circuit 6. Accordingly, the slice voltage (slice level) SL generated by the voltage division circuit 8 can be set to a level lower than with the Fig. 1 circuit because the slice level SL is determined as half of the new peak hold signal. As shown by circles P1 and P2 in Fig. 5, the differential and integrated waveforms can exceed the slice levels +SL and -SL so that it is possible to precisely detect the binary-coded signal 11. As previously explained, the slice levels +SL and -SL are input to the gate signal generation unit G. Further, the amplified signal 2 is also input to the gate signal generation unit G. While, the signal 4, i.e., the output of the comparison unit C is input to the signal output unit OUT. Further, the output of the gate signal generation unit G is also input to the signal output unit OUT. As a result, the binary-coded signal 11 is output from the flip-flop circuit FF. By means of this construction, even if the peak level caused by the noise is very large in the peak hold circuit 5, it is possible to obtain a suitable slice level SL by suppressing the peak hold signal in the upper limitation circuit 6. Accordingly, it is possible to precisely detect the binary-coded signal from the flip-flop circuit. Figure 6 is a circuit diagram of a signal processing circuit of a bar code reader according to an embodiment of the present invention. As shown in Fig. 6, again in this embodiment the upper limitation circuit 6 is added between the peak hold circuit 5 and the discharge circuit 7 in the slice level generation unit S. The other components are the same as shown in Fig. 1. The output signal 12 of the upper limitation circuit 6 is input to the discharge circuit 7 so that the suppressed peak hold signal 2′ can be obtained from the discharge circuit 7. As a result, it is possible to obtain a suitable slice level ±SL from the voltage division circuit and the inversion amplifier. Figures 7A to 7I are views for explaining waveforms detected from the bar code. In Figs. 7A and 7B, the black bars B1, B2 and the white bar W1 are detected by the signal input unit 1 so that the signal 1 is obtained after amplification by the amplifier 14. In Fig. 7C, the signal 1 is differentiated by the differentiation circuit 2 so that the signal 2 is obtained after filtering by the low-pass filter 15 (solid line). Further, the signal 2 is integrated by the integration circuit 3 so that the signal 3 is obtained (dotted line). In Fig. 7C, SL denotes the positive and negative slice levels. In Fig. 7D, the comparator 4 of the comparison unit C compares the signal 2 with the signal 3. When the signal 3 is larger than the signal 2, the high level signal 4 is output from the comparator 4. In Figs. 7E and 7F, these gate signals are obtained from the comparators 9 and 10. That is, when one differential signal 2 (positive side) shown in Fig. 7C is sliced by the slice level +SL, the signal 5 is obtained from the comparator 9. When the other differential signal (negative side) shown in Fig. 7C is sliced by the slice level -SL, the signal 6 is obtained from the comparator 10. These signals are delayed by the delay circuits 19 and 20 so that the signals 7 and 8 are obtained, respectively. In Figs. 7G and 7H, the signal 4 and the signal 7 are input to the AND gate 11 so that the signal 9 is obtained when both signals are high. Further, the inverted signal 4 and signal 8 are input to the AND gate 12 so that the signal 10 is obtained when both signals are high. In Fig. 7I, the signals 9 and 10 are input to the flip-flop circuit 23 so that the binary-coded signals 11 indicating the black bars and the white bar are output from the flip-flop circuit 23. Figure 8 is a detailed circuit of the slice level generation unit shown in Fig. 6. In Fig. 8, the same reference numbers as shown in Fig. 6 denote the same components as that of Fig. 6. Further, R1 to R13 denote resistors, C1 and C2 capacitors, D1 and D2 diodes, and A1 to A5 operational amplifiers. In the discharge circuit 7, the amplifier A1 is used as a voltage follower circuit. In the voltage division circuit 8, the amplifier A2 is used for obtaining half of the output voltage of the amplifier A1. In the inversion circuit 18, the amplifier A3 is used for obtaining the inverted slice level (i.e., positive slice level). In the upper limitation circuit 6, the amplifier A4 is used for outputting a new peak hold signal as explained in detail hereinafter. In the upper limitation circuit 6, VA denotes the voltage at the point TK of the variable resistor R2 which is used for obtaining the upper limitation voltage. VD2 denotes the voltage across the clamp diode D2. The upper limitation circuit 6 suppresses the voltage of the signal 12 so as not to exceed the sum of the output voltage of the DC level, the voltage VA and the voltage VD2. The operation of the circuit shown in Fig. 8 is explained below. The peak hold circuit 5 outputs the peak hold signal PHS. In this case, the discharge operation is performed in accordance with the time constant defined by the capacitor C1 of the peak hold circuit 5 and the resistor R7 of the discharge circuit 7. In the upper limitation circuit 6, when the voltage at the point P (i.e., the voltage of signal 12) exceeds the predetermined upper voltage defined by the variable resistor R2, current flows from the point P to the operational amplifier A4 through the diode D2. Accordingly, the operational amplifier A4 functions to reduce the peak voltage to the predetermined limitation level when the peak voltage exceeds the upper limitation voltage. Accordingly, it is possible to always limit the voltage of the point P so as not to exceed the predetermined upper limitation voltage. The operation of the present embodiment is explained in detail below with reference to Figs. 6 to 10. The bar code detected by the signal input unit 1 is amplified by the amplifier 14 so that the signal 1 is obtained. The signal 1 includes the large peak as shown in Fig. 9. The signal 1 is differentiated by the differentiation circuit 2 and filtered by the low-pass filter 15 so that the signal 2 is obtained. Since the low-pass filter 15 is used for eliminating the high frequency noise, the large peak remains in the signal 12. The signal 2 is amplified by the amplifier 21 and integrated by the integration circuit 3 in the comparison unit C so that the signal 3 is obtained. The comparator 4 compares the signal 3 with the amplified signal 2 and outputs the signal 4 when the signal 3 is larger than the amplified signal 2. Further, the signal 2 is amplified by the amplifier 16, and input to the peak hold circuit 5 and the DC level circuit 17. The output of the peak hold circuit 5 (peak hold signal) is input to the upper limitation circuit 6. In the upper limitation circuit 6, the voltage level of the peak hold signal is reduced to the predetermined limitation level when the voltage level thereof exceeds the predetermined limitation level as shown by the signal 12 in Fig. 9. The voltage of the signal 12 is gradually discharged by the discharge circuit 7 and divided to half of the discharge voltage by the voltage division circuit 8 to obtained the negative slice level -SL. The inversion circuit 18 is provided for obtaining the positive slice level +SL. The positive and negative slice levels ±SL are input to the comparators 9 and 10. In the comparators 9 and 10, the amplified signal 2 is compared with the positive slice level +SL and the negative slice level -SL so that the signals 5 and 6 are obtained from the comparators 9 and 10, respectively. The delay circuits 19 and 20 are provided for compensating the delay time in the integration circuit 3. The delayed signals 7 and 8 are input to the AND gates 11 and 12. When the signal 4 and the signal 7 are high, the AND gate 11 outputs the high level signal. Further, when the inverted signal 4 and the signal 8 are high, the AND gate 12 outputs the high level signal. These high level signals 9 and 10 are input to the flip-flop circuit 23 so that the binary-coded signal 11 is output therefrom. Figure 10 is a partially enlarged view of the waveform shown in Fig. 9. This drawing is provided to clarify the timing of each signals 4, 5, 7, and 9. Since this was already explained, the explanation thereof is omitted at this point.

Claims: A signal processing circuit of a bar code reader, the circuit comprising: signal input means (1, 30) for optically detecting a bar code provided on a surface of goods and outputting a first signal after optical-to-electrical conversion; differential means (D, 14, 2, 15) connected to the signal input means, for amplifying the first signal, differentiating the first signal, filtering the first signal after differentiation to eliminate high frequency noise, and outputting a second signal (2 ○) after filtering; comparison means (C, 60) connected to the differential means, for integrating the second signal and outputting a third signal (3 ○) after integration, and comparing the second signal with the third signal and outputting a fourth signal (4 ○) when the third signal is larger than the second signal; reference level generation means (S, 61) connected to the differential means, for holding a peak voltage (PHS) of the second signal, limiting the peak voltage to a predetermined upper limitation voltage, discharging the limited peak voltage ( ) in accordance with a predetermined time constant, and dividing the limited peak voltage by a predetermined amount to obtain a positive reference voltage (+SL) and a negative reference voltage (-SL); gate signal output means (G, 62) connected to the differential means and the reference level generation means, for comparing the second signal (2 ○) with the positive reference voltage and the negative reference voltage to obtain fifth (5 ○) and sixth (6 ○) signals respectively; and signal output means (63) connected to the comparison means and the gate signal output means, for receiving the fourth signal and the fifth signal, receiving the inverted fourth signal and the sixth signal, and outputting a gate signal to (9 ○, ) to obtain a binary-coded signal ( ) representing said bar code. A signal processing circuit as claimed in claim 1, wherein the reference level generation means (S, 61) comprises a peak hold circuit (5) for receiving the second signal (2 ○) and holding the peak voltage of the second signal, an upper limitation circuit (6) connected to the peak hold circuit for receiving an output of the peak hold circuit (5) and limiting the peak voltage to the predetermined upper limitation voltage, and a discharge circuit (7) connected to the upper limitation circuit (6) for discharging the peak voltage limited by the upper limitation circuit (6) in accordance with the predetermined time constant. A signal processing circuit as claimed in claim 1 or 2, wherein the predetermined amount is determined to halve the limited peak voltage. A signal processing circuit as claimed in claim 2 or claim 3 when dependent on claim 2, wherein the upper limitation circuit (6) comprises an operational amplifier (A4) to reduce the peak voltage when the peak voltage exceeds the predetermined upper limitation voltage, and a variable resistor (R2) to determine the upper limitation voltage.

Inventors: SATO SHINICHI, SATO, SHINICHI
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1990
Main classification: G06K7
IPC codes: G06K7