KR100247184B1 - 온칩 아날로그 소자의 디지탈 조정 - Google Patents

온칩 아날로그 소자의 디지탈 조정 Download PDF

Info

Publication number
KR100247184B1
KR100247184B1 KR1019970703103A KR19970703103A KR100247184B1 KR 100247184 B1 KR100247184 B1 KR 100247184B1 KR 1019970703103 A KR1019970703103 A KR 1019970703103A KR 19970703103 A KR19970703103 A KR 19970703103A KR 100247184 B1 KR100247184 B1 KR 100247184B1
Authority
KR
South Korea
Prior art keywords
microcontroller
analog input
analog
voltage
input signal
Prior art date
Application number
KR1019970703103A
Other languages
English (en)
Other versions
KR970707485A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24097717&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100247184(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 씨. 필립 채프맨, 마이크로칩 테크놀로지 인코포레이티드 filed Critical 씨. 필립 채프맨
Publication of KR970707485A publication Critical patent/KR970707485A/ko
Application granted granted Critical
Publication of KR100247184B1 publication Critical patent/KR100247184B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R35/00Testing or calibrating of apparatus covered by the other groups of this subclass
    • G01R35/005Calibrating; Standards or reference devices, e.g. voltage or resistance standards, "golden" references
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/36Arrangements for testing, measuring or monitoring the electrical condition of accumulators or electric batteries, e.g. capacity or state of charge [SoC]
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02JCIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
    • H02J7/00Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
    • H02J7/007Regulation of charging or discharging current or voltage
    • H02J7/00712Regulation of charging or discharging current or voltage the cycle being controlled or terminated in response to electric parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electric Status Of Batteries (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)
  • Microcomputers (AREA)

Abstract

본 발명은 배터리 충전 및 모니터링에 사용하는 마이크로컨트롤러에 관한 것이다. 마이크로컨트롤러는 마이크로프로세서 및 신호 레벨을 표시하는 대응 디지탈 카운트로 다수의 아날로그 입력 신호가 변환되도록 하기 위하여 슬로프 A/D 변환기와 멀티플렉서와 같은 여러 가지 프런트 앤드 아날로그 회로를 포함한다. 선택된 아날로그 입력의 측정을 보다 정밀하게 하기 위하여, 마이크로컨틀로러는 변경되는 아날로그 회로와 관련된 선택된 파라미터가 테스트 중에 측정되고 대응하는 보정 상수가 이로부터 계산되고 프로그램 메모리에 저장되도록 하는 전용 보정 프로세스를 사용한다. 이들 저장된 보정 상수는 아날로그 입력 신호의 더욱 정밀한 측정치를 계산하기 위하여 아날로그 입력 신호의 디지탈 카운트와 관련하여 마이크로컨트롤러에 의하여 다음에 이용된다.

Description

온칩 아날로그 소자의 디지탈 조정
아날로그 전자 소자를 이용할 때, 정확한 전압 또는 측정치를 구하는 것은 곤란한데, 이는 아날로그 소자가 공정, 온도 또는 전원 공급에 따라 가변하는 많은 파라미터를 가지기 때문이다. 예를 들어, 집적 회로를 위한 하나 이상의 기준 전압은 밴드갭(bandgap) 기준 전압 회로로부터 발생될 수 있다. 그러나, 만약 전원 공급 또는 온도의 변화 때문에 상기 밴드갭 기준 전압이 정확하지 않다면, 상기 회로로부터 유도되는 모든 기준 전압 역시 정확할 수 없다. 이는 집적 회로의 동작에 에러를 발생시킬 수 있다.
또한, 정확한 저항값 역시 정확한 전류값을 얻기 위하여 아날로그 회로에서 중요하다. 예를 들어, A/D변환기에서 저항값이 정확하지 않다면, A/D변환기의 각각의 비트와 관련된 전압 범위에 에러가 발생될 수 있다.
그러나, 상기 사실은 결국 아날로그 대 디지탈(A/D)변환기 및 기준 전압 회로와 같은 많은 아날로그 회로가 높은 정확성을 유지하기 위하여 정밀한 소자값 또는 정확하게 매칭되는 소자를 요구한다는 것을 의미한다.
보다 정밀한 저항값을 얻기 위한 한가지 기술은 보정 후에 저항을 조정하기 위하여 레이저를 이용하는 것이며, 이에 의하여 상기 저항에 대하여 정밀한 값이 얻어진다. 예를 들어, 필름 저항은 적정한 저항값보다 낮은 저항값을 가지도록 제조되어 저항의 저항값을 증가시키고 그리고 저항을 적정한 값으로 정밀하게 조정하기 위하여 저항 필름 일부를 제거하도록 레이저빔이 이용될 수 있다. 그러나, 상기와 같이 조정된 저항은 조정 후에 드리프팅되고, 상기 드리프팅은 열순환에 의하여 가속될 수 있다.
코머의 미국특허 제 4,777,471호는 다중 가용성 잉크 엘리먼트를 사용함으로써 집적 회로의 소자값을 조정하는 다른 기술을 개시한다. 그러나, 상기와 같은 기술은 집적 회로의 실제 영역을 차지하고, 그리고 부가적인 외부 핀을 요구한다.
미국특허 제 4,335,371호는 A/D변환기를 조정하는 회로를 개시한다. 상기 A/D변환기는 온칩 프로그램가능 판독 전용 메모리(PROM)를 포함하며, 상기 메모리는 A/D변환기에 제공되는 전압(VREF/8)을 조절하기 위한 다수의 조정 비트를 디코딩한다. 그러나, 상기와 같은 기술은 실제적인 부가의 조정 네트워크 및 디코더 회로를 필요로 하고 그리고 단지 A/D변환기에만 이용된다.
본 발명은 아날로그 전자 소자의 조정에 관한 것이며, 특히 측정된 파라미터로부터 얻어진 보정 상수를 시험하고 메모리에 저장하는 중에 아날로그 소자를 조정하고 아날로그 소자에 의하여 수행된 측정의 정확도를 증가시키는데 사용되는 아날로그 소자의 파라미터 측정에 관한 것이다.
제1도는 본 발명을 구현하는 마이크로컨트롤러의 시스템 개요를 도시하는 상세 블록도이다.
제2도는 마이크로컨트롤러의 클록 사이클을 도시하는 그래프이다.
제3도는 제1도에 도시된 슬로프 아날로그 대 디지탈 변환기의 상세 구성/블록도이다.
제4도는 제1도의 EPROM 메모리에 저장된 보정 상수에 대한 어드레스 위치 및 데이터 포맷을 도시하는 테이블이다.
제5도는 A/D변환에 대한 아날로그 입력의 샘플링 인터리빙 시퀀스를 도시하는 테이블이다.
제6도는 A/D데이터 흐름을 도시하는 흐름도이다.
제7도는 제1도의 제로화 회로(zeroing circuit)의 상세 구성/블록도이다.
제8도는 마이크로컨트롤러의 제 1충전 제어기/레벨 검출기를 도시하는 상세 블록도이다.
제9도는 로그 DAC 레지스터의 상부 5비트에 따라 제1도의 DAC의 경로 조정된 전류 출력을 도시하는 테이블이다.
제10도는 로그 DAC 레지스터의 하부 3비트에 따라 제1도의 로그 DAC의 미세 조정된 전류 출력을 도시하는 테이블이다.
제11도는 충전/레벨 검출 제어(CHGCON)레지스터의 비트를 도시하는 테이블이다.
제12도는 제 2충전 제어기/레벨 검출기를 도시하는 상세 블록도이다.
제13도는 I2C프로토콜에 따른 시작 및 정지 상태를 도시하는 그래프이다.
제14도 및 제15도는 각각 I2C장치를 어드레싱하기 위한 7비트 및 10비트 포맷을 도시한다.
제16도는 슬래이브 장치에 의한 응답(acknowledge) 발생을 도시하는 그래프이다.
제17도는 7비트 어드레스 포맷을 이용한 I2C 데이터 전송의 예를 도시하는 그래프이다.
제18도는 제2도의 I2C 인터페이스를 도시하는 상세 블록도이다.
제19도는 데이터 수신을 위한 I2C 인터페이스와 관련된 전형적인 파형을 도시하는 그래프이다.
제20도는 데이터 전송을 위한 I2C 인터페이스와 관련된 전형적인 파형을 도시하는 그래프이다.
제21도는 제1도의 마이크로컨트롤러의 전형적인 직렬 프로그래밍 접속 회로를 나타내는 블록도이다.
제22도는 직렬 프로그램 동작에 이용가능한 여러 가지 명령을 도시하는 테이블이다.
제23도 및 제24도는 직렬 프로그램 동작을 위한 로딩 데이터 및 판독 데이터 명령을 도시하는 그래프이다.
제25도는 외부 배터리를 모니터링하기 위하여 구성된 제1도의 마이크로컨트롤러를 도시하는 블록도이다.
따라서 본 발명의 목적은 아날로그 소자를 통하여 수행된 측정의 정밀도를 증가시키는 개선된 기술을 제공하는 것이다.
본 발명의 다른 목적은 측정된 파라미터로부터 얻어진 보정 상수를 시험하고 메모리에 저장하는 동안에 아날로그 소자를 디지탈적으로 조정하고 아날로그 소자에 의하여 수행된 측정의 정확도를 증가시키는데 사용되는 아날로그 소자의 가변 파라미터를 먼저 측정함으로써 아날로그 소자를 조정하는 기술을 제공하는 것이다.
배터리 충전 및 모니터링 분야에 이용되는 마이크로컨트롤러가 개시된다. 마이크로컨트롤러는 마이크로컨트롤러 코어(즉, 프로세서) 및 가변 프런트 앤드(front-end) 아날로그 회로를 포함하여, 상기 아날로그 회로는 슬로프 아날로그 대 디지탈(A/D)변환기 및 멀티플렉서를 포함하여 선택된 아날로그 입력의 정밀한 전압 측정치를 얻기 위하여 이용된 신호 레벨을 나타내는 디지탈 카운트로 다수의 아날로그 입력 신호가 변환되도록 한다.
선택된 아날로그 입력을 보다 정밀하게 측정하기 위하여, 마이크로컨트롤러는 변화 및 변경될 선택된 파라미터/전압은 시험 중에 측정되고 대응하는 보정 상수는 이로부터 계산되도록 하는 전용 보정 프로세스를 이용한다. 이러한 상수는 포맷화되어 프로그램 메모리에 저장되고 그리고 다음에 아날로그 입력 전압에 대하여 보다 정밀한 값을 계산할 때 마이크로프로세서에 의하여 이용된다.
또한 마이크로컨트롤러의 아날로그 회로는 외부 배터리의 충전/방전 레이트를 제어하기 위하여 두 개의 충전 레이트 제어 채널을 포함한다. 각각의 충전 레이트 제어기는 비교기와 결합하여 이용되는 디지탈 프로그램가능 디지탈 대 아날로그 변환기(DAC)를 포함한다. 상기 DAC는 비교기의 제 1입력에 프로그램가능 전압을 제공하고, 한편 비교기의 제 2입력은 배터리 전류를 나타내는 전압을 받아들인다. 상기 충전 레이트 제어기는 DAC의 프로그램가능 출력 전압과 거의 동일한 감지된 배터리 전류를 나타내는 전압을 형성하는 역할을 하여 배터리 충전/방전 레이트를 제어하는 외부 저항에 제어 신호를 제공한다.
각각의 충전 제어기는 또한 입력 신호가 디지탈 프로그램가능 임계 레벨을 초과하거나 또는 이보다 낮을 때를 결정하기 위하여 레벨 검출기로서 이용될 수 있다. 프로그램가능 임계 레벨은 DAC를 통하여 비교기의 제 1입력에서 적정 임계 전압을 프로그램함으로써 비교기의 다른 입력이 배터리 전류를 나타내는 전압으로서 아날로그 입력 신호를 받아들이도록 디지탈적으로 세팅될 수 있다. 상기 레벨 검출기는 플래그를 세팅하는 역할을 하며 아날로그 입력 신호가 프로그램가능 임계 레벨을 초과할 때(또는 선택적으로 이보다 낮을 때)마이크로프로세서에 인터럽트를 제공한다. 따라서, 이러한 인터럽트는 슬립 모드로부터 마이크로프로세서를 "재작동시키기(wake-up)" 위하여 이용되어 상기 마이크로프로세서를 재작동시키기 위한 디지탈 프로그램가능 임계 레벨을 제공할 수 있다.
선택적으로, 두 개의 레벨 검출기가 양쪽 극성을 검출하도록 프로그램함으로써, 단일 윈도우 검출기는 아날로그 입력 신호가 제 1임계 레벨을 초과하거나 또는 제 2임계 레벨 보다 낮을 때 마이크로프로세서에 대한 인터럽트가 발생하도록 수행될 수 있다. 이는 소정 크기를 초과하는 양극 및 음극 배터리 전류 모드가 검출되도록 한다. 따라서, 상기 윈도우 검출기는 현재 이용되지 않는 배터리가 다음에 배터리로부터 전류를 소모/방전하는 장치에 배치되거나 또는 배터리에 충전 전류를 공급하는 배터리 충전기에 배치될 때를 검출하기 위한 배터리 응용분야에 유용하다.
마이크로컨트롤러는 또한 양방향 2와이어 버스 및 다른 주변 장치 또는 마이크로컨트롤러 장치와 직렬로 통신하는데 이용되는 데이터 전송 프로토콜을 지원하는 I2C 인터페이스를 포함한다. 상기 I2C 인터페이스는 신뢰성 있는 데이터 전송 및 수신을 확실히 하기 위하여 포괄적인 프로토콜을 사용한다. 데이터를 전송할때, 하나의 장치는 마스터이고 클록 신호를 생성하며, 다른 장치는 슬래이브로서 동작한다. I2C 인터페이스 프로토콜에서 각각의 장치는 그와 관련된 특정 어드레스를 가지며, 따라서 마스터가 데이터 전송을 초기화하기를 원할 경우, 마스터는 먼저 통신하고자 하는 장치의 어드레스를 전송하고, 그리고 만약 마스터에 의하여 전송된 상기 어드레스가 슬래브 장치의 어드레스와 매칭하면, 상기 슬래브 장치는 데이터 전송을 위하여 선택된다. 데이터 전송을 완료하기 위하여, 마스터 장치는 데이터 전송의 시작과 정지를 결정하기 위하여 시작 및 정지 상태를 발생시켜 데이터가 시작 및 정지 상태 사이에서 전송되도록 한다.
I2C 인터페이스를 이용함으로써, 마이크로컨트롤러는 응용 회로의 종료 중에 직렬로 프로그램될 수 있다. 상기와 같은 특징은 소비자가 프로그램되지 않는 장치로 보드를 제조할 수 있도록 하고 따라서 제품을 수송하기 바로 전에 마이크로컨트롤러를 프로그램할 수 있도록 한다. 이는 가장 최근의 펌웨어 또는 주문 설계된 펌웨어가 프로그램되도록 한다.
마이크로컨트롤러(10)는 장치의 직렬 클록 및 직렬 데이터 핀을 로우로 유지하는 동안 전압 프로그래밍 핀을 적정 프로그래밍 전압으로 상승시킴으로써 프로그램 모드로 배치될 수 있다. 프로그램 모드가 될 때, 사용자 프로그램 메모리 및 시험 프로그램 메모리는 최종 사용 중에 액세스되고 직렬로 프로그램될 수 있다.
이하 첨부된 도면을 참조로 본 발명을 설명한다.
[시스템 개요]
도 1에 따르면, 본 발명을 구현하는 마이크로컨트롤러의 집적 회로(10)를 도시하는 상세 블록도가 도시된다. 마이크로컨트롤러(10)는 마이크로칩 테크놀로지사에서 제조한 MTA 140xx/칼리스토 프로그램가능 제어 집적 회로일 수 있으며, 이는 배터리 충전 및 배터리 모니터링과 같은 이용분야에 사용될 수 있다. 마이크로컨트롤러(10)는 배터리 충전 및 모니터링 제어가 요구되는 휴대용 컴퓨터, 셀룰러폰, 캠코더 및 그 외의 저비용 제품에서 광범위하게 사용되도록 설계되었다. 그러나, 마이크로컨트롤러(10) 및 본 발명은 상기와 같은 분야에만 한정되지 않으며 다음 설명에서 명확해지는 것처럼 다른 많은 분야(예를 들어, 입력 아날로그 전압을 정확하게 측정하고자 하는 분야)에서 사용될 수 있다.
마이크로컨트롤러(10)는 역시 마이크로칩 테크놀로지사에서 제조한 PIC16C6X/7X 마이크로컨트롤러 코어일 수 있는 마이크로컨트롤러 코어(12)를 포함한다. 마이크로컨트롤러 코어(12)는 8레벨 딥 스택 및 다중 내외부 인터럽트 소스를 포함하는 8비트 축소 명령 집합 컴퓨터(RISC)이다. 마이크로컨트롤러 코어는 별도의 8비트 와이드 데이터에 의하여 14비트 와이드 명령 워드를 허용하도록 별도의 명령 및 데이터베이스를 가진 하버드 아키텍쳐를 가진다. 또한, 2-스테이지 명령 파이프라인은 2개의 사이클을 요구하는 프로그램 브랜치를 제외하고 모든 명령(전제 35)이 단일 사이클에서 수행되도록 한다.
도 2에서, 마이크로컨트롤러 코어(12)의 클록 사이클을 도시하는 그래프가 도시된다. 핀(OSC1) 또는 내부 발진기(42)로부터의 클록 입력은 초기에 4개의 위상(Q1, Q2, Q3, Q4)으로 나누어져, 상기 4개의 위상이 전체 프로세서 클록 펄스를 발생시키도록 한다. 두 개의 클록 사이클은 어떠한 명령을 완료시키기 위하여 요구되어, 명령이 하나의 클록 사이클 중에 인출(fetch)되고 다음 클록 사이클 중에 수행되도록 한다. 그러나, 2-스테이지 파이프라인에 의하여, 하나의 명령 사이클 수행은 다음 명령 사이클의 인출과 중복되어, 사이클 시간이 명령당 하나의 클록 사이클로 감소한다. 그러나, 만약, GOTO명령과 같은 명령에 의하여 프로그램 카운터가 변경되면, 두 개의 사이클이 상기 명령을 완료하기 위하여 요구된다. 요약하면, 클록 사이클의 Q1 부분 중에 증분되는 프로그램 카운터(PC)에 의하여 인출이 시작된다. 상기 인출 명령은 클록 사이클의 Q2-Q4부분 중에 디코딩되고 수행되는 명령 레지스터로 래치된다.
마이크로컨트롤러 코어(12)는 워치도그 타이머(14)를 포함하며, 상기 타이머는 어떠한 외부 소자를 필요로 하지 않는 자유 동작 온칩 RC 발진기로서 구현된다. 상기 워치도그 타이머는 일반적으로 18밀리초의 타임아웃 주기를 가진다. 그러나, 더 긴 타임아웃 주기가 요구된다면, 최고 1:128의 분할비를 가진 사전범위설정기가 소프트웨어 제어에 의하여 워치도그 타이머에 할당될 수 있다. 따라서, 최고 2.3초까지의 타임아웃 주기가 구현될 수 있다.
또한 마이크로컨트롤러 코어(12)는 실시간 클록/카운터(RTCC)(16) 및 계산을 실행하는 산술 논리 장치(ALU)(18)를 포함한다. 또한 소거가능하고 프로그램가능 판독 전용 메모리(EPROM)(20)를 포함하는데, 상기 메모리는 이하에 상세히 설명되는 것처럼 여러 가지 보정 상수를 저장하기 위한 64워드의 보정 메모리 공간을 포함한다. 또한 마이크로컨트롤러 코어(12)는 임시 저장을 위한 랜덤 액세스 메모리(RAM)(22), 범용 I/O를 제공하는 입력/출력(I/O)제어부(24) 및 인터럽트를 수신하고 응답하는 인터럽트 제어기(26)를 포함한다.
몇 개의 아날로그 주변장치는 마이크로컨트롤러 코어(12)용 아날로그 프런트앤드를 형성한다. 상기와 같은 아날로그 주변장치는 배터리 충전 및 모니터링 제어와 같은 많은 이용분야에 유용한 신호 조절 및 아날로그 대 디지탈 기능을 제공한다. 모든 아날로그 기능은 마이크로컨트롤러 코어에 의하여 직접 제어되어 융통성을 최대화하고 펌웨어를 통한 주문설계를 가능하게 한다.
프런트 앤드 아날로그 주변장치는 슬로프 A/D변환기(30) 및 멀티플렉서(mux)(32)를 포함하여 다수의 외부 아날로그 입력이 그 신호 레벨을 나타내는 디지탈 카운트로 변환되도록 한다. 슬로프 A/D변환기(30)는 중간 속도의 고정밀 변환기이면, 이는 DC 및 저주파수 AC신호를 모니터링한다.
또한 아날로그 프런트 앤드 회로에는 외부 기준 전압 소스를 필요로 하지 않는 밴드갭 기준 블록(34)이 포함된다. 밴드갭 기준 블록(34)은 또한 전압 분배 블록(38)에 전압을 제공하며, 상기 블록(38)은 슬로프 A/D변환기(30)에 의하여 이용되는 정밀한 높고 낮은 슬로프 기준 전압을 발생시킨다. 높은 슬로프 기준 전압은 약 1.23볼트이며 A/D변환시 슬로프 검출 상부 한정을 위하여 이용된다. 낮은 슬로프 기준 전압은 높은 슬로프 기준 전압의 약 1/9이거나 또는 약 0.14볼트이다. 또한, 밴드갭 기준 블록(34)은 저전압 상태의 존재를 검출하는 저전압 검출기에 전압을 공급한다.
발진기 선택 블록(40)은 외부 발진 신호(OSC1) 또는 내부 발진기(42)를 통하여 제공되는 내부 4MHZ발진 신호 사이를 선택한다. 선택된 발진 신호는 외부 클록 신호(CLKOUT)뿐만 아니라 슬로프 A/D변환기(30)에 클록 신호를 제공한다.
또한 마이크로컨트롤러(10)는 외부적으로 조정된 전압(VREG)을 제공하는 온칩 전압 레귤레이터 제어 블록(44)을 포함하여 외부 전압 레귤레이터의 필요성을 제거하도록 한다. 전압 레귤레이터 제어 블록(44)는 또한 3 또는 5볼트 동작을 위하여 선택가능하다.
두 개의 3-십진, 8비트 디지탈 대 아날로그 변환기(DAC; 48)는 두 개의 충전제어 채널을 형성하기 위하여 두 개의 비교기(50, 51)와 결합된다. 상기 이중DAC 및 비교기는 레벨 검출기, 단일 윈도우 검출기 또는 두 개의 별도 레벨 검출기로서 기능하도록 선택적으로 구성될 수 있다. 또한, 이러한 레벨 검출기는 마이크로컨트롤러 코어에 인터럽트를 발생시키도록 이용될 수 있어 재작동 또는 제한 검출 기능을 제공한다.
온칩 온도 센서(54)는 또한 내부 온도 모니터링을 요구하는 이용을 위하여 포함된다.
필터링 및 제로화 회로(56)는 제로 전류 상태를 시뮬레이팅함으로써 낮은 값의 아날로그 입력 측정치의 정확성을 증가시키기 위하여 이용된다. 이러한 "제로화" 기술은 낮은 배터리 전류의 측정 정밀도를 향상시키기 위하여 이용될 수 있다.
또한 직렬 데이터 핀(SDAA) 및 직렬 클록 핀(SCAL)을 통하여 마아크로컨트롤러(10)가 다른 I2C 호환가능 장치와 통신하도록 하기 위하여 I2C 인터페이스 제어기(58)가 포함된다.
[슬로프 A/D 변환기]
도 3에서, 슬로프 A/D변환기(30)의 더욱 상세한 개요/블록도가 도시된다. 슬로프 A/D변환기(30)는 아날로그 프런트 앤드 회로의 주요부이며 멀티플렉서(32)의 입력에 나타난 다수의 아날로그 입력중 선택된 것을 디지탈 카운트 값으로 변환시켜 선택된 입력의 전압 측정치를 얻도록 하기 위하여 이용된다. 예를 들어, A/D변환기(30)는 배터리 모니터링 및 충전 제어를 위해 배터리 전압, 전류 및 온도를 디지탈 카운트값으로 변환시키도록 이용될 수 있다. 멀티플렉서(32)를 통하여 아날로그 회로 변환을 위해 선택된 다수의 아날로그 입력은 배터리 전압(BATV), 배터리 전류(BATI), 배터리 온도(BATT), 외부 아날로그 전압(RA3/An3), 밴드갭 기준 블록(34)을 통하여 밴드갭 기준 전압, 전압 분배기 블록(38)을 통한 고 슬로프 기준 전압 및 저 슬로프 기준 전압(SREFHI, SREFLO), 온도 센서(54)를 통한 내부 온도 전압 및 이중 DAC 블록(48)을 통한 두 개의 DAC출력(충전 DAC(A) 및 충전 DAC(B))를 나타내는 아날로그 입력을 포함할 수 있다.
RC 저역 통과 필터(103)는 아날로그 멀티플렉서(32)의 출력 및 비교기(101)의 비반전 단자 사이에 연결된다. RC 필터(103)에 대한 일반적인 시간 상수는 5마이크로초이다.
슬로프 A/D변환기(30)의 주요부는 정밀 비교기(101)이며 상기 비교기는 선택된 다수의 아날로그 입력중 하나를 수신하기 위하여 연결된 비반전 입력 및 외부핀(105)(RAMP 핀)에 연결된 반전 입력을 가진다. 외부 캐패시터(104)는 그 사이에 램프 전압을 생성하기 위하여 핀(105)에 연결된다.
4비트 프로그램가능 슬로프 제어 DAC(102)는 4비트 디지탈 제어 신호(ADDAC)를 통하여 2.5㎂ 간격으로 0 내지 37.5마이크로암페어(㎂) 범위에서 외부 캐패시터(104)에 대한 충전 전류를 선택적으로 제어하기 위하여 다수의 스위칭가능 전류 소스를 포함한다. 외부 캐패시터는 예를 들어 0.1㎌값을 가질 수 있으며, 최적의 결과를 위하여 계수를 가져야 한다.
비교기(101)의 출력은 카운터/포착 타이머(106)의 입력에 공급되며, 상기 타이머의 출력에는 포착 레지스터(108)의 입력이 제공된다.
트랜지스터(109)는 만약 신호 ADRST가 로직 "1"이면 모든 전류 소스를 디세이블시키기 위하여 DAC(102)에 연결된다.
동작시, 각각의 아날로그 채널은 멀티플렉서(32)를 통하여 다수의 아날로그 입력중 하나를 독립적으로 선택하기 위하여 디지탈 카운트로 변환된다. 변환은 제1리세트 카운터(106) 및 레지스터(108)에 의하여 발생되며, 한편 동시에 외부 캐패시터(104)를 방전시켜 예를 들어 200마이크로초의 소정 최소 시간 동안 접지시키도록 한다. 다음에 리세트가 해제되고 카운터(106)는 카운팅하기 시작하고 동시에 외부 캐패시터(104)는 DAC(102)에 의하여 공급된 충전 전류를 기초로 충전하기 시작한다. 외부 캐패시터(104)를 방전시키는데 필요한 시간의 크기는 정확하지 않아도 되는데, 이는 리세트시 발생될 수 있는 부정확한 제로가 아닌 캐패시터 전압의 영향을 제거하도록 하는 마이크로컨트롤러(10)의 능력 때문이다. 외부 캐패시터(104)사이의 전압이 선택된 아날로그 입력 전압을 초과하면, 비교기(101)는 로직 하이에서 로직 로우로 스위칭한다. 이러한 전이는 마이크로컨트롤러 코어(12)에 인터럽트를 발생시켜, 인터럽트 제어 신호가 카운터(106)의 카운터를 포착 레지스터(108)로 래칭(포착)시킴으로써 포착이 발생되도록 한다. 레지스터(108)에 저장된 카운터는 외부 캐패시터(104)가 선택된 아날로그 입력 전압까지 충전되어 초과하는데 걸리는 시간을 나타내고 선택된 아날로그 입력 전압까지 충전되어 초과하는데 걸리는 시간을 나타내고 선택된 아날로그 입력의 전압 측정치와 일치한다. 이러한 카운트는 이하에 설명될 전용 보정 프로세스 및 필터 알고리즘을 이용함으로써 선택된 아날로그 입력에 대한 보다 정밀한 전압 측정을 얻기 위하여 이용된다. 유사한 방식으로, 각각의 아날로그 입력에 대한 디지탈 카운트는 각각의 아날로그 입력을 멀티플레서(32)를 통하여 독립적으로 선택함으로써 얻어져 다수의 아날로그 입력 전압을 디지탈로 측정하도록 한다.
[보정 프로세스]
선택된 아날로그 입력의 측정을 더욱 정확하게 하기 위하여, 본 발명은 이하에 설명되는 바와 같이 전용 보정 프로세스를 이용한다. 일반적으로 최소 세트의 파라미터가 테스트 중에 조절 또는 "조정"되어서 보정 상수가 계산되어 EPROM 사용자 공간에 저장되도록 한다. 조정이 필요한 이들 최소 세트의 파라미터는 슬로프 A/D변환기의 상부 슬로프 기준 전압에 대한 하부 슬로프 기준 전압의 비율, 밴드갭 전압, 내부 온도 센서(서미스터) 전압 및 선택된 발진기 주파수를 포함한다. 따라서, 본 발명은 테스트 중에 이들 파라미터를 측정하고 보정 상수를 계산하며, 이하에 기술되는 것처럼, 모든 보정 상수는 다음의 검색 및 사용을 위하여 EPROM(20)에 저장되어, 이들 많은 상수는 보다 정확한 A/D 측정의 정밀도를 증가시키기 위하여 이용된다.
[A. A/D 슬로프 기준 보정 상수(Kref)]
온칩 슬로프 A/D변환기(30)는 선형 변환 함수의 계수를 결정하기 위하여 두개의 전압 포인트 사이의 기지의 비율을 요구한다. 슬로프 기준 발생시(도 1)는 밴드갭 기준 회로(34)로부터 공급된 밴드갭 전압을 통하여 상부 슬로프 전압 및 하부 슬로프 전압을 발생시킨다. 상부 슬로프 전압에 대한 하부 슬로프 전압의 비율은 이들의 각각의 전압의 측정값으로부터 계산된다.
특히, A/D 슬로프 기준 계산 상수를 계산하기 위하여 이용된 프로세스는 다음과 같다. 아날로그 멀티플렉서(32)는 상부 슬로프 기준 전압(SREFHI)을 선택하기 위하여 세트된다. 상기 기준 전압은 슬로프 기준 발생기(36)에 의하여 공급된다 전압중 하나이다. 정밀 전압 측정 회로를 사용하여, 상부 슬로프 기준 전압을 측정하고 이것의 값을 기록한다. 정밀 전압 측정 회로는 멀티플렉서(32)의 출력에 연결되고 별도의 테스트 로딩 보드 상에 배치될 수 있다. 다음에, 하부 슬로프 기준 전압(SREFLO)을 선택하기 위하여 아날로그 멀티플렉서(32)를 스위칭하며, 상기 기준 전압은 슬로프 기준 발생기(36)의 다른 출력이다. 정밀 전압 측정 회로를 이용하여, 멀티플렉서(32)의 출력에서 하부 슬로프 기준 전압을 측정하고 그 값을 기록한다. 다음에 SREFLO/(SREFHI-SREFLO)의 비율과 동일한 보정 상수 Kref를 계산 한다.
[B. 밴드 갭 기준 전압 보정 상수(Kbg)]
밴드갭 기준 회로(34)에 의하여 제공된 밴드갭 전압은 약 1.23볼트 이여야 한다. 그러나, 상기 전압은 공급 전압(1밀리볼트 이하) 및 온도(일반적으로 10밀리볼트 이하)에 약간 의존한다는 것을 나타낸다. 따라서, 밴드갭 기준 회로(34)에 의하여 공급된 실제 전압이 측정되어야 하며, 상기 전압값은 EPROM(20)에 저장되어야 한다.
밴드갭 기준 회로(34)에 의하여 공급된 전압의 실제 측정치를 얻기 위하여, 다음 프로세스가 이용된다. 먼저, 밴드갭 기준 회로(34)의 출력 전압을 선택하기 위하여 아날로그 멀티플렉서(32)를 세팅한다. 정밀 전압 측정 회로를 이용하여 멀티플렉서(32)의 출력에 나타난 밴드갭 전압을 정확하게 측정한다. 이렇게 측정된 전압은 밴드갭 기준 전압 보정 상수 Kbg이다.
[C. 서미스터 보정 상수(Kthrm)
내부 온도 센서/서미스터(34)의 온도 계수가 전체 온도에 대하여 비교적 일정하지만, 전압 출력의 절대 크기는 프로세스에 따라 현저하게 변화될 수 있다. 따라서, 서미스터(54)의 출력 전압의 절대 크기는 소정 온도에서 측정되어 상기 측정된 값이 보정 EPROM에 저장되어야 한다.
서미스터 전압을 측정하는 프로세스는 멀티플렉서가 서미스터(54)의 출력을 선택하기 위하여 프로그램되는 것을 제외하고 밴드갭 전압을 측정하는 상기 프로세스와 동일하다.
[D. 온도 계수 보정 ]
[상수(Ktc)]
서미스터의 온도 계수는 전체 온도에 대하여 상대적으로 일정한 것으로 추정된다. 그러나, 온도 계수는 프로세스 상에서 미소한 의존상을 나타낸다. 상기 의존성은 먼저 서미스터 전압(멀티플렉스(32)에서)을 측정하고 다음에 이러한 측정된 전압값을 근거로 온도 계수 보정 상수(Ktc)을 조정함으로써 추정될 수 있다.
온도 계수 보정 상수는 일반적으로 여러 가지 온도에 대하여 서미스터 출력 전압의 특성 데이터로부터 얻어지며, 여기서 서미스터 출력 전압과 그것의 슬로프 사이에는 상관관계가 존재한다. 따라서, 소정 온도에서의 출력 전압에 기초하여, 서미스터의 온도 계수는 정확성을 향상시키기 위하여 보상될 수 있다.
A/D 변환의 정밀도를 증가시키는데 있어서 매우 중요한 것은 아니지만, 다음 두 상수는 시간 베이스 측정/이벤트를 정확하게 하기 위하여 중요하다.
[E. 내부 발진기 보정 상수(Kin)
프로세스 가변에 따른 내부 클록 주파수 보정은 높은 정밀도를 얻기 위하여 요구된다. 보정 펙터 Fosc는 측정된 내부 클록 주파수로부터 계산되며, 상기 주파수는 외부 OSC2/CLKOUT 핀에서 측정될 수 있다. 특히, 보정 펙터 Kin은 [(측정된 주파수-3.00Mhz)/10Khz]의 정수 함수로 되어 계산될 수 있다. 이는 측정된 주파수가 3.0Mhz 이상임을 의미한다.
[F. 워치도그 타이머 보정 상수(Kwdt)]
프로세스 가변에 따른 워치도그 타이머 주파수의 보정은 또한 높은 정밀도를 위하여 필요하다. 보정 상수(Kwdt)는 도 1의 워치도그 타이머(14)의 측정된 동작 주파수로부터 계산된다. 워치도그 타이머 주파수가 외부 핀에 제공되지 않았지만, 워치도그 타이머 주파수는 상태 레지스터의 소정 비트의 로직 상태를 모니터링함으로써 측정되는데 상기 비트의 로직 상태는 워치도그 타이며 신호의 로직 레벨을 나타낸다. 보정 펙터 Kwdt는 [측정된 주파수/1Hz]의 정수 함수와 동일하다.
상기 각각의 보정 상수/펙터를 구한 후에, 각각은 도 4에 도시된 어드레스 위치및 데이터 포맷으로 EPROM 메모리(20)로 포맷되고 프로그램된다.
[저장된 보정 상수를 이용한 A/D 변환]
A/D 변환기(30)에 의하여 얻어진 A/D 카운트값을 대응하는 입력 전압값으로 변환시키는 것은 식 1에 도시된 공식에 따라 마이크로프로세서 코어(12)에 의하여 수행된다.
Figure kpo00001
여기서:
Coffset = Creflo-Kref(Crefhi-Creflo);
Vin = 선택된 입력의 결과(디지탈) 절대 전압값;
Creflo = A/D 하부 기준 포인트에 대한 A/D 카운트 값;
Crefhi = A/D 상부 기준 포인트에 대한 A/D 카운트 값;
Cbg = 밴드갭 기준 포인트에 대한 A/D 카운트값.
오프셋 항목(Coffset)은 슬로프 A/D 변환기의 전압 램프를 시작할 때 발생할 수 있는 턴온 지연 또는 전압 오프셋을 보상한다. 예를 들어, 램프 전압이 증가를 시작하기 전에 램프 카운터가 카운트를 시작하거나, 또는 램프 전압이 정확히 0볼트에서 시작하지 않을 경우, 오프셋 카운트는 모든 변환에 대하여 발생할 것이다. 따라서, 오프셋 항목은 턴온 지연 또는 오프셋 전압의 카운트값이다.
여러 가지 아날로그 입력에 대한 A/D 변환을 수행할 때, 본 발명은 배터리 전류와 같은 우선순위가 높은 신호에 대한 샘플링 레이트를 최대화하고, 그리고 온도 입력과 같은 상대적으로 느린 레이트에서 변화하는 우선순위가 낮은 신호에 대한 샘플링 레이트를 감소시키기 위하여 A/D 변환에 대한 아날로그 입력 선택을 인터리빙한다. 도 5에서, 여러 가지 아날로그 입력을 샘플링하기 위한 인터리빙 우선순위 계획이 도시된다. 배터리 전류는 가장 높은 우선순위이며 16 A/D 사이클당 8회 샘츨링된다. 배터리 전압은 그 다음 우선순위이며 16 A/D 사이클당 2회 샘플링된다. 외부 서미스터 입력을 통한 배터리 온도 및 내부 온도는 16 A/D 사이클 중에 한번 샘플링 된다. 유사하게, 전류 네트워크 제로 전압, 밴드갭 전압 및 A/D 하부와 상부 기준 전압은 매 16 변환 사이클당 한번 샘플링된다.
기준값을 안정화시키고 또한 A/D 정확도를 향상시키기 위하여, A/D 변환기로부터 얻어진 소정 아날로그 입력의 생(raw) 카운터 데이터는 A/D 아날로그 입력에 대하여 실제 전압값을 계산하기 전에 필터링한다. 도 6에서, A/D 카운터값으로부터 실제 전압값을 계산할 때 사용되는 필터 알고리즘(112-114) 및 평균화 알고리즘(115-116)을 포함하는 A/D 데이터 흐름을 나타내는 흐름도가 도시된다. 밴드갭 전압(Cbg)에 대한 카운트값을 얻어진 마지막 16 카운트값의 순환 평균을 계산함으로써 필터링된다. 상기 밴드갭 카운터(Cfbg)의 필터링된 값은 식2에 도시된 바와 같이 계산한다.
Figure kpo00002
여기서 첨자i는 인터리브 시퀀스 번호를 나타낸다.
상기 밴드갭 카운터의 필터링된 값은 마이크로프로세서 코어(12)에 공급되어 이하에 설명되는 바와 같이 블록(118)의 출력 전압을 계산하기 위하여 사용된다.
카운트 오프셋 값(Coffset)은 식3에 나타나는 바와 같이 얻어진 마지막 16카운트값의 순환 평균을 계산함으로써 필터링한다.
Figure kpo00003
여기서
Coffseti=Crefloi-Kref(Crefhii-Crefloi)
상기 오프셋 카운터(CfOffset)의 필터링된 값은 또한 마이크로프로세서 코어(12)에 공급되어 A/D 입력 전압을 계산하기 위하여 이용된다.
전류 입력 제로 오프셋 카운트(CIzero)는 다음 식4에 나타나는 바와 같이 얻어진 마지막 16카운트값의 순환 평균을 계산함으로서 필터링된다.
Figure kpo00004
전류 입력 오프셋 카운트의 이러한 필터링된 값(CfIzero)은 또한 입력 전압을 계산하기 위하여 마이크로프로세서 코어(12)에 사용된다.
본 발명은 또한 배터리 전압 및 배터리 전류 채널로부터 얻어진 생 카운트 데이터를 필터링/평균화한다. 배터리 전류 카운트 값(CIbat)은 식5에 나타난 것처럼 인터리브 시퀀스로부터 입력 채널의 8샘플의 평균을 이용함으로써 필터링한다.
Figure kpo00005
필터링된 배터리 전류 카운트 값(CfIbat)은 배터리 용량을 체크하는 디지탈 적분기에 전송되는 데이터 양을 감소시킨다.
유사하게, 배터리 전압(CBatV)에 대한 카운트값은 식6에 나타난 바와 같이 인터리브 시퀀스로부터 입력 채널의 두 샘플의 평균을 계산함으로써 필터링된다.
Figure kpo00006
다음 필터링 카운터값은 EPROM(20)에 저장된 보정 상수와 결합하여, 식7 및 8에 나타난 것처럼 배터리 전류 및 전압에 대한 입력 전압에 상응하는 보다 정밀한 디지탈값을 계산하기 위하여 이용될 수 있다.
Figure kpo00007
Figure kpo00008
식 7은 입력 제로 전류 상태에 상응하는 카운트인 분자 항목(CfIzero)을 포함하며 이는 이하에 상세히 설명되는 바와 같이 낮은 전류값의 측정 정밀도를 증가시키기 위하여 이용된다.
또한, 내부 및 외부 온도 전압에 대한 보다 정밀한 디지탈값은 각각 식9 및 식10에서 계산될 수 있다.
Figure kpo00009
따라서, 본 발명은 여러 가지 보정 상부 및 여러 가지 필터링 알고리즘을 측정하여 메모리에 저장함으로써 외부 배터리의 전압, 전류 및 온도와 같은 선택된 아날로그 입력의 매우 정밀한 측정을 달성할 수 있다.
[제로화 회로]
낮은 레벨 아날로그 신호를 측정하고자 할 때, 정확한 결과를 얻기 위하여 제로 기준 포인터가 어디에 위치하는지를 정확하게 아는 것이 중요하다. 따라서, 본 발명은 낮은 전류값을 측정 정밀도를 증가시키기 위하여 제로화 기술을 포함한다. 도 7에서, (도 1의) 블록(56)의 제로화 회로(138)의 상세 개요/블록도가 도시된다. 제로화 회로는 제로 전류 상태를 시뮬레이팅하는 두 개의 매칭된 통과 게이트(140, 142)를 포함한다. 전계효과 트랜지스터의 형태일 수 있는 스위치(140, 142)가 정확히 매칭되지 않을 경우, 오매칭이 존재할 경우 A/D 정확도 개선시 사용하기 위한 부가 보정 상부로서 측정되어 EPROM(20)에 저장될 수 있다. 스위치(142)는 마이크로컨트롤러 코어(12) 신호 ADZERO에 응답하고, 스위치(140)는 인버터(141)를 통하여 상기 마이크로컨트롤러 코어(12) 신호의 반전된 신호에 응답한다. 또한 제로화 회로(138)에 포함되는 것은 입력 보호 회로(147) 및 스위칭가능 전류 바이어스 소스(149)이다.
동작시, 스위치(140)가 닫힐 때, 제로 전류 상태에 상응하는 전압이 멀티플렉스(32)( 및 비교기(50) 또는 (51))에 공급된다. 따라서, 핀(143)에서 발생하는 제로 전류 상태가 시뮬레이팅된다. 이는 슬로프 A/D 변환기가 핀(143)에서의 제로 전류에 상응하는 디지탈 카운트를 얻도록 한다. 따라서, 스위치(140)가 닫히고, 스위치(142)가 열릴 때, 핀(143)에서의 다음 아날로그 전류 측정에 상응하는 다음 디지탈 카운트는 이러한 제로 카운트에 관련되어 계산된다. 이러한 제로화 기술은 상기와 같은 높은 정밀도가 요구될 때 낮은 전류값에 매우 높은 정확도를 제공한다.
보다 작은 전류 펄스를 포착하기 위하여, 선택적인 필터 캐패시터(152)가 전류 평균화 핀(IAVG)(154) 및 접지에 연결될 수 있다. 캐패시터(152) 및 내부 저항(156)은 캐패시터(152)가 적정 시간 상수를 얻도록 조정될 수 있도록 DC 평균화 필터로서 작용하기 위한 RC네트워크를 형성한다. 스위치(158)는 제로화 회로(138) 및 IAVG 핀(154) 사이에 연결되며, A/D 샘플링 주기 동안 닫히고 신호ADZERO의 반전을 통한 제로화 동작 중에 자동으로 열린다.
배터리 모니터링 응용에서, 제로화 회로(138)는 배터리와 직렬로 외부 감지 저항(150)을 연결함으로 핀(143)에서 전류가 측정되도록 하여 배터리(146)에 의하여 공급된 측정된 전류의 정확도를 증가시키기 위하여 이용될 수 있다. 특히, 배터리(146)의 출력은 회로 노드(148)에 연결되고, 상기 회로 노드는 핀(143)에 연결되고 감지 저항(150)을 통하여 접지로 복귀한다. 감지 저항(150)은 예를 들어 약 0.05옴의 저저항이다. 따라서, 저전압이 저항(150)사이에 발생된다. 예를 들어, +/- 5암페어 배터리 피크 및 0.05옴 감지 저항에 대하여, -0.25 내지 +0.25볼트의 전압 범위(극성은 배터리가 충전되거나 또는 출력 전류를 공급하는지에 대한 함수임)가 핀(143)에 나타난다. 또한, 낮은 배터리 전류인 경우에, 저항(150)사이에 나타나는 전압은 예를 들어, 약 밀리볼트로 매우 작다. 따라서, 상기와 같은 낮은 전류에 대한 배터리 전류의 정확한 측정을 위하여, 어떤 A/D 디지탈 카운트가 제로 전류 상태와 일치하는지를 아는 것이 중요하다. 예를 들어, 제로 전류 상태가 100인 A/D 디지탈 카운트와 일치하면, 상기와 같은 오프셋은 특히 상대적으로 낮은 디지탈 카운트를 발생시키는 낮은 배터리에 상응하는 전압을 측정할 때 고려되어야한다. 전술한 바와 같이, 제로화 회로(138)는 스위치(140, 142)를 통하여 제로 전류 상태를 시뮬레이팅함으로써 제로 전류 카운터를 제공한다.
[충전 제어/전류 흐름 검출기]
시스템 개요에서 설명된 것처럼, 마이크로컨트롤러(10)는 두 개의 3-십진, 8비트 DAC를 포함하는데, 상기 DAC는 두 개의 충전 레이트 제어 채널을 형성하기 위하여 비교기(50, 51)(도 1)과 결합될 수 있다. 선택적으로, 이중 DAC 및 비교기는 두 개의 레벨 검출기 또는 단일 윈도우 검출기일 수 있는 레벨 검출기로서 기능하도록 구성될 수 있다.
도 8에서, 비교기(50)중 하나와 결합되어 이용되고 제 1충전 제어 채널(채널A)을 포함하는 이중 DAC중 하나를 나타내는 상세 블록도가 도시된다. 요약하면, DAC(201)는 출력(멀티플렉스(208)의 출력)에서 비교기(50)의 비반전 입력에 프로그램가능한 전압을 공급한다. 비교기(50)의 다른(반전) 입력은 예를 들어 외부 배터리로부터 감지된 전류를 나타내는 제로화 회로(56)의 전압을 수신하기 위하여 연결된다. 충전 제어 모드가 동작할 경우, 비교기(50)의 출력은 XOR게이트(212)를 통하여 연결되며 외부 핀(214)에서 충전 제어 신호를 공급하며, 따라서 외부 핀(214)은 배터리 충전 전류를 제어하기 위하여 외부 전계효과 트랜지스터(FET)에 연결되도록 한다. 충전 제어 모드에서, 도 8의 충전 제어 회로는 (감지된 전류에 상응하는) 전압이 DAC(201)의 출력 전압과 거의 동일하도록 피드백을 제공하고 배터리에 의하여 나타난 충전량을 효율적으로 제어한다.
레벨 검출기로서 작동할 때, 상기 회로는 배터리 전류 모니터로서 작용하여, (배터리 감지 전류에 상응하는) 전압이 DAC(201) 출력 전압 보다 낮거나 또는 선택적으로 높을 때, 비교기(50)는 상태를 변경하고 재작동 인터럽트 플래그(WUIP)를 세팅함으로써 마이크로컨트롤러 코어(12)에 인터럽트를 발생시킨다. 따라서, 이러한 인터럽트는 슬립/아이들 모드로부터 마이크로컨트롤러가 재작동하도록 이용될 수 있다.
DAC(201)에 대하여 상세히 설명하면, 이는 두 개의 저항 래더(ladder: 203, 204), 전류 소스(205) 및 아날로그 멀티플렉스(207, 208)를 포함한다. 저항 래더(203)는 출력 전압의 대략 조정을 위하여 이용되며, 저항 래더(204)는 상기 제 1래더의 출력을 미세 조정하기 위하여 이용된다. 대략 저항 래더(203)는 상기 제 1래더의 출력을 미세 조정하기 위하여 이용된다. 대략 저항 래더(203)는 전류 감지 바이어스 저항과 매칭되어 래더의 중심 포인트가 제로 전류 흐름과 거의 일치하도록 한다. 따라서, 이는 DAC(201)가 충전 및 방전 전류 흐름, 즉 음의 전류 흐름 및 양의 전류 흐름을 모드 제어 또는 모니터하도록 한다.
저항 래더(203)는 32개의 탭으로 구성되어 2십진/영역으로 나뉜다. 제 1십진 영역은 소량의 충전 레이트를 제어하도록 구성되고 5밀리볼트(㎷)의 분해도 및 +/-50㎷의 범위를 가진다. 이는 외부에 0.05옴 감지 저항을 사용할 때 100밀리암페어(㎃)의 전류 분해도 및 +/-1암페어에 상응한다.
제 2십진 영역은 50㎷의 분해도 및 최대 +/-0.35볼트를 가지도록 빠른 충전 이용을 위해 구성된다. 이는 외부에 0.05옴 감지 저항을 사용할 때 1암페어의 전류 분해도 및 +/-7암페어에 상응한다.
미세 조정 저항 래더(8)는 8개의 탭을 가지며 상기 대략 래더로부터의 버퍼 출력 전압을 분할하기 위하여 이용된다. 이는 0.05옴 감지 저항을 사용할 때, 약 0.714㎷의 전체 최소 DAC 전압 분해도 또는 약 14.3㎃의 전류 분해도를 발생시킨다.
DAC(201)의 전압 형상 및 범위는 DAC A레지스터(LDACA)에 저장된 로직 비트값에 의존한다. LDACA 레지스터는 DAC(201)의 출력 전압을 제어하는 데이터 레지스터이며, 여기서 LDACA 레지스터의 상부 5비트(비트 3-7)는 도 9에 도시된 테이블에 따라 대략 래더(203)를 통하여 전압 출력 범위를 선택하기 위하여 멀티플렉스(207)를 제어한다. 도 9는 또한 0.05옴 저항을 이용한 대응 감지 전류 범위를 도시하며, 여기서 테이블의 하부 절반부에 ()로 도시된 전류 범위는 배터리 충전에 상응하는 음의 전류를 나타낸다. 또한, LDACA 레지스터의 3개의 하부 비트(비트 0-2)는 도 10에 도시된 테이블에 따라 래더(204)를 통하여 미세 조정 조절을 선택하기 위하여 멀티플렉스(208)를 제어한다.
예로서, 340밀리암페어의 음/방전 전류가 요구되면, LDACA 레지스터는 이진값 "11010"으로 세팅된다. 상부 5비트("11")는 도 9에 도시된 바와 같이 300-400㎃의 대략 범위를 발생시키고, 하부 3비트("10")는 도 10에 도시된 바와 같이 대략 범위 최대의 3/8배 또는 약 37.5㎃의 미세 조정 세팅을 선택한다. 340밀리암페어의 음/충전 전류가 요구되면, LDACA 레지스터는 "10011010"의 이진값으로 세팅된다.
DAC(201)의 아날로그 전압 출력인 아날로그 멀티플렉스(208)의 출력은 A/D변환기(30)의 다수 입력중 하나로서 공급되고 외부 핀(210)을 통하여 외부 필터 캐패시터에 연결될 수 있다.
또한 아날로그 멀티플렉스(208)의 출력은 비교기(50)의 비반전 입력에 연결되며, 상기 비교기는 제로화 회로(56)를 통과한 후에 외부 배터리(BATI)이 감지 전류에 상응하는 전류 감지 전압을 수신하기 위하여 연결된 반전 입력을 가진다.
비교기(50)의 출력은 XOR게이트(212)의 제 1입력에 연결되며, 상기 게이트는 로직 "1"로 세팅될 때 비교(50)의 출력을 반전시키기 위하여 충전 제어 극성 비트 CPOLA를 수신하기 위하여 연결된 제 2입력을 가진다. 따라서, XOR게이트(212)는 만약 감지 전압이 CHGCON 레지스터이 CPOL 비트를 통한 DAC 전압 이상 또는 이하일때 인터럽트를 발생시키도록 프로그램될 수 있다.
XOR게이트(212)의 출력은 외부 배터리에 대한 충전 전류를 제어하기 위하여 핀(214)을 통하여 외부 FET에 충전 제어 신호(CCTRLA)를 제공한다.
충전 제어 모드를 인에이블하기 위하여, 충전/레벨 검출 제어(CHGCON)의 충전 제어 기능 인에이블 비트(CCAEN)는 로직 "1"로 세팅되며, 그렇지 않으면 핀(210. 214)은 그들의 정상 포트I/O기능을 나타낸다. CHGCON 레지스터의 비트는 도 11에 도시되어 있다. 비트 CCAEN의 로직 "1"이면, 충전 제어 회로는 비교기(50)의 비반전 입력에 나타난 프로그램가능 DAC 출력 전압과 비교기(50)의 반전 단자에 나타난 전류 감지 전압이 동일하도록 기능하여 배터리에 의하여 나타나는 충전 전류량을 효율적으로 제어하도록 한다. 충전 제어 비교기(50)의 상태(비트 CCOMPA) 및 충전 제어 극성 비트 A(CPOLA)는 또한 CHGCON 레지스터를 통하여 판독될 수 있다. CHGCON 레지스터는 또한 채널(B)과 관련된 대응하는 비교기 및 극성 비트(CCOMPB 및 CPOLB)를 포함한다.
도 12에서, 비교기(51)와 결합하여 (201')로 나타난 블록(48)의 제 DAC를 이용하여 제 2충전 제어/레벨 검출기 채널(채널 B)을 나타내는 상세 블록도가 도시된다. 충전 제어 채널(B)은 도 8의 충전 제어 채널(A)과 상당히 유사하며, 여기서 도 8에 도시된 소자와 동일한 도 12의 소자는 동일 도면 부호를 병기했다. 그러나, 채널(B)의 비교기(51)의 입력은 도 8의 비교기(50)에 대하여 반대이며, 따라서 비교기(51)의 반전 입력은 DAC(201')의 출력에 연결되고, 비교기(51)의 비반전 입력은 감지된 배터리 전류(BATI)에 상응하는 제로화 회로를 통하여 전압을 수신한다. 또한 DAC(201')에 공급된 전압은 DAC(201)의 출력의 전류를 제어하는 LDACA와 동일한 방식으로 도 9및 10의 테이블에 따라 DAC B(LDACB)레지스터의 8비트에 의하여 제어된다.
전술한 바와 같이, 이중 충전 제어기/레벨 검출기는 또한 입력 신호가 프로그램 가능한 임계 레벨 이상 또는 이하인지를 검출하기 위하여 사용될 수 있다. 상기 레벨 검출기는 충전 제어가 수행되지 않더라도 이용될 수 있다. 어떤 경우에, CHGCON 레지스터의 충전 제어 인에이블 비트(CCAEN)는 로직 "0"에 남아 있다. 도 8의 채널A를 다시 참고하면, 프로그램가능 임계 레벨은 LDACA 레지스터를 통하여 DAC(201)에 대하여 적정 전압 출력에 의하여 디지탈로 세팅된다. 이는 소정 프로그램가능 임계 레벨이 비교기(50)의 비반전 입력에 인가되어 비교기(50)의 반전 입력에 나타난 신호가 프로그램가능 임계 레벨을 초가할 때 비교기(50)는 로직 상태를 스위칭한다는 것을 의미한다. 이러한 로직 변경은 마이크로컨트롤러 코어(12)에 플래그를 세팅하고 인터럽트를 발생시키기 위하여 이용되어, 중간 작용이 발생되도록 한다. 또한, 비교기(50) 출력의 로직 상태는 전술한 바와 같이 CHGCON 레지스터(비트2)를 판독함으로써 모니터링될 수 있다.
[디지탈 프로그램가능 임계치에 의하여 재작동 기능]
마이크로컨트롤러(10)는 특정 슬립 명령의 실행에 의하여 진입되는 슬립 모드를 포함한다. 이러한 슬립 모드에서, 온칩 발진기는 턴오프되지만 워치도그 타이머는 계속 동작한다. 또한, 마이크로컨트롤러(10)는 워치도그 타이머가 턴오프 되는 것을 제외하고 슬립 모드와 동일한 동면 모드를 포함한다. 이들 모드는 발진기가 디세이블 상태일 때 전력 소모를 줄여 실제로 전력을 절감한다.
마이크로컨트롤러(10)는 외부 리세스 입력, 워치도그 타이머의 타임 아웃(인에이블될 경우), I2C 직렬 라인에서의 시작/정지 검출과 같은 이벤트의 발생에 응답하여 또는 A/D변환이 완료될 때 슬립 모드에서 탈출하거나 또는 "재작동"할 것이다. 또한, 마이크로컨트롤러(10)가 배터리 모니터링 및 충전에 이용될 경우, 레벨 검출기는 감지된 배터리 전류가 프로그램가능 임계 레벨을 초과하였는지 또는 그 이하로 떨어졌는 지를 검출하기 위하여 이용되어 마이크로컨트롤러 코어(12)를 재작동시킬 수 있다. 도 8에 따르면, 배터리의 감지된 전류(BATI)를 나타내는 전압인 감지 전압이 DAC(201)에 의하여 세팅된 프로그램가능 임계 레벨을 초과할 때, 비교기(50)는 로직 하이에서 로직 로우로 스위칭하여, 재작동 인터럽트 플래그(WUIF)를 세팅하고 마이크로컨트롤러 코어(12)에 인터럽트를 발생시키도록 한다. 따라서, 마이크로컨트롤러 코어(12)는 슬립 모드로부터 즉시 탈출하고 배터리로부터 증가된 전류 출력은 정확하고 시간적으로 적합한 배터리 레벨에 대하여 적합하게 모니터링될 수 있다.
전술한 것과 동일한 방식에서, 채널(B)(도 12)의 레벨 검출기는 다른 입력 신호가 디지탈 프로그램가능 임계 레벨을 초과하거나 그 이하로 낮아졌을 때를 검출하기 위하여 독립 레벨 검출기로서 이용될 수 있다. 예를 들어, 제로화 회로를 통한 전압이 DAC(201')에 의하여 세팅된 프로그램가능 임계 전압을 초과할 경우, 비교기(51)는 로직 로우에서 로직 하이로 스위칭하여, 재작동 인터럽트 플래그(WUIF)를 세팅하고 마이크로컨트롤러 코어(12)에 인터럽트를 발생시키도록 한다.
선택적으로, 두 개의 DAC가 양쪽 극성을 검출하도록 프로그램함으로써, 윈도우 검출기가 이용될 수 있으며, 여기서 프로그램가능 임계치를 초과하는 양의 배터리 전류 및 프로그램가능 임계치 이하의 음의 배터리 전류 모두는 마이크로컨트롤러 코어에 인터럽트를 발생시켜, 비교기(50, 51)의 출력을 나타내는 로직 비트 CCOMPA 및 CCOMPB가 두 검출기중 어느 검출기가 인터럽트를 발생시켰는지를 결정하기 위하여 판독될 수 있다. 윈도우 검출기는 현재 사용되지 않는 배터리가 다음에 캠코더와 같이 배터리 전류로부터 전류를 방출/방전시키는 장치에 배치될 때 또는 배터리에 충전 전류를 공급하는 배터리 충전기에 배치될 때를 검출하기 위한 배터리 응용분야에 유용하다. 두 경우에, 정확한 배터리의 범위를 정하기 위하여 전류를 검출하도록 마이크로컨트롤러 코어를 즉시 재작동시키는 것이 요구된다.
[상호(INTER)-직접 회로(I2C) 인터페이스]
마이크로컨트롤러(10)는 쌍방향 2 와이어 버스 및 데이터 전송 프로토콜을 지원한다. 특히 I2C 인터페이스(58)는 직렬 EEPROM, 시프트 레지스터, 디스플레이 구동기, A/D 변환기와 같은 다른 주변 장치 또는 마이크로컨트롤러 장치와 통신하는데 유용한 직렬 인터페이스이다. 또한 I2C 인터페이스(58)는 상호-집적 회로(I2C) 규격, 시스템 관리 버스(SMBUS) 및 액세스 버스와 호환가능하다.
I2C 버스는 필립스/시그네틱에 의하여 개발된 2와이어 직렬 인터페이스이다. 원래의 규격 또는 표준 모드는 최고 초당 100킬로비트(Kbps)에 대한 데이터 전환을 위해 설계되었으며, 보강된 구격 또는 고속 모드는 최고 400Kbps의 데이터 전송을 지원하며, 여기서 표준 모드 및 고속 모드 모두는 동일 버스가 부착되면 상호 작용한다.
I2C 인터페이스는 신뢰성 있는 데이터 전송 및 수신을 보장하기 위하여 포괄적인 프로토콜을 이용한다. 데이터를 전송할 때, 하나의 장치는 마스터이고 클록신호를 발생시키며, 다른 장치(들)는 슬래이브로서 작용한다. I2C 인터페이스 프로토콜에서 각각의 장치는 그와 관련된 특정 어드레스를 가지고 있어서, 마스터가 데이터 전송을 시작하기를 원할 경우, 마스터는 먼저 대화를 원하는 장치의 어드레스를 전송하고, 만약 마스터가 전송한 어드레스가 슬래이브 장치의 어드레스와 매칭되면, 상기 슬래이브는 데이터 전송을 위하여 선택되도록 한다.
데이터 전송이 없는 시간 중에, 클록 라인(SCLA) 및 데이터 라인(SDAA)은 외부 풀업 저항을 통하여 하이로 된다. 데이터 전송을 완성하기 위하여, 마스터 장치는 시작 및 정지 상태를 발생시켜 데이터 전송의 시작 및 정지를 결정한다. 도 13에서, 시작 상태는 클록 라인이 하이일 때 데이터 라인 상의 로우에서 하이로의 전이로서 정의되고, 정지 상태는 클록 라인이 하이일 때 데이터 라인의 로우에서 하이로의 전이로서 정의된다. 또한, 시작 및 정지 상태의 정의 때문에, 데이터가 전송될 때, 데이터 라인은 클록 라인이 도 13에 도시된 바와 같이 로우일 경우에만 충전할 수 있다.
두 개의 어드레싱 포맷은 I2C 장치를 어드레싱하기 위하여 존재한다. 제 1포맷은 도 14에 도시된 바와 같이 판독/기록 비트를 가진 7비트 어드레스 포맷이다. 요약하면, 시작 비트(S) 다음에, 8비트가 마스터에 의하여 발생되며, 여기서 제 1의 7비트는 슬래이브 장치의 어드레스이고 마지막 비트는 판독/기록 비트이다.
제 2어드레싱 포맷은 도 15에 도시된 바와 같이 판독/기록 비트를 가진 10비트 어드레스 포맷이다. 요약하면, 시작 비트(S) 다음에, 두 개의 바이트가 마스터에 의하여 발생되며, 여기서 제 1바이트중 첫번째 5비트는 어드레스를 10비트 어드레스로 지정한다. 다음 10비트는 슬래이브 장치의 어드레스이고 마지막 비트는 판독/기록 비트이다.
전송된 데이터의 각각의 바이트 다음에, 슬레이브/수신기 장치는 응답 비트를 발생시킨다. 도 16에서, 슬래이브 장치에 의한 응답 발생을 나타내는 그래프를 도시한다. 특히, 슬래이브 장치는 응답을 위한 클록 펄스 중에 데이터 출력 라인을 로우로 유지함으로써 마지막 데이터 바이트의 수신을 응답한다. 예를 들어, 7비트 어드레스 포맷에 대하여, 매 제 9클록 펄스는 응답 클록 펄스에 상응한다.
도 17에서, 7비트 어드레스 포맷을 이용한 I2C 데이터 전송의 예를 나타내는 그래프가 도시된다. 요약하면, 시작 비트(S) 후에, 마스터는 슬래이브 장치의 7비트 어드레스 및 판독/기록 비트를 발생시킨다. 어드레스가 수신되었다고 가정하면, 슬래이브 장치는 그의 데이터 출력을 로우로 만들고 어드레스의 수신을 응답한다. 다음에 마스터는 데이터 바이트를 발생시키며, 상기 데이터 바이트의 수신은 슬래이브 장치에 응답된다. 데이터 전송이 완료되면, 마스터는 정지 비트(P)를 발생시킨다.
도 18에서, I2C인터페이스(58)의 상세 블록도가 도시된다. I2C인터페이스(58)는 모든 슬래이브 기능을 완전하게 수행하며 하드웨어를 지원하여 마스터 기능의 소프트웨어 수행을 용이하게 하도록 한다. I2C인터페이스는 7비트와 10비트 어드레싱과 마찬가지로 표준 및 고속 규격을 수행한다.
2개의 라인/외부 핀은 데이터 전송을 위하여 이용된다. 이는 I2C 클록인 RC6/SCLA 및 I2C 데이터로서 작용하는 RC7/SDAA 핀이다.
I2C인터페이스(58)는 I2C 동작을 위한 5개의 레지스터를 가지며; 이는 (1) I2C 제어(I2CCON) 레지스터, (2) I2C 상태(I2CSTAT) 레지스터(이들 모두는 파일 레지스터(데이터) 공간에 배치된다), (3) 직렬 수신/전송 버퍼(I2CBUF)(301), (4) I2C 시프트 레지스터(I2CSR)(303) 및 (5) 어드레스(I2C ADD) 레지스터(305)이다. 또한 I2C인터페이스(58)에 포함되는 것은 비교기/매칭 검출기(307) 및 시작과 정지 비트 검출 회로(309)이다.
I2CCON 레지스터는 I2C 동작을 제어하고 다음 I2C 모드중 하나가 선택되도록한다. 이는 1) 7비트 어드레싱을 가진 I2C 슬래이브 모드; 2) 10비트 어드레싱을 가진 I2C 슬래이브 모드; 3) 7비트 어드레싱 및 마스터 모드 지원부를 가진 I2C 슬래이브 모드; 및 슬래이브가 아이들 상태인 I2C 마스터이다.
I2CSTAT 레지스터는 판독만 되고 데이터 전송 상태를 제공한다. 이는 시작 또는 정지 비트의 검출, 만약 수신된 바이트가 데이터 또는 어드레스인지, 다음 바이트가 10비트 어드레스의 완성인지 그리고 이는 판독 또는 기록 데이터 전송인지와 같은 정보를 제공한다.
I2CBUF 레지스터는 레지스터/버퍼이며, 상기 레지스터/버퍼에 전송 데이터가 기록되거나 또는 이로부터 판독된다. I2CSR 레지스터는 데이터를 마이크로컨트롤러(10)로 또는 마이크로컨트롤러(10)외부로 시프트시킨다. I2CADD 레지스터는 슬래이브의 어드레스를 저장한다.
도 19에서, 데이터 수신을 위한 I2C인터페이스(58) 및 7비트 어드레스 포맷과 관련된 전형적인 파형을 나타내는 그래프가 도시된다. I2C인터페이스(58)가 인에이블되면, 인터페이스는 시작 상태가 발생하기를 기다린다. 시작 상태 다음에, 7비트 어드레스 및 판독/기록 비트는 I2CSR 레지스터(303)로 시프트된다. 모든 입력 비트는 직렬 클록 라인의 상승 에지에서 샘플링된다. I2CSR 레지스터의 내용은 제 8클록 펄스의 하강 에지상에서 I2CADD 레지스터의 내용과 비교된다. 어드레스가 매칭되면, I2CSR 레지스터의 내용은 I2CBUF 레지스터로 로딩되고, I2CSTAT 레지스터의 기록/판독 비트는 소거된다(데이터가 인터페이스(58)에 기록되었다는 것을 나타내기 위하여). 또한 응답 펄스가 발생되고 I2C인터럽트 비트(12CIF)는 각각의 데이터 전송 후에 세팅되며, 여기서 인터럽트 비트는 소프트웨어에서 소거되어야 하며, 12STAT 레지스터는 바이트의 상태를 결정하기 위하여 이용된다. 그러나 I2CBUF 레지스터가 이전 수신으로부터 판독되었다면, 어드레스 바이트 오버플로우 상태가 존재한다. 상기와 같은 상황에서, 어떠한 응답 펄스도 발생되지 않으며 오버플로우 상태는 12CCON 레지스터의 오버플로우 비트(12COV)를 세팅함으로서 표시된다.
도 20에서, 데이터 전송을 위한 I2C인터페이스(58) 및 7비트 어드레스 포맷과 관련된 전형적인 파형을 나타내는 그래프가 도시된다. 어드레스 매칭이 발생하고 어드레스 바이트의 판독/기록 비트가 세팅(인터페이스(58)에 데이터가 기록되고 있다는 것을 나타내기 위하여)될 때, I2CSTAT 레지스터의 판독/기록 비트 역시 세팅된다. 수신된 어드레스는 I2CBUF 레지스터로 적재되고 응답 펄스는 제 9클록 펄스상에 발생될 것이다. 전송될 데이터는 I2CSR 레지스터를 로딩시키는 I2CBUF 레지스터로 적재되어야 한다. 8비트의 데이터는 직렬 클록 라인의 하강 에지상에서 시프트된다. 데이터 수신과 유사하게, I2C인터럽트 플래그(12CIF)는 각각의 데이터 전송 바이트에 대하여 발생되며, 여기서 I2CIF 비트는 소프트웨어에서 소거되어야 하며 I2CSTAT 레지스터는 바이트 상태를 결정하기 위하여 이용된다.
[마이크로컨트롤러의 회로 내장 프로그래밍]
I2C 인터페이스(58)를 사용하기 위하여, 마이크로컨트롤러(10)는 회로의 종료시 직렬로 프로그램될 수 있다. 상기와 같은 특성은 프로그램되지 않은 장치를 가진 보드를 소비자가 제조하도록 하고 제품을 이송하기 바로 전에 마이크로컨트롤러(10)를 프로그램하도록 한다. 이는 가장 최근의 펌웨어 또는 주문설계된 펌웨어가 프로그램되도록 한다.
마이크로컨트롤러(10)는 직렬 클록 및 직렬 데이터 핀을 로우로 유지하는 한편 예를 들어 VSS에 대하여 12볼트인 전압 VPP로 전압 프로그래밍 핀을 상승시킴으로써 프로그램/검증 모드로 배치될 수 있다. 프로그램 모드가 되면, 사용자 프로그램 메모리는, 테스트 프로그램 메모리와 마찬가지로, 직렬 또는 병렬 형태로 액세스 및 프로그램될 수 있어 초기 동작 모드가 직렬이 되도록 하고, 액세스될 메모리는 사용자 프로그램 메모리이다.
본 발명은 마이크로컨트롤러(10)에 대하여 클록 및 데이터를 제공하기 위하여 마이크로컨트롤러(10)의 두 외부핀(SCLA 및 SDAA핀)을 이용함으로서 회로 내장 직렬 프로그래밍을 완성한다. 또한, 3개의 다른 핀은 파워; 접지 및 회로 내장 프로그래밍을 수행할 때 마이크로컨트롤러(10)에 대한 프로그래밍 전압(VPP)을 제공하기 위하여 이용된다. 도 21에서, 마이크로컨트롤러(10)의 일반적인 회로 내장 직렬 프로그래밍 구조가 도시된다. 실시예에서, 도 21의 마이크로컨트롤러(10)는 배터리(도 21에서 도시되지 않음)의 충전 모니터링을 제어할 때 사용하기 위한 말단 회로/배터리 팩(403)에 배치된다. 도 21은 마이크로컨트롤러(10)가 이미 배터리 팩(403)에 결합될 경우 마이크로컨트롤러(10)를 프로그래밍하기 위하여 사용되는 배터리 팩(403)의 외부 커넥터(401)에 연결하기 위한 외부 핀의 일부를 포함하는 마이크로컨트롤러(10)의 일부를 도시한다. 외부 커넥터(401)는 마이크로컨트롤러(10)의 각각의 SCLA 및 SDAA핀에 클록 및 직렬 데이터 신호를 공급하기 위하여 외부 신호를 수신한다. 클록 핀은 마이크로컨트롤러에 클록을 공급하기 위하여 이용되며, 데이터 핀은 직렬 동작 중에 명령 비트를 입력하고 데이터를 직렬로 입력하고 출력하기 위하여 이용된다. 또한 커넥터(401)는 예를 들어 12볼트의 프로그래밍 전압을 수신하고 마이크로컨트롤러(10)의 마스터 소거 (MCLR)/전압 프로그래밍핀에 공급하여 직렬 프로그래밍 모드로 마이크로컨트롤러(10)가 진입하도록 한다. 마지막으로, 커넥터(401)는 각각 마이크로컨트롤러(10)의 외부 전력핀 VDD및 VSS에 +5볼트 및 접지를 제공한다.
도 22에서, 직렬 프로그래밍에 이용될 수 있는 여러 가지 명령이 나타난 테이블이 도시된다. "테스트 로드" 명령은 테스트 프로그램 메모리로 14비트 워드를 로딩시키기 위하여 이용되며, 따라서 상기 명령을 수신하면, 프로그램 카운터는 테스트 프로그램 메모리의 소정 위치에 세팅된다. "데이터 로드" 명령은 사용자 프로그램 메모리로 14비트 워드를 로딩하기 위하여 이용된다. "데이터 판독" 명령은 사용자 프로그램 메모리로부터 14비트 워드를 전송하기 위하여 이용된다. "어드레스 증분" 명령은 수신시 마이크로컨트롤러(10)의 프로그램 카운터를 증분하기 위하여 이용된다. "프로그래밍 시작" 명령은 테스트 프로그램 메모리 또는 사용자 프로그램 메모리의 프로그래밍을 시작하기 위하여 이용되며, 따라서 로드 테스트 또는 로드 데이터 명령은 시작 프로그래밍 명령 전에 제공되어야 한다. "병렬 모드 진입" 명령은 병렬 모드로 데이터를 받아들이도록 마이크로컨트롤러(10)를 프로그래밍하기 위하여 이용된다. 병렬 모드는 일반적으로 마이크로컨트롤러의 회로 내장 프로그래밍에 이용될 수 없는데, 이는 배터리 팩은 일반적으로 단지 몇 개의 외부 커넥터만을 가지고 있기 때문이다. 마지막으로, "프로그래밍 종료" 명령은 프로그램 메모리의 프로그램밍을 종료하기 위하여 이용된다.
도 23 및 24는 직렬 프로그램 동작을 위한 데이터 로드 및 데이터 판독 명령을 나타내는 그래프를 도시한다. 명령을 입력시키기 위하여, 클록 핀은 6회 사이클되어, 각각의 명령 비트가 먼저 입력되는 명령의 최하위 비트(LSB)에 의하여 클록의 하강에지가 래치되도록 한다. SDAA 핀 상의 데이터는 도 23 및 24에 도시된 바와 같이 클록의 하강 에지에 대하여 예를 들어 100나노초의 최소 셋업 시간(test0, test1) 및 홀드 시간(thld0, thld1)을 가질 것이 요구된다. 또한, 데이터 판독 및 데이터 로드 명령과 같은 명령과 관련된 데이터를 가진 명령은 도 23 및 24에 도시된 바와 같은 명령 및 데이터 사이에 예를 들어 1마이크로초의 최소 지연(tdly1)을 가지도록 규정된다. 상기 지연 후에, 클록 핀은 시작 비트인 제 1 사이클, 정지 비트인 마지막 사이클 및 최하위 비트가 먼저인 중간 14클록 사이클을 가진 입력 또는 출력인 데이터에 의하여 16회 사이클링된다. 특히, 판독 동작 중에, 최하위 비트는 제 2사이클의 상승 에지 상에서 SDAA핀으로 전송되고, 로드 동작 중에 최하의 비트는 제 2사이클의 하강 에지 상에 래칭된다.
요약하면, 본 발명은 마이크로컨트롤러(10)의 회로 내장 프로그램밍을 제공한다. 이는 배터리 충전 및 배터리 모니터링 제어시 사용하기 위하여 배터리 팩과 같은 최종 사용을 위해 이미 배치될 때 최종 사용자가 마이크로컨트롤러(10)를 프로그램하도록 한다.
[배터리 모니터링 이용]
도 25는 외부 배터리(452)에 사용하기 위해 구성된 마이크로컨트롤러(10)를 나타내는 블록도가 도시된다. 배터리(450)의 전압은 전압 분배기 회로(452)를 통하여 연결되며 마이크로컨트롤러(10)의 ANO/BATV 아날로그 입력에 공급된다. 배터리(450)의 전류는 감지 저항(454)을 통과하여 마이크로컨트롤러(10)의 AN1/BAT1 아날로그 입력에 배터리 전류를 나타내는 전압을 공급한다. 마이크로컨트롤러(10)의 RAMP 핀은 외부 캐패시터(456)을 통하여 연결되고 그 사이에 프로그램가능 램프 전압을 발생시키기 위하여 접지로 복귀된다. 마이크로컨트롤러(10)의 IAVG핀은 외부 캐패시터(458)를 통하여 선택적으로 연결되고 전술한 바와 같이 작은 주기 전류 펄스를 포착하기 위하여 접지로 복귀한다. 전압 레귤레이터 핀(VREG)은 전압 조정을 제공하기 위하여 외부 N-채널 FET(460)의 게이트 전극에 연결된다. FET(460)의 드레인 전극은 배터리 전압을 수신하기 위하여 연결되고, FET(460)의 소스 전극은 마이크로컨트롤러(10)에 조정된 전압 VDD를 제공한다. 또한, 조정된 전압은 외부 아날로그 입력 AN2를 통하여 측정될 수 있다.
바람직한 실시예 및 방법이 여기에 기술되었지만, 이는 설명으로부터 본 발명의 사상 및 권리 범위를 벗어나지 않고 상기 실시예 및 방법에 대한 변형 및 변경이 이루어질 수 있다는 것은 당업자에게 명백하다. 따라서, 본 발명은 첨부된 청구범위 및 적용가능한 법의 규칙 및 원리에 의해서 요구되는 범위에서만 제한된다.

Claims (22)

  1. 마이크로컨트롤러는 외부 제어가능한 시스템을 선택적으로 제어하기 위하여 프로그램 및 명령을 수행하고 상기 프로그램 및 명령의 마이크로컨트롤러에 의한 수행의 결과로서 제어 신호를 발생시키도록 반도체 칩 위에 제조되고, 상기 마이크로컨트롤러는 명령을 수행하는 마이크로프로세서 수단, 마이크로컨트롤러에 의하여 수행될 프로그램을 저장하는 데이터 메모리 수단, 데이터를 저장하는 데이터 메모리 수단 및 다수의 아날로그 입력 신호를 측정하기 위한 다수의 아날로그 소자를 포함하도록 된, 마이크로컨트롤러에 의하여 수행된 측정의 정밀도를 증가시키는 방법에 있어서,
    상기 다수의 아날로그 소자중 적어도 하나와 관련된 파리미터를 측정하는 단계;
    상기 측정된 파라미터에 응답하여 보정 상수를 얻는 단계;
    마이크로컨트롤러의 프로그램 메모리에 상기 보정 상수를 저장하는 단계;
    상기 다수의 아날로그 입력 신호중 선택된 것을 샘플링하는 단계; 및
    상기 선택된 아날로그 입력 신호의 측정 정밀도를 증가시키기 위하여 상기 샘플링된 아날로그 입력 신호와 결합된 상기 보정 상수를 이용하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 파리미터를 측정하는 단계는 상기 파라미터의 디지탈 표시를 얻는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 샘플링 단계는 상기 선택된 아날로그 입력 신호의 디지탈 표시를 얻는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 3항에 있어서, 상기 선택된 아날로그 입력 신호의 디지탈 표시는 상기 보정 상수와 관련하여 이용되기 전에 필터링되는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서, 상기 선택된 아날로그 입력 신호는 외부 배터리의 전압과 일치하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서, 상기 선택된 아날로그 입력 신호는 외부 배터리의 전류와 일치하는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서, 상기 선택된 아날로그 입력 신호는 외부 배터리의 온도와 일치하는 것을 특징으로 하는 방법.
  8. 외부 제어가능한 시스템을 선택적으로 제어하기 위하여 프로그램 및 명령을 수행하고 상기 프로그램 및 명령의 수행의 결과로서 제어 신호를 발생시키도록 반도체 칩 위에 제조되고, 명령을 수행하는 마이크로프로세서 수단, 수행될 프로그램을 저장하는 데이터 메모리 수단, 데이터를 저장하는 데이터 메모리 수단 및 다수의 아날로그 입력 신호를 측정하기 위한 다수의 아날로그 소자를 포함하는, 배터리 충전 및 배터리 모니터링에 사용하기 위한 마이크로컨트롤러에 있어서,
    상기 다수의 아날로그 소자중 적어도 하나와 관련된 적어도 하나의 보정 상수를 얻는 수단;
    상기 적어도 하나의 보정 상수를 저장하는 수단;
    상기 다수의 아날로그 입력 신호중 선택된 것을 샘플링하는 수단; 및
    상기 아날로그 입력 신호중 선택된 것의 측정 정밀도를 증가시키기 위하여 상기 적어도 하나의 보정 상수 및 상기 샘플링된 아날로그 입력 신호에 응답하는 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  9. 제 8항에 있어서, 상기 적어도 하나의 보정 상수를 얻는 수단은 다수의 아날로그 소자중 적어도 하나와 관련된 파라미터를 측정하는 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  10. 제 8항에 있어서, 상기 샘플링하는 수단은 아날로그 입력 신호중 상기 선택된 입력 신호의 디지탈 표시를 얻는 수단을 포함하는 것을 특징으로 하는 마이크로 컨트롤러.
  11. 제 8항에 있어서, 상기 아날로그 입력 신호중 상기 선택된 입력 신호는 외부 배터리의 전압과 일치하는 것을 특징으로 하는 마이크로컨트롤러.
  12. 제 8항에 있어서, 상기 아날로그 입력 신호중 상기 선택된 입력 신호는 외부 배터리의 전류와 일치하는 것을 특징으로 하는 마이크로컨트롤러.
  13. 제 8항에 있어서, 상기 아날로그 입력 신호중 상기 선택된 입력 신호는 외부 배터리의 온도와 일치하는 것을 특징으로 하는 마이크로컨트롤러.
  14. 제 8항에 있어서, 상기 저장 수단은 프로그램 메모리 수단인 것을 특징으로 하는 마이크로컨트롤러.
  15. 제 10항에 있어서, 사기 디지탈 표시를 얻는 수단은 슬로프 아날로그 대 디지탈 변환기를 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  16. 외부 제어가능한 시스템을 선택적으로 제어하기 위하여 프로그램 및 명령을 수행하고 상기 프로그램 및 명령의 수행의 결과로서 제어 신호를 발생시키도록 반도체 칩 위에 제조되고, 명령을 수행하는 마이크로프로세서 수단, 수행될 프로그램을 저장하는 데이터 메모리 수단, 데이터를 저장하는 데이터 메모리 수단 및 다수의 외부 아날로그 입력 신호를 측정하기 위한 다수의 아날로그 소자를 포함하는 마이크로컨트롤러에 있어서,
    상기 다수의 아날로그 소자중 적어도 하나와 관련된 적어도 하나의 보정 상수를 얻는 수단;
    상기 적어도 하나의 보정 상수를 저장하는 수단;
    상기 다수의 아날로그 입력 신호중 선택된 것의 디지탈 카운트를 얻는 단계를 포함하는데, 상기 디지탈 카운트는 아날로그 입력 신호중 상기 선택된 입력 신호의 레벨에 상응하며; 및
    상기 아날로그 입력 신호중 선택된 것의 측정 정밀도를 증가시키기 위하여 상기 적어도 하나의 보정 상수 및 상기 디지탈 카운트에 응답하는 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  17. 제 16항에 있어서, 적어도 하나의 보정 상수를 얻는 수단은 다수의 아날로그 입력 신호중 적어도 하나와 관련된 파라미터의 디지탈 카운트를 얻고 상기 적어도 하나의 보정 상수를 얻도록 상기 디지탈 카운트를 사용하는 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  18. 제 16항에 있어서, 디지탈 카운트를 얻는 상기 수단은 슬로프 아날로그 대 디지탈 변환기를 포함하는 것을 특징으로 하는 마이크로컨트롤러.
  19. 제 16항에 있어서, 상기 저장 수단은 프로그램 메모리 수단인 것을 특징으로 하는 마이크로컨트롤러.
  20. 제 16항에 있어서, 상기 아날로그 입력 신호중 선택된 신호는 외부 배터리의 전압에 일치하는 것을 특징으로 하는 마이크로컨트롤러.
  21. 제 16항에 있어서, 상기 아날로그 입력 신호중 선택된 신호는 외부 배터리의 전류와 일치하는 것을 특징으로 하는 마이크로컨트롤러.
  22. 제 16항에 있어서, 상기 아날로그 입력 신호중 선택된 신호는 외부 배터리의 온도와 일치하는 것을 특징으로 하는 마이크로컨트롤러.
KR1019970703103A 1995-09-11 1996-09-11 온칩 아날로그 소자의 디지탈 조정 KR100247184B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US52652995A 1995-09-11 1995-09-11
US08/526,529 1995-09-11
US8/526,529 1995-09-11

Publications (2)

Publication Number Publication Date
KR970707485A KR970707485A (ko) 1997-12-01
KR100247184B1 true KR100247184B1 (ko) 2000-03-15

Family

ID=24097717

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970703103A KR100247184B1 (ko) 1995-09-11 1996-09-11 온칩 아날로그 소자의 디지탈 조정

Country Status (6)

Country Link
US (1) US5760720A (ko)
EP (1) EP0797802A4 (ko)
JP (1) JPH10508460A (ko)
KR (1) KR100247184B1 (ko)
TW (1) TW294786B (ko)
WO (1) WO1997012310A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130028663A (ko) * 2011-09-09 2013-03-19 가부시키가이샤 지에스 유아사 감시 장치
KR101925629B1 (ko) 2012-05-08 2018-12-05 현대모비스 주식회사 홀 센서를 이용한 지능형 배터리 센서 장치

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11503258A (ja) * 1995-09-19 1999-03-23 マイクロチップ テクノロジー インコーポレイテッド ディジタル的にプログラム可能な閾値を有するマイクロコントローラ起立機能
US6006169A (en) * 1997-12-31 1999-12-21 Intel Corporation Method and apparatus for trimming an integrated circuit
US6072349A (en) * 1997-12-31 2000-06-06 Intel Corporation Comparator
US6338032B1 (en) * 1998-12-16 2002-01-08 Analog Devices, Inc. System and method for trimming IC parameters
US6307491B1 (en) * 2000-02-24 2001-10-23 Analog Devices, Inc. Trim systems and methods having temporary and permanent operational modes
US20030076250A1 (en) * 2001-10-19 2003-04-24 Enochson Mark P. Method and apparatus for flexible analog-to-digital conversion
JP3623205B2 (ja) * 2002-03-22 2005-02-23 株式会社半導体理工学研究センター アナログ/ディジタルコンバータ
JP4137496B2 (ja) * 2002-04-15 2008-08-20 富士通株式会社 残量予測方法
US7068193B2 (en) * 2002-09-26 2006-06-27 Analog Devices, Inc. Integrated digital calibration circuit and digital to analog converter (DAC)
US6894631B1 (en) 2004-03-31 2005-05-17 Analog Devices, Inc. Pipeline ADC digital dithering for increased digital calibration resolution
JP2006211787A (ja) 2005-01-26 2006-08-10 Brother Ind Ltd 電子機器
US7516428B2 (en) * 2006-05-11 2009-04-07 Sige Semiconductor (Europe) Limited Microwave circuit performance optimization by on-chip digital distribution of operating set-point
JP5439661B2 (ja) * 2009-01-06 2014-03-12 三菱電機株式会社 半導体装置
DE102010028088A1 (de) * 2010-04-22 2011-10-27 Robert Bosch Gmbh Verfahren zum Messen des Batteriestroms in einem Kraftfahrzeug
TWI403729B (zh) * 2010-06-07 2013-08-01 Brymen Technology Corp 可同時量測電壓與電流之勾表及其方法
CN101931409B (zh) * 2010-08-17 2013-08-14 惠州Tcl移动通信有限公司 一种移动终端及其adc模块的校准装置
JP2014052296A (ja) 2011-09-09 2014-03-20 Gs Yuasa Corp 監視装置
US10110328B2 (en) 2012-04-13 2018-10-23 Altera Corporation Apparatus and methods for calibrating analog circuitry in an integrated circuit
US8643168B1 (en) * 2012-10-16 2014-02-04 Lattice Semiconductor Corporation Integrated circuit package with input capacitance compensation
KR101441324B1 (ko) * 2012-12-18 2014-09-17 충북대학교 산학협력단 경사형 아날로그-디지털 변환기
US9748846B2 (en) 2013-10-28 2017-08-29 Intersil Americas LLC Power supply with droop control feedback for enhanced phase current sharing
US9664571B2 (en) * 2013-12-27 2017-05-30 Microchip Technology Incorporated Digital temperature sensor with integrated timer and burst mode
TWI647558B (zh) * 2014-10-16 2019-01-11 力智電子股份有限公司 具有功能參數設定的方法與應用其之積體電路
JP7396261B2 (ja) * 2020-12-17 2023-12-12 株式会社デンソー 電池監視装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1989008819A1 (en) * 1988-03-15 1989-09-21 Divetronic Ag Process and device for compensating errors of measurement
CA2022802A1 (en) * 1989-12-05 1991-06-06 Steven E. Koenck Fast battery charging system and method
JP3202793B2 (ja) * 1992-05-28 2001-08-27 能美防災株式会社 火災感知器の感度測定装置
US5396241A (en) * 1993-02-03 1995-03-07 Kaman Instrumentation Corporation Method and apparatus for digitally controlled linearization of an analog signal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130028663A (ko) * 2011-09-09 2013-03-19 가부시키가이샤 지에스 유아사 감시 장치
KR101943929B1 (ko) 2011-09-09 2019-01-30 가부시키가이샤 지에스 유아사 감시 장치
KR101925629B1 (ko) 2012-05-08 2018-12-05 현대모비스 주식회사 홀 센서를 이용한 지능형 배터리 센서 장치

Also Published As

Publication number Publication date
US5760720A (en) 1998-06-02
WO1997012310A2 (en) 1997-04-03
JPH10508460A (ja) 1998-08-18
EP0797802A4 (en) 1999-12-29
KR970707485A (ko) 1997-12-01
EP0797802A2 (en) 1997-10-01
WO1997012310A3 (en) 1997-09-04
TW294786B (en) 1997-01-01

Similar Documents

Publication Publication Date Title
KR100247184B1 (ko) 온칩 아날로그 소자의 디지탈 조정
KR100234842B1 (ko) 마이크로컨트롤러에 직렬 내장 프로그램 능력을 제공하는 방법 및 장치
KR100303229B1 (ko) 인텔리전트배터리관리를제공하기위하여아날로그프런트앤드를가진마이크로컨트롤러
KR100267360B1 (ko) 온칩 선형 온도 센서를 가진 마이크로컨트롤러
KR100272472B1 (ko) 디지탈 프로그램가능 임계 레벨을 가진 마이크로컨트롤러 재작동 기능
WO1997012310A9 (en) Digital trimming of on-chip analog components
WO1997014128A9 (en) Method and apparatus for providing serial, in-pack programmability for a microcontroller
US5563496A (en) Battery monitoring and charging control unit
US9467090B2 (en) Semiconductor device
US7279941B2 (en) Voltage-frequency conversion apparatus and method of changing reference voltage thereof
GB2321714A (en) Device for determining remaining battery capacity
US5798933A (en) High precision relative digital voltage measurement
JP2001185233A (ja) 電池電圧検出回路、電池パック及び電池電圧検出方法
KR100372879B1 (ko) 2차 전지 잔량 측정 방법 및 그 장치
US6717391B2 (en) Lithium-ion cell voltage telemetry circuit
KR102081155B1 (ko) 고정밀도의 저전력 센서인터페이스장치
CN116593777A (zh) 一种基于稳压rfc的高精度测量集成电路
JP2000155053A (ja) 温度検出回路およびこの回路を用いた温度測定方法
JPS6288430A (ja) アナログ・デイジタル変換装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee