KR100788673B1 - 아날로그 인코더 신호 처리 방법 및 장치 - Google Patents

아날로그 인코더 신호 처리 방법 및 장치 Download PDF

Info

Publication number
KR100788673B1
KR100788673B1 KR1020050110128A KR20050110128A KR100788673B1 KR 100788673 B1 KR100788673 B1 KR 100788673B1 KR 1020050110128 A KR1020050110128 A KR 1020050110128A KR 20050110128 A KR20050110128 A KR 20050110128A KR 100788673 B1 KR100788673 B1 KR 100788673B1
Authority
KR
South Korea
Prior art keywords
state
analog
signal
encoder
analog encoder
Prior art date
Application number
KR1020050110128A
Other languages
English (en)
Other versions
KR20070087775A (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 삼성전자주식회사
Priority to KR1020050110128A priority Critical patent/KR100788673B1/ko
Priority to US11/520,675 priority patent/US20070124014A1/en
Priority to CNA2006101494199A priority patent/CN1967153A/zh
Publication of KR20070087775A publication Critical patent/KR20070087775A/ko
Application granted granted Critical
Publication of KR100788673B1 publication Critical patent/KR100788673B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24409Interpolation using memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

아날로그 인코더를 이용하여 모터의 회전을 제어하는 직교 신호를 생성하는 아날로그 인코더 신호 처리 장치 및 방법이 개시된다. 아날로그 인코더 신호 처리 장치는, 적어도 하나의 채널을 포함하는 아날로그 인코더의 출력 신호를 수신하고 소정의 샘플링 레이트로 샘플링하여 상기 출력 신호의 파형에 상응하는 인코더 패턴을 생성하기 위한 아날로그 인코더 패턴 생성부 및 인코더 패턴을 수신하고, 수신된 인코더 패턴으로부터 소정 개수의 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성하기 위한 상태 룩업 테이블 생성부를 포함하며, 피드백된 출력 신호를 상태 정보와 비교하여 직교 신호를 생성한다. 본 발명을 통하여 아날로그 인코더 신호 처리 장치를 다양한 아날로그 인코더의 특성에 적응시킬 수 있다.

Description

아날로그 인코더 신호 처리 방법 및 장치{Method and apparatus for processing analog encoder signals}
도 1은 용지의 위치를 계산하기 위한 종래의 장치의 구성도이다.
도 2는 본 발명의 일 측면에 따른 아날로그 인코더 신호 처리 장치를 나타내는 블록도이다.
도 3은 도 2에 도시된 아날로그 인코더 신호 처리 장치의 일 실시예를 나타내는 블록도이다.
도 4는 도 3에 도시된 아날로그 인코더 신호 처리 장치의 동작을 설명하기 위한 간략화된 블록도이다.
도 5는 본 발명의 다른 측면에 따른 아날로그 인코더 신호 처리 방법에 포함되는 아날로그 인코더 패턴 생성 단계를 나타내는 흐름도이다.
도 6은 본 발명의 다른 측면에 따른 아날로그 인코더 신호 처리 방법에 포함되는 상태 룩업 테이블 생성 단계를 나타내는 흐름도이다.
도 7은 본 발명에 따른 아날로그 인코더의 출력 신호들을 예시하는 도면이다.
도 8은 본 발명에 따른 상태 룩업 테이블의 일 실시예를 도시하는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
200, 300 : 아날로그 인코더
310 : 신호 처리 장치
220, 320 : 아날로그 인코더 패턴 저장부
230, 330 : 디지털/아날로그 변환부
240, 340 : 비교부
250, 350 : 최근 상태 래치부
260, 360 : 현재 상태 결정부
370 : 그레이 코드 변환부
본 발명은 아날로그 인코더의 신호 처리 방법 및 장치에 관한 것으로, 특히, 아날로그 인코더로부터 출력되는 아날로그 유사 정현파 출력 신호를 소정의 구간으로 나누어 샘플링하고, 한 주기 내에서 세밀한 위치 정보를 포함하고 있는 최근 상태를 아날로그 인코더의 현재 출력과 비교하여 구한 위치 변화 상태 정보로부터 현재 아날로그 인코더의 위치를 반영한 현재 추정 상태를 결정하여 모터를 제어하기 위한 직교 신호를 생성하는 방법 및 장치에 관한 것이다.
최근 자동 제어 시스템의 급속한 발전에 따라 제어 대상의 정밀한 제어를 위해 각종 센서로부터 출력되는 신호 처리의 중요성이 점차 부각되고 있다.
도 1은 용지의 위치를 계산하기 위한 종래의 장치의 구성도로, 아날로그 인 코더(100), 직교 신호 생성부(110), 인버터(120), 멀티플렉서(130), 아날로그/디지털 콘버터(140), 절대 위치 계산부(150)를 포함하여 이루어진다.
도 1을 참조하면, 아날로그 인코더(100)는 모터의 축에 연결되어 함께 회전하며, 1회전마다 소정 개수의 유사 정현파에 가까운 2개의 신호를 90도의 위상차로 외부로 출력한다.
직교 신호 생성부(110)는 인코더(100)의 출력 단자에 연결되어, 인코더(100)로부터 유사 정현파에 가까운 출력 신호를 입력받고, 상기 출력 신호의 한 주기를 다수의 상태로 구분하기 위한 대략적인 위치 정보(coarse position information)를 얻기 위한 직교 신호(Quadrature Signal)를 생성한다.
인버터(120)는 인코더(100)로부터 출력 신호를 입력받고, 상기 출력 신호를 반전시킨 반전된 출력 신호를 출력한다.
멀티플렉서(130)는 인코더(100)로부터 출력되는 유사 정현파에 가까운 출력 신호 및 반전된 출력 신호를 입력받고, 대략적인 위치 정보(coarse position information)에 따라 1개의 신호만을 출력한다.
아날로그/디지털 콘버터(140)는 멀티플렉서(120)에서 출력된 아날로그 신호를 디지털 신호로 변환하고, 변환된 디지털 신호를 절대 위치 계산부(150)로 전달한다.
절대 위치 계산부(150)는 아날로그/디지털 콘버터(140)로부터 나오는 디지털 신호 및 직교 신호 생성부(110)로부터 나오는 직교 신호를 입력받으며, 직교 신호로부터는 대략적인 위치 정보(coarse position information)를 그리고 변환된 디지 털 신호로부터는 정확한 위치 정보(precise position information)를 얻어 모터 회전시에 정확한 위치를 계산한다.
그러나, 이러한 종래 기술에 의하면 보다 정밀한 제어를 위해서 짧은 주기로 A/D 변환값을 읽어들여야 하므로, 중앙 처리 장치(CPU: Central Processing Unit)에 있어서는 큰 부담이 된다.
또한, 일반적으로 인코더(100)의 출력 신호는 소정의 특성을 가지는 것으로 간주된다. 예를 들어, 인코더(100)의 출력 신호는 서로 90도의 위상차를 가지는 두 개의 출력 신호를 발생하는 것으로 간주된다. 그러나, 아날로그 인코더의 특성은 서로 상이하다. 예를 들어, 아날로그 인코더에서 생성되는 출력 신호는 서로 상이한 위상차를 가질 수 있다. 또한, 동일한 제조 공정을 통하여 제조된 아날로그 인코더도 공정 산호(production variation)에 의하여 피할 수 없는 차이점을 가진다. 뿐만 아니라, 동일한 아날로그 인코더(100)도 사용에 따른 노화현상(aging)에 의하여, 그 특성이 변경될 수 있다.
이와 같이, 아날로그 인코더(100)의 특성이 변경되면, 인코더를 제어한 제어 효율이 열화된다.
그러므로, 서로 상이한 아날로그 인코더(100)의 특성에 따라 적응적인 제어 동작을 수행할 수 있는 기술이 절실히 요구된다.
본 발명은 상기와 같은 문제점들을 해결하기 위하여 창출된 것으로, 아날로그 인코더로부터 출력되는 아날로그 유사 정현파 출력 신호를 소정의 구간으로 나 누어 샘플링하고, 상기 아날로그 인코더의 출력 신호와 비교하여 최근 상태로부터 다음 상태인 현재 추정 상태를 결정하여 모터를 제어하기 위한 직교 신호(Quadrature Signal)를 생성하기 위한 방법 및 장치를 제공하는데 그 목적이 있다.
또한, 종래 장치에서 사용하던 아날로그/디지털 콘버터를 사용하지 않고 직교 신호(Quadrature Signal)를 생성하거나, 위치 정보(Positional Information)를 얻는데 그 목적이 있다.
뿐만 아니라, 본 발명은 상이한 아날로그 인코더의 특성에 상응한 아날로그 인코더 패턴 및 상태 룩업 테이블을 자동으로 생성함으로써, 상이한 아날로그 인코더에 적응되는 아날로그 인코더 신호 처리 장치 및 방법을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일면에 따른 아날로그 인코더 신호 처리 장치는, 아날로그 인코더를 포함하며, 모터의 회전을 제어하는 직교 신호를 생성하고, 적어도 하나의 채널을 포함하는 상기 아날로그 인코더의 출력 신호를 수신하고 소정의 샘플링 레이트로 샘플링하여 상기 출력 신호의 파형에 상응하는 인코더 패턴을 생성하기 위한 아날로그 인코더 패턴 생성부 및 상기 인코더 패턴을 수신하고, 수신된 인코더 패턴으로부터 소정 개수의 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성하기 위한 상태 룩업 테이블 생성부를 포함한다. 상기 아날로그 인코더 신호 처리 장치는 피드백된 상기 출력 신호를 상기 상태 정보와 비교하여 상기 직교 신호를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 아날로그 인코더 신호 처리 장치는, 상기 파형 테이블 생성부로부터 수신된 상기 인코더 패턴을 저장하고, 최근 상태 래치부로부터 수신한 최근 상태에 상응하는 아날로그 인코더 패턴값을 출력하는 아날로그 인코더 패턴 저장부; 상기 아날로그 인코더 패턴값 및 상기 아날로그 인코더의 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 비교부; 기준클록에 따라 현재 상태 결정부로부터 전달된 현재 추정 상태를 래치하여 최근 상태로 설정하는 상기 최근 상태 래치부 및 상기 위치 변화 상태 정보와 상기 최근 상태를 기반으로 상기 상태 정보로부터 현재 추정 상태를 결정하는 상기 현재 상태 결정부를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 아날로그 인코더 신호 처리 장치는, 상기 아날로그 인코더 패턴 저장부의 출력을 아날로그 신호로 변환하여 상기 비교부로 전달하는 디지털/아날로그 변환부를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 아날로그 인코더 패턴 생성부는, 상기 출력 신호의 최대값 및 최소값을 추출하고, 추출된 최대값 및 최소값으로부터 중간값을 연산하기 위한 특성치 추출부; 상기 특성치들로부터 상기 출력 신호의 주기를 연산하기 위한 주기 연산부 및 상기 특성치를 이용하여 한 주기의 시작 지점을 추출하기 위한 시작 지점 추출부를 포함하며, 상기 시작 지점으로부터 한 주기에 상응하는 파형을 상기 샘플링 레이트로 샘플링하여 상기 인코더 패턴을 생성하는 것을 특징으로 한다.
바람직하게는, 상기 주기 연산부는, 상기 출력 신호로부터, 상기 중간값보다 작은 제1 지점, 상기 중간값보다 크거나 같은 제2 지점, 상기 중간값보다 작은 제3지점, 및 상기 중간값보다 크거나 같은 제4지점을 순차적으로 추출하고, 상기 제2 지점으로부터 상기 제4 지점까지를 한 주기로 결정하는 것을 특징으로 한다.
바람직하게는, 상기 시작 지점 추출부는, 각 채널에 상응하는 상기 출력 신호들이 모두 상기 중간값보다 작은 값을 가지며, 상기 출력 신호들의 차가 최소인 지점을 상기 시작 지점으로 결정하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
바람직하게는, 상기 아날로그 인코더 신호 처리 장치는, 상기 현재 추정 상태 또는 상기 최근 상태를 상기 직교 신호로 변환하기 위한 구동 신호 변환부를 더 포함하며, 상기 구동 신호 변환부는, 상기 현재 추정 상태 또는 상기 최근 상태를 그레이 코드로 변환하여 상기 직교 신호를 생성하는 그레이 코드 변환부를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 상태 룩업 테이블은, 상기 현재 추정 상태 또는 상기 최근 상태의 상기 구동 신호에 대한 관계를 나타내며, 상기 직교 신호는, 상기 상태 룩업 테이블을 이용하여 생성되는 것을 특징으로 한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 다른 면은, 적어도 하나의 채널을 포함하는 아날로그 인코더로부터 출력되는 출력 신호를 이용하여 모터를 제어하기 위한 직교 신호를 생성하기 아날로그 인코더 신호 처리 방법에 관한 것이며, 본 발명의 다른 면에 의한 아날로그 인코더 신호 처리 방법은 (a) 상기 아날로그 인코더의 출력 신호를 수신하고 소정의 샘플링 레이트로 샘플링하여, 상기 출력 신호의 파형에 상응하는 인코더 패턴을 생성하기 위한 아날로그 인코더 패턴 생성 단계; (b) 상기 인코더 패턴을 수신하고, 수신된 인코더 패턴으로부터 소정 개수의 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성하기 위한 상태 룩업 테이블 생성 단계 및 (c) 피드백된 상기 출력 신호를 상기 상태 정보와 비교하여 상기 직교 신호를 생성하는 직교 신호 생성 단계를 포함한다.
바람직하게는, 상기 아날로그 인코더 신호 처리 방법은, (d) 생성된 상기 인코더 패턴을 저장하고, 상기 아날로그 인코더의 최근 상태에 상응하는 아날로그 인코더 패턴값을 출력하는 단계; (e) 상기 아날로그 인코더 패턴값 및 상기 아날로그 인코더의 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 단계; (f) 기준클록에 따라 현재 추정 상태를 래치하여 최근 상태로 설정하는 단계 및 (g) 상기 위치 변화 상태 정보와 상기 최근 상태를 기반으로 상기 상태 정보로부터 현재 추정 상태를 결정하는 단계를 더 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (a) 아날로그 인코더 패턴 생성 단계는, (a1) 상기 출력 신호의 최대값 및 최소값을 추출하고, 추출된 최대값 및 최소값으로부터 중간값을 연산하기 위한 특성치 추출 단계; (a2) 상기 특성치들로부터 상기 출력 신호의 주기를 연산하기 위한 주기 연산 단계; (a3) 상기 특성치를 이용하여 한 주기의 시작 지점을 추출하기 위한 시작 지점 추출 단계를 포함하며, 상기 시작 지점으로부터 한 주기에 상응하는 파형을 상기 샘플링 레이트로 샘플링하여 상기 인코더 패턴을 생성하는 것을 특징으로 한다.
바람직하게는, 상기 (a2) 주기 연산 단계는, 상기 출력 신호로부터, 상기 중 간값보다 작은 제1 지점, 상기 중간값보다 크거나 같은 제2 지점, 상기 중간값보다 작은 제3지점, 및 상기 중간값보다 크거나 같은 제4지점을 순차적으로 추출하는 단계 및 상기 제2 지점으로부터 상기 제4 지점까지를 한 주기로 결정하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 (a3) 시작 지점 추출 단계는, 각 채널에 상응하는 상기 출력 신호들이 모두 상기 중간값보다 작은 값을 가지며, 상기 출력 신호들의 차가 최소인 지점을 상기 시작 지점으로 결정하는 것을 특징으로 한다.
바람직하게는, 상기 (b) 상태 룩업 테이블 생성 단계는, (b1) 상기 아날로그 인코더 패턴을 아날로그 신호로 변환하는 디지털/아날로그 변환 단계; (b2) 변환된 상기 아날로그 신호와 상기 아날로그 인코더의 유사 정현파 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 단계; 및 (b3) 생성된 상기 위치 변화 상태 정보와 상기 아날로그 인코더의 최근 상태를 기초로 다음 상태인 현재 추정 상태를 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 아날로그 인코더 신호 처리 장치 및 방법에 따르면, 상이한 아날로그 인코더의 특성에 상응한 아날로그 인코더 패턴 및 상태 룩업 테이블을 자동으로 생성할 수 있다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 아날로그 인코더의 신호 처리 방법 및 장치의 바람직한 실시예를 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다. 또한, 하기의 설명에서는 구체적인 회로의 구성소자 등과 같은 많은 특정사항들이 도시되어 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정사항들 없이도 본 발명이 실시될 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2는 본 발명의 일 측면에 따른 아날로그 인코더 신호 처리 장치를 나타내는 블록도이다.
본 발명에 따른 아날로그 인코더 신호 처리 장치는 아날로그 인코더(200), 아날로그 인코더 패턴 저장부(220), 디지털/아날로그 변환부(230), 비교부(240), 최근 상태 래치부(250) 및 현재 상태 결정부(260), 아날로그 인코더 패턴 생성부(280), 및 상태 룩업 테이블 생성부(290)를 포함한다.
아날로그 인코더(200)는 모터의 축에 연결되어 함께 회전하며, 1회전마다 소정 개수의 유사 정현파에 가까운 2개의 신호를 90도의 위상차로 외부로 출력한다. 아날로그 인코더 패턴 저장부(220)는 아날로그 인코더의 출력 신호에 샘플링을 수행한 결과인 샘플링된 아날로그 인코더 패턴을 저장한다. 또한, 아날로그 인코더 패턴 저장부(220)는 최근 상태 래치부(250)로부터 입력된 최근 상태에 해당하는 아날로그 인코더 패턴값을 출력한다. 디지털/아날로그 변환부(230)는 아날로그 인코더 패턴 저장부(220)로부터 수신한 아날로그 인코더 패턴값을 아날로그 형태로 변환한다.
그러면, 비교부(240)는 디지털/아날로그 변환부(230)의 출력 및 아날로그 인코더(200)의 출력 신호를 비교하여 위치 변화 상태 정보를 생성한다. 위치 변화 상태 정보에 대해서는 도 7 및 도 8을 이용하여 상세히 후술된다.
비교부(240)에서 생성된 위치 변화 상태 정보는 현재 상태 결정부(260)로 전달된다. 현재 상태 결정부(260)는 비교부(240)의 출력 및 최근 상태 래치부(250)의 출력을 이용하여 현재 추정 상태를 결정한다. 결정된 현재 추정 상태는 최근 상태 래치부(250)로 피드백된다. 그러면, 최근 상태 래치부(250)는 기준클록에 따라 현재 상태 결정부로부터 전달된 현재 추정 상태를 래치하여 최근 상태로 하며, 래치된 최근 상태를 아날로그 인코더 패턴 저장부 및 현재 상태 결정부로 전달한다.
이와 같이, 본 발명에서는 아날로그 인코더의 유사 정현파 출력 신호가 피드백되어 모터의 회전을 제어하기 위한 직교 신호가 생성되기 때문에 외란에 강인하고 인코더의 정밀도가 향상된다.
도 2에 도시된 아날로그 인코더 패턴 생성부(280)는 장치는 초기화시에 아날로그 인코더로부터 출력되는 제1 및 제2 유사 정현파 출력 신호를 포함하는 출력 신호를 피드백받아 샘플링을 수행하여 샘플링된 아날로그 인코더 패턴을 생성한다. 샘플링 레이트가 증가하면 아날로그 인코더 패턴 생성부(280)는 더 정밀한 인코더 패턴을 생성할 수 있다. 또한, 아날로그 인코더 패턴 생성부(280)는 자동으로 아날로그 인코더의 출력 신호를 샘플링하여 인코더 패턴을 생성하므로, 생성된 인코더 패턴은 아날로그 인코더로부터 출력되는 하나 이상의 채널에 상응하는 출력 신 호들의 특성에 적응된다. 그러므로, 본 발명의 일면에 따른 아날로그 인코더 신호 처리 장치의 정밀도가 향상된다. 아날로그 인코더 패턴 생성부(280)에서 생성된 인코더 패턴은 아날로그 인코더 패턴 저장부(220)에 저장된다. 아날로그 인코더 패턴 생성부(280)에 대해서는 본 명세서의 해당 부분에서 상세히 후술된다.
모터를 구동하기 위한 구동 신호는 현재 추정 상태 또는 최근 상태를 이용하여 발생된다. 바람직하게는, 모터의 최대 토크를 유발할 수 있는 직교 신호가 모터의 구동 신호로 이용되는 것이 바람직하다. 또한, 구동 신호는 현재 추정 상태 또는 최근 상태를 그레이 코드로 변환하여 생성될 수 있으며, 또는 현재 추정 상태 또는 최근 상태의 구동 신호에 대한 관계를 나타내는 룩업 테이블을 이용하여 생성될 수도 있다.
도 3은 도 2에 도시된 아날로그 인코더 신호 처리 장치의 일 실시예를 나타내는 블록도이다.
도 3에 도시된 아날로그 인코더 신호 처리 장치는, 아날로그 인코더 패턴 저장부(320), 디지털/아날로그 콘버터(330), 비교부(340), 최근 상태 래치부(350), 현재 상태 결정부(360), 그레이 코드 변환부(370), 아날로그 인코더 패턴 생성부(380), 및 상태 룩업 테이블 생성부(390)를 포함한다. 비교부(340)는 제1 비교부(341) 및 제2 비교부(343)를 포함하여 이루어진다.
아날로그 인코더 패턴 저장부(320)는 초기화시에 생성된 아날로그 인코더(300)로부터의 출력 신호인 제1 신호(301) 및 제2 신호(302)를 샘플링한 값을 저장하고 있다. 또한, 최근 상태 래치부(350)에서 상태가 입력되면, 그에 동기하여 제 1 신호(321) 및 제2 신호(322)의 디지털 패턴값을 디지털 아날로그 콘버터(330)로 전달한다.
본 발명의 실시예에 따라 아날로그 인코더(300)로부터 출력되는 신호의 한 주기는, 도 7에서 도시된 바와 같이, 16개의 구간(0~f)으로 나누고 있으므로, 본 발명에서는 그 샘플링 값은 제1 신호 및 제2 신호에 대해 각각 16개의 샘플링 값을 저장하고 있다. 비록, 도 7에는 정현파를 도시하고 있으나, 실제 아날로그 인코더의 출력은 도시된 바와 같은 정현파는 아니며, 다만 설명의 편의를 위해 정현파라고 가정하고 기술하기로 한다.
디지털/아날로그 콘버터(330)는 아날로그 인코더 패턴 저장부(320)에서 독출한 제1 신호(321)를 아날로그 신호로 변환하고, 변환된 아날로그 신호(332,234)를 비교부(340)로 출력한다. 디지털/아날로그 콘버터(330)는 하나 이상의 변환부를 포함할 수 있으나, 도 3에는 하나의 변환부(331)만을 포함하는 것으로 도시된다.
변환부(331)는 아날로그 인코더 패턴 저장부(320)로부터 수신된 신호(321)를 아날로그 신호(332)로 변환한다. 비교부(340)는 디지털/아날로그 콘버터(330)의 출력 신호(332)와 아날로그 인코더(300)의 출력 신호(301, 302)를 입력받아, 그 상대적인 크기를 비교하고, "1"과 "0"의 형태의 디지털 신호인 위치 변화 상태 정보 Xup(342), Yup(344) 을 출력한다.
본 명세서에서, Xup이란 제1 비교부(341)에서 출력되는 위치 변화 상태 정보(342)를 의미하며, Yup은 제2 비교부(343)에서 출력되는 위치 변화 상태 정보(344)를 의미한다. 상기한 Xup 및 Yup 신호는 위치 변화 상태 정보(PCSI: Positional Change State Information)로서, 최근 상태 정보와 함께 다음 상태, 즉 현재 추정 상태를 추정하는데 사용된다.
최근 상태 래치부(350)는 현재 상태 결정부(360)에서의 출력 신호인 현재 추정 상태를 입력받고, 다음 상태를 결정하기 위해 기억하고 있는 현재 추정 상태를 이전 상태로 하여 현재 상태 결정부(360)로 입력한다. 그리고, 기준 클록에 동기하여 현재 상태 결정부(360)에 입력된 현재 추정 상태를 아날로그 인코더 패턴 저장부(320)로 전달한다. 또한, 시스템 초기화시에는 리셋 신호에 따라 최근 상태 래치부(350)의 상태를 리셋시켜 초기화한다.
현재 상태 결정부(360)는 비교부(340)로부터 입력받은 위치 변화 상태 정보(Xup, Yup)(342, 344) 및 최근 상태 래치부(350)로부터 입력받은 최근 상태로부터 다음 위치에 대한 상태인 현재 추정 상태를 결정한다. 이에 대해서는 도 7 및 도 8을 이용하여 상세히 기술하기로 한다.
아날로그 인코더 패턴 생성부(380)는 아날로그 인코더(300)의 특성에 적응된 인코더 패턴을 생성한다. 이를 위하여, 아날로그 인코더 패턴 생성부(380)는 아날로그 인코더(300)의 출력 신호(301, 302)의 최대값 및 최소값을 추출하고, 추출된 최대값 및 최소값으로부터 중간값을 연산한다. 또한, 추출된 특성치들로부터 출력 신호의 주기를 연산하고, 한 주기의 시작 지점을 추출한다. 아날로그 인코더 패턴 생성부(380)는 이와 같이 연산된 주기 및 시작 지점을 이용하여, 시작 지점으로부터 한 주기에 상응하는 파형을 소정의 샘플링 레이트로 샘플링하여 인코더 패턴을 생성한다.
아날로그 인코더 패턴 생성부(380)에 의하여 생성된 인코더 패턴의 일 예가 표 1에 제공된다.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
X 78 100 127 154 178 193 198 193 177 155 128 101 78 62 57 64
Y 77 61 55 60 76 99 126 153 176 192 197 192 176 153 126 99
또한, 도 7은 표 1에 해당하는 아날로그 인코더 패턴을 그래프화하여 도시한다.
이와 같이, 본 발명에 따른 아날로그 인코더 신호 처리 장치에 포함되는 아날로그 인코더 패턴 생성부(380)는 고정된 패턴값을 이용하는 것이 아니라, 현재 사용되는 아날로그 인코더(300)의 특성치를 이용하여 인코더 패턴을 자동으로 생성한다. 그러므로, 서로 상이한 아날로그 인코더(300)에 적응된 인코더 패턴을 생성할 수 있다. 아날로그 인코더 패턴 생성부(380)에서 주기를 연산하는 과정 및 시작 지점을 추출하는 과정은 명세서의 해당 부분에서 상세히 후술된다.
상태 룩업 테이블 생성부(390)는, 현재 추정 상태 또는 최근 상태 및 상기 구동 신호 간의 관계를 나타내는 상태 룩업 테이블을 생성한다. 즉, 구동 신호가 인가되었을 때, 아날로그 인코더(300)의 위치 정보가 무엇인지에 대한 관계가 상태 룩업 테이블에 저장된다. 상태 룩업 테이블을 이용하여, 복잡한 연산을 수행하지 않고 아날로그 인코더(300)의 위치 정보를 용이하게 얻을 수 있다. 상태 룩업 테이블 생성부(390)에서 생성되는 상태 룩업 테이블에 대해서는 도 8을 이용하여 후술한다.
그레이 코드 변환부(370)는 현재 상태 결정부(360)로부터 또는 최근 상태 래치부(350)로부터 받은 상태 정보(362)를 그레이 코드(Gray Code)로 변환하며, 변환된 그레이 코드로부터 직교 신호(dX, dY)(371, 272)를 생성한다. 이를 위해 그레이 코드 변환부(370) 내부에서는 그레이 코드와 직교 신호(Quadrature Signal)(dX, dY)(371, 272)간의 대응 관계를 미리 설정하는 그레이 코드 테이블(미도시)을 포함할 수 있으며, 이러한 그레이 코드 테이블은 바람직하게 표 1에 도시한 인코더 패턴(X, Y)에 상응하는 형태를 취하게 될 것이라는 것은 당업자에게 자명할 것이다.
한편, 상기 그레이 코드 변환부(370) 대신에, 직교 신호에 대한 정보를 포함한 상태 정보 코드를 상기 현재 상태 결정부(360)내에 저장하고, 이로부터 직교 신호를 생성할 수도 있다.
표 2에는 상태 정보, 상태 정보 코드, 및 그에 대응하는 직교 신호의 한 예시를 도시하고 있다. 명세서의 간략화를 위하여 상태 정보는 8가지 상태만을 포함하는 것으로 도시된다.
상기 그레이 코드에 대응하는 직교 신호(Quadrature Signal)는 본 실시예에 한정되지 않으며, 필요에 따라 적절하게 변형될 수 있을 것이다.
십진수를 이용한 상태 정보의 예시 BCD 코드 상태 정보 코드 직교 신호 (제1신호 및 제2신호)
0 000 010 10
1 001 011 11
2 010 001 01
3 011 000 00
4 100 110 10
5 101 111 11
6 110 101 01
7 111 100 00
도 4는 도 3에 도시된 아날로그 인코더 신호 처리 장치의 동작을 설명하기 위한 간략화된 블록도이다.
우선, 아날로그 인코더(300)의 출력 신호들(aX, aY)이 아날로그 인코더 패턴 생성부(380)에 인가된다. 그러면, 아날로그 인코더 패턴 생성부(380)는 수신된 출력 신호들(aX, aY)에 상응하는 인코더 패턴(aWaveformX, aWaveformY)을 생성하고, 생성된 인코더 패턴(aWaveformX, aWaveformY)을 상태 룩업 테이블 생성부(390)에 제공한다. 도 4에 도시된 아날로그 인코더 패턴 생성부(380) 및 상태 룩업 테이블 생성부(390)는 본 발명에 따른 아날로그 인코더 신호 처리 장치에서 펌웨어(410)의 형태로 제공될 수 있다. 아날로그 인코더 패턴 생성부(380) 및 상태 룩업 테이블 생성부(390)를 펌웨어(410) 형태로 구현함으로써, 사용자는 샘플링 레이트를 변경하는 등 사용자 편의적인 다양한 환경을 용이하게 변경할 수 있다. 인코더 패턴(aWaveformX, aWaveformY)은 해상도에 따라 상이한 차원을 가지는 어레이(array) 형태를 가진다. 예를 들어, 해상도가 16일 경우, 인코더 패턴(aWaveformX, aWaveformY)들은 각각 [1X16]의 차원을 가지는 어레이 형태로 구현된다.
상태 룩업 테이블 생성부(390)는 수신된 인코더 패턴(aWaveformX, aWaveformY)으로부터 소정 샘플링 레이트에 상응하는 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성한다. 생성된 상태 룩업 테이블은 현재 상태 결정부(360)로 제공된다. 전술된 바와 같이, 상태 룩업 테이블은 현재 추정 상태 또는 최근 상태 및 상기 구동 신호 간의 관계를 나타낸다. 그러면, 현재 상태 결정부(360)는 구동 신호(Xup, Yup)가 인가되었을 때, 상태 룩업 테이블을 이용하여, 복잡한 연산을 수행하지 않고 아날로그 인코더(300)의 위치 정보를 용이하게 얻을 수 있다.
현재 상태 결정부(360)에서 결정된 현재 추정 상태는 그레이 코드 변환부(370)로 전달되고, 그레이 코드 변환부(370)는 수신한 현재 추정 상태를 그레이코드로 변환하여 직교 신호(dX, dY)를 생성할 수 있다. 그레이 코드로 변환된 직교 신호(dX, dY)는 그레이 코드 변환부(370)를 포함하는 다양한 다른 장치에도 사용될 수 있으므로, 본 발명에 따른 아날로그 인코더 신호 처리 장치가 다른 장치들과 호환되도록 허용한다.
도 4에 도시된 바와 같이, 현재 상태 결정부(360) 및 그레이 코드 변환부(370)는 반도체 어레이(420)에 구현될 수 있다. 예를 들어, 이와 같은 반도체 어레이는 프로그램이 가능한 로직 의 한 형태인 FPGA(Field-Programmable Gate Array) 일 수 있다. FPGA와 같은 반도체 어레이(420)를 이용한 설계가 확정되면, 성능을 더 높이기 위해 영구 전자회로를 가진 반도체 칩들이 생산될 수 있다.
도 5는 본 발명의 다른 측면에 따른 아날로그 인코더 신호 처리 방법에 포함되는 아날로그 인코더 패턴 생성 단계를 나타내는 흐름도이다.
우선, 아날로그 인코더가 일정 구간동안 움직이는 동안의 출력 신호를 수신한다(S510). 출력 신호들은 아날로그 인코더의 X 채널 및 Y 채널에 상응하여 발생된다. 이때의 출력 신호들은 디지털 신호로 변환된 값이다.
그리고, 안정된 결과를 얻기 위하여 수신된 출력 신호들에 저역통과 필터링을 수행하여 잡음을 제거한다(S530).
또한, 잡음이 제거된 신호로부터 주기를 추출하고, 시작점을 결정한다(S550). 주기를 추출하는 과정에 대해서 상세히 설명하면 다음과 같다.
우선, X 채널의 출력 신호로부터 최대값, 최소값 및 중간값을 추출한다. 이와 같은 특성치들이 추출되면, X 채널 또는 Y 채널의 출력 신호를 스캔하면서 중간값보다 작은 지점, 중간값보다 크거나 같은 지점, 중간값보다 작은 지점, 및 중간값보다 큰 지점을 순차적으로 추출한다. 도 7을 참조하면, 중간값보다 작은 지점인 0지점(제1 지점), 중간값보다 크거나 같은 지점인 1지점(제2 지점), 중간값보다 작은 지점인 c 지점(제3 지점)이 추출되고, 중간값보다 큰 지점(제 4지점)은 연속된 후속 파형에서 추출된다.
이와 같은 지점들이 추출되면, 제2 지점 내지 제4 지점까지를 한 주기로 설정한다.
비록, 도 7에서는 중간값보다 0 지점이 중간값보다 작은 제1 지점으로서 도시되었으나, 도 7에 도시된 파형 중 중간값보다 작은 지점인 c 지점이 제1 지점으로서 선택될 수도 있다. c 지점이 제1 지점으로서 선택되면, 도 7에 도시된 파형에 후속하는 파형에서 제2 내지 제4 지점이 선택된다. 어느 경우에나, 제2 지점 내지 제4 지점까지가 일 주기로서 결정되는 것은 동일하다.
출력 신호의 일 주기가 연산되면, 시작 지점을 선택한다. 이 경우, X 채널의 출력 신호 및 Y 채널의 출력 신호가 중간값보다 작으면서 가장 비슷한 값을 가지는 지점을 시작 지점으로 선택할 수 있다. 도 7에 도시된 출력 신호에서는 0 지점이 시작 지점으로 선택될 수 있다.
이와 같이 주기 및 시작 지점이 선택되면, 시작 지점으로부터 출발하여 1 주기 가산된 지점까지의 출력 신호를 소정 샘플링 레이트(N)로 분주하여 해당하는 전압값을 추출한다(S570). 이 경우, 전압값은 정밀한 계산을 위하여 다음과 같이 보간법을 이용하여 계산될 수 있다.
aWaveformX[0]=aAnalogXf[StartPoint];
aWaveformY[0]=aAnalogYf[StartPoint];
for(i=1; i<N; i++)
{
j=DivPeriod*i;
aWaveformX[i]= aAnalogXf[StartPoint + (int)(j/1000.) ] + (int) ((aAnalogXf[StartPoint + (int) (j/1000.)+1] - aAnalogXf[StartPoint + (int)(j/1000.)]) * (j%1000)/1000.);
aWaveformY[i]=aAnalogYf[StartPoint + (int)(j/1000.)] + (int) ((aAnalogYf[StartPoint+ (int) (j/1000.)+1] - aAnalogYf[StartPoint + (int)(j/1000.)]) * (j%1000)/1000.);
}
여기서, N은 샘플링 레이트, 즉 해상도를 의미하고, DivPeriod 는 일주기를 N으로 나눈 값이며, aAnalogXf 및 aAnalogYf 는 저역통과 필터를 거친 인코더의 X 및 Y 채널의 출력 신호들을 의미한다.
또한, aWaveformX 및 aWaveformY 는 {1XN]의 차원을 가지는 인코더 패턴을 의미한다.
위와 같은 방법으로 인코더 패턴이 생성되면, 생성된 인코더 패턴인 aWaveformX 및 aWaveformY를 출력한다(S590).
도 5에 도시된 바와 같이, 본 발명에 의한 아날로그 인코더 패턴 생성 과정은 아날로그 인코더의 출력 신호로부터 소정의 특성치를 추출하고, 추출된 특성치를 이용하여 일 주기 및 시작점을 연산한다. 그러므로, 실제 사용되는 아날로그 인코더의 특성치에 적응된 인코더 패턴을 얻을 수 있다.
도 6은 본 발명의 다른 측면에 따른 아날로그 인코더 신호 처리 방법에 포함되는 상태 룩업 테이블 생성 단계를 나타내는 흐름도이다.
도 5에 도시된 바와 같이 아날로그 인코더 패턴이 생성되면, 생성된 인코더 패턴인 aWaveformX 및 aWaveformY를 수신한다(S610).
정밀한 상태 룩업 테이블를 생성하기 위하여, 본 발명에 따른 아날로그 인코더 신호 처리 방법에서는, X 및 Y 채널의 출력 신호 중 선형 구간(linear region)에 해당하는 채널의 출력값 만을 이용하는 것이 바람직하다. X 및 Y 채널 중 선형 구간에 해당하는 채널의 출력 신호만을 이용하여 상태 룩업 테이블를 구성하는 이유는, 어느 채널이던 선형 구간에 있을 때에 출력 값이 가장 크게 변동하기 때문이다. 예를 들어, X 채널의 출력값 중 X 채널의 최대값 또는 최소값에 근사한 값에서는 출력값의 변화가 크지 않기 때문이다.
그러므로, 선형 구간에 해당하는 채널값을 선택하기 위하여 X 및 Y 채널의 출력 신호 각각의 증가분인 uX 및 uY를 연산한다(S620). uX 및 uY는 다음과 같이 연산될 수 있다.
uX = aWaveformX[i+1] - aWaveformX[i];
uY = aWaveformY[i+1] - aWaveformY[i]
여기서, i 는 인코더 패턴의 인덱스이다.
각 채널의 출력 신호의 증가분이 연산되면, 출력 신호들 중 상태 룩업 테이블을 생성하는데 사용될 구간을 다음 표 3과 같이 연산한다.
구간 구분 구분 방법
X 사용 구간 Up 구간 (abs(uX)>abs(uY)) && (uX>0)
Down 구간 (abs(uX)>abs(uY)) && (uX<=0)
Y 사용 구간 Up 구간 (abs(uX)<=abs(uY)) && (uY>0)
Down 구간 (abs(uX)<=abs(uY)) && (uY<=0)
표 3에 나타난 바와 같이, X 사용구간은 X의 증가분이 Y의 증가분보다 큰 구간이며, Y 사용구간은 Y의 중가분이 X의 증가분보다 큰 구간이다(S630). 그러면, 각 채널의 출력 신호가 증가되는지 감소되는지 여부를 결정하여(S640) 증가되는 Up 구간 및 감소되는 Down 구간을 결정한다. 즉, 각각의 구간은, 증가분이 0보다 큰지 작은지에 따라서, Up 구간 및 Down 구간으로 세분화된다.
도 7을 참조하면, X 사용구간은 0지점 내지 3지점인 <I> 구간 및 8지점 내지 b지점인 <III> 구간에 해당한다. 반면, Y 사용구간은 4지점 내지 7지점인 <II> 구간 및, c지점 내지 f지점인 <IV> 지점에 해당한다. 또한, 증가분이 0보다 큰지에 따라서 세분화하면, <I> 구간 및 <II> 구간은 각각 X 채널 및 Y 채널의 출력 신호가 증가하는 Up 구간이며, <III> 및 <IV> 구간은 각각 X 채널 및 Y 채널의 출력 신호가 감소하는 Down 구간이다.
이와 같이 출력 신호 중 선형 구간을 추출하여 사용함으로써, 인코더 패턴을 정밀하게 생성할 수 있다.
그러면, 각 채널별로 전진 구간 및 후진 구간을 결정한다(S650). 전진 구간 및 후진 구간에 따른 출력 상태의 변화는 다음 표 4를 이용하여 설명된다.
구간 구분 출력 상태 Xup,Yup
X 사용구간 Up 구간 현재 상태-1 DD Yup 신호 무시 Xup 신호가 U인 경우에 다음 상태로 전진, D이면 후진
현재 상태+1 UD
현재 상태-1 DU
현재 상태+1 UU
Down 구간 현재 상태+1 DD Yup 신호 무시 Xup 신호가 U인 경우에 이전 상태로 후진, D이면 전진
현재 상태-1 UD
현재 상태+1 DU
현재 상태-1 UU
Y 사용구간 Up 구간 현재 상태-1 DD Xup 신호는 무시 Yup 신호가 D인 경우에 이전 상태로 후진, U이면 전진
현재 상태-1 UD
현재 상태+1 DU
현재 상태+1 UU
Down 구간 현재 상태+1 DD Xup 신호는 무시 Yup 신호가 D인 경우에 다음 상태로 전진, U이면 후진
현재 상태+1 UD
현재 상태-1 DU
현재 상태-1 UU
설명의 편의를 위하여, Xup 및 Yup 신호는 0이면 D이고, 1이면 U인 것으로 표현된다.
이하, 도 7을 참조하여 표 4를 설명한다.
우선, X 사용구간이며, Up 구간인 <I> 구간에 대해서 설명한다. 이 경우, 현재 1지점에 위치되어 있다고 가정한다. 이러한 가정은 설명을 위한 것이며, 본 발명의 일반성을 한정하는 것이 아님은 명백하다.
현재 1 지점에 위치되어 있을 경우, (Xup, Yup) 신호가 (DD) 또는 (DU) 라고 하면, Yup 신호를 무시하고 Xup 신호에 따라 현재 상태 이전 상태로 후진한다. 따라서 0지점으로 후진한다. 만일, (Xup, Yup) 신호가 (UD) 또는 (UU) 라고 하면, Yup 신호를 무시하고 Xup 신호에 따라 현재 상태 다음 상태로 전진한다.
그 다음, Y 사용 구간이며 Up 구간인 <II> 구간에 대해서 설명한다.
현재 5 지점에 위치되어 있을 경우, (Xup, Yup) 신호가 (DD) 또는 (UD) 라고 하면, Xup 신호를 무시하고 Yup 신호에 따라 이전 상태로 후진한다. 따라서 4 지점으로 후진한다. 만일, (Xup, Yup) 신호가 (DU) 또는 (UU) 라고 하면, Xup 신호를 무시하고 Yup 신호에 따라 다음 상태로 전진한다.
마찬가지 방법으로 <III> 구간 및 <IV> 구간에 대해서도 상태 룩업 테이블이 구성된다(S660).
이와 같이 구성된 상태 룩업 테이블이 도 8에 예시된다.
도 7 및 도 8에 도시된 상태 룩업 테이블은 예시적인 의미로 제공된 것이며 본 발명을 한정하는 것이 아님은 명백하다.
그리하여, 최종 지점 까지 상태 룩업 테이블이 구성 되었는지 판단한다(S670). 만일 최종 상태까지의 상태 룩업 테이블이 구성되지 않았으면 후속 상태로 진행된다(S680).
도 8은 본 발명에 따른 상태 룩업 테이블의 일 실시예를 도시하는 도면이다.
도 8에서, 0내지 3지점 까지는 X 사용 구간으로서, 도 7의 <I> 구간에 상응한다. 따라서, 각 상태에 대해서, Yup 신호를 무시하고 Xup 신호에 따라서 상태가 변화된다. 예를 들어, 상태 2에서 (Xup, Yup) 신호가 (DD) 이면, Xup 신호에 따라서 이전 상태로 후진한다. 따라서, 1지점으로 후진한다. 또한, 상태 3에서 (Xup, Yup) 신호가 (UD) 이면, Xup 신호에 따라서 다음 상태로 전진한다. 따라서, 4지점으로 전진한다. 이와 같은 방법으로 도 8에 도시된 상태 룩업 테이블의 모든 요소들이 결정된다.
이 경우, N=4인 경우에는, 아날로그 인코더의 출력 신호의 값들이 충분히 구분되지 않는다. 그러므로, uX 및 uY 값이 적절히 연산되기 어려우므로, 다음과 표 5와 같은 상태 룩업 테이블이 이용될 수 있다.
상태 DD UD DU UU
0 3 1 3 1
1 0 0 2 2
2 3 1 3 1
3 0 0 2 2
전술된 바와 같이 아날로그 인코더 패턴 생성 단계 및 상태 룩업 테이블 생성 단계가 수행되면, 피드백된 출력 신호가 상태 정보와 비교되고 그 결과에 기반하여 직교 신호가 생성된다.
또한, 본 발명의 다른 면에 의한 아날로그 인코더 신호 처리 방법은, 생성된 상기 인코더 패턴을 저장하고, 최근 상태에 상응하는 아날로그 인코더 패턴값을 출력하는 단계를 더 포함한다. 그러면, 아날로그 인코더 패턴값 및 아날로그 인코더의 출력 신호를 비교하여 위치 변화 상태 정보가 생성되고, 위치 변화 상태 정보와 최근 상태를 기반으로 상기 상태 정보로부터 현재 추정 상태가 결정되는 것은 전술된 바와 같다.
본 발명에 따른 아날로그 인코더 신호 처리 방법에서, 아날로그 인코더 패턴은 아날로그 인코더 신호 처리 장치의 초기화시에 수행되는 것이 바람직하다.
위치 변화 상태 정보(Xup, Yup)로부터 최근 상태 및 다음 위치에 대한 상태 정보인 현재 추정 상태가 결정되는 동작은, 디지털 아날로그 변환 단계, 위치 변화 상태 정보 생성 단계, 및 현재 추정 상태 결정 단계를 포함하여 구현될 수 있다. 이에 대하여 상세히 설명하면 다음과 같다.
우선, 디지털 아날로그 변환 단계에서는 최근 상태 래치부(도 3의 350)로부터 상태 정보가 입력되면, 아날로그 인코더 패턴 저장부(320)에 저장된 신호를 아날로그 값으로 변환한다.
위치 변화 상태 정보 생성 단계에서, 비교부(도 3의 340)는 디지털/아날로그 콘버터(330)로부터 출력되는 신호들을 아날로그 인코더로부터 출력되는 유사 정현파 출력 신호들(301, 302)과 각각 비교하고, 그 비교 결과를 "1"과 "0"의 형태로 출력한다. 구체적으로는 위치 변화 상태 정보(Xup)(342)를 생성하며, 제2 비교부(343)는 위치 변화 상태 정보(Yup)(344)를 생성한다.
위치 변화 상태 정보란 비교부(340)로부터 출력되는 신호를 말하며, 제1 신호에 대한 위치 변화 상태 정보(342)는 Xup, 그리고 제2 신호에 대한 위치 변화 상태 정보(344)는 Yup이라고 표시됨은 전술된 바와 같다.
그러면, 현재 추정 상태 결정 단계에서, 현재상태 결정부(도 3의 360)는 위치 변화 상태 정보(342, 344)를 입력받고, 도 8에 도시된 바와 같은 상태 룩업 테이블을 참고하여 현재 추정 상태를 결정한다.
또한, 그레이 코드 변환부(370)는 현재 상태 결정부(360)로부터 현재 추정 상태(362)를 입력받고, 현재 추정 상태(362)를 그레이 코드로 변환하며, 변환된 그레이 코드로부터 직교 신호를 생성한다. 이를 위해 그레이 코드 변환부(370) 내부에서는 그레이 코드와 직교 신호 간의 대응 관계를 미리 설정한 그레이코드 룩업 테이블(미도시)로 저장할 수 있음도 전술된 바와 같다.
본 명세서에서, 위치 정보(PI: Positional Information)란 본 발명의 실시예에 따른 상태 중에서 현재 모터의 위치가 어느 상태에 속하는가에 대한 정보를 의미한다. 이러한 위치 정보(positional information)는 최근 상태 또는 현재 추정 상태에서의 상태값을 말한다. 본 발명에서는 비록 신호의 한 주기를 16개의 구간으로 나누어 기술하였으나, 한 주기를 더욱 많은 구간으로 나누면 더욱 정확한 위치 정보를 얻을 수 있음은 당해 분야의 통상의 지식을 가진 자라면 충분히 이해될 수 있을 것이다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
상술한 바와 같이, 아날로그 인코더로부터 출력되는 아날로그 유사 정현파 출력 신호를 소정의 구간으로 나누어 샘플링하고, 상기 아날로그 인코더의 출력 신호와 비교하여 최근 상태로부터 다음 상태인 현재 추정 상태를 결정하여 모터를 제어하기 위한 직교 신호를 생성하거나, 위치 정보를 얻을 수 있는 효과가 있다.
또한, 종래 장치에서 사용하던 아날로그/디지털 콘버터를 사용하지 않고 직 교 신호를 생성하거나, 위치 정보를 얻을 수 있는 효과가 있다.
뿐만 아니라, 다양한 아날로그 인코더의 특성에 상응하여 인코더 패턴 및 상태 룩업 테이블을 자동으로 생성함으로써, 특정 아날로그 인코더의 특성에 관계없이 안정적으로 모터를 제어할 수 있다. 또한, 사용자가 선택한 해상도에 상응하는 인코더 패턴 및 상태 룩업 테이블을 자동으로 생성할 수 있다.

Claims (17)

  1. 아날로그 인코더를 포함하며, 모터의 회전을 제어하는 직교 신호를 생성하는 아날로그 인코더 신호 처리 장치에 있어서,
    적어도 하나의 채널을 포함하는 상기 아날로그 인코더의 출력 신호를 수신하고 소정의 샘플링 레이트로 샘플링하여 상기 출력 신호의 파형에 상응하는 인코더 패턴을 생성하기 위한 아날로그 인코더 패턴 생성부 및
    상기 인코더 패턴을 수신하고, 수신된 인코더 패턴으로부터 소정 개수의 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성하기 위한 상태 룩업 테이블 생성부를 포함하며,
    피드백된 상기 출력 신호를 상기 상태 정보와 비교하여 상기 직교 신호를 생성하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  2. 제1항에 있어서, 상기 아날로그 인코더 신호 처리 장치는,
    상기 아날로그 인코더 패턴 생성부로부터 수신된 상기 인코더 패턴을 저장하고, 최근 상태 래치부로부터 수신한 최근 상태에 상응하는 아날로그 인코더 패턴값을 출력하는 아날로그 인코더 패턴 저장부;
    상기 아날로그 인코더 패턴값 및 상기 아날로그 인코더의 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 비교부;
    기준클록에 따라 현재 상태 결정부로부터 전달된 현재 추정 상태를 래치하여 최근 상태로 설정하는 상기 최근 상태 래치부 및
    상기 위치 변화 상태 정보와 상기 최근 상태를 기반으로 상기 상태 정보로부터 현재 추정 상태를 결정하는 상기 현재 상태 결정부를 더 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  3. 제2항에 있어서, 상기 아날로그 인코더 신호 처리 장치는,
    상기 아날로그 인코더 패턴 저장부의 출력을 아날로그 신호로 변환하여 상기 비교부로 전달하는 디지털/아날로그 변환부를 더 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  4. 제2항에 있어서, 상기 아날로그 인코더 패턴 생성부는,
    상기 출력 신호의 최대값 및 최소값을 추출하고, 추출된 최대값 및 최소값으로부터 중간값을 연산하기 위한 특성치 추출부;
    상기 특성치들로부터 상기 출력 신호의 주기를 연산하기 위한 주기 연산부 및
    상기 특성치를 이용하여 한 주기의 시작 지점을 추출하기 위한 시작 지점 추출부를 포함하며,
    상기 시작 지점으로부터 한 주기에 상응하는 파형을 상기 샘플링 레이트로 샘플링하여 상기 인코더 패턴을 생성하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  5. 제4항에 있어서, 상기 주기 연산부는,
    상기 출력 신호로부터, 상기 중간값보다 작은 제1 지점, 상기 중간값보다 크거나 같은 제2 지점, 상기 중간값보다 작은 제3지점, 및 상기 중간값보다 크거나 같은 제4지점을 순차적으로 추출하고,
    상기 제2 지점으로부터 상기 제4 지점까지를 한 주기로 결정하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  6. 제4항에 있어서, 상기 시작 지점 추출부는,
    각 채널에 상응하는 상기 출력 신호들이 모두 상기 중간값보다 작은 값을 가지며, 상기 출력 신호들의 차가 최소인 지점을 상기 시작 지점으로 결정하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  7. 제2항에 있어서, 상기 아날로그 인코더 신호 처리 장치는,
    상기 현재 추정 상태 또는 상기 최근 상태를 상기 직교 신호로 변환하기 위한 구동 신호 변환부를 더 포함하며, 상기 구동 신호 변환부는,
    상기 현재 추정 상태 또는 상기 최근 상태를 그레이 코드로 변환하여 상기 직교 신호를 생성하는 그레이 코드 변환부를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  8. 제2항에 있어서, 상기 상태 룩업 테이블은,
    상기 현재 추정 상태 또는 상기 최근 상태의 상기 직교 신호에 대한 관계를 나타내며, 상기 직교 신호는,
    상기 상태 룩업 테이블을 이용하여 생성되는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  9. 제3항에 있어서, 상기 디지털/아날로그 변환부는,
    상기 아날로그 인코더 패턴 저장부로부터 입력된 제1 유사 정현파 출력 신호를 아날로그 신호로 변환하는 제1 변환기 및
    상기 아날로그 인코더 패턴 저장부로부터 입력된 제2 유사 정현파 출력 신호를 아날로그 신호로 변환하는 제2 변환기를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  10. 제9항에 있어서, 상기 비교부는,
    상기 제1 변환기에서 출력되는 제1 유사 정현파 출력 신호와 상기 아날로그 인코더의 제1 채널의 출력 신호를 비교하는 제1 비교부; 및
    상기 제2 변환기에서 출력되는 제2 유사 정현파 출력 신호와 상기 아날로그 인코더의 제2 채널의 출력 신호를 비교하는 제2 비교부를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 장치.
  11. 적어도 하나의 채널을 포함하는 아날로그 인코더로부터 출력되는 출력 신호를 이용하여 모터를 제어하기 위한 직교 신호를 생성하는 아날로그 인코더 신호 처리 방법에 있어서,
    (a) 상기 아날로그 인코더의 출력 신호를 수신하고 소정의 샘플링 레이트로 샘플링하여, 상기 출력 신호의 파형에 상응하는 인코더 패턴을 생성하기 위한 아날로그 인코더 패턴 생성 단계;
    (b) 상기 인코더 패턴을 수신하고, 수신된 인코더 패턴으로부터 소정 개수의 인코더 상태 정보를 포함하는 상태 룩업 테이블을 생성하기 위한 상태 룩업 테이블 생성 단계 및
    (c) 피드백된 상기 출력 신호를 상기 상태 정보와 비교하여 상기 직교 신호를 생성하는 직교 신호 생성 단계를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  12. 제11항에 있어서, 상기 아날로그 인코더 신호 처리 방법은,
    생성된 상기 인코더 패턴을 저장하고, 상기 아날로그 인코더의 최근 상태에 상응하는 아날로그 인코더 패턴값을 출력하는 단계;
    상기 아날로그 인코더 패턴값 및 상기 아날로그 인코더의 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 단계;
    기준클록에 따라 현재 추정 상태를 래치하여 최근 상태로 설정하는 단계 및
    상기 위치 변화 상태 정보와 상기 최근 상태를 기반으로 상기 상태 정보로부 터 현재 추정 상태를 결정하는 단계를 더 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  13. 제11항에 있어서, 상기 (a) 아날로그 인코더 패턴 생성 단계는,
    (a1) 상기 출력 신호의 최대값 및 최소값을 추출하고, 추출된 최대값 및 최소값으로부터 중간값을 연산하기 위한 특성치 추출 단계;
    (a2) 상기 특성치들로부터 상기 출력 신호의 주기를 연산하기 위한 주기 연산 단계;
    (a3) 상기 특성치를 이용하여 한 주기의 시작 지점을 추출하기 위한 시작 지점 추출 단계를 포함하며,
    상기 시작 지점으로부터 한 주기에 상응하는 파형을 상기 샘플링 레이트로 샘플링하여 상기 인코더 패턴을 생성하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  14. 제13항에 있어서, 상기 (a2) 주기 연산 단계는,
    상기 출력 신호로부터, 상기 중간값보다 작은 제1 지점, 상기 중간값보다 크거나 같은 제2 지점, 상기 중간값보다 작은 제3지점, 및 상기 중간값보다 크거나 같은 제4지점을 순차적으로 추출하는 단계 및
    상기 제2 지점으로부터 상기 제4 지점까지를 한 주기로 결정하는 단계를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  15. 제13항에 있어서, 상기 (a3) 시작 지점 추출 단계는,
    각 채널에 상응하는 상기 출력 신호들이 모두 상기 중간값보다 작은 값을 가지며, 상기 출력 신호들의 차가 최소인 지점을 상기 시작 지점으로 결정하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  16. 제11항에 있어서, 상기 (b) 상태 룩업 테이블 생성 단계는,
    (b1) 상기 아날로그 인코더 패턴을 아날로그 신호로 변환하는 디지털/아날로그 변환 단계;
    (b2) 변환된 상기 아날로그 신호와 상기 아날로그 인코더의 유사 정현파 출력 신호를 비교하여 위치 변화 상태 정보를 생성하는 단계; 및
    (b3) 생성된 상기 위치 변화 상태 정보와 상기 아날로그 인코더의 최근 상태를 기초로 다음 상태인 현재 추정 상태를 결정하는 단계를 포함하는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
  17. 제12항에 있어서, 상기 상태 룩업 테이블은,
    상기 현재 추정 상태 또는 상기 최근 상태의 상기 직교 신호에 대한 관계를 나타내며, 상기 직교 신호는,
    상기 상태 룩업 테이블을 이용하여 생성되는 것을 특징으로 하는 아날로그 인코더 신호 처리 방법.
KR1020050110128A 2005-11-17 2005-11-17 아날로그 인코더 신호 처리 방법 및 장치 KR100788673B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050110128A KR100788673B1 (ko) 2005-11-17 2005-11-17 아날로그 인코더 신호 처리 방법 및 장치
US11/520,675 US20070124014A1 (en) 2005-11-17 2006-09-14 Apparatus and method for processing analog encoder signals
CNA2006101494199A CN1967153A (zh) 2005-11-17 2006-11-17 用于处理模拟编码器信号的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050110128A KR100788673B1 (ko) 2005-11-17 2005-11-17 아날로그 인코더 신호 처리 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070087775A KR20070087775A (ko) 2007-08-29
KR100788673B1 true KR100788673B1 (ko) 2007-12-26

Family

ID=38076041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050110128A KR100788673B1 (ko) 2005-11-17 2005-11-17 아날로그 인코더 신호 처리 방법 및 장치

Country Status (3)

Country Link
US (1) US20070124014A1 (ko)
KR (1) KR100788673B1 (ko)
CN (1) CN1967153A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7834310B2 (en) * 2008-06-23 2010-11-16 Xerox Corporation Position encoder's signal processing method and system
US8115427B2 (en) 2008-10-23 2012-02-14 Won-Door Corporation Methods, systems, and devices for a motor control system
JP2010152595A (ja) * 2008-12-25 2010-07-08 Omron Corp サーボシステムおよび安全制御機器
US8692493B2 (en) 2011-07-08 2014-04-08 Won-Door Corporation Methods, apparatuses, and systems for speed control of a movable partition
CN104950865A (zh) * 2014-03-27 2015-09-30 西门子数控(南京)有限公司 正交编码信号模拟装置及其测试系统
US11073409B2 (en) 2018-12-06 2021-07-27 Texas Instruments Incorporated SINCOS encoder interface
US11128500B1 (en) * 2020-06-03 2021-09-21 Mellanox Technologies, Ltd. Method and apparatus for a lookup table-based coding mechanism for communication systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10311741A (ja) 1997-05-09 1998-11-24 Mitsutoyo Corp エンコーダの出力信号処理装置
US5999113A (en) 1997-04-28 1999-12-07 Mitutoyo Corporation Interpolation circuit for encoder having a look-up table memory with reduced capacity
KR20050011940A (ko) * 2003-07-24 2005-01-31 (주)메트로닉스 다회전 절대위치 엔코더 장치의 룩업테이블 구성방법과이를 이용한 체배방법 및 이를 이용한 위치산출방법
KR20050076641A (ko) * 2004-01-20 2005-07-26 삼성전자주식회사 아날로그 인코더 신호 처리 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891764A (en) * 1985-12-06 1990-01-02 Tensor Development Inc. Program controlled force measurement and control system
US6556153B1 (en) * 2002-01-09 2003-04-29 Anorad Corporation System and method for improving encoder resolution
US7102317B2 (en) * 2004-01-20 2006-09-05 Samsung Electronics Co., Ltd. Method and apparatus to process an analog encoder signal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999113A (en) 1997-04-28 1999-12-07 Mitutoyo Corporation Interpolation circuit for encoder having a look-up table memory with reduced capacity
JPH10311741A (ja) 1997-05-09 1998-11-24 Mitsutoyo Corp エンコーダの出力信号処理装置
KR20050011940A (ko) * 2003-07-24 2005-01-31 (주)메트로닉스 다회전 절대위치 엔코더 장치의 룩업테이블 구성방법과이를 이용한 체배방법 및 이를 이용한 위치산출방법
KR20050076641A (ko) * 2004-01-20 2005-07-26 삼성전자주식회사 아날로그 인코더 신호 처리 방법 및 장치

Also Published As

Publication number Publication date
KR20070087775A (ko) 2007-08-29
CN1967153A (zh) 2007-05-23
US20070124014A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
KR100788673B1 (ko) 아날로그 인코더 신호 처리 방법 및 장치
US8358231B2 (en) Tracking analog-to-digital converter (ADC) with a self-controlled variable clock
EP2484014B1 (en) Charge-sharing digital to analog converter and successive approximation analog to digital converter
JP4626581B2 (ja) 数値化装置
WO1989012213A1 (en) Absolute position encoder
JPH10132606A (ja) エンコーダの内挿回路
CN111800132A (zh) 分段结构模/数转换器
JP4011041B2 (ja) アナログ・デジタル変換システムと補正回路及び補正方法
US7352305B2 (en) Method and circuit for interpolating encoder output
WO2013042548A1 (ja) アナログ‐デジタル変換器及びアナログ信号をデジタル信号に変換する方法
US7382299B2 (en) Method of calibrating digital-to-analog converter input based on analog-to-digital converter output and analog encoding apparatus employing the method
US7102317B2 (en) Method and apparatus to process an analog encoder signal
TWI303319B (ko)
US8570204B2 (en) Folded reference voltage flash ADC and method thereof
US8412032B2 (en) A/D conversion circuit, signal processing circuit, and shake detection device
KR100565097B1 (ko) 아날로그 인코더 신호 처리 방법 및 장치
US6816096B2 (en) Response-based analog-to-digital conversion apparatus and method
CN112600557A (zh) 一种流水线adc数字域增益校准方法
CN106656184B (zh) 一种折叠率为3的折叠内插型模数转换器及其纠错方法
CN111770293A (zh) 模数转换方法、模数转换器及图像传感器
CN101527570B (zh) 模拟到数字转换装置、方法及触控式装置
JP2006138822A (ja) エンコーダ位置検出回路
CN111327314B (zh) 一种基于ddr存储的dds任意分频系统及其分频方法
KR100725567B1 (ko) 서보 시스템의 서보 드라이브에서 엔코더 출력신호 입/출력장치 및 방법
US11588492B2 (en) Analog to digital converter and a method for analog to digital conversion

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee