Data retrieval and error detection circuitry for a width-modulated bar-code scanning apparatus
First Claim
1. An apparatus for reading width-modulated bar codes comprising:
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
timing means for generating a signal representation of a number proportional to the amount of time which elapses between successive fluctuations in said signal;
a shift register having an input connected to said signal representation and having a plurality of outputs from successive internal stages;
means for loading a signal representation into said shift register each time there is a fluctuation in said signal;
arithmetic means having inputs connecting to said outputs and having an arithmetic output for generating at said arithmetic output a signal representing the sum of or difference between the signals presented to said inputs;
comparison means having two inputs connecting to two of said outputs and having an output for generating at said output a binary signal whose state indicates which of two inputs is the larger or smaller; and
a second shift register connected between one of said outputs and said comparison means.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus for processing the signals that are generated when a width-modulated bar code is manually scanned includes a simplified serial arithmetic unit and an error-detection circuit which detects errors in scanning technique as well as parity errors and the like. Substantially less expensive to construct than prior arrangements, the apparatus is able to measure the spacing between adjacent bar-coded characters and reject any data if the character spacing is greater or less than is proper at any given point in a data scan. It thus becomes difficult for an erroneous scan to result when a scanning motion reverses itself, begins in the middle of a bar code, or extends over two independent bar codes.
-
Citations
14 Claims
-
1. An apparatus for reading width-modulated bar codes comprising:
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
timing means for generating a signal representation of a number proportional to the amount of time which elapses between successive fluctuations in said signal;
a shift register having an input connected to said signal representation and having a plurality of outputs from successive internal stages;
means for loading a signal representation into said shift register each time there is a fluctuation in said signal;
arithmetic means having inputs connecting to said outputs and having an arithmetic output for generating at said arithmetic output a signal representing the sum of or difference between the signals presented to said inputs;
comparison means having two inputs connecting to two of said outputs and having an output for generating at said output a binary signal whose state indicates which of two inputs is the larger or smaller; and
a second shift register connected between one of said outputs and said comparison means.
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
-
2. An apparatus for reading width-modulated bar codes comprising:
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
a source of periodic pulses;
a counter having a count input connected to said pulses and having a parallel count signal output;
means for resetting said counter when said signal fluctuates;
a shift register having a parallel signal input connecting to said parallel count signal output and having at least three serial outputs each originating from a different internal stage;
means for loading said shift register from said parallel signal input before said counter is reset;
a serial arithmetic unit having two serial inputs connected to two of said serial shift-register outputs and having a serial output;
a serial comparator having two serial inputs connecting to the serial output of said arithmetic unit and also connecting to the third serial output of said shift register, said comparator having a comparison output; and
a second shift register interposed between one of said serial outputs and one of said serial inputs.
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
-
3. An apparatus in accordance with claim 2 wherein said second shift register comprises a number of serially-connected stages equal to twice the number of data bits which are used to represent numbers and which therefore may simultaneously store the width of a bar and the width of the immediately following space, or vice versa.
-
4. An apparatus for decoding width-modulated bar codes comprising:
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
a source of periodic pulses;
a counter having a count input connected to said pulse source and having a parallel count signal output;
a shift register having a parallel signal input connecting to said parallel count signal output and having four serial signal outputs from differing internal stages at which appear serial signals corresponding to the shift-register contents multiplied by one, two, four, and eight respectively, which signals are hereafter referred to as the times one, times two, times four, and times eight signals;
a pair of serial arithmetic units each having two inputs and an output, said first unit receiving the times one and times two signals as input signals and generating a times three output signal, and the second unit receiving as input signals the times one and times four signals and generating a times five output signal;
a second shift register having an input connected to the times five signal and having an output at which a dElayed times five signal appears;
a pair of serial input comparators each constructed from a serial arithmetic unit, each having two inputs and an output, said first comparator receiving the times three and the delayed times five signals as inputs and said second comparator receiving the times eight and the delayed times five signals as inputs, said comparators generating at their outputs signals indicating the relative width of successive bar-code elements.
- means for generating a time-varying signal whose fluctuations correspond to the spatial fluctuations in said bar code;
-
5. An apparatus in accordance with claim 4 wherein said second shift register comprises a plurality of serially-connected stages equal in number to twice the number of bits used to represent a numeric value in serial form, whereby said comparators compare the widths of bars to the widths of bars and compare the widths of spaces to the widths of spaces.
-
6. An apparatus in accordance with claim 5 which further includes:
- third and fourth shift registers having serial inputs connected to the comparator outputs and having a number of stages at least equal to the number of elements in a bar-coded character;
a read-only memory having address signal inputs connecting to alternate stages of said shift registers, and having a data output;
a pair of data latches connecting to the data output of said memory; and
means for actuating one of said latches in response to signal fluctuations in a first direction and means for actuating the other of said latches in response to signal fluctuations in the other direction.
- third and fourth shift registers having serial inputs connected to the comparator outputs and having a number of stages at least equal to the number of elements in a bar-coded character;
-
7. An apparatus in accordance with claim 6 which further includes:
- a second read-only memory having address inputs connecting to said latches and having data outputs;
at least one flip-flop which may be set by an output of said second read-only memory to signal the detection of a start character;
a counter that is normally locked at a certain count value by said flip-flop but that is permitted to count when said flip-flop is set, said counter having a number of stages equal to the number of elements in a bar-coded character, and said counter supplying an enabling signal to said second read-only memory whenever it reaches said certain count value; and
at least one additional flip-flop which may be set by an output of said read-only memory to give an error indication but only when said read-only memory receives an enabling signal.
- a second read-only memory having address inputs connecting to said latches and having data outputs;
-
8. An improved width-modulated bar-code scanner designed for scanning bar-code characters which are separated from one another by spaces and which are preceded and followed by control characters, said scanner including mechanisms for rejecting scans which proceed too slowly, wherein the improvement comprises:
- means for rejecting an otherwise valid initial control character which is followed by a wide space;
means for rejecting an otherwise valid scan if more than a predetermined maximum amount amount of time is spent scanning any given space;
means for rejecting an otherwise valid scan when a final control character is detected within a predetermined number of characters of an initial control character; and
means for comparing the width of a final control character to the width of the space following that final control character, and means for rejecting an otherwise valid scan if the ratio of the space width to the final control character width is less than a predetermined value.
- means for rejecting an otherwise valid initial control character which is followed by a wide space;
-
9. In an apparatus for reading width-modulated bar codes having means for measuring and comparing the relative widths of code elements, means for detecting a start code combination of code elements, and means for interpreting groups of code elements as encoded character representations, said character representations being separated from one another by spaces, the improvement comprising:
- means for rejecting an otherwise valid start code combination which is followed by a wide space;
said means including a counter that counts during the scanning of any code element, means responsive to a particular count value being reached by said coUnter for giving off an '"'"''"'"''"'"''"'"'underspeed scan'"'"''"'"''"'"''"'"' error indication;
means for normally suppressing said error indication at times when the spaces between adjoining character representations are scanned; and
means for defeating said suppressing means when the space following a start code combination is scanned, thereby permitting said error indication to be generated.
- means for rejecting an otherwise valid start code combination which is followed by a wide space;
-
10. An apparatus in accordance with claim 9 including means responsive to a second, higher count value having been reached by said counter for giving off an '"'"''"'"''"'"''"'"'excessively wide space'"'"''"'"''"'"''"'"' error indication.
-
11. In an apparatus for reading width-modulated bar codes having means for measuring and comparing the relative widths of code elements comprising said code, and means for interpreting groups of such elements as encoded character representations, said character representations being separated from one another by spaces, the improvement comprising:
- means for rejecting an otherwise valid bar code if more than a predetermined maximum amount of time is spent scanning any given space separating character representations from one another, said means including a constant-frequency source of pulses, a counter arranged to count said pulses, means for representing the spatial positions of said code elements by fluctuations in a time-varying signal, means for resetting said counter in response to said fluctuations, means for deriving from said counter numbers proportional to the elapsed time between said fluctuations which may be compared to determine the character representations represented by the groups of elements, and means responsive to said counter reaching a predetrmined count value for generating an error indication, said predetermined count value and the frequency of said constant frequency source of pulses being chosen such that said error indication is only generated when said time-varying signal has not fluctuated for a time interval that is substantially longer than the time normally required to scan the widest of code elements.
-
12. An apparatus in accordance with claim 11 wherein said means for giving off an error indication comprises an apparatus-resetting mechanism having an input connecting to an output of said counter which is actuated by said counter if said counter is not reset for approximately one-half a second, and having outputs extending to all flip-flops within the apparatus which are reset to initialize the operation of the apparatus.
-
13. In an apparatus for reading width-modulated bar codes having means for measuring and comparing the relative widths of code elements comprising said code, means for detecting a start-code combination of elements, means for interpreting groups of elements as encoded character representations, and means for detecting a stop-code combination of elements which may be identical to said start-code combinations, the improvement comprising:
- means for rejecting an otherwise valid scan when a stop-code combination is detected within a predetermined number of encoded character representations following the detection of a start-code combination, said rejecting means including a counting mechanism, means for advancing said counting mechanism each time a predetermined number of elements is scanned, means for preventing said mechanism from advancing prior to the detection of a start-code combination by said start-code detecting means, means for signalling an error condition whenever a stop-code combination is detected by said stop-code detecting means, and means responsive to said counting mechanism reaching a predetermined count for defeating the operation of said signalling means.
-
14. In an apparatus for reading width-modulated bar codes having means for measuring and comparing the relative widths of code elements, means for detecting a start-code combination of code elements, means for detecting a stop-code combination of code elements which may be identical to the start-code combinations and means for interpreting groups of code eLements detected between a start-code combination and a stop-code combination as encoded character representations separated by spaces, the improvement comprising:
- means for comparing the width of a stop-code combination to the width of the space following the final stop-code combination and rejecting an otherwise valid scan if the ratio of the width of the following space to the width of the stop-code combination is less than a predetermined value, said comparing and rejecting means including a first counter responsive to code elements for measuring the width of said code elements, a second counter for measuring the width of the encoded character representations, means responsive to the detection of the stop-code combination by said detection means for maintaining the current value of the count within said second counter, comparison means for comparing the contents of said counters, and means responsive to said comparison means for signalling a proper scan only if the count in said first counter reaches a predetermined relative magnitude with respect to the count in said second counter subsequent to the detection of said stop-code combination.
Specification