KR940009710B1 - 가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템 - Google Patents

가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템 Download PDF

Info

Publication number
KR940009710B1
KR940009710B1 KR1019870003298A KR870003298A KR940009710B1 KR 940009710 B1 KR940009710 B1 KR 940009710B1 KR 1019870003298 A KR1019870003298 A KR 1019870003298A KR 870003298 A KR870003298 A KR 870003298A KR 940009710 B1 KR940009710 B1 KR 940009710B1
Authority
KR
South Korea
Prior art keywords
bar code
data
pulses
pulse
bars
Prior art date
Application number
KR1019870003298A
Other languages
English (en)
Other versions
KR870010459A (ko
Inventor
에프 래비자 레이먼드
Original Assignee
암펙크스 시스템즈 코오포레이션
조엘 디이 탤코트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 암펙크스 시스템즈 코오포레이션, 조엘 디이 탤코트 filed Critical 암펙크스 시스템즈 코오포레이션
Publication of KR870010459A publication Critical patent/KR870010459A/ko
Application granted granted Critical
Publication of KR940009710B1 publication Critical patent/KR940009710B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/01Details
    • G06K7/016Synchronisation of sensing process

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)

Abstract

내용 없음.

Description

가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템
제 1 도는 본 발명의 바코드 판독기술이 이용될 수 있고, X,Y축 카세트 픽커(picker) 조립체의 관련 X, Y 픽커구동회로를 포함하는 자동화된 복수카세트 재생장치에 사용되는 복수 카세트 X,Y 빈 어레이(binarray)를 나타내는 블록도.
제 2 도는 단지 예시를 위해 제 1 도 장치와 함께 표시되는 본 발명의 블록도.
제 3a 도 내지 3d 도는 부호화된 바 코드 데이터의 일부의 관련신호파형을 나타내는 그래프.
제 4a 도 및 제 4b 도는 제 2 도의 블록도를 더 자세히 나타내는 블록도.
제 5 도는 제 4a 도의 윈도우 검출회로의 회로도.
제 6a 도 내지 제 6e 도는 연속 바 코드 기호의 종점과 시점, 각각의 정지 및 개시 여백 및 관련 윈도우 발생신호를 나타내는 그래프.
제 7 도는 제 4a 도의 바이트 시퀀스회로의 회로도.
제 8a 도 내지 제 8g 도는 데이터 바이트 시퀀스 제어회로의 타이밍을 나타내는 그래프.
제 9a 도 내지 9f 도는 상태 바이트 쓰기 시퀀스회로의 타이밍을 나타내는 그래프.
제 10 도는 제 4b 도 마이크로프로세서의 해독순서도이다.
* 도면의 주요부분에 대한 부호의 설명
12 : 복수 카세트 비데오 테이프 플레이어장치 14 : 복수 카세트 빈 어레이
16 : 축, 행 18 : 축, 열
20 : 빈(bin) 22 : 비데오 카세트
24 : 식별 바 코드 기호 26 : 카세트 픽커(picker)
28 : 가동 수직부재 34 : 광학 바 코드 판독기
36 : 드럼 37 : 케이블
38 : 구동모터 44 : 모터구동 증폭기
46 : X축 회전속도계 49 : 케이블
50 : 드럼 52 : 모터
58 : Y축 회전 속도계
이 발명은 바 코드 판독기 (bar code reader)에 관한 것으로, 특히, 판독속도가 빠르게 변하는 상황에서 바 코드 정보를 신뢰성있게 판독하는 바 코드 판독장치에 관한 것이다.
기계가 읽을 수 있는 라벨, 휘장, 서류등에서 정보를 검색하기 위한 주사기술은 바 코드가 다양한 데이터 엔트리(data eatry), 식별, 및 프로그래밍의 요구에 아주 적합하다는 사실로 인해 광범위한 응용에 사용되고 있다. 따라서 광학 주사기술을 이용한 바 코드 시스템은 점차로 신속 정확한 데이터 엔트리의 요구를 충족시키게 된다. 마이크로프로세서와 데이터 처리를 위한 관련 시스템을 쉽게 구입할 수 있게 됨에 따라 바코드 포맷으로 표시되는 정보를 해독하는 일이나 그것을 관련 데이터 이용장치에 전송하도록 준비하는 것은 간단한 일이 되었다. 더욱이, 바 코드가 인쇄되어있는 항목을 식별하는데 상당하는 높은 정확도가 필요한 장치에 적합하게 사용되는 매우 정확한 바 코드 시스템도 구입할 수 있다. 따라서, 바 코드에 기억되는 가장 일반적 유형의 데이터는 재고관리, 작업과정 추적, 유통 추적 및 그밖의 물품관리 기능에 이용되는 항목 식별정보이다. 이러한 여러응용에 있어서, 바 코드 기호는 그 항목의 제품번호, 일련번호, 또는 영숫자(alphanumeric) 설명을 표시할 수 있다.
기본적으로, 바 코드 데이터는 매체상에 인쇄된 일련의 바와 공간들로 기억되는데, 여기서 바 코드는 작은 광점을 부드럽고 연속적인(즉, 일정한) 주사동작으로 바와 공간을 가로지르게 이동시킴으로써 주사된다. 주사기의 출력은 바와 공간의 반사율 차이에 의해 결정된다. 바 코드 기호에 기억된 데이터는 기호를 가로지르게 광학 주사기의 광점을 이동시키거나, 또는 그 반대로 함으로써 검색된다.
일반적으로, 주사기는 고정 주사기와, 수동식 주사기와 기계장착식 주사기를 포함하는 가동주사기로 분류된다. 가동식 주사기에서는 주사기와 기호의 상대적 이동이 수동원드(wand)를 움직이는 조작자에 의해 수동으로 이루어지나, 기호가 고정된 광선 너머로 이동되는 컨베이어 시스템, 주사광선을 통해 기호를 주사하는 광선 시스템, 또는 기계장치가 기호를 지나게 기계적으로 원드를 이동시키는 기계장착식 원드 시스템에서는 자동으로 이루어진다. 이러한 모든 주사 시스템에서는 바 코드 기호를 신뢰성 있게 판독하려면 주사속도를 실질적으로 부드럽고 일정하게 유지하여야 한다.
일단 데이타가 비교적 일정한 직렬 데이터 펄스 열로 검색되면, 그것은 해독기에 의해 컴퓨터가 읽을 수 있는 데이터로 번역되고 에러 검사가된 후 차후에 사용될 수 있도록 호스트 컴퓨터 시스템에 전송된다.
통상적으로, 바 코드 판독 시스템은 넓고 좁은 바 (그리고 공간) 정보를 디지탈계의 시간정보로 변환하는데, 여기서 바 코드 정보는 부드러운 연속 동작으로 주사된다. 그러나, 이 방법으로는 주사속도가 빠르게 변하면 판독을 신뢰성있게 할 수 없다. 그 이유는 속도변화가 넓은 바와 공간 및 좁은 바와 공간을 식별하도록 할당된 시간간격에 큰 시간변동을 가져오므로써 주사이동 방향에 따른 바와 공간의 실시간 길이를 알수 없게 하기 때문이다. 따라서, 예를들어, 주사기가 미달속도로 이동하면 좁은바가 넓은 바로 검출되기 쉽고, 반면에 과속에서는 넓은 바가 좁은 바로 검출되기 쉽다. 그러므로, 예를들어, 현재의 수동식 원드형 시스템의 경우는 조작자가 바 코드 정보를 주사할때 실질적으로 부드럽고 연속적인 동작을 취하도록 훈련을 받아야만 하는데, 그렇지 않으며 기호의 판독시 가치없는 데이터가 산출되게 된다. 마찬가지로, 현재의 기계장착식 원드 시스템과 광학식 광선주사 시스템도 역시 기호가 틀림없이 신뢰성 있게 판독되도록 실질적으로 부드럽고 연속적인 주사속도로 구동된다.
그러나, 바 코드 정보를 주사하려고 할때 그 판독기 주사기구를 정지상태에서 고속으로 빠르게 가속시키거나 고속에서 정지상태로 빠르게 감속시키는 것이 바람직한, 예를들어 기계장착식 가동 원드를 채용하는 응용이 있다. 이러한 시스템에서는, 바 코드 판독장치가 지금까지 현재의 바 코드 판독 시스템이 필요로 했던 부드럽고 연속적인 동작으로 이동하지 않으므로 바 코드 정보가 빠르게 변하는 주사속도로 인하여 신뢰할 수 없게 판독되게 된다.
그러므로, 판독 과정 중 주사속도 변화에 관계없이 바 코드 정보를 신뢰성있게 판독하는 바 코드 판독 시스템을 제공하는 것이 대단히 바람직하게 된다.
본 발명은 상기한 바와 같은 문제점을 감안하여 된 것으로서, 바 코드 기호를 빠르게 변하는 속도로 주사하는 동안 바 코드 정보를 신뢰성있게 검색할 수 있는 바 코드 판독기술을 제공함으로써 상술한 현재의 바코드 판독기의 단점들을 극복하는 것을 그 목적으로 한다. 이를 위해서, 본 발명은 바 코드 데이터 판독기술에서 시간 요소를 제거하는 장치를 제공함으로써 바들과 공간들의 폭들을 그들의 연속 경계부들 사이에서 누산된, 즉 그 변동에 의해 형성된 각 데이터셀 동안에 누산된 속도계 펄스들의 수로 표시한다.
따라서, 본 발명에서 바 또는 공간은 측정 크기 또는 거리로, 그 바 또는 공간의 크기를 측정하는데 이용되는 측정거리의 단위는 속도계 펄스들의 주기에 의해 형성되는데, 여기서 속도계 펄스를 사이의 주기는 주사속도에 역으로 변한다. 즉 속도계 펄스들 사이의 주기는 주사 속도의 역할수이다. 이렇게바 변동시 발생하는 속도계 펄스들의 수를 계수함으로써 시간차원이 판독관점에서 제거되게 된다.
따라서, 속도계 펄스 발생기는 바 코드 기호를 한 주사방향으로 주사하면서 바 코드 판독기의 속도를 나타내는 펄스열을 공급한다. 바 코드 판독기로부터의 데이터신호는, 기호의 바와 공간 및 공간과 바 사이의 각 경계부에 대한 변동 펄스들을 공급하는 변동 검출기에 공급된다. 데이터 카운터는 연속적인 변동들 사이에서 발생하는 펄스열을 계수하고 그 누산된 계수값을 각 데이타 셀에 대한 것으로 제공한다. 예를들어 설명하면, 여기에서의 넓은 바 또는 공간은 30개의 속도계 펄스들로 표시될 수 있고, 좁은 바 또는 공간은 비교적 적은 갯수인 10개의 속도계 펄스로 표시될 수 있다. 데이터 셀 폭들을 표시하는 연속 계수들은 어떤 전체 기호에 대한 데이터가 기억될때까지 기억장치내의 각 어드레스 위치들에 실린다. 그 데이터는 마이크로프로세서 제어장치에 의해 기억장치로부터 판독되고, 그 계수값을 미리 설정된 각 계수값들과 비교함으로써 일 데이타 셀의 넓고 좁음이 결정된다. 그러면 마이크로프로세서가 각 기호의 바 및 공간 데이터의 전체 순서를 해독하여 그 기호들에 들어있는 바 코드의 부호화된 숫자들을 산출하게 된다.
아래에서 더 설명이 되겠지만, 펄스열을 공급하는 장치에는 회전 속도계외에도 매체를 가로지르는 자체 이동을 나타내는 속도로 펄스를 발생시키는 주행 거리계와 같은 장치가 포함될 수 있다. 마찬가지로, 바 코드 포맷에서는 정보가 들어가는 곳이 바 또는 공간들만 되거나 바들과 공간들 모두가 될 수 있다. 따라서, 여기에서 바와 공간이라는 용어는 같은 뜻으로 사용된다. 게다가, 소정의 어떤 바 코드 부호화기술은 쉽게 식별할 수 있는 변동들을 각 데이터셀, 즉 바 또는 공간의 경계부들에 제공하지 않으나, 바 코드 기호의 다른 소부분들에 경계부들을 제공할 수도 있다. 본 발명은 이후 설명되듯이 이러한 부호화 기술과도 마찬가지로 사용할 수 있다.
더욱이, 본 발명의 기술은 단지 예시적으로 여기 설명된 하드웨어환경에서는 물론 소프트웨어환경에도 사용하게 되어 있다.
이하, 첨부된 도면들을 참조하여 이 발명의 실시예를 상세히 설명하면 다음과 같다.
종래의 바 코드 장치에 관하여 더 설명하면, 완전한 바 코드 기호는 개시 및 정지 여백, 개시 및 정지 문자 패턴, 데이터 또는 메시지 문자, 및 선택적인 검사합계 문자로 구성된다. 개시 및 정지 여백들은, 인쇄 문자 또는 바정보가 없는 곳으로, 예를들면 주사기가 막 바 코드 문자와 만나거나, 그 기호의 주사를 끝냈음을 알리는 넓은 공간보다 훨씬 긴 완전한 공백일 수 있다. 바 코드 메시지의 제1문자에 앞서는 개시문자는 바 코드 기호의 시작을 식별하는데 이용되는 특별한 바/공간 패턴이다. 정지문자 역시 특별한 바/공간 패턴인데, 그 용도는 기호의 종료를 신호하는 것이다.
일반적으로 개시 및 정지기호들을 부호화하는데 이용되는 바/공간 패턴은, 부호화 과정이 정방향 및 역방향으로의 주사를 구별할 수 있기 때문에 개시 및 정지 문자들이 교체 가능하게 사용되게 하기위한 개시-정지간 대칭성을 가지고 있지 않다. 따라서, 개시 및 정지문자들을 이용한 기호의 2방향 주사가 가능하다.
데이터 또는 메시지 문자들은 바 코드 기호의 전체적인 구조를 형성하고 분산업에서 개발된 여러 바 코드 마다 다르게 구현된다. 이용할 수 있는 여러기호의 범주는 이용되는 부호화기술, 이용할 수 있는 기호세트(숫자 또는 영숫자), 및 특정모듈 폭에서의 정보 밀도에 따라 정해진다. 따라서, 예를들면, 다음 표 1에는 다수의 널리 보급된 바 코드가, 이용된 부호화기술과 부호화된 데이터의 항목으로 적혀있다. 지정된 두가지 부호화기술은 모듈 폭 부호화방식과 NRZ(non-return-to-zero : 비제로 복귀) 부호화 방식이다. 모듈 폭 부호화방식은 대부분의 공업용 바 코드에 이용되는 반면 상업용 바 코드는 보통 NRZ 부호화방식을 이용한다.
[표 1]
Figure kpo00001
2진 데이터를 나타내는데 이용되는 기술은 모듈 폭 부호화방식과 NRZ 부호화방식에 따라 다르다. 모듈폭 부호화방식에서는, 좁은 요소(바 또는 공간)가 0의 논리 데이터를 가진 데이터를 나타낸다. 1의 논리값을 가진 데이터는, 폭이 통상 좁은 요소의 2배에서 3배인 넓은 요소로 인쇄된다. 따라서, 각 2진 데이터셀을 그 이웃한 데이터셀과 분리하는 흑에서 백 또는 백에서 흑으로의 뚜렷한 인쇄변동들이 있다. 한편, NRZ 부호화기술에서는 바 및 공간들의 관련 반사율로 2진 데이터를 부호화 한다. 여기서 논리 0데이터는 반사면으로 제공되고 논리 1데이터는 비반사면으로 제공된다. 논리상태가 변하지만 않으면 비트들 사이의 인쇄변동이 없다.
배경기술을 더 설명하면, 표 1에 보인 5-2선 코드족의 각 데이터 문자는 5-요소 기호당 2개의 넓은 요소들(따라서 5-2선 이라함)을 포함한다. 이 코드는, 숫자 세트들(0-9)을 가지고 있고 넓은 요소에는 1, 좁은 요소에는 0이 대응되는 식으로 2진 부호화방식을 가진 흑색 바들과 백색공간들을 이용한다. 비(非)인터 리브 코드에서는 문자간 좁은 공간이 문자들을 분리시키지만 인터리브 코드에서는 그 문자간 공간이 제거된다.
앞서 언급한 바와 같이, 모듈 폭 부호화기술에서는 바와 공간의 경계부분에 뚜렷한 인쇄변동이 있다. 그러나, NRZ 부호화기술에서는 논리변화만 없으면 문자의 요소들 또는 데이터셀들 사이에 인쇄변동이 없다. 그러나 이러한 기술들에는 뚜렷한 변동들을 제공하는 문자간 간격들이 있다.
따라서, 문자 거리가, 여기에 예로써 설명된 모듈폭 부호화기술의 데이터셀 길이 검출과 같은 식으로 본 발명의 기술에 의해 주사속도의 역함수로 검출될 수 있다. 이렇게 되면 NRZ 부호화기술의 문자내에 들어있는 데이터 요소들은 그 문자내에서 검출되게 된다. 따라서, 본 발명에서는 모듈 폭 부호화 또는 NRZ 부호화기술의 데이터셀, 기호 및/또는 바 코드 기호 경제부들, 식별할 수 있는 변동들 사이에서 계수되는 펄스의 갯수로 나타내는 것이라 할 수 있다. 여기서 펄스의 주기는, 주사속도의 역함수로서 데이터셀의 주사방향 폭을 측정하는데 이용되는 측정거리의 단위를 형성한다.
단지 예시적으로 표현해서, 본 발명은 자동화된 복수 카세트, 비데오 플레이어 환경에서 도시되었고 가령 방송국에서 보통 전파되는 광고물 등이 기록되는 최대 256개의 비데오 카세트를 식별하는 기능을 제공한다. 본 발명의 설명은 이러한 비데오 방송장치와 광학 주사장치의 이동속도를 측정하는 특수형 속도계 시스템에 관련되었으며, 물론 위의 표 1에서 예시된 모듈 폭 또는 NRZ 부호화방식을 채용하는 어떠한 바 코드와도 사용하게 되어있고 또 어떠한 고정식 및/ 또는 가동식 광학 주사장치와도 사용하게 되어있다. 여기서는 설명을 간단히 하기위해 본 발명을 인터리브 5-2선 코드, 모듈 폭 부호화방식의 바 코드 기술의 환경에서 설명하나, 이는 다른 바 코드 기술들과도 함께 이용될 수 있다.
제 1 도는 본 발명의 바 코드 판독기가 이용되는 전기기계장치, 그중에서도 특히 자체 복수 카세트 빈 어레이(14)에 저장된 카세트들을 자동으로 검색하고 재생하는 복수 카세트 비데오 테이프 플레이어 장치(12)를 도시한다. X,Y빈 어레이라고 하는 빈 어레이(14)는 각 비데오 카세트(22)를 검색 가능하게 저장하는, 빈(20)의 X축 행(16)과 Y축 열(18)로 구성되어있다. 각 카세트끝의 노출부분에는 미리 인쇄된 바 코드, 라벨 또는 스티커 형태의 식별 바 코드 기호(24)가 있다.
가동 수직부재(28)에 병진 가능하게 설치된 카세트 픽커(26)를 포함하는 X,Y 카세트 픽커 조립체에서 카세트 픽커(26)는 적당한 구동수단에 의해 부재(28)상에서 수직으로 미끄러져 카세트 픽커의 Y축으로 이동되게 제어된다. 카세트 픽커(26)와 지지 수직 부재(28)는 적당한 구동수단에 의해 자신들의 X축 이동이 독립적으로 제어되도록 병진가능하게 지지된다. 따라서, 카세트 픽커(26)는 부재(28)를 수평방향으로 이동시킴으로써 단일 행의 빈을 따라 X축 방향으로 이동되거나, X 및 Y축 양방향으로 동시에 이동됨으로써 어레이(14)의 특정 빈으로 구동될 수 있다.
광학 바 코드 판독기(34)는 카세트 픽커(26)에 설치되고 예를들면, 단일 카세트 또는 일열의 연속 카세트의 바 코드 기호를 X축 방향으로 주사하도록 배치된 상기한 비접촉 라이트펜(light pen) 원드를 포함한다. 따라서 수직부재(28), 카세트 픽커(26)와 일체식 바 코드 판독기(34)가 자신의 홈형성된 외주를 둘러싼 케이블(37)을 이동시키는 드럼(36)으로 예시된 적당한 수단에 의해 X축을 따라 양방향으로 수평이동되는데, 여기서 케이블(37)의 단부는 어느쪽이든 하나가 빈 지지체에 부착된 폴리들(도시되지 않음)을 거쳐 수직부재(28)의 단부들에 연결되어 있다.
드럼(36)은 구동모터(38)의 축에 기계적으로 연결되어 있고, 그 구동모터(38)는 X축 서보회로(42)를 통해 적당한 전원(40)에 결합된 모터구동 증폭기(MDA) (44)에 의해 구동된다. 보통의 서보동작 기능을 실행하는데 더하여 X축 서보회로는 논리레벨 방향신호를 신호(45)에 공급하는데, 이 신호는 제 4 도의 판독회로에 의하여 사용되어 주사이동의 방향을 나타낸다. 회전 속도계(46)는 모터(38)에 연결되어 있고 X축 속도계 선로(48)를 통해 모터 회전과 그에 따른 바 코드판독기(34)의 X축 방향 이동속도를 나타내는 해당 X축 속도계 펄스열을 공급한다. 따라서, 본 발명에 따르면, 속도계 펄스간의 주기는 주사속도의 역할수인 측정거리의 단위를 형성한다. 통상의 고속 속도계(46)는 모터 회전당 2000 속도계 펄스를 공급할 수 있다.
카세트 픽커(26) 바 코드 판독기(34)는 조립체는 전술한 적당한 수단에 의해 수직방향으로 상하 이동되고, 이 수단은 드럼(50)에 둘러져있고 한쪽 단부가 카세트 픽커(26)에 연결된 케이블(49)을 포함한다. 모터(52)는 MDA(54), Y축 서보회로(56)및 전원(450)에 응답하여 드럼을 회전시킨다. Y축 회전 속도계(58)는 모터(52)에 연결되어 있고 Y축 속도계 선로(60)를 통해 픽커(26)의 Y축 방향이동을 나타내는 Y축 속도계 펄스열을 공급한다. 여기에서의 바 코드 판독기(34)는 Y축 방향으로 이동하는 동안이 아닌 X축을 따라 양방향으로 주사하는 동안 바 코드 기호를 판독하므로, 본 발명의 설명은 X축 회전 속도계(46)와 관련 구성부분에 관련된다.
명백하게, 카세트들이 수직방향으로 되어있다면 기호들은 Y축 방향으로 주사되며 Y축 회전 속도계(46)가 이동을 정보를 공급하게 된다.
각 카세트의 기호들에 부호화된 바 코드 데이터는 바 코드 판독기(34)에 의해 판독되고 각 바 코드 기호의 바와 공간의 각 폭들에 대응하는 넓고 좁은 펄스의 파형으로 바 코드 데이터 선로(62)에 공급된다. 일단 카세트들이 식별되어 각각의 빈들에 할당되면, 그 위치는 바 코드 판독기(34)를 검사되는 카세트들을 지나게 주사한 후 그들의 바 코드 기호들을 각각 판독함으로써 확인될 수 있다. 동작 속도가 결정되어 있고, 픽커(26)와 그에 따라 판독기(34)가 0에서 초고속 가령, 매초 100in/cec(2.54m/sec)까지 이동하여야 하므로, 판독기(34)는 여러 카세트들을 지나는 동안 0에서 2.54m/sec의 범위내에서 빠르게 변하는 속도로 이동된다.
본 발명의 바 코드 판독기는 판독기술에서 시간요소를 제거함으로써 기호를 신뢰성있게 판독한다. 즉, X축 속도계 펄스가 바 코드 판독기(34)의 속도의 역함수이므로, 바와 공간의 폭, 즉 측정되는 거리는 판독기(34)가 넓은 바 또는 공간을 가로질러 주사하는 때에 발생하는 펄스가 좁은 바 또는 공간을 가로질러 주사할때 보다 얼마나 많은가에 따라 구별된다. 이렇게 함으로써, 시간 차원이 판독 과정에서 제거되게 되는 것이다.
이를 위해서, 제 2 도에 도시된 이 발명의 개념에 따르면, 제 1 도의 선로(62)상의 데이터신호와 선로(48)상의 X축 속도계 펄스는 해당 입력신호들로서 제 2 도 회로에 공급되고, 동일한 번호가 붙게된다. 선로(62)상의 데이터신호는, 제 4 도에서 더 설명되듯이 데이터를 바 또는 공간으로 식별하는 1비트의 디지탈 데이터로서 데이터 변동 검출기(100)와 등속 호출 기억장치(RAM) (102)에 공급된다. 변동 검출기(100)는 바이트 시퀀스회로(104)에 결합되어있고, 또한 어드레스 카운터(106)에는 클럭신호를, 데이터 카운터(108)에는 리세트신호를 공급한다. 선로(48)의 X축 속도계 펄스는 바이트 시퀀스회로(104)에 공급되고 또한 클럭신호로서 데이터 카운터(108)에도 공급된다. 바이트 시퀀스회로(104)는 데이터의 로드, 카운터 리세트 및 RAM(102)의 쓰기 인에이블 기능을 동기시키는 여러 제어신호들을 제공하는데, 이를 위해서 래치제어 신호를 데이터 래치(110)와 어드레스 래치(112)에 공급하고, 쓰기제어 신호를 RAM(102)에 공급한다. 데이터 카운터는 연속적인 데이터 변동들 사이에서 발생하는 X축 속도계 펄스를 계수하는데, 여기서 데이터 변동은 각 바/공간 또는 공간/바 사이에서 일어난다.
제 3a 도 내지 제 3d 도 바 코드 판독기(34)가 여기에 예시된 인터리브 5-2선 바 코드 기술의 바와 공간을 주사하면서 발생시킨 신호를 도시하고 있는데, 예시된 기술의 경우 정보는 바와 공간 양쪽에 들어있고 기호 간 공간들은 제거되어있다. 제 3b 도는 바 코드 판독기(34)는 제 3a 도에 묘사된 일련의 바와 공간들을 판독하면서 발생시킨 출력신호를 묘사한다.
각 바와 공간은 각각의 데이터셀을 형성한다. 각 데이터신호의 상승 에지 및 하강에지는 변동 검출기(100)에 의해 검출되며, 그 변동 검출기는 제 3c 도에 나타낸 바와 같이 각 변동에 대해 하나의 펄스를 공급한다.
선로(48)의 X축 속도계 펄스는 제 3d 도에 나타나있는데, 여기서 변동 펄스들 사이의 넓거나 좁은 각각의 바 또는 공간들, 즉 한 데이터셀 동안 발생하는 속도계 펄스의 수는 데이터 카운터(108)에서 계수된다. 변동 검출기(100)는 데이터 카운터(108)를 클리어하기 위한 리세트신호를 공급하고 그 리세트신호를 받은 데이터 카운터(108)는 한 데이터셀 동안에 나타나는, 즉 변동 검출기(108)가 다음 변동 펄스를 제공할때까지 나타나는 속도계 펄스들을 누산한다. 이때 바이트 시퀀스회로(104)는 이 계수값을 데이터 래치(110)에 래치하고, 또 이 계수값을 RAM 쓰기 제어신호를 통해 RAM (102)에 로드한다. 데이터 카운터(108)는 다음 데이터셀의 속도계 펄스 계수에 대비하여 0으로 리세트된다. 변동 검출기(100)로부터의 변동 펄스는, 데이터셀 각각에 대한 RAM장소들에 대응하는 어드레스를 통해 어드레스 카운터를 클럭시키기도 한다. 바이트 시퀀스회로(104)는 어드레스 데이터가 각 데이터셀용으로 RAM(102)에 래치되고 인에블되도록 제어신호들을 어드레스 래치에 공급한다.
예시를 위해서 여기에 이용된 5-2선의 인터리브 바 코드에는 바 코드 기호에 38개의 바와 공간들이 있다. 각 바와 공간은 데이터셀 하나와 같으므로, 각 기호에는 38개의 데이터셀이 있다고도 할 수 있다.
따라서, RAM(102)에 38개의 기억장소의 해당 어드레스들이 있다는 것을 알 수 있다. 데이터 카운터(108)는 각 데이터셀에 대해 하나의 계수를 RAM(102)에 로드하므로, RAM은 각 기호에 대해 38개의 데이터 계수들을 누산하는데, 여기서 각 계수는 넓거나 좁은 바 또는 공간을 대표하는 2진 수와 같다. 예를들어 설명하면, 만약 넓은 바 또는 공간의 변동간 거리가 X축 펄스 30개 만큼되고, 좁은 바 또는 공간의 거리가 X축 펄스 10개 만큼되면, RAM은 38가지의 2진수값을 기억하는데, 여기서 각 2진수 값은 넓은 바 또는 공간에 대해서는 30개의 계수값과 같고, 좁은 바 또는 공간에 대해서는 10개의 계수값과 같다. 지금 설명한 시스템에서는 넓은 요소를 대표하는 펄스 계수가 26에서 50개의 펄스 범위에서 미리 선택되는 반면, 좁은 요소를 대표하는 펄스 계수는 5에서 26개의 펄스 범위에 놓인다. 50보다 크고 5보다 작은 펄스계수값은 소용없는 것으로 간주된다.
아래에 더 설명이 되겠지만, 데이터셀열의 시초에 RAM에는 상태 셀과 해당 상태 위치가 포함된다. 상태 셀은 바 코드 기호의 판독중에 누산되게 되어있고 이 예시적 포맷에서는 38이 되는 변동수와 같은 2진값으로 부분적으로 대표된다. 특히, 상태 바이트는 처음 6개 비트 D0에서 D5까지의 변동 계수값을 포함하는데, D6은 이용되지 않고, D7은 부호화 과정을 위한 정방향/역방향 정보를 지닌다. 따라서, 상태 셀 바이트는 정확한 변동수와 그에 따라 데이터셀이 확실히 판독되고 기억되도록 RAM의 데이터셀 정보를 실제로, 해독하기에 앞서 사용된다. 그렇지 않은 경우에는, 그 정보는 버려진다.
어떤 하나의 기호에 해당하는 정보는 바이트 시퀀스회로(104)에 의해 마이크로프로세서(제 4 도)에 공급되는 인터럽트(interrupt)에 응답하여 RAM(102)에서 판독되는데, 그 바이트 시퀀스회로는 데이터가 RAM(102)에 준비되어있다는 것을 마이크로프로세서에 알려준다. 상태 바이트는 먼저 기억장치에 로드된 후 변동수가 정확한지 파악될 수 있도록 검사된다. 정확하면, 데이터는 차후의 해독 과정을 위해 마이크로프로세서 기억장치에 로드되는데, 그 자세한 설명은 아래 제 10 도에 있다. 다음에 RAM(102)은 다음 바 코드 기호를 위해 자유롭게 데이터셀 계수값을 로드하기 시작한다.
제 4 도는 제 2 도의 바 코드 판독기 시스템을 더욱 상세히 나타내는데, 여기서 동일한 구성부분에는 동일한 부호가 붙어있다. 데이터신호는 가령 0에서 5볼트로 변하는 디지탈신호 형태로 바 코드 판독기(34)(제 1 도)에서 선로(62)를 거쳐 D타입 플립플롭(114)에 공급된다. 플립플롭(114)은 선로(48)의 X축 속도계 펄스에 의해 클럭되고 Q출력에서 디지탈 데이터신호를 제공하며
Figure kpo00002
출력에서 반전 디지탈 데이터신호를 제공하는데, 이들 신호는 모두 X축 속도계 펄스에 의해 다시 시간조절되고 바코드 기호의 바와 공간들을 각각의 논리 레벨로 대표한다. Q출력은, 윈도우 제너레이터(116)의 한 입력과 데이터 래치(110)(제 4b 도)의 D7비트 위치에 접속되어있으며, 데이터 바이트가 바인지 공간인지를 식별할 논리 레벨을 제공한다.
Figure kpo00003
바 출력은 변동 검출기(100)와 윈도우 제너레이터(116)의 제2입력에 접속되어 있다. 선로(48)의 X축 속도계 펄스는 윈도우 제너레이터(116)이 제3입력에 접속된다.
변동 검출기(100)는 입력들 사이에 약간의 지연이 있는 배타적 논리합회로로 구성된 것으로서, 데이터셀들 사이의 각 변동에 대한 변동 펄스를 1-속도계 지연회로(118), 데이터 래치(110)의 클럭입력, 제1변동 억지회로(120) 및 변동 카운터(122)의 클럭입력에 공급된다. 1-속도계 지연회로(118)는 X축 속도계 펄스에 의해 클럭되고, 1속도계 펄스 만큼 지연된 지연 변동신호를 공급하여 데이터 카운터(108)를 리세트 시키고 어드레스 카운터(106)를 클럭시킨다. 데이터 카운터(108)는 선로(48)로부터의 반전 X축 속도계 펄스에 의해 클럭된다.
윈도우 제너레이터(116)는 바 코드 판독기(34)가 바 코드 기호에 대해 접근하고 떠나는 때를 측정하는 수단을 제공하고 관련 회로들이 데이터를 로드하도록 준비시킨다. 제 6 도를 참조하면, 제 6a 도는, 예를들어 카세트(22)들이 비반사성 공간을 사이에 두고 빈(20)들에 들어있는 경우와 같이 비반사성 영역(124)을 사이에 둔 2개의 연속 바 코드기호(24)들로부터의 데이터를 묘사한다. 라벨 자체는 공백의 반사성 "고요의 지대(quiet zones)"로 형성되는데, 이는 여기에서 바 코드 기호의 공간과 유사하지만 훨씬 더 긴 개시 및 정지 여백(126), (128)이라는 용어로 표현되었고, 바 코드 기호의 양단에 인쇄되어있다. 개시 여백(126)은 기호의 시작을 나타내는 반면 정지 여백(128)은 앞의 기호의 끝을 나타낸다.
제 4 도 윈도우 발생기(116)는 X축 속도계 펄스의 변화하는 기간에 의해 클럭되므로 개시 여백(126)이 어느 넓은 간격보다 훨씬 길다는 것, 따라서 판독기(34)가 바 코드 기호에 접근하고 있다는 것을 탐지할 수 있다.
계속해서, 윈도우 발생기(116)는 바 토드 정보의 시작과 끝의 직전과 직후, 특히 개시 여백 및 정지 여백 폭들의 절반을 넘어서는 지점에서 개시 윈도우 펄스와 정지 원도우 펄스를 발생시켜 기호를 괄호로 붙는다. 여백폭들 또한 주사 속도의 역으로 변한다. 윈도우 발생기(116)는 제 5 도와 6 도를 참조로 아래에 더 설명된다.
윈도우신호는 지연회로(130), 제1변동억지회로(120)에 공급되고 반전 윈도우신호로 바이트 시퀀스회로(104)에 공급된다. 지연회로(130) 역시 X축 속도계 펄스에 의해 클럭되고 방향 회로(132)와 변동 플립플롭(134)의 리세트입력에 공급되는 선 속도계-후윈도우 신호(first-tach-after-window signal)를 발생한다. 플립플롭(134)의 D입력은 제1변동억지회로(120)의 출력에 접속되어 변동 카운터(122)를 인에이블시키는 신호를 수신하고, 그 Q출력은 변동 카운터(122)에 리세트 입력을 제공한다.
정방향 또는 역방향으로의 주사를 각각 나타내는 하이(high) 또는 로우(low) 논리 상태로 이루어진 방향 신호는 X축 서보회로(42)에서 상기 선로(45)를 거쳐 방향 회로(132)에 공급된다. 이 방향신호는 또한 어드레스 카운터(106)의 업/다운 입력과 변동 래치(140)의 D7비트 위치에 공급되어, 이 구성부분[그 결과 RAM(102)에도]들에 바 코드 판독기(34)가 기호를 판독하는 방향을 제공한다. 방향회로(132)는 정방향 신호를 어드레스 카운터(106)의 리세트입력에 공급하여 이를 리세트시키고, 기호를 역방향으로 판독할때는 역방향 신호를 카운터(106)의 로드 입력에 공급하여 이를 숫자 38로 로드한다.
제1변동 억지회로(120)는 바이트 시퀀스회로(104)에 변동-1신호를 제공하는데, 여기서 윈도우신호 이후의 제1변동 펄스는 데이터가 누산되지 않았고 제1변동에는 래치할 데이터가 없으므로 말소된다. 회로(120)는 또한 마이크로프로세서(144)의 어드레스 버스를 결합시키는 입출력 어드레스 래치(142)의 인에이블 입력에 인에이블 신호를 공급한다.
제1변동 억지회로(120)는 본래 한쌍의 직렬로 이루어진 D-형 플립플롭으로서, 그 출력은 플립플롭(134)의 D입력에 공급되고 또한 변동신호와 AND연산이 되어 변동-1신호를 공급한다.
바이트 시퀀스회로(104)는 또한 선로(48)를 통해서 반전 X축 속도계 펄스를 수신한다. 앞서 언급한 바와 같이, 바이트-시퀀스회로(104)는 RAM(102) 및 변동 카운터(122)/래치(140)와 관련된 여러 로드 및 쓰기기능을 일치시키는데, 여기서 변동 카운터(122)내의 변동 계수값은 변동 래치(140)와 내부 버스(141)를 거쳐 RAM (102)에 로드된다. 변동 계수는 누산된 변동수와 같은 상기 상태 셀데이터이다. 여기 예시된 바코드 포맷의 경우, 주사가 역방향, 즉 우측에서 좌측으로 될때는 변동계수값이 38이 되나, 주사가 정방향으로 되고 변동 래치(140) 내의 D7비트가 하이 상태일때는 변동 계수값이 38 더하기 128이 된다. 따라서 바이트 시퀀스회로(104)는 각각의 제어신호를 데이터 래치(110)의 출력 인에이블 입력 : 어드레스 래치(112)의 클럭입력 및 출력 인에이블입력 : RAM(102)의 쓰기 인에이블입력 : 변동 플립플롭(134)과 변동 래치(140) 각각의 클럭 입력과 출력 인에이블입력 : 래치(140)의 클럭입력과 방향 회로(130)의 입력에 공급한다. 플립플롭(134)에 공급되는 이 신호는 이 플립플롭을 금지시키고 카운터(122)의 변동 계수값을 로드시킨다. 더욱이, 바이트 시퀀스회로(104)는 리세트신호를 그 자체와 제1변동억지회로(120)의 리세트 입력에 공급하는데, 그 리세트신호는 또한 선로(146)(제 4b 도) 상의 상기 인터럽트신호를 마이크로프로세서(144)에 공급한다. 이 리세트신호는 입출력 데이터 래치(148)를 통과한 마이크로프로세서(144)의 제어 비트로 구성되는 Q4 출력신호와 AND연산된다. 입출력 데이터 래치(148)는 각 바 코드 기호가 주사처리된 후에 RAM(102)에 기억된 바 코드 데이터가 전송되도록 데이터 래치(110)와 RAM(102) 사이에 뻗어 있는 데이터 버스를 마이크로프로세서(144) 데이터 버스에 접속시킨다.
입출력 데이터 래치(148)는 클럭입력에서 선로(152)를 통해 반전 쓰기 인에이블신호를 수신한다. 이 반전 쓰기 인에이블신호는 마이크로프로세서(144)가 Q4비트 선로에 써넣으므로써 공급되어 RAM(102) 판독과정을 일치시킨다. 입출력 데이터 래치(148)의 출력 인에이블 입력은 선로(154)를 통해 마이크로프로세서(144)의 데이터 요구명령을 수신하는데, 이 요구 명령은 RAM(102)의 출력 인에이블입력에도 공급되어 바 코드 데이터를 마이크로프로세서 기억장치에 언로드시킨다.
제 5 도는 제 4 도 윈도우 제네레이터(116)의 한 구현예를 묘사하는데, 여기서 X축 속도계 펄스는 선로(48)에 공급되며, 비반전 데이터 신호와 반전 데이터신호는 플립플롭(144)에 의해 공급된다. X축 속도계 펄스는 제1카운터(160)를 클럭시키고, 반전 데이터는 OR게이트(162)에 공급된다. OR게이트(162)의 제2입력은 카운터(160)의 Q8 출력에 접속되어 있고, 그 OR연산된 출력은 카운터(160)의 리세트 입력에 접속되어 있다. 따라서, 카운터(160)는 데이터 변동에 의해서 리세트되거나 그 Q8출력에 의해서 리세트된다. 제1카운터(160)의 Q7출력은 2분할 플립플롭(164)을 클럭시키는데, 2분할 플립플롭의
Figure kpo00004
출력은 다시 D 입력에 접속된다. 플립플롭(164)의
Figure kpo00005
출력은 바 코드 기호를 괄호로 묶는 상기 윈도우신호 펄스를 공급한다. 윈도우신호의 위상을 설명하기 위해서, NOR게이트(161)의 필터(163)를 통해 제1카운터(160)의 Q7 출력에 의해 리세트되는 제2카운터(166)에 데이터 변동이 공급된다. 제2카운터(166)의 Q5출력은 필터(165)를 통해 2분할 플립플롭(164)의 리세트 입력에 접속된다.
동작시, 그리고 제 6 도를 참조할때, 제1카운터(160)는 데이타가 OR게이트(162)에 나타나는한 반복적으로 클리어된다.
바 코드 판독기가 라벨의 개시 여백(126)를 주사할때(제 6a 도)와 같이 데이터가 없으면, 카운터(160)는 더이상 리세트되지 않고 큰 계수 값, 가령 64보다 더 큰값(넓은 간격으로 지정된 최대값 50보다 훨씬 큰값)을 누산한다. 이는, 판독기(34)가 넓은 간격이 아닌 개시 여백(125)를 주사하고 있으며 바 코드 기호에 접근하고 있다는 것을 나타낸다.
제1카운터(160)의 Q7출력은 하이 상태가 되어 2분할 플립플롭(164)을 클럭시킨다(제 6b 도). 카운터(160)는 데이터가 나타나면 개시 여백의 끝에서 다시 리세트되고, 비반사영역이 나타나면 정지 마진의 끝에서 리세트된다.
개시 여백에 접근하는지 정지 여백에 접근하는지의 여부, 즉 판독 방향이 정방향인지 역방향인지의 여부가 미지수이므로, 제2카운터(166)는 데이터 변동을 계수한다. 카운터(166)는, 라벨이 판독되는 동안은 계수들을 누산하지 않는다. 따라서, 제2카운터(166)가 16개 계수 이상을 누산하면 (이 포맷에서 38개 변동수의 절반에 적근). 이 회로는 주사되는 영역이 바 코드 기호이지 여백(126),(128)들의 어느것도 아니라는 것을 안다(제 6d 도). 제2카운터(166)의 Q5 출력은 플립플롭(164)을 클리어시킬 리세트를 공급하여 플립플롭(164)으로 하여금 해당 개시 윈도우신호를 하이 논리레벨로 발생하게 한다(제 6e 도). 카운터(160)는 정지 여백의 절반이 주사된 후 기호의 끝에서 리세트되며, 윈도우의 끝에 해당하는 정지 윈도우신호는 로우 상태로 클럭된다.
제 7 도는 바이트 시퀀스회로(104)의 한 구현예를 묘사하는데, 바이트 시퀀스회로는 데이터 바이트 시퀀스(168)와 상태 바이트 쓰기 시퀀스(170)를 포함한다. 그 시퀀스(168),(170)의 AND게이트(172),(174)에는 반전 속도계 신호가 각각 공급된다. 제1변동억지회로(120)의 변동-1 신호가 D-형 플립플롭(176)을 클럭시키는데, 이 D-형 플립플롭의 Q 출력은 AND게이트(172)의 제2입력에 결합된다. AND게이트(172)는 시프트 레지스터(178)를 클럭시키고, 그 시프트 레지스터는 계속해서 하이 신호를 각각의 Q출력들로 내리 자리이동시킴으로써 일련의 데이터 바이트신호들을 공급한다. Q0출력은 OR게이트(180)와 데이터 래치(110)(제 4 도)의 출력 인에이블 입력에 접속되어 있다. Q1출력은 OR게이트(182)에 접속되어 있고, Q2출력은 자체의 리세트 입력과 플립플롭(176)의 리세트 입력에 접속되어 있다.
윈도우 발생기(166)로부터의 반전 윈도우 신호는 플립플롭(184)을 클럭시키는데, 그 플립플롭(184)의 Q출력은 AND게이트(174)의 제2입력에 결합되어 있다. AND게이트(174)는 시프트 레지스터(186)를 클럭시키고, 그 시프트 레지스트(186)는 시프트 레지스터(178)와 마찬가지로 일련의 상태 바이트신호들을 각 Q출력들을 통해 공급한다. Q0출력은 방향회로(132)완 변동 래치(140)의 클럭 입력(제 4 도)에 접속된다.
Q1출력은 OR게이트(180)의 제2입력과 플립플롭(134) 및 래치(144)의 클럭 및 출력 인에이블입력에 각각 접속된다(제 4 도). Q2출력은 자체의 리세트입력과 제1변동억지회로(120)의 리세트 입력에 접속된다(제 4 도). 후자의 리세트 신호는 마이크로프로세서(144)에 인터럽트 신호를 제공하는 AND게이트에도 접속되어 있다(제 4 도). OR게이트(182)는 단안정 멀티바이브레이터(183)를 점화하여 상태 또는 데이터 바이트를 RAM(102)에 로드시킨다. OR게이트(180)는 변동-1 신호를 어드레스 래치(112)의 클록 및 출력 인에이블 입력에 공급하여 그 상태 또는 데이터 바이트에 대한 어드레스 계수값을 래치한다.
따라서, 데이터 바이트 시퀀스(168)는 변동-1 신호와 속도계 펄스에 응답하여 데이터와 관련된 제어신호를 제공하고, 상태 바이트 쓰기 시퀀스(170)는 윈도우 신호와 속도계 펄스에 응답하여 그 상태 데이터와 관련된 제어신호를 발생한다. 이를 위해서, 제 8a 도 내지 8c 도는 어드레스 래치(112) 데이터를 래치시키는 변동-1 신호에 응답하여 데이터 바이트 시퀀스서(168)에서 발생되는 파형들을 묘사한다. 다음 속도계 펄스에서 시프트 레지스터(178)는 데이터 카운터(108)를 클리어시키고, 어드레스 카운터(106)를 인에이블시킨다(제 8d 도). 일 속도계 펄스가 경과한 후, Q1 출력은 단안정 멀티바이브레이터(183)를 점화하여 RAM(102)으로의 로딩을 인에이블시킨다(제 8e 도, 8c 도). 일 속도계 펄스가 경과한 후, Q2출력은 데이터 바이트 시퀀스(168)를 리세트시켜 다음 데이터에 준비하게 한다(제 8f 도).
마찬가지로, 제 9a 도 내지 제 9f 도에는 상태 바이트 쓰기 시퀀스(170) 파형들이 묘사되어 있는데, 윈도우 신호와 속도계 펄스는 제 9a 도와 9b 도에 나타나 있다. 윈도우신호가 로우 상태가 된 후 첫 속도계 펄스에서, 시프트 레지스터(186)의 Q0 출력은 어드레스 카운터(106)를 리세트시키고 변동 카운터(122)의 변동 데이터를 래치시킨다(제 9c 도).
일 속도계 펄스가 경과하면 Q1출력이 어드레스 데이터를 래치 및 인에이블시키고, 변동계수 데이터를 인에이블시키며, 변동 카운터(122)를 디스인에이블시킨다(제 9d 도). 다시 다른 속도계 펄스가 경과하면, Q2출력이 쓰기 인에이블 단안정 멀티바이브레이터(182)를 점화하여 RAM(102)으로의 쓰기 기능을 인에이블시킨다(제 9e 도). 그후 또다른 속도계 펄스가 경과하면 Q3 출력이 상태 바이트 쓰기 시퀀스(170)와 제1변동억지회로(120)도 리세트시킨다(제 9f 도).
제 10 도는 마이크로프로세서(144)에 의해 실행되는 해독프로그램에 대한 흐름도를 묘사하는 것으로, 일반적으로 설명이 없어도 명백한 것이다.
하나의 기호에 대한 데이터 바이트 계수값과 상태 바이트 계수값을 RAM(102)에 누산시킨 상태에서 또한 마이크로프로세서로부터의 인터럽트 및 요구명령에 응답하여, 프로그램이 시작되어 상태 바이트 계수가 처음 마이크로프로세서 기억장치에 로드된다. 상태 바이트는 그 D7 비트가 변동래치(140)를 통해 재생되었는지의 여부가 결정되도록 검사되어, 정 또는 역 주사방향을 지시한다. 그러면 상태 바이트 계수값이 주사방향에 대한 정확한 변동수, (즉 역방향에 대해서는 38, 정방향에 대해서는 166개)이 누산을 보장하기 위해 검사된다. 그 다음엔 데이터 바이트들이 쪼개지고 각 바이트는 그것이 가능값의 범위(예, 5-50)밖에 있는지, 또는 5에서 26의 범위 (좁은 요소를 지시)나 26에서 50(넓은 요소를 지시) 사이에 있는지의 여부가 결정되도록 검사된다. 개시, 정지 기호들이 검사되고 그것이 정확하다면 데이터 기호들의 모든 6개의 디지트에 대한 패퍼티 체크(parity check)가 행해진다. 패러티 체크가 다 되면, 디지트들이 해독되고 5-2선 코드는 기호 번호가 얻어지도록 2진화 10진수로 변환된다.
이 기호 번호는 다음에 사용되도록 외부 시스템의 기억장치에 로드된다.
지금까지 설명된 본 발명의 실시예에서는 광학 주사기의 이동을 나타내고 바 코드 판독 기술에서 시간차원을 제거하기 위해 이용되는 펄스들이, 병진 주사기장치에 연결된 특정 유형의 회전 속도계장치에 의해 발생되었다.
그러나, 본 발명은, 바 코드 판독기구가 광학식, 전기식, 자기식 등 어떠한 방식이 되었든지, 또는 기호를 판독하는 동안 병진하든지 회전하든지 간에 임의의 바 코드 판독 기구의 조사속도를 표시하는 펄스열이 발생되는 임의의 펄스발생장치와 사용하도록 되어있다. 따라서, 예를들어 수동 바 코드 판독펜 원드에서는, 윈드가, 조작자에 의해 실행되는 주사의 속도에 비례하는 속도로 펄스를 발생하는, 바 코드 라벨과 접촉하는 주행 거리계 휘일(wheel)을 포함할 수 있다. 마찬가지로 본 발명은 바 코드 기호가, 변하는 주사속도로 고정 바 코드 판독 기구를 지나 병진이동되는 장치에도 이용될 수 있다.
게다가, NRZ 부호화 방식에서와 같이, 제1데이터 카운터[카운터(108)와 같은 것]는 문자간 변동들 사이의 속도계 퍼르를 계수하는데 이용될 수 있고, 이렇게 되면 제2데이터 카운터는 5-2선 코드의 기지의 특정 바/공간 배열을 기초로 데이터 기호 개별 데이터셀들에 대한 속도계 펄스의 갯수를 결정할 수 있다. 마찬가지로, 하나의 카운터를 사용해 여기 본 발명의 설명에 개시된 방식으로 데이터 문자의 시점에서 데이터 문자의 종점까지의 사이에서 발생하는 속도계 펄스, 즉 기호의 길이에 걸친 펄스를 계수할 수 있다. 따라서, 본 발명은, 변하는 주사속도로 바 코드 기호들을 판독하는 동안 경계펄스가 발생되는 시스템에 이용되도록 한 것이라 할 수 있다.
본 발명의 개념은 하드웨어로 구현된 시스템의 동작속도가 고속일 것을 요하지 않는데에 응용되는 소프트 웨어 환경에 적용될 수 있다. 예를들어, 측정 거리의 단위의 형성하는 주기열을 지니는 펄스열은 바 코드 데이터 신호와 함께 속도계 데이터 버스를 통해 마이크로프로세서에 공급된다. 바/공간 또는 기호 경계를 나타내는 변동들은 하드웨어 또는 마이크로프로세서를 통해 발생될 수 있으며 그 결과 발생하는 데이터셀들은 여기 설명된 바와 같이 본질적으로 마이크로프로세서 기억장치를 통해 처리된다.

Claims (14)

  1. 검출가능한 변동들에 의해 형성된 바 코드 부분들에 포함된 바 코드 정보를 가변의 주사속도로 판독하는 방법으로서, 바 코드 부분들을 판독하여 변동을 검출하는 단계 ; 주기가 주사속도의 역합수이므로 각 펄스가 주사속도에 독립적인 거리 유니트를 나타내게 되는 펄스열을 바 코드 부분들에 독립하여 발생하는 단계 ; 검출된 변동들 사이에 발생하는 펄스 수를 결정하는 단계 ; 및 적어도 하나의 기설정된 펄스 계수값을 공급하여 결정된 펄스수와 그 기설정된 펄스 계수값을 비교해 정보를 식별하는 단계로 이루어지는 상기 방법.
  2. 제 1 항에 있어서, 상기 부분들은 바 코드 기호내의 다수의 넓은 바들과 좁은 바들을 포함하고, 상기 펄스수 단계는 바 코드 기호내의 연속 바들 사이의 변동을 검출하고 그 연속 변동들 사이에서 발생하는 펄스수를 계수하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서, 각각 넓은 바들과 좁은 바들을 나타내는 제1펄스 계수값들과 제2펄스 계수값들로 이루어지는 두개의 겹치지 않은 기설정된 범위를 형성하는 단계, 및 연속 변동들 사이에서 발생하는 상기 펄스수를 그 펄스 계수값들의 제1, 제2범위들과 비교하여 상기 펄스수가 넓은 바들을 나타내는지 좁은 바들을 나타내는 지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제 3 항 또는 제 3 항에 있어서, 바 코드 기호가 주사될때를 결정하는 시간 윈도우 신호를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제 2 항 또는 제 3 항에 있어서, 상기 변동들 사이의 펄스들을 계수하는데 카운터가 사용될 수 있는 것을 특징으로 하는 방법.
  6. 제 1 항 또는 제 2 항에 있어서, 상기 주사속도로 바 코드 기호가 주사되는 방향을 결정하는 단계, 및 결정된 넓은 바들과 공간들 및 좁은 바들과 공간들의 순서를 해독해 바 코드 기호 정보를 공급하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 1 항 또는 제 2 항에 있어서, 바 코드 기호 앞, 뒤에서 개시. 정지 여백을 검출하는 단계, 및 개시 여백 검출에 따라 윈도우 신호를 공급하고 정지 여백 검출에 따라 그 윈도우 신호 공급을 끝내는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 주사 속도에 대해 역함수로 시간 차원의 주사거리가 변하는 넓은 바들과 좁은 바들로 형성된 데이타셀들을 포함하는 바 코드 기호에 부호화된 정보를, 주사 수단을 사용해 그 바 코드 기호를 가변 속도로 주사함으로써 재생하는 시스템으로서, 주기가 주사 수단과 바 코드 기호의 상대적인 진행 함수의 역함수이므로 각 펄스가 주사 속도에 독립된 거리 유니트를 나타내게 되는 펄스열을 기호에 독립하여 발생하는 수단, 내부에 발생하는 펄스수에 관한 데이타 셀의 폭을 나타내는 수단, 적어도 하나의 기설정된 펄스 계수값을 공급하는 수단, 및 상기 펄스수를 기설정된 계수값과 비교해 데이타 셀 동안 발생하는 펄스수가 넓은 바를 나타내는지, 좁은 바를 나타내는 지를 확정하는 수단으로 이루어지는 상기 시스템.
  9. 제 8 항에 있어서, 상기 데이타 셀의 폭을 나타내는 수단은 연속 데이타 셀의 경계에서의 변동 펄스들을 공급하는 수단과, 연속적인 변동 펄스들 사이에서 발생하는 펄스열의 펄스수를 계수하여 넓은 바들이나 좁은 바들에 상응하는 펄스 계수값들로 된 제1또는 제2값을 형성하는 계수수단을 포함하는 것을 특징으로 하는 시스템.
  10. 제 9 항에 있어서, 상기 확정수단을 개별 데이타 셀들의 폭을 나타내는 연속적인 제1, 제2펄스 계수값을 저장하는 기억장치 수단을 포함하는 것을 특징으로 하는 시스템.
  11. 제 8 항 또는 제 9 항에 있어서, 광학 주사기에 결합되어 그 광학 주사기가 바 코드기호에 접근한다는 판단에 근거해 윈도우 신호를 발생하는 수단을 더 포함하는 것을 특징으로 하는 시스템.
  12. 제 8 항 또는 제 9 항에 있어서, 상기 윈도우 발생수단은 바 코드 데이타 신호 앞에서 연속적으로 리셋되나 바 코드 기호 앞의 여백 영역을 나타내는 기설정된 수의 속도계 펄스를 누산하는 제1계수기와, 바 코드 기호의 주사를 나타내는 기설정된 수의 변동을 누산하는 제2계수기를 포함하고, 상기 윈도우 발생 수단은 바 코드 데이타 신호를 둘러싸는 윈도우 펄스들을 공급하는 것을 특징으로 하는 시스템.
  13. 제 8 항 또는 제 9 항에 있어서, 상기 제1계수기는 속도계 펄스들에 의해 클럭되고 변동들에 의해 리셋되며, 상기 제2계수기는 데이타 신호의 변동들에 의해 클럭되는 것을 특징으로 하는 시스템.
  14. 제 8 항 또는 제 9 항에 있어서, 변동 검출 수단과 윈도우 신호 발생 수단에 동작적으로 결합되어 있고, 속도계 펄스들에 응답하여 기억장치 수단에 변동수는 상태 바이트로서 로드시키고, 연속적인 계수값들은 데이타 바이트들로서 로드시키는 시퀀스 수단을 더 포함하는 것을 특징으로 하는 시스템.
KR1019870003298A 1986-04-11 1987-04-07 가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템 KR940009710B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US851,062 1986-04-11
US06/851,062 US4751375A (en) 1986-04-11 1986-04-11 Method and apparatus for reading bar code under rapidly changing scanning speed conditions
US851062 2001-05-07

Publications (2)

Publication Number Publication Date
KR870010459A KR870010459A (ko) 1987-11-30
KR940009710B1 true KR940009710B1 (ko) 1994-10-17

Family

ID=25309867

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870003298A KR940009710B1 (ko) 1986-04-11 1987-04-07 가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템

Country Status (5)

Country Link
US (1) US4751375A (ko)
JP (1) JPS62245489A (ko)
KR (1) KR940009710B1 (ko)
DE (1) DE3711855C2 (ko)
GB (1) GB2189063B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5028769A (en) * 1986-08-20 1991-07-02 Emhart Industries, Inc. Device for reading a mold code on a glass bottle
US5015832A (en) * 1989-02-27 1991-05-14 Kensington Laboratories, Inc. Method of and apparatus for decoding bar code symbols
US5565670A (en) * 1995-03-21 1996-10-15 Intermec Corporation Cordless RF link for bar code input device modulating impulses corresponding to data state transitions
DE10028241A1 (de) * 2000-06-07 2001-12-13 Bundesdruckerei Gmbh Dokumentenprüfgerät
US7131596B2 (en) * 2003-04-07 2006-11-07 Silverbrook Research Pty Ltd Symmetric data tags
US6854656B2 (en) * 2003-05-08 2005-02-15 Fujitsu Limited Self-scanning system with enhanced features
KR100800332B1 (ko) * 2005-04-13 2008-02-04 이정규 색깔과 모양이 형성된 라벨을 이용한 유통방법
JP4586086B2 (ja) * 2008-06-25 2010-11-24 東芝テック株式会社 ケーブル収納ユニット、スキャナシステム、及び、チェックアウトシステム
US9104935B1 (en) 2010-12-30 2015-08-11 Cognex Corporation Mark reader configured to prioritize images
US9367725B2 (en) 2011-11-03 2016-06-14 Cognex Corporation Method and apparatus for performing different decoding algorithms in different locations
US8740081B2 (en) 2011-11-03 2014-06-03 Cognex Corporation Method and apparatus for ordering code candidates in image for decoding attempts

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1815700A1 (de) * 1968-12-13 1970-06-25 Licentia Gmbh Verfahren zur Erkennung von codierten Informationen
US3991299A (en) * 1972-02-03 1976-11-09 Norand Corporation Bar code scanner
JPS5085320A (ko) * 1973-11-27 1975-07-09
US4114031A (en) * 1975-08-29 1978-09-12 Documation Incorporated Data card reader employing synchronization and resynchronization means
GB2000346B (en) * 1977-06-20 1982-08-11 Bell & Howell Co Bar code reader
DE2843462C2 (de) * 1978-10-05 1986-02-06 Interflex Datensysteme Gmbh & Co Kg, 7730 Villingen-Schwenningen Optoelektrischer Code-Kartenleser
US4251798A (en) * 1978-05-31 1981-02-17 Symbol Technologies Portable laser scanning arrangement for and method of evaluating and validating bar code symbols
JPS5619551A (en) * 1979-07-27 1981-02-24 Motoda Electronics Co Ltd Automatic reproducing unit of video
JPS5633766A (en) * 1979-08-28 1981-04-04 Hitachi Ltd Bar code reading device
JPS59201174A (ja) * 1983-04-28 1984-11-14 Nissan Motor Co Ltd バ−コ−ド読取装置における信号処理方法
JPH0690843B2 (ja) * 1984-02-29 1994-11-14 ソニー株式会社 カセット自動供給装置
US4554445A (en) * 1984-05-07 1985-11-19 Honeywell Information Systems Inc. Digital pulse stretcher

Also Published As

Publication number Publication date
GB2189063B (en) 1990-04-04
KR870010459A (ko) 1987-11-30
DE3711855A1 (de) 1987-10-15
DE3711855C2 (de) 1996-10-31
JPS62245489A (ja) 1987-10-26
GB2189063A (en) 1987-10-14
GB8703703D0 (en) 1987-03-25
US4751375A (en) 1988-06-14

Similar Documents

Publication Publication Date Title
US3811033A (en) Coded record interpreting system
US3784792A (en) Coded record and methods of and apparatus for encoding and decoding records
US3891831A (en) Code recognition apparatus
KR940009710B1 (ko) 가변의 주사속도로 바 코드 정보를 판독하는 방법 및 재생하는 시스템
JP2749155B2 (ja) 光学式マーク読取り装置のためのバーコードを判別する装置および方法
EP0390162A2 (en) An apparatus for reading a bar code
CA1108762A (en) File qualifying and sorting system
US3868634A (en) Reading of contrasting data by means of continuously attempting to decode read signals
US4143355A (en) Character recognition system
US4104514A (en) Bar code reader and decoder
CN86102702A (zh) 信息记录再现装置
EP0028242B1 (en) Code sensing system
US4109143A (en) Optical reader
GB1427811A (en) Method of and apparattus for interpreting a coded record
EP0091202A2 (en) Improved tape timer for tape recorder/reproducer
US4310861A (en) Data-recording device
US3480931A (en) Buffer data storage system using a cyclical memory
GB2098820A (en) System for detecting and transmitting data supplied from mechanical or electromechanical counters
US3311892A (en) Sorting system with two-line sorting switch
CN1560865B (zh) 缺陷扇区判断装置、光盘重放装置
US6305606B1 (en) Process for scanning a bar code
US4276469A (en) Data card reader
US3662339A (en) Listing verification system
US4817170A (en) Process and device for the transmission of coded information
CA1045720A (en) Coded record and methods of and apparatus for encoding and decoding records

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20061011

Year of fee payment: 13

EXPY Expiration of term