KR19990007430A - 부정확한 클럭신호의 측정과 보상방법 - Google Patents

부정확한 클럭신호의 측정과 보상방법 Download PDF

Info

Publication number
KR19990007430A
KR19990007430A KR1019980025042A KR19980025042A KR19990007430A KR 19990007430 A KR19990007430 A KR 19990007430A KR 1019980025042 A KR1019980025042 A KR 1019980025042A KR 19980025042 A KR19980025042 A KR 19980025042A KR 19990007430 A KR19990007430 A KR 19990007430A
Authority
KR
South Korea
Prior art keywords
clock signal
compensation factor
clock
control
determining
Prior art date
Application number
KR1019980025042A
Other languages
English (en)
Other versions
KR100307469B1 (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 KR19990007430A publication Critical patent/KR19990007430A/ko
Application granted granted Critical
Publication of KR100307469B1 publication Critical patent/KR100307469B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G3/00Producing timing pulses
    • G04G3/02Circuits for deriving low frequency timing pulses from pulses of higher frequency
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02PIGNITION, OTHER THAN COMPRESSION IGNITION, FOR INTERNAL-COMBUSTION ENGINES; TESTING OF IGNITION TIMING IN COMPRESSION-IGNITION ENGINES
    • F02P7/00Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices
    • F02P7/06Arrangements of distributors, circuit-makers or -breakers, e.g. of distributor and circuit-breaker combinations or pick-up devices of circuit-makers or -breakers, or pick-up devices adapted to sense particular points of the timing cycle
    • F02P7/077Circuits therefor, e.g. pulse generators
    • F02P7/0775Electronical verniers

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)

Abstract

본 발명은 부정확한 클럭신호의 실제 주파수를 결정하고 그리고나서 클럭신호를 사용하여 계산을 교정하는 보상인자를 발생하기 위하여 실제주파수를 사용하는 방법에 관한 것이다. 본 발명에 따른 방법은 소정의 그리고 프로그램가능한 시간주기동안 클럭신호의 클럭펄스 수를 카운트하는 것과, 그리고 클럭펄스 카운트에 기초하여 클럭신호의 실제 주파수를 결정하는 것을 포함한다. 클럭신호의 실제주파수가 결정되면 이 값은 클럭신호를 사용하여 계산을 보상하기 위하여 클럭신호의 예상 또는 정격 클럭주파수에 기초하여 보상인자를 발생하는데 사용된다. 본 발명에 따른 방법은 저주파 공진기와 고주파 시스템클럭을 통합하는 파워트레인 제어모듈에 사용되는 특별한 응용예를 가지며, 여기서 공진기는 짧은 시간주기에 매우 안정된 부정확한 클럭신호를 발생하고 시스템 클럭은 긴 기간동안 비교적 안정되나 쇼트 텀 지터의 문제가 있다.

Description

부정확한 클럭신호의 측정과 보상방법
본 발명은 일반적으로 클럭신호의 주파수를 결정하는 방법에 관련된 것으로 특히, 특정된 시간동안 클럭신호의 클럭펄스 수를 카운트하여 부정확한 클럭신호의 실제 주파수를 먼저 결정하고 그리고나서 구체적인 디지틀회로의 타이밍에 응용하기 위한 클럭신호의 정격주파수의 보상에 사용되는 보상인자를 실제주파수에 기초하여 결정하는 방법에 관련된 것이다.
잘 알고 있는 바와 같이, 모든 디지틀 회로는 디지틀 로직의 타이밍 목적을 위하여 하나 또는 그이상의 클럭신호를 사용한다. 이들 클럭신호는 다양한 크리스탈, 공진기 등과 같은 다른 종류의 디바이스에 의하여 발생될 수 있다. 다른 클럭신호 발생 디바이스는 정확도의 변화정도에서 넓은 범위의 다른 클럭신호 주파수를 제공할 수 있다. 클럭신호의 정확도는 어떤 퍼센트 에러내에서 어느 특정 시간에서 특정주파수를 발생하는 디바이스의 능력에 의하여 결정된다. 특정한 클럭신호 소스등에 따라, 온도, 나이 등은 그 출력 주파수와 정확도에 영향을 미친다. 더 정확하고 변화하는 온도에도 정확도를 유지하는 클럭신호 발생 디바이스는 일반적으로 더 비싸다.
디지틀 로직회로를 통합하는 파위트레인 제어모듈(PCM:Powertrain Control Module)은 엔진의 동작과 차량의 변속기능을 제어하는 내부연소엔진을 갖는 현대 차량에서 제공된다. PCM은 스파크 드웰(dwell)과 플레이스먼트(placement) 및 연료 펄스폭과 플레이스먼트를 제공하기 위하여 엔진의 여러 실린더에 연료와 점화스파크의 인가하는 타이밍을 제어한다. 또한, 타이밍신호는 통신 프로토콜 비트 타이밍을 제공한다. 이 프로토콜을 공급하는데 필요한 타이밍신호를 발생하기 위하여, PCM은 고주파 시스템 클럭(예를들면, 20MHz의 주파수를 갖는)과 저주파 제어클럭(예를들면, 2MHz의 주파수를 갖는)을 사용한다. 고주파 시스템 클럭은 때때로 CPU내에서 더 높은 주파수로 증가되는 저주파 크리스탈(32KHz 같은)이다. 저주파 제어클럭은 전형적으로 이러한 형태의 응용례에서 공진기이다. 비교적 빠른 시스템 클럭은 PCM에서 마이크로코드 라인을 처리하기 위한 높은 데이터비의 요구를 만족시키는데 필요하고 보다 느린 제어클럭은 연료와 점화 스파크를 위한 출력신호의 적절한 타이밍을 제공하는데 필요하다.
현재 사용되는 고주파 시스템 클럭은 일반적으로 온도와 나이에 대하여 예측가능하고 안정된(+/- 1.0%) 롱 텀(long term) 주파수를 갖지만, 하나의 펄스폭을 다른 펄스폭 또는 그 예상 펄스폭에서 매우 변화되게 할 수 있는 쇼트 텀(short term) 지터(jitter)를 갖는다. 이 지터는 CPU내에서 저주파 크리스탈의 증가(곱셈)에 의하여 발생한다. 저주파 제어클럭은 전형적으로 쇼트 텀 지터를 갖지 않지만, 비교적 높은 롱 텀(long term) 에러(+/- 2.0%)를 갖고, 따라서 온도와 나이의 변화의 결과로서 중요한 드리프트(drift)를 갖는다. 비교적 부정확한 제어 클럭신호는 점화되지 않는 것을 검출하는데는 받아들일 수 있으나, 동력 모터 펄스-폭 변조(PCM:Pulse-Width Modulation)와 같은 다른 목적에는 받아들일 수 없다. 또한 고주파 시스템 클럭신호의 지터는 연료와 점화 제어신호를 부정확하게 만들어 높은 배기 그리고/또는 낮은 연료효율을 가져와서 요구조건에 부합하지 못하게 된다.
도 1은 위에서 설명한 신호를 나타내는 일련의 클럭신호를 A-F 라인에 도시한 것이다. 라인 A는 어떤 주기를 갖는 고주파 시스템 클럭신호를 나타내는 것으로 여기에서 시스템 클럭신호의 롱 텀(long term) 평균 주파수는 매우 정확하지만, 쇼트 텀 지터는 개개의 펄스를 서로에 대하여 부정확하게 만든다. 라인 B는 저주파 제어 클럭신호를 나타내는 것으로 여기에서 개개의 펄스는 서로에 대하여 안정되지만 롱 텀(long term) 클럭 주파수는 비교적 부정확하다. 라인 C는 희망 펄스폭을 갖고 예를들면 내부연소엔진에서 연료와 점화스파크 타이밍을 제공하는 출력제어신호를 도시한 것이다. 시스템 클럭신호의 지터 때문에, 시스템 클럭신호로부터 발생된 출력신호의 실제 클럭 펄스폭은 라인 D의 출력신호에 의하여 나타낸 바와 같이 다수의 장소에서 떨어진다. 이것으로 인하여 시스템클럭을 보다 높은 레절루션(resolution)과 정확도 요구조건을 갖는 응용례에서 연료와 점화 스파크를 제어하는 출력신호에 대한 타이밍신호로서 사용하는 것이 실용적이지 않다.
PCM에서 제어 클럭신호를 발생하는 현재 존재하는 공진기는 비싸지 않았고, 위에서 설명한 바와 같이 그들의 롱 텀(long term) 정확도는 연료와 점화제어 출력신호의 정확도에 영향을 미친다. 이것을 설명하기 위하여, 라인 E는 너무 높은 주파수를 갖는 제어 클럭신호에 기초하는 출력 제어신호를 나타내고, 라인 F는 희망하는 출력신호에 대하여 너무 낮은 주파수를 갖는 제어 클럭신호에 기초하는 출력 제어신호를 나타낸다. 새로운 요구조건과 클럭 지터로, 종래기술의 PCM에서 실린더에 점화와 스파크가 인가되는 중요한 에러 마진이 존재한다.
공업표준은 연료와 점화신호가 인가될 때의 정밀도를 제공하는 제어 클럭신호의 정확도를 세워 놓고 있다. 현대 차량의 복잡성과 수행 요구조건이 증가하면서, 연료와 점화 스파크가 제어되는 정확도는 더욱 엄격해지고, 그리하여 제어클럭의 정확도는 점점 더 중요해진다. 더욱 정확한 제어 클럭신호를 발생하기 위하여 더욱 정확한 공진기를 PCM에 제공할 수 있고 또는 공진기는 크리스탈로 대체될 수 있으나, 이들 공진기와 크리스탈은 그들의 정확도가 증가함에 따라 점점 더 비싸진다.
필요한 것은 더 정확한 클럭 발생 디바이스에 대한 필요성을 제거하기 위하여 비교적 부정확한 클럭신호의 주파수를 결정하고 그것이 결정되면 클럭신호의 보상을 제공하는 기술이다. 그리하여 본 발명의 목적은 그러한 기술을 제공하는 것이다.
본 발명은 상기의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 부정확한 클럭신호의 실제 주파수를 결정하고 클럭신호를 사용하는 계산을 교정할 보상인자를 발생하기 위하여 실제주파수를 사용하는 방법을 제공하는 것이다. 이 방법은 소프트웨어를 사용하므로써 추가적인 하드웨어와 비용이 발생하지 않도록 한다.
본 발명은 소정의 그리고 프로그램가능한 시간주기동안 클럭신호의 클럭펄스 수를 카운트하는 것과, 그리고 클럭펄스 카운트에 기초하여 클럭신호의 실제 주파수를 결정하는 것을 포함한다. 클럭신호의 실제주파수가 결정되면 이 값은 클럭신호를 사용하는 계산을 보상하기 위하여 클럭신호의 예상 또는 정격 클럭주파수에 기초하여 보상인자를 발생하는데 사용된다. 또한 클럭신호의 실제주파수는 보상인자를 계산할 필요없이 계산에서 사용될 수 있다.
본 발명에 따른 방법은 저주파 공진기와 고주파 시스템클럭을 통합하는 파워트레인 제어모듈에 사용되는 특별한 응용예를 가지며, 여기서 공진기는 짧은 시간주기에 매우 안정된 부정확한 클럭신호를 발생하고 시스템 클럭은 긴 기간동안 비교적 안정되나 쇼트 텀 지터의 문제가 있다. 시간 캡쳐 레지스터는 공진기 클럭신호의 카운트와 12 시스템 클럭신호를 제공하는데 사용된다. 공진기 클럭신호의 주파수는 시스템 클럭신호의 관점에서 정해진 시간주기에 걸쳐 결정된다. 이 방법을 사용하여 비교적 값싼 저주파 공진기를 스파크 드웰(dwell)과 플레이스먼트(placement), 연료 펄스-폭과 플레이스먼트와 같은 어떤 타이밍 신호를 제공하는데 유지될 수 있다.
도 1은 본 발명의 이점을 나타내기 위하여 일련의 시스템 클럭, 제어클럭, 출력 타이밍신호를 도시한 것이다.
도 2는 본 발명의 실시예에 따라 부정확한 클럭신호를 측정하고 보상하는 펌웨어를 통합하는 파워트레인 제어모듈의 블록다이어그램이다.
도 3은 본 발명의 실시예에 따라 보상인자를 발생하는 기술을 설명하는 더 상세한 플로우챠트 다이어그램이다.
*도면의 주요부분에 대한 부호의 설명*
12 ... PCM 14 ... CPU
16 ... TPU 18 ... CPU프로그램메모리
20 ... TPU프로그램메모리 24 ... 시스템 클럭
26 ... 공진기 28 ... TCR1
30 ... TCR2 32 ... 입/출력
상기의 목적을 달성하기 위한 구체적인 수단으로서 본 발명의 바람직한 실시예는 비교적 부정확한 클럭신호의 실제 주파수를 결정하고 그리고나서 측정된 클럭신호와 정격 클럭신호 사이의 에러에 기초하여 보상인자 결정하는 방법에 대하여 기술하며 이 실시예는 단지 예시적인 것에 불과하며 본 발명 또는 그 응용예 또는 용도를 제한하지 않는다. 특히, 내부연소엔진에서 점화와 연료 신호를 제공하는데 사용되는 파워트레인 제어모듈과 관련된 저주파 공진기 클럭신호를 측정하고 보상하는 방법에 대하여 기술한다. 그러나 본 발명의 방법은 디지틀 회로 응용을 위한 어떠한 부정확한 클럭신호의 측정과 보상에 있어서 더 넓은 응용예를 갖는다. 도 2는 본 발명의 실시예에 따라 부정확한 클럭신호를 측정하고 측정된 클럭신호에 기초하여 보상인자를 발생하는 기술을 통합한 시스템 10을 도시하고 있다. 시스템 10은 이 기술분야에서 잘 알려진 바와 같이 차량의 엔진과 트랜스미션 기능의 동작을 제어하기 위하여 현대 차량에서 사용되는 대표적인 형태인 파워트레인 제어모듈(PCM) 12를 포함한다. PCM 12는 PCM 12내에서 처리를 제공하는 중앙처리 유니트(CPU) 14를 포함하는 디지틀 로직회로를 통합하고 있다. 이 기술분야의 당업자에게 잘 알려진 바와 같이 본 발명에 적합한 어떤 공지의 CPU도 사용할 수 있다.
CPU 14의 서브부는 CPU 14의 다양한 기능의 타이밍 동작을 위한 처리를 제공하는 시간처리 유니트(TPU) 16이다. CPU 14는 또한 CPU 14의 동작에 사용되는 다양한 데이터와 코드를 저장하는 CPU 프로그램 메모리 18을 포함한다. 프로그램 메모리 18은 본 발명의 목적에 적합한 어떤 마이크로프로세서 메모리도 될 수 있으며, 이 기술분야의 당업자에게 잘 알려진 롬(ROM:Read Only Memory), 이피롬(EPROM:Erasable Programmable Read Only Memory), 이이피롬(EEPROM:Electrically Erasable Programmable Read Only Memory), 플래쉬 램(RAM:Random Access Memory), 램(RAM:Random Access Memory), 또는 이들의 조합과 같은 어떤 공지의 메모리 형태도 포함한다. 이와 같은 방법으로, TPU 16도 본 발명의 목적에 적합한 메모리가 될 수 있는 TPU 프로그램 메모리 20을 포함하며, 위에서 언급한 어떤 메모리도 될 수 있다.
위에서 언급한 목적을 위하여, 보통 크리스탈인 시스템 클럭 발생 디바이스 24는 고주파 시스템 클럭신호를 발생하기 위하여 PCM 12에 포함되고, 공진기 26은 저주파 제어 클럭신호를 발생하기 위하여 PCM 12에 포함된다. 시스템 클럭 발생 디바이스 24와 공진기 26은 주어진 정확도에서 바람직한 주파수 클럭신호를 제공하기 위하여 기술분야에서 알려진 어떤 적절한 디바이스일 수 있다.
TPU 16은 또한 TCR1이라고 표시된 제1 시간캡쳐 레지스터(TCR) 28과 TCR2이라고 표시된 제2 TCR 30을 포함한다. 이 기술분야에서 잘 알려진 바와 같이, TCR은 클럭 또는 타이밍신호를 수신하고 클럭신호에 기초하여 카운트를 저장하기 위하여 모든 펄스의 수를 증가시키는 레지스터이다. TCR 28은 시스템 클럭신호의 시간 카운트를 제공하기 위하여 디바이스 24로부터 시스템 클럭신호를 수신한다. TCR 30은 공진기 26으로부터의 공진기 클럭신호와 디바이스 24로부터의 시스템 클럭신호를 수신하고 소정수의 공진기 클럭 사이클마다 타임 카운트를 제공한다. TCR 28과 TCR 30은 클럭신호의 상승엣지 또는 하강엣지에서 카운트를 제공한다. 공진기 클럭신호와 시스템 클럭신호의 엣지는 보통 동시에 발생하지 않으므로, TCR 28과 30사이에서 TPU 16에 의하여 동기가 제공된다. 하나의 예에서, 시스템 클럭신호는 16.7MHz이고, TCR 28은 TCR 28의 출력에서 1.048MHz 클럭신호를 얻기 위하여 16으로 이 주파수를 나눈다. 또한 공진기 26은 2MHz 클럭신호를 발생하고, TCR 28은 1MHz 클럭신호를 발생하기 위하여 이 신호를 2로 나눈다.
또한, TPU 16은 TPU 16의 많은(예를들면 16) 입력/출력 채널의 하나를 나타내는 입력/출력 채널 32를 포함하고 있는데 이것은 외부센서(미도시)로부터의 입력신호 또는 차량에 연료와 스파크 신호를 인가하는 제어신호인 출력신호와 같은 입력 그리고 출력신호를 CPU 14에 그리고 CPU 14로부터 제공한다. 이제까지 설명한 바와 같이 PCM 12의 구조는 이 기술분야에서 종래에 있었으며 차량엔진과 트랜스미션 기능을 제어하는 이들 시스템의 동작은 잘 알려져 있다.
공진기 26은 비교적 부정확(노미널의 2%)할 수 있고, 그래서 싸므로 PCM 12의 비용을 줄이거나 유지한다. 본 발명에 따라 CPU 14의 펌웨어내에 알고리즘이 제공되며 여기서 공진기 26으로부터의 부정확한 클럭신호의 주파수를 측정하고 그리고나서 입력/출력 채널 32로부터 입출력되는 것과 같은 CPU 14로부터의 입력과 출력신호의 바람직한 펄스폭을 제공하기 위하여 클럭신호의 실제주파수와 클럭신호의 정격주파수에 기초하여 보상인자를 결정한다.
본 발명을 설명하기 위하여 도 2는 본 발명과 관련된 CPU 14의 마이크로코드와 소프프웨어내의 다양한 동작을 나타내기 위하여 프로그램 메모리 18과 20내의 플로우챠트 다이어그램 박스를 도시한 것이다. CPU 14는 TCR 30에서 나타낸바와 같이 소정의 그리고 프로그램가능한 시간주기동안 공진기 26으로부터의 클럭신호의 실제주파수를 결정한다. 여기에서 설명할 구체적인 예에서, dtcr1 값은 공진기 클럭신호의 주파수가 측정되는 프로그램가능한 시간주기이고, dtcr2 값은 그 시간동안 공진기 클럭신호의 실제 주기(주파수)이다. 공진기 클럭신호가 드리프트(drift)됨에 따라 공진기 클럭신호의 실제주파수가 갱신될 수 있도록 공진기 클럭신호의 주파수는 각 연속하는 dtcr1 시간주기에 대하여 계속하여 결정된다. CPU 14내의 다양한 메모리와 레지스터의 기동 시퀀스동안 dtcr1 값의 시간주기는 알고리즘에 의하여 설정되고 측정설정 박스 36에 저장된다. 동작중에 dtcr1 값은 다양한 이유로 변화될 수 있다. 알고리즘은 판단다이아몬드 38에서 dtcr1 값이 변화되는지의 여부를 결정하고, 만약 그렇다면, 새로운 dtcr1 값이 측정설정 박스 36에 저장된다. 보통의 경우와 같이 dtcr1 값이 일정하게 유지되면, 판단 다이아몬드 38은 도시한 바와 같이 측정설정 박스 36을 바이패스한다.
대부분의 디지틀 타이머 유니트처럼 TPU 16은 어떤 시간값에 기초하여 이벤트를 발생하기 위한 특별한 하드웨어와 시간 레지스터와 관련하여 엣지 시간과 같은 어떤 입력정보를 캡쳐하기 위한 특별한 하드웨어를 포함한다. 현재의 동작에서 TPU 16은 dtcr1 값에 해당하는 시간이 만료한 후 이벤트를 발생하기 위하여 알고리즘에 의하여 동작된다. 측정설정 박스 36에서 저장된 dtcr1값은 시스템 클럭의 관점에서 TPU 메모리 20에 기록된다. 도시한 바와 같이 다음캡쳐설정 박스 40에 인가된다. 알고리즘은 TCR 30이 공진기 26으로부터의 클럭신호의 어떤 수의 사이클 모두를 증가시키도록 신호를 다음캡쳐설정 박스 40으로부터 TCR 30으로 인가한다. 알고리즘은 또한 dtcr1의 시간이 경과한 때 TPU 16에게 나타내도록 TCR 28에 신호를 인가한다. 예를들면 TCR 30은 클럭 사이클마다 원투원(one-to-one) 카운트를 위하여 클럭신호의 각 상승엣지 또는 하강엣지에서 카운트를 제공한다. 또한, TCR 30은 공진기 클럭신호의 주파수를 반으로 분할하기 위하여 2 클럭 사이클마다 카운트를 제공한다.
TPU 16이 dtcr1의 시간이 경과한 것을 나타내는 때, 알고리즘은 TCR 30에 저장된 카운트 값이 엣지 캡쳐 42에 인가되도록 신호를 TCR 30에 인가하고 여기서 알고리즘은 마지막 dtcr1 시간주기동안 TCR 30에 저장된 카운트의 수를 결정한다. 그리하여 박스 42에서, 알고리즘은 어떤 시간주기동안의 클럭신호의 엣지정보를 수신한다. dtcr1 시간주기가 만료할 때마다 TCR 30에 현재 저장된 카운트 값 또는 공진기 26의 주기를 나타내기 위하여 TCR 30의 카운트 신호는 엣지캡쳐 박스 42에 인가된다. 이 동작에서, TPU 16은 TCR 28로부터 이벤트가 발생하는 때 TCR 30의 값의 관점에서 엣지 시간과 엣지 카운트 데이터를 기록한다.
알고리즘은 주기계산 박스 44에 의하여 나타낸 바와 같이, 공진기 클럭신호의 엣지가 캡쳐되는 각 dtcr1 주기동안 공진기 클럭신호의 주기를 결정하는데 이것은 dtcr2 값이다. 이 주기 값은 기본적으로 공진기 26의 클럭신호의 측정된 주파수이다. 알고리즘은 또한 알고리즘이 다음 dtcr1 주기가 경과한 때 TPU 16에게 나타내도록 TCR 28에 신호를 인가하도록 하기 위하여 주기계산 박스 44의 신호를 다음캡쳐설정 박스 40에 신호를 송신한다. dtcr1 시간주기가 경과한 때 TCR 30이 카운트 신호를 송신할 때마다 알고리즘은 그 카운트 값으로부터 클럭신호의 주기를 결정한다.
알고리즘은 dtcr2 값을 주기계산 박스 44로부터 CPU 메모리 18의 측정판독 박스 46으로 인가한다. 알고리즘은 측정판독 박스 46에서 dtcr2 값 또는 클럭 주파수를 결정하고 이 값을 보상인자계산 박스 48에 인가한다. dtcr1과 dtcr2 값에 기초하여 알고리즘은 보상인자를 계산한다. 보상인자는 공진기 26의 정격 클럭주파수와 실제 측정 클럭주파수 사이의 차이를 나타내는 인자이다. 알고리즘은 다른 입력/출력 채널뿐만아니라 입력/출력 채널 32에서 정정된 신호를 정확하게 발생하기 위하여 보상인자적용 박스 50에서 CPU 14내의 적절한 코드 라인으로 이 보상인자를 인가한다. 보상인자는 공진기 26의 클럭신호에 기초하는 타이밍 출력 또는 타이밍 입력과 관계하는 모든 계산에 적용된다. 예를들면, 이들 계산은 스파크 드웰과 플레이스먼트, 연료 펄스폭과 플레이스먼트, 통신프로코콜 비트 타이밍을 포함하지만 이것에 제한되지 않는다. 또한 보상인자를 발생하는 대신에 CPU 14는 공진기 26의 클럭 주파수 신호를 사용하는 다양한 계산에서 공진기 26의 클럭신호의 실제 측정주파수를 사용할 수 있다.
도 3은 본 발명에 따라 알고리즘이 보상인자를 계산할 때 CPU 14의 동작의 더 상세한 플로우챠트 다이어그램 52이다. CPU 14의 기동중에 TPU 16은 박스 56에서 도시한 바와 같이 TCR 30으로부터 측정된 dtcr2 값을 결정하는 준비를 한다. CPU 14는 코드내의 dtcr1 값을 결정하고 이 값을 TPU 16에 의하여 판독되는 메모리에 기록한다. dtcr1 값은 공진기 클럭신호 26의 롱 텀(long term) 드리프트(drift)와 시스템 클럭의 쇼트 텀 지터와 같은 다양한 인자에 의하여 결정되고 박스 56에서 도시한 바와 같이 코드의 조정상수 K_MEASURE_TIME로서 성립된다. K_MEASURE_TIME은 측정이 이루어지는 시간주기이며 TCR 28에서 나타낸 시스템 클럭신호의 관점에서 주어진다. dtcr1 값이 결정되면 박스 56에서 TPU 16은 인에이블(enable)되어 TPU 16의 동작을 시작한다.
dtcr2 값은 위에서 설명한 것과 같이 결정되고, 이 값은 박스 60에서 TPU 16에 의하여 기록된 장소로부터 판독된다. 다음, 보상인자는 박스 62에서 Comp_Factor = dtcr2/K_NOMINAL_DTCR2로서 결정된다. K_NOMINAL_DTCR2는 TCR 30의 카운트 값의 관점에서 주어진 예상 측정 시간주기이다. 보상인자를 결정하기 위하여 공진기 26이 매우 정확하다면 TPU 16의 dtcr2 값은 예상 값과 비교된다. 이 예에서, 예상 값은 조정상수 K_NOMINAL_DTCR2에 의하여 나타난다. 두 조정상수는 서로 관련이 있음에 유의한다.
다음, 보상인자가 공진기 26의 클럭신호의 구체적인 정확도에 기초한 어떤 소정의 한도내 인가의 여부를 결정하기 위하여 박스 64에서 동작이 수행된다. 보상인자는 판단다이어몬드 66에 인가되어 보상인자가 소정의 최대값 CF_MAX보다 큰지의 여부를 결정한다. 보상인자가 소정의 최대값보다 크면 보상인자는 박스 68에서 최대 보상인자로 설정된다. 알고리즘이 보상인자가 소정의 최대 한도보다 작다고 결정하면 알고리즘은 판단다이어몬드 70에서 보상인자가 소정의 최소값 CF_MIN보다 작은지의 여부를 결정한다. 보상인자가 소정의 최소값보다 작으면 보상인자는 박스 74에서 최소 보상인자로 설정된다. 그리하여, 실제 보상인자, 소정의 최대 보상인자 또는 소정의 최소 보상인자중 하나가 보상인자로서 설정된다. 알고리즘은 보상인자를 공진기 26의 클럭신호를 사용하는 CPU 14의 동작내의 파라미터에 인가한다. 박스 70에서 도시한 바와 같이, 입력/출력 파라미터는 보상인자에 의하여 곱하여진 희망 클럭 값으로서 설정된다. 즉, IO 파라미터 = 희망 값 * 보상인자이다.
다음은 특정한 입력 또는 출력을 보상하는 예로서, 여기서 비트 레이트는 코드에서 Bit-Rate로서 표시된다. Bit-Rate는 TCR 30에서 하나의 비트 타임에 상당하는 공진기 26의 클럭 사이클 수를 나타내는 정수이고 여기서 비트 타임은 보 레이트(baud rate)의 역이다.
TCR2freq는 TCR 30에 저장된 클럭신호의 헤르츠 주파수이고 보 레이트는 초당 비트이다.
CPU 14는 주기적으로 dtcr2 값을 판독하고 계산을 수행하며 다음의 관계를 사용하여 Bit_Rate를 갱신하므로써 보 레이트를 정확하게 유지하기 위하여 위에서 설명한 알고리즘을 사용한다.
여기서 fsystem는 시스템클럭의 주파수이고 TCR1prescaler는 TCR2에 저장된 스케일(scale)된 시스템 클럭 카운트이다.
dtcr1 값은 새로운 Bit_Rate를 결정하기 위하여 dtcr2 값에 대하여 간단한 계산이 될 수 있도록 설정된다. 예로서, 16.8MHz의 시스템 클럭 주파수를 가정한다. 수학식 2를 사용하여 보상된 Bit-Rate는 다음과 같이 결정된다.
CPU 14가 2048의 값을 dtcr1 값으로서 기록한다고 가정하면,
이다.
CPU 14는 단순히 dtcr2 값을 판독하여 그 상위 바이트를 Bit-Rate에 기록한다. 상위 바이트만 사용하므로써 사용된 값의 정확도는 더욱 증가한다. 이 dtcr1 비율에서 dtcr2 값은 31.25밀리초(milliseconds)마다 갱신된다.
다른 예를 위하여 21.75MHz의 시스템 주파수를 가정한다. 수학식 3을 사용하면
이다.
CPU 14가 64의 값을 dtcr1 값으로서 기록한다고 가정하면,
이다. CPU 14는 dtcr2 값을 판독하고 83을 곱하며 그리고나서 상위 바이트를 오른쪽으로 쉬프트된 값을 Bit-Rate에 기록한다. 이 dtcr1 비율에서 dtcr2 값은 753밀리초마다 갱신된다.
각 응용예는 공진기 26의 주파수가 변화는 비율과 시스템 클럭의 지터에 기초하여 얼마나 자주 dtcr2 값을 판독할 필요가 있는지 결정하여야 한다.
비트 시간의 정확도를 결정하기 위하여 전달되고 검출되는 보 레이트는 다음과 같이 계산된다.
이것은 다음의 비트 시간을 갖게 한다.
비트 시간은 TCR 28과 TCR 30 사이의 동기를 고려하지 않으면 매우 정확하다. 그러나 공진기의 클럭신호의 엣지는 시스템 클럭신호의 엣지와 동기될 필요가 있다. TCR 30의 동기는 발생하지 않으므로 위의 비트 시간은 동기 비율내에서 정확하다. 동기 비율은 다음에 의하여 나타낸다.
엄밀하게 말하면, 비트 시간은 그 값이 가장 가까운 두 동기 값중 하나가 되도록 결정될 수 있고 여기서 동기 값은 동기 비율의 어떤 정수(N)배이다. 실제 비트 시간은 다음중의 하나가 된다.
예를들면, 21.757952MHz의 시스템클럭, 244의 비트 레이트 값, 공진기 26으로부터 TCR 30에 인가되는 2MHz의 주파수를 가정한다. 수학식 8과 9를 사용하면
이다. N=663에 대한 실제 비트 시간은
또는
중의 하나가 된다.
이 예에서, 희망 보 레이트는 8192이고 이것은 1222.070 마이크로초의 비트 시간이다. 위의 값이 나타내는 것과 같이 직렬 통신 인터페이스의 비트시간은 -183.841나노초이다.
일반적으로, 공진기 26의 정확도는 시스템 클럭의 정확도보다 많이 낮다. 공2 퍼센트의 정확도를 갖고 공진기 26으로부터 TCR 30에 인가되는 2MHz의 클럭신호를 고려한다. 클럭신호가 +2 퍼센트이면 조정되니 않은 비트시간은 다음과 같다.
이 보상방법을 사용하여 249의 값이 Bit-Rate로 계산된다. Bit-Rate의 조정으로 실제 비트시간은 노미널 공진기 입력을 갖는 것과 같게 된다.
보상이 없으면 출력 에러는 2%이다.
지금까지의 설명은 단지 본 발명의 예시적인 실시예를 개시하고 설명한 것이다. 이 기술분야의 당업자는 이러한 설명과 첨부된 도면과 특허청구범위로부터 다음 특허청구범위에서 정의되는 본 발명의 정신과 범위에서 벗어나지 않으면서 다양한 변화, 수정, 변형을 가할 수 있음을 알 수 있다.
본 발명은 부정확한 클럭신호의 실제 주파수를 결정하고 클럭신호를 사용하는 계산을 교정할 보상인자를 발생하기 위하여 실제주파수를 사용하는 소프트웨어를 사용하므로써 추가적인 하드웨어와 비용이 발생하지 않는 효과가 있다.
본 발명은 특히 저주파 공진기와 고주파 시스템클럭을 통합하는 파워트레인 제어모듈에 사용되는 특별한 응용예를 가지며, 이 방법을 사용하므로써 비교적 값싼 저주파 공진기는 스파크 드웰(dwell)과 플레이스먼트(placement), 연료 펄스-폭과 플레이스먼트와 같은 어떤 타이밍 신호를 제공할 수 있는 효과가 있다.

Claims (19)

  1. 정격 클럭주파수를 갖는 제어클럭신호를 사용하는 처리방법에 있어서,
    소정의 시간주기를 정하는 단계;
    시간주기동안 제어클럭신호의 사이클 수에 기초하여 클럭 카운트를 결정하는 단계;
    시간주기동안의 클럭 카운트에 기초하여 제어클럭신호의 실제 클럭주파수를 결정하는 단계;
    제어클럭신호의 실제 클럭주파수와 제어클럭신호의 정격 클럭주파수 사이의 차이에 기초하여 보상인자를 발생하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  2. 제1항에 있어서 클럭카운트를 결정하는 단계는,
    제어클럭신호를 클럭 사이클의 클럭 카운트를 발생하는 시간 캡쳐 레지스터에 인가하고 상기 시간 캡쳐 레지스터는 제어 클럭신호의 엣지 정보를 결정하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  3. 제1항에 있어서 소정의 시간주기를 결정하는 단계는,
    프로그램가능한 소정의 시간주기를 정하는 것을 포함하여 구성되는 것을 특징으로 하는 처리방법.
  4. 제1항에 있어서 클럭신호는,
    차량과 관련되는 파워트레인 제어모듈의 공진기에 의하여 발생되는 클럭신호인 것을 특징으로 하는 처리방법.
  5. 제1항에 있어서 보상인자를 발생하는 단계는,
    보상인자가 소정의 최대 보상인자와 소정의 최소 보상인자에 있는지 여부를 결정하는 단계와,
    보상인자가 최대 보상인자보다 크면 보상인자를 소정의 최대 보상인자로 설정하는 단계와,
    보상인자가 최소 보상인자보다 작으면 보상인자를 소정의 최소 보상인자로 설정하는 단계와,
    그렇지 않으면 결정된 보상인자를 사용하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  6. 제1항에 있어서 시간주기동안 클럭카운트를 결정하는 단계는,
    시스템 클럭신호의 클럭카운트를 발생하는 제1 시간 캡쳐 레지스터를 제공하는 단계와,
    제어 클럭신호의 클럭카운트를 발생하는 제2 시간 캡쳐 레지스터를 제공하는 단계와,
    제2 시간 캡쳐 레지스터가 제어 클럭신호의 클럭카운트를 출력하도록 소정의 시간주기가 만료한 때 제1 시간 캡쳐 레지스터에 신호를 보내는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  7. 제1항에 있어서,
    알고리즘내에서 보상인자를 사용하고 여기에서 알고리즘은 타이밍신호를 계산하는데 사용되는 단계;
    를 또한 포함하여 구성되는 것을 특징으로 하는 처리방법.
  8. 제7항에 있어서 타이밍신호는,
    파워트레인 제어모듈에서 스파크 드웰(dwell)과 플레이스먼트(placement), 연료 펄스-폭과 플레이스먼트, 통신 프로토콜 비트 타이밍으로 구성되는 그룹의 하나를 제어하는데 사용되는 것을 특징으로 하는 처리방법.
  9. 제1항에 있어서,
    시스템 클럭신호를 제공하는 단계;
    를 또한 포함하여 구성되고,
    소정의 시간주기를 정하는 단계는 시스템 클럭신호에 기초하여 소정의 시간주기를 정하는 것을 포함하는 것을 특징으로 하는 처리방법.
  10. 처리방법에 있어서,
    정격 클럭주파수를 갖는 제어 클럭신호를 제공하는 단계;
    시스템 클럭신호를 제공하는 단계;
    제어 클럭신호의 사이클 수에 기초하여 제어 클럭 카운트를 결정하는 단계;
    시스템 클럭신호의 사이클 수에 기초하여 시스템 클럭 카운트를 결정하는 단계;
    시스템 클럭신호의 관점에서 소정의 시간주기를 정하는 단계;
    시간주기동안의 클럭 카운트에 기초하여 제어 클럭신호의 실제 주파수를 결정하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  11. 제10항에 있어서,
    제어 클럭신호의 실제 클럭주파수와 제어 클럭신호의 정격 클럭주파수 사이의 차이에 기초하여 보상인자를 발생하는 단계;
    를 또한 포함하여 구성되는 것을 특징으로 하는 처리방법.
  12. 제11항에 있어서 보상인자를 발생하는 단계는,
    보상인자가 소정의 최대 보상인자와 소정의 최소 보상인자에 있는지 여부를 결정하는 단계와,
    보상인자가 최대 보상인자보다 크면 보상인자를 소정의 최대 보상인자로 설정하는 단계와,
    보상인자가 최소 보상인자보다 작으면 보상인자를 소정의 최소 보상인자로 설정하는 단계와,
    그렇지 않으면 결정된 보상인자를 사용하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 처리방법.
  13. 제10항에 있어서 제어 클럭카운트를 결정하는 단계는,
    제어 클럭신호의 클럭카운트를 발생하는 제1 시간 캡쳐 레지스터를 제공하는 것을 포함하여 구성되고,
    제어 클럭카운트를 결정하는 단계는,
    시스템 클럭신호의 클럭카운트를 발생하는 제2 시간 캡쳐 레지스터를 제공하는 것을 포함하여 구성되는 것을 특징으로 하는 처리방법.
  14. 제10항에 있어서,
    제어 클럭신호는 차량과 관련되는 파워트레인 제어모듈의 공진기에 의하여 발생되고, 시스템 클럭신호는 파워트레인 제어모듈의 크리스탈인 것을 특징으로 하는 처리방법.
  15. 제14항에 있어서,
    파워트레인 제어모듈은 스파크 드웰(dwell)과 플레이스먼트, 연료 펄스-폭과 플레이스먼트, 통신 프로토콜 비트 타이밍으로 구성되는 그룹의 하나를 제어하는데 사용되는 타이밍신호를 제공하기 위하여 실제 클럭주파수를 사용하는 것을 특징으로 하는 처리방법.
  16. 타이밍 신호를 제공하는 시스템에 있어서,
    정격 클럭주파수를 갖는 제어 클럭신호를 발생하는 제1 클럭발생 디바이스;
    시스템 클럭신호를 발생하는 제2 클럭발생 디바이스;
    제어 클럭신호에 응답하고 제어 클럭신호의 사이클 수에 기초하여 제어 클럭 카운트를 제공하는 제1 시간캡쳐 레지스터;
    시스템 클럭신호에 응답하고 시스템 클럭신호의 사이클 수에 기초하여 시스템 클럭 카운트를 발생하는 제2 시간캡쳐 레지스터;
    시스템 클럭신호에 기초하여 소정의 시간주기를 발생하고, 또한 시간주기동안의 제어 클럭카운트에 기초하여 제어 클럭신호의 실제 주파수를 결정하는 처리시스템;
    를 포함하여 구성되는 것을 특징으로 하는 시스템.
  17. 제16항에 있어서 처리 시스템은,
    제어 클럭신호의 실제 클럭주파수와 제어 클럭신호의 정격 클럭주파수 사이의 차이에 기초하여 보상인자를 발생하는 것을 특징으로 하는 시스템.
  18. 제16항에 있어서 처리시스템은,
    파워트레인 제어모듈과 차량과 관련되는 시간 프로세서 유니트의 일부인 것을 특징으로 하는 시스템.
  19. 제17항에 있어서 처리시스템은,
    보상인자를 발생하고 처리시스템이 보상인자가 소정의 최대 보상인자와 소정의 최소 보상인자에 있는지 여부를 결정하여, 보상인자가 최대 보상인자보다 크면 보상인자를 소정의 최대 보상인자로 설정하고, 보상인자가 최소 보상인자보다 작으면 보상인자를 소정의 최소 보상인자로 설정하며, 그렇지 않으면 결정된 보상인자를 사용하는 것을 특징으로 하는 시스템.
KR1019980025042A 1997-06-30 1998-06-29 부정확한클럭신호의측정과보상방법 KR100307469B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/885,408 1997-06-30
US08/885,408 US5915108A (en) 1997-06-30 1997-06-30 Method of measurement and compensation of an inaccurate clock signal
US08/885,408 1997-06-30

Publications (2)

Publication Number Publication Date
KR19990007430A true KR19990007430A (ko) 1999-01-25
KR100307469B1 KR100307469B1 (ko) 2001-10-19

Family

ID=25386836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980025042A KR100307469B1 (ko) 1997-06-30 1998-06-29 부정확한클럭신호의측정과보상방법

Country Status (4)

Country Link
US (1) US5915108A (ko)
JP (1) JPH11153630A (ko)
KR (1) KR100307469B1 (ko)
DE (1) DE19828967C2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19722114C2 (de) * 1997-05-27 2003-04-30 Bosch Gmbh Robert Taktsignal-Bereitstellungsvorrichtung und -verfahren
US6026497A (en) * 1997-12-23 2000-02-15 Sun Microsystems, Inc. System and method for determining the resolution of a granular clock provided by a digital computer and for using it to accurately time execution of computer program fragment by the digital computer
JP3626021B2 (ja) * 1998-10-09 2005-03-02 沖電気工業株式会社 マイクロコンピュータ
JP2001013179A (ja) * 1999-06-29 2001-01-19 Mitsubishi Electric Corp リングオシレータクロック周波数測定方法、リングオシレータクロック周波数測定回路、およびマイクロコンピュータ
EP1067448B1 (de) * 1999-07-08 2009-02-11 Siemens Aktiengesellschaft PC-System für Echtzeit- und Nicht-Echtzeitprogramme
GB2358490B (en) * 1999-12-29 2004-08-11 Nokia Mobile Phones Ltd A clock
DE10214526B4 (de) * 2002-04-02 2004-06-03 Siemens Ag Verfahren zur Kalibrierung einer Zeitsteuerung eines Prozessorsystems und Prozessorsystem zur Realisierung des Verfahrens
US7158904B2 (en) * 2005-02-25 2007-01-02 Texas Instruments Incorporated System and method for correcting an inaccurate clock
GB0807625D0 (en) * 2008-04-25 2008-06-04 Glonav Ltd Method and system for detecting timing characteristics in a communications system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3713033A (en) * 1971-09-01 1973-01-23 Collins Radio Co Digitally temperature compensated oscillator
US4616173A (en) * 1984-03-21 1986-10-07 Sencore, Inc. Frequency counter
DE3900292A1 (de) * 1989-01-07 1990-07-12 Acer Inc Frequenzdetektor
EP0717528B1 (en) * 1994-12-12 2003-05-28 Ford Motor Company Method and apparatus for data communication

Also Published As

Publication number Publication date
DE19828967C2 (de) 2003-04-24
KR100307469B1 (ko) 2001-10-19
JPH11153630A (ja) 1999-06-08
DE19828967A1 (de) 1999-01-07
US5915108A (en) 1999-06-22

Similar Documents

Publication Publication Date Title
US5483201A (en) Synchronization circuit using a high speed digital slip counter
US5892408A (en) Method and system for calibrating a crystal oscillator
JP2723691B2 (ja) 可変タイミング信号発生回路
CN1052083C (zh) 电子表的时间校正
US5367200A (en) Method and apparatus for measuring the duty cycle of a digital signal
KR100768050B1 (ko) 주파수 측정 회로
KR20010072630A (ko) 동기 원격통신 네트워크를 위한 종속 클럭 발생 시스템 및방법
GB2104690A (en) Electronic timepiece having a quartz crystal oscillator circuit
US5406198A (en) Digital circuitry apparatus
KR100307469B1 (ko) 부정확한클럭신호의측정과보상방법
US6084441A (en) Apparatus for and method of processing data
US6590376B1 (en) Method of deriving a frequency of a pulse signal from alternate sources and method of calibrating same
US4761771A (en) Electronic timekeeping apparatus with temperature compensation and method for compensating same
EP0047320A1 (en) Linearizing circuit and electronic time piece using the same
US6373294B1 (en) Microprocessor stabilized frequency source and method for generating a stable-frequency signal
KR100340823B1 (ko) 부품의위치를전자적으로시뮬레이션하기위한장치
US6141296A (en) Time-of-day clock assembly
US5412624A (en) Real-life timer interval adjustment
US6972608B2 (en) Clock generating circuit with a frequency multiplying circuit
SU1111038A1 (ru) Цифровой измеритель температуры
JPH07301685A (ja) クロック回路
US20070008041A1 (en) Layout for a time base
JPH026769A (ja) テスターのタイミング信号発生回路
EP1002263A2 (en) A method for synchronising process control events and measurements in a real-time process control automation system
JP3224554B2 (ja) スケジュール制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090807

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee